Initialer Upload neues Unity-Projekt

This commit is contained in:
oxidiert
2025-07-09 11:02:37 +02:00
commit da5f268d21
1474 changed files with 76390 additions and 0 deletions

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 44a536d7fede4b140b3647935ea8c8fa
folderAsset: yes
timeCreated: 1479853728
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 57d4c0e09fe27de44a83d11d4f4969c7
timeCreated: 1454447900
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 38392bbe7ae2c464daae1fe24a1147c1
folderAsset: yes
timeCreated: 1479762244
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,213 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: ArcheryTargetWeeble
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: S_RECEIVE_SHADOWS S_SPECULAR_BLINNPHONG _EMISSION _LIGHTMAPPING_REALTIME
_UVSEC_UV1
m_LightmapFlags: 1
m_CustomRenderQueue: -1
stringTagMap:
OriginalShader: Standard
m_SavedProperties:
serializedVersion: 2
m_TexEnvs:
- first:
name: _BumpMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailAlbedoMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailMask
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailNormalMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _EmissionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MainTex
second:
m_Texture: {fileID: 2800000, guid: b0b65ac2add33d04b9c6485a060c240a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MetallicGlossMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _OcclusionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _ParallaxMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _SpecGlossMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: g_tOverrideLightmap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- first:
name: _AlphaTestRef
second: 0.5
- first:
name: _BumpScale
second: 1
- first:
name: _Cutoff
second: 0.5
- first:
name: _DetailNormalMapScale
second: 1
- first:
name: _DstBlend
second: 0
- first:
name: _EmissionScaleUI
second: 1
- first:
name: _GlossMapScale
second: 1
- first:
name: _Glossiness
second: 0.885
- first:
name: _GlossyReflections
second: 1
- first:
name: _Lightmapping
second: 1
- first:
name: _Metallic
second: 0
- first:
name: _Mode
second: 0
- first:
name: _OcclusionStrength
second: 1
- first:
name: _OcclusionStrengthDirectDiffuse
second: 1
- first:
name: _OcclusionStrengthDirectSpecular
second: 1
- first:
name: _OcclusionStrengthIndirectDiffuse
second: 1
- first:
name: _OcclusionStrengthIndirectSpecular
second: 1
- first:
name: _Parallax
second: 0.02
- first:
name: _SmoothnessTextureChannel
second: 0
- first:
name: _SpecularHighlights
second: 1
- first:
name: _SpecularMode
second: 1
- first:
name: _SrcBlend
second: 1
- first:
name: _UVSec
second: 0
- first:
name: _ZWrite
second: 1
- first:
name: g_bReceiveShadows
second: 1
- first:
name: g_bUnlit
second: 0
- first:
name: g_bWorldAlignedTexture
second: 0
- first:
name: g_flCubeMapScalar
second: 1
- first:
name: g_flReflectanceBias
second: 0
- first:
name: g_flReflectanceMax
second: 1
- first:
name: g_flReflectanceMin
second: 0
- first:
name: g_flReflectanceScale
second: 1
m_Colors:
- first:
name: _Color
second: {r: 1, g: 1, b: 1, a: 1}
- first:
name: _EmissionColor
second: {r: 0, g: 0, b: 0, a: 1}
- first:
name: _EmissionColorUI
second: {r: 0, g: 0, b: 0, a: 1}
- first:
name: _EmissionColorWithMapUI
second: {r: 1, g: 1, b: 1, a: 1}
- first:
name: _SpecColor
second: {r: 0.08823532, g: 0.08823532, b: 0.08823532, a: 1}
- first:
name: g_vWorldAlignedNormalTangentU
second: {r: -1, g: 0, b: 0, a: 0}
- first:
name: g_vWorldAlignedNormalTangentV
second: {r: 0, g: 0, b: 1, a: 0}
- first:
name: g_vWorldAlignedTextureNormal
second: {r: 0, g: 1, b: 0, a: 0}
- first:
name: g_vWorldAlignedTexturePosition
second: {r: 0, g: 0, b: 0, a: 0}
- first:
name: g_vWorldAlignedTextureSize
second: {r: 1, g: 1, b: 1, a: 0}

View File

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: 0ae132d3c08907a4d931b3ed4debc646
NativeFormatImporter:
userData:
assetBundleName:

View File

@ -0,0 +1,201 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: Arrow
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: S_OCCLUSION S_RECEIVE_SHADOWS S_SPECULAR_METALLIC _EMISSION _METALLICGLOSSMAP
_NORMALMAP
m_LightmapFlags: 1
m_CustomRenderQueue: -1
stringTagMap:
OriginalShader: Standard
m_SavedProperties:
serializedVersion: 2
m_TexEnvs:
- first:
name: _BumpMap
second:
m_Texture: {fileID: 2800000, guid: 1c0f168f6c6fc724682cb52006182fae, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailAlbedoMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailMask
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailNormalMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _EmissionMap
second:
m_Texture: {fileID: 2800000, guid: 0da37da42cf3b044ea1267da7c0d1c3f, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MainTex
second:
m_Texture: {fileID: 2800000, guid: 456569c675d05804d94bbf510b956cbe, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MetallicGlossMap
second:
m_Texture: {fileID: 2800000, guid: 7bd88445e5dcec94284b355818ef7d87, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _OcclusionMap
second:
m_Texture: {fileID: 2800000, guid: 87bd4f8add9797748ab450ca4852a9e1, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _ParallaxMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _SpecGlossMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: g_tOverrideLightmap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- first:
name: _BumpScale
second: 1
- first:
name: _Cutoff
second: 0.5
- first:
name: _DetailNormalMapScale
second: 1
- first:
name: _DstBlend
second: 0
- first:
name: _FogMultiplier
second: 1
- first:
name: _GlossMapScale
second: 1
- first:
name: _Glossiness
second: 0.5
- first:
name: _GlossyReflections
second: 1
- first:
name: _Metallic
second: 0
- first:
name: _Mode
second: 0
- first:
name: _OcclusionStrength
second: 1
- first:
name: _OcclusionStrengthDirectDiffuse
second: 1
- first:
name: _OcclusionStrengthDirectSpecular
second: 1
- first:
name: _OcclusionStrengthIndirectDiffuse
second: 1
- first:
name: _OcclusionStrengthIndirectSpecular
second: 1
- first:
name: _Parallax
second: 0.02
- first:
name: _SmoothnessTextureChannel
second: 0
- first:
name: _SpecularHighlights
second: 1
- first:
name: _SpecularMode
second: 2
- first:
name: _SrcBlend
second: 1
- first:
name: _UVSec
second: 0
- first:
name: _ZWrite
second: 1
- first:
name: g_bReceiveShadows
second: 1
- first:
name: g_bUnlit
second: 0
- first:
name: g_bWorldAlignedTexture
second: 0
- first:
name: g_flCubeMapScalar
second: 1
- first:
name: g_flReflectanceBias
second: 0
- first:
name: g_flReflectanceMax
second: 1
- first:
name: g_flReflectanceMin
second: 0
- first:
name: g_flReflectanceScale
second: 1
m_Colors:
- first:
name: _Color
second: {r: 1, g: 1, b: 1, a: 1}
- first:
name: _EmissionColor
second: {r: 1, g: 1, b: 1, a: 1}
- first:
name: _SpecColor
second: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- first:
name: g_vWorldAlignedNormalTangentU
second: {r: -1, g: 0, b: 0, a: 0}
- first:
name: g_vWorldAlignedNormalTangentV
second: {r: 0, g: 0, b: 1, a: 0}
- first:
name: g_vWorldAlignedTextureNormal
second: {r: 0, g: 1, b: 0, a: 0}
- first:
name: g_vWorldAlignedTexturePosition
second: {r: 0, g: 0, b: 0, a: 0}
- first:
name: g_vWorldAlignedTextureSize
second: {r: 1, g: 1, b: 1, a: 0}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f7cd62d595c763c428123f260c78b711
timeCreated: 1456804074
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,133 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: ArrowGlint
m_Shader: {fileID: 200, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _EMISSION
m_LightmapFlags: 1
m_CustomRenderQueue: -1
stringTagMap: {}
m_SavedProperties:
serializedVersion: 2
m_TexEnvs:
- first:
name: _BumpMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailAlbedoMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailMask
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailNormalMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _EmissionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MainTex
second:
m_Texture: {fileID: 2800000, guid: c4a7b02e27e148a47b782f8cd5cb598d, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MetallicGlossMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _OcclusionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _ParallaxMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- first:
name: _BumpScale
second: 1
- first:
name: _Cutoff
second: 0.5
- first:
name: _DetailNormalMapScale
second: 1
- first:
name: _DstBlend
second: 0
- first:
name: _GlossMapScale
second: 1
- first:
name: _Glossiness
second: 0.5
- first:
name: _GlossyReflections
second: 1
- first:
name: _InvFade
second: 1
- first:
name: _Metallic
second: 0
- first:
name: _Mode
second: 0
- first:
name: _OcclusionStrength
second: 1
- first:
name: _Parallax
second: 0.02
- first:
name: _SmoothnessTextureChannel
second: 0
- first:
name: _SpecularHighlights
second: 1
- first:
name: _SrcBlend
second: 1
- first:
name: _UVSec
second: 0
- first:
name: _ZWrite
second: 1
m_Colors:
- first:
name: _Color
second: {r: 1, g: 1, b: 1, a: 1}
- first:
name: _EmissionColor
second: {r: 0, g: 0, b: 0, a: 1}
- first:
name: _TintColor
second: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f3004e0c0e5df074abcb3548fd812bfc
timeCreated: 1478651609
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,152 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: BalloonColor
m_Shader: {fileID: 45, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _EMISSION _EMISSIONMAP _LIGHTMAPPING_DYNAMIC_LIGHTMAPS _LIGHTMAPPING_REALTIME
_UVSEC_UV1
m_LightmapFlags: 1
m_CustomRenderQueue: -1
stringTagMap: {}
m_SavedProperties:
serializedVersion: 2
m_TexEnvs:
- first:
name: _BumpMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailAlbedoMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailMask
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailNormalMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _EmissionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MainTex
second:
m_Texture: {fileID: 2800000, guid: 616519d6531cad84cbd01281cc9742e0, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _Occlusion
second:
m_Texture: {fileID: 2800000, guid: 0011a038409c4a04885f85d463cfa164, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _OcclusionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _ParallaxMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _SpecGlossMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- first:
name: _AlphaTestRef
second: 0.5
- first:
name: _BumpScale
second: 1
- first:
name: _Cutoff
second: 0.5
- first:
name: _DetailNormalMapScale
second: 1
- first:
name: _DstBlend
second: 0
- first:
name: _EmissionScaleUI
second: 0.2
- first:
name: _GlossMapScale
second: 1
- first:
name: _Glossiness
second: 0.748
- first:
name: _GlossyReflections
second: 1
- first:
name: _Lightmapping
second: 1
- first:
name: _Mode
second: 0
- first:
name: _OcclusionStrength
second: 1
- first:
name: _Parallax
second: 0.02
- first:
name: _SmoothnessTextureChannel
second: 0
- first:
name: _SpecularHighlights
second: 1
- first:
name: _SrcBlend
second: 1
- first:
name: _UVSec
second: 0
- first:
name: _ZWrite
second: 1
m_Colors:
- first:
name: _Color
second: {r: 0, g: 0, b: 0, a: 1}
- first:
name: _EmissionColor
second: {r: 0, g: 0, b: 0, a: 1}
- first:
name: _EmissionColorUI
second: {r: 0.07586192, g: 0.99999994, b: 0, a: 1}
- first:
name: _EmissionColorWithMapUI
second: {r: 1, g: 0, b: 0, a: 1}
- first:
name: _SpecColor
second: {r: 0.2, g: 0.2, b: 0.2, a: 1}
- first:
name: _SpecularColor
second: {r: 1, g: 1, b: 1, a: 1}

View File

@ -0,0 +1,6 @@
fileFormatVersion: 2
guid: 406981998f1234442a4f2eb50cfe07e1
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,133 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: BalloonPop
m_Shader: {fileID: 203, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _EMISSION
m_LightmapFlags: 1
m_CustomRenderQueue: -1
stringTagMap: {}
m_SavedProperties:
serializedVersion: 2
m_TexEnvs:
- first:
name: _BumpMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailAlbedoMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailMask
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailNormalMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _EmissionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MainTex
second:
m_Texture: {fileID: 2800000, guid: 210c1550425ed90419d73be09bde0486, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MetallicGlossMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _OcclusionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _ParallaxMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- first:
name: _BumpScale
second: 1
- first:
name: _Cutoff
second: 0.5
- first:
name: _DetailNormalMapScale
second: 1
- first:
name: _DstBlend
second: 0
- first:
name: _GlossMapScale
second: 1
- first:
name: _Glossiness
second: 0.5
- first:
name: _GlossyReflections
second: 1
- first:
name: _InvFade
second: 1
- first:
name: _Metallic
second: 0
- first:
name: _Mode
second: 0
- first:
name: _OcclusionStrength
second: 1
- first:
name: _Parallax
second: 0.02
- first:
name: _SmoothnessTextureChannel
second: 0
- first:
name: _SpecularHighlights
second: 1
- first:
name: _SrcBlend
second: 1
- first:
name: _UVSec
second: 0
- first:
name: _ZWrite
second: 1
m_Colors:
- first:
name: _Color
second: {r: 1, g: 1, b: 1, a: 1}
- first:
name: _EmissionColor
second: {r: 0, g: 0, b: 0, a: 1}
- first:
name: _TintColor
second: {r: 1, g: 1, b: 1, a: 0.5}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 2d01d8c885250364bac66a45791f02e1
timeCreated: 1478656020
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,133 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: BalloonPopLine
m_Shader: {fileID: 200, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _EMISSION
m_LightmapFlags: 1
m_CustomRenderQueue: -1
stringTagMap: {}
m_SavedProperties:
serializedVersion: 2
m_TexEnvs:
- first:
name: _BumpMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailAlbedoMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailMask
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailNormalMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _EmissionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MainTex
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MetallicGlossMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _OcclusionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _ParallaxMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- first:
name: _BumpScale
second: 1
- first:
name: _Cutoff
second: 0.5
- first:
name: _DetailNormalMapScale
second: 1
- first:
name: _DstBlend
second: 0
- first:
name: _GlossMapScale
second: 1
- first:
name: _Glossiness
second: 0.5
- first:
name: _GlossyReflections
second: 1
- first:
name: _InvFade
second: 1
- first:
name: _Metallic
second: 0
- first:
name: _Mode
second: 0
- first:
name: _OcclusionStrength
second: 1
- first:
name: _Parallax
second: 0.02
- first:
name: _SmoothnessTextureChannel
second: 0
- first:
name: _SpecularHighlights
second: 1
- first:
name: _SrcBlend
second: 1
- first:
name: _UVSec
second: 0
- first:
name: _ZWrite
second: 1
m_Colors:
- first:
name: _Color
second: {r: 1, g: 1, b: 1, a: 1}
- first:
name: _EmissionColor
second: {r: 0, g: 0, b: 0, a: 1}
- first:
name: _TintColor
second: {r: 1, g: 1, b: 1, a: 0.5}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 25bc1e9c1d9042d4781cb174093aaaed
timeCreated: 1478656749
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,127 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: ItemPickupOutline
m_Shader: {fileID: 4800000, guid: 0c1cf10ea69e60e4f9eb8955749f88ec, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 5
m_CustomRenderQueue: -1
stringTagMap: {}
m_SavedProperties:
serializedVersion: 2
m_TexEnvs:
- first:
name: _BumpMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailAlbedoMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailMask
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailNormalMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _EmissionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MainTex
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MetallicGlossMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _OcclusionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _ParallaxMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- first:
name: _BumpScale
second: 1
- first:
name: _Cutoff
second: 0.5
- first:
name: _DetailNormalMapScale
second: 1
- first:
name: _DstBlend
second: 0
- first:
name: _Glossiness
second: 0.5
- first:
name: _Metallic
second: 0
- first:
name: _Mode
second: 0
- first:
name: _OcclusionStrength
second: 1
- first:
name: _Outline
second: 0.0028
- first:
name: _Parallax
second: 0.02
- first:
name: _SrcBlend
second: 1
- first:
name: _UVSec
second: 0
- first:
name: _ZWrite
second: 1
- first:
name: g_flOutlineWidth
second: 0.0025
m_Colors:
- first:
name: _Color
second: {r: 1, g: 1, b: 1, a: 1}
- first:
name: _EmissionColor
second: {r: 0, g: 0, b: 0, a: 1}
- first:
name: _OutlineColor
second: {r: 0.44034123, g: 0.58823526, b: 0.42820066, a: 1}
- first:
name: g_vOutlineColor
second: {r: 0.39008927, g: 0.86764705, b: 0.3508867, a: 1}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 3d938759d8b7a414988ec3261fb5265d
timeCreated: 1442338990
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,127 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: ItemPickupOutlineThick
m_Shader: {fileID: 4800000, guid: 0c1cf10ea69e60e4f9eb8955749f88ec, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 5
m_CustomRenderQueue: -1
stringTagMap: {}
m_SavedProperties:
serializedVersion: 2
m_TexEnvs:
- first:
name: _BumpMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailAlbedoMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailMask
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailNormalMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _EmissionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MainTex
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MetallicGlossMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _OcclusionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _ParallaxMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- first:
name: _BumpScale
second: 1
- first:
name: _Cutoff
second: 0.5
- first:
name: _DetailNormalMapScale
second: 1
- first:
name: _DstBlend
second: 0
- first:
name: _Glossiness
second: 0.5
- first:
name: _Metallic
second: 0
- first:
name: _Mode
second: 0
- first:
name: _OcclusionStrength
second: 1
- first:
name: _Outline
second: 0.005
- first:
name: _Parallax
second: 0.02
- first:
name: _SrcBlend
second: 1
- first:
name: _UVSec
second: 0
- first:
name: _ZWrite
second: 1
- first:
name: g_flOutlineWidth
second: 0.001
m_Colors:
- first:
name: _Color
second: {r: 1, g: 1, b: 1, a: 1}
- first:
name: _EmissionColor
second: {r: 0, g: 0, b: 0, a: 1}
- first:
name: _OutlineColor
second: {r: 0.44034722, g: 0.5882403, b: 0.42820668, a: 1}
- first:
name: g_vOutlineColor
second: {r: 0.4403412, g: 0.5882352, b: 0.42820063, a: 1}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 425031c746a6df44aa1dfdb17c2b8b45
timeCreated: 1442427993
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,200 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: Longbow
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: S_RECEIVE_SHADOWS S_SPECULAR_METALLIC _EMISSION
m_LightmapFlags: 1
m_CustomRenderQueue: -1
stringTagMap:
OriginalShader: Standard
m_SavedProperties:
serializedVersion: 2
m_TexEnvs:
- first:
name: _BumpMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailAlbedoMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailMask
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailNormalMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _EmissionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MainTex
second:
m_Texture: {fileID: 2800000, guid: 8b486a7fc7f4490409fb152cfaaaea36, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MetallicGlossMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _OcclusionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _ParallaxMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _SpecGlossMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: g_tOverrideLightmap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- first:
name: _BumpScale
second: 1
- first:
name: _Cutoff
second: 0.5
- first:
name: _DetailNormalMapScale
second: 1
- first:
name: _DstBlend
second: 0
- first:
name: _FogMultiplier
second: 1
- first:
name: _GlossMapScale
second: 1
- first:
name: _Glossiness
second: 0.483
- first:
name: _GlossyReflections
second: 1
- first:
name: _Metallic
second: 0.13
- first:
name: _Mode
second: 0
- first:
name: _OcclusionStrength
second: 1
- first:
name: _OcclusionStrengthDirectDiffuse
second: 1
- first:
name: _OcclusionStrengthDirectSpecular
second: 1
- first:
name: _OcclusionStrengthIndirectDiffuse
second: 1
- first:
name: _OcclusionStrengthIndirectSpecular
second: 1
- first:
name: _Parallax
second: 0.02
- first:
name: _SmoothnessTextureChannel
second: 0
- first:
name: _SpecularHighlights
second: 1
- first:
name: _SpecularMode
second: 2
- first:
name: _SrcBlend
second: 1
- first:
name: _UVSec
second: 0
- first:
name: _ZWrite
second: 1
- first:
name: g_bReceiveShadows
second: 1
- first:
name: g_bUnlit
second: 0
- first:
name: g_bWorldAlignedTexture
second: 0
- first:
name: g_flCubeMapScalar
second: 0.472
- first:
name: g_flReflectanceBias
second: 0
- first:
name: g_flReflectanceMax
second: 1
- first:
name: g_flReflectanceMin
second: 0
- first:
name: g_flReflectanceScale
second: 1
m_Colors:
- first:
name: _Color
second: {r: 1, g: 1, b: 1, a: 1}
- first:
name: _EmissionColor
second: {r: 0, g: 0, b: 0, a: 1}
- first:
name: _SpecColor
second: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- first:
name: g_vWorldAlignedNormalTangentU
second: {r: -1, g: 0, b: 0, a: 0}
- first:
name: g_vWorldAlignedNormalTangentV
second: {r: 0, g: 0, b: 1, a: 0}
- first:
name: g_vWorldAlignedTextureNormal
second: {r: 0, g: 1, b: 0, a: 0}
- first:
name: g_vWorldAlignedTexturePosition
second: {r: 0, g: 0, b: 0, a: 0}
- first:
name: g_vWorldAlignedTextureSize
second: {r: 1, g: 1, b: 1, a: 0}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 921837a5408991d429e86efc66f8be6b
timeCreated: 1453848957
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,200 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: LongbowNotch
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: S_RECEIVE_SHADOWS S_SPECULAR_METALLIC _EMISSION
m_LightmapFlags: 1
m_CustomRenderQueue: -1
stringTagMap:
OriginalShader: Standard
m_SavedProperties:
serializedVersion: 2
m_TexEnvs:
- first:
name: _BumpMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailAlbedoMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailMask
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailNormalMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _EmissionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MainTex
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MetallicGlossMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _OcclusionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _ParallaxMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _SpecGlossMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: g_tOverrideLightmap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- first:
name: _BumpScale
second: 1
- first:
name: _Cutoff
second: 0.5
- first:
name: _DetailNormalMapScale
second: 1
- first:
name: _DstBlend
second: 0
- first:
name: _FogMultiplier
second: 1
- first:
name: _GlossMapScale
second: 1
- first:
name: _Glossiness
second: 0.5
- first:
name: _GlossyReflections
second: 1
- first:
name: _Metallic
second: 1
- first:
name: _Mode
second: 0
- first:
name: _OcclusionStrength
second: 1
- first:
name: _OcclusionStrengthDirectDiffuse
second: 1
- first:
name: _OcclusionStrengthDirectSpecular
second: 1
- first:
name: _OcclusionStrengthIndirectDiffuse
second: 1
- first:
name: _OcclusionStrengthIndirectSpecular
second: 1
- first:
name: _Parallax
second: 0.02
- first:
name: _SmoothnessTextureChannel
second: 0
- first:
name: _SpecularHighlights
second: 1
- first:
name: _SpecularMode
second: 2
- first:
name: _SrcBlend
second: 1
- first:
name: _UVSec
second: 0
- first:
name: _ZWrite
second: 1
- first:
name: g_bReceiveShadows
second: 1
- first:
name: g_bUnlit
second: 0
- first:
name: g_bWorldAlignedTexture
second: 0
- first:
name: g_flCubeMapScalar
second: 1
- first:
name: g_flReflectanceBias
second: 0
- first:
name: g_flReflectanceMax
second: 1
- first:
name: g_flReflectanceMin
second: 0
- first:
name: g_flReflectanceScale
second: 1
m_Colors:
- first:
name: _Color
second: {r: 0.46323532, g: 0.46323532, b: 0.46323532, a: 1}
- first:
name: _EmissionColor
second: {r: 0, g: 0, b: 0, a: 1}
- first:
name: _SpecColor
second: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- first:
name: g_vWorldAlignedNormalTangentU
second: {r: -1, g: 0, b: 0, a: 0}
- first:
name: g_vWorldAlignedNormalTangentV
second: {r: 0, g: 0, b: 1, a: 0}
- first:
name: g_vWorldAlignedTextureNormal
second: {r: 0, g: 1, b: 0, a: 0}
- first:
name: g_vWorldAlignedTexturePosition
second: {r: 0, g: 0, b: 0, a: 0}
- first:
name: g_vWorldAlignedTextureSize
second: {r: 1, g: 1, b: 1, a: 0}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5be56a64c3c6c434eb746320e06a27ac
timeCreated: 1454951948
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,200 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: LongbowString
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: S_RECEIVE_SHADOWS S_SPECULAR_METALLIC _EMISSION
m_LightmapFlags: 1
m_CustomRenderQueue: -1
stringTagMap:
OriginalShader: Standard
m_SavedProperties:
serializedVersion: 2
m_TexEnvs:
- first:
name: _BumpMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailAlbedoMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailMask
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailNormalMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _EmissionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MainTex
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MetallicGlossMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _OcclusionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _ParallaxMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _SpecGlossMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: g_tOverrideLightmap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- first:
name: _BumpScale
second: 1
- first:
name: _Cutoff
second: 0.5
- first:
name: _DetailNormalMapScale
second: 1
- first:
name: _DstBlend
second: 0
- first:
name: _FogMultiplier
second: 1
- first:
name: _GlossMapScale
second: 1
- first:
name: _Glossiness
second: 0
- first:
name: _GlossyReflections
second: 1
- first:
name: _Metallic
second: 0
- first:
name: _Mode
second: 0
- first:
name: _OcclusionStrength
second: 1
- first:
name: _OcclusionStrengthDirectDiffuse
second: 1
- first:
name: _OcclusionStrengthDirectSpecular
second: 1
- first:
name: _OcclusionStrengthIndirectDiffuse
second: 1
- first:
name: _OcclusionStrengthIndirectSpecular
second: 1
- first:
name: _Parallax
second: 0.02
- first:
name: _SmoothnessTextureChannel
second: 0
- first:
name: _SpecularHighlights
second: 1
- first:
name: _SpecularMode
second: 2
- first:
name: _SrcBlend
second: 1
- first:
name: _UVSec
second: 0
- first:
name: _ZWrite
second: 1
- first:
name: g_bReceiveShadows
second: 1
- first:
name: g_bUnlit
second: 0
- first:
name: g_bWorldAlignedTexture
second: 0
- first:
name: g_flCubeMapScalar
second: 0.138
- first:
name: g_flReflectanceBias
second: 0
- first:
name: g_flReflectanceMax
second: 1
- first:
name: g_flReflectanceMin
second: 0
- first:
name: g_flReflectanceScale
second: 1
m_Colors:
- first:
name: _Color
second: {r: 0.2352941, g: 0.2352941, b: 0.2352941, a: 1}
- first:
name: _EmissionColor
second: {r: 0, g: 0, b: 0, a: 1}
- first:
name: _SpecColor
second: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- first:
name: g_vWorldAlignedNormalTangentU
second: {r: -1, g: 0, b: 0, a: 0}
- first:
name: g_vWorldAlignedNormalTangentV
second: {r: 0, g: 0, b: 1, a: 0}
- first:
name: g_vWorldAlignedTextureNormal
second: {r: 0, g: 1, b: 0, a: 0}
- first:
name: g_vWorldAlignedTexturePosition
second: {r: 0, g: 0, b: 0, a: 0}
- first:
name: g_vWorldAlignedTextureSize
second: {r: 1, g: 1, b: 1, a: 0}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 40fa752affdc6cf45a47396764154085
timeCreated: 1454951948
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,133 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: TorchFire
m_Shader: {fileID: 203, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _EMISSION
m_LightmapFlags: 1
m_CustomRenderQueue: -1
stringTagMap: {}
m_SavedProperties:
serializedVersion: 2
m_TexEnvs:
- first:
name: _BumpMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailAlbedoMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailMask
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailNormalMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _EmissionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MainTex
second:
m_Texture: {fileID: 2800000, guid: abf6d945eaf1e3448b2c5264c0b1be0f, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MetallicGlossMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _OcclusionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _ParallaxMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- first:
name: _BumpScale
second: 1
- first:
name: _Cutoff
second: 0.5
- first:
name: _DetailNormalMapScale
second: 1
- first:
name: _DstBlend
second: 0
- first:
name: _GlossMapScale
second: 1
- first:
name: _Glossiness
second: 0.5
- first:
name: _GlossyReflections
second: 1
- first:
name: _InvFade
second: 1
- first:
name: _Metallic
second: 0
- first:
name: _Mode
second: 0
- first:
name: _OcclusionStrength
second: 1
- first:
name: _Parallax
second: 0.02
- first:
name: _SmoothnessTextureChannel
second: 0
- first:
name: _SpecularHighlights
second: 1
- first:
name: _SrcBlend
second: 1
- first:
name: _UVSec
second: 0
- first:
name: _ZWrite
second: 1
m_Colors:
- first:
name: _Color
second: {r: 1, g: 1, b: 1, a: 1}
- first:
name: _EmissionColor
second: {r: 0, g: 0, b: 0, a: 1}
- first:
name: _TintColor
second: {r: 1, g: 1, b: 1, a: 0.5}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 9fff76eb68ad4c44b87be9e2ca168a80
timeCreated: 1478653933
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,127 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: TorchHead
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _EMISSION
m_LightmapFlags: 1
m_CustomRenderQueue: -1
stringTagMap: {}
m_SavedProperties:
serializedVersion: 2
m_TexEnvs:
- first:
name: _BumpMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailAlbedoMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailMask
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailNormalMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _EmissionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MainTex
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MetallicGlossMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _OcclusionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _ParallaxMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- first:
name: _BumpScale
second: 1
- first:
name: _Cutoff
second: 0.5
- first:
name: _DetailNormalMapScale
second: 1
- first:
name: _DstBlend
second: 0
- first:
name: _GlossMapScale
second: 1
- first:
name: _Glossiness
second: 0.5
- first:
name: _GlossyReflections
second: 1
- first:
name: _Metallic
second: 0
- first:
name: _Mode
second: 0
- first:
name: _OcclusionStrength
second: 1
- first:
name: _Parallax
second: 0.02
- first:
name: _SmoothnessTextureChannel
second: 0
- first:
name: _SpecularHighlights
second: 1
- first:
name: _SrcBlend
second: 1
- first:
name: _UVSec
second: 0
- first:
name: _ZWrite
second: 1
m_Colors:
- first:
name: _Color
second: {r: 0.89705884, g: 0.81861967, b: 0.7519464, a: 1}
- first:
name: _EmissionColor
second: {r: 0, g: 0, b: 0, a: 1}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 67c31797bbf07114eb2d50aa3ae184e9
timeCreated: 1478737675
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,127 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: TorchShaft
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _EMISSION
m_LightmapFlags: 1
m_CustomRenderQueue: -1
stringTagMap: {}
m_SavedProperties:
serializedVersion: 2
m_TexEnvs:
- first:
name: _BumpMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailAlbedoMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailMask
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _DetailNormalMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _EmissionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MainTex
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _MetallicGlossMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _OcclusionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- first:
name: _ParallaxMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- first:
name: _BumpScale
second: 1
- first:
name: _Cutoff
second: 0.5
- first:
name: _DetailNormalMapScale
second: 1
- first:
name: _DstBlend
second: 0
- first:
name: _GlossMapScale
second: 1
- first:
name: _Glossiness
second: 0.5
- first:
name: _GlossyReflections
second: 1
- first:
name: _Metallic
second: 0
- first:
name: _Mode
second: 0
- first:
name: _OcclusionStrength
second: 1
- first:
name: _Parallax
second: 0.02
- first:
name: _SmoothnessTextureChannel
second: 0
- first:
name: _SpecularHighlights
second: 1
- first:
name: _SrcBlend
second: 1
- first:
name: _UVSec
second: 0
- first:
name: _ZWrite
second: 1
m_Colors:
- first:
name: _Color
second: {r: 0.39705884, g: 0.2424016, b: 0.11094292, a: 1}
- first:
name: _EmissionColor
second: {r: 0, g: 0, b: 0, a: 1}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 24e73955ba8338f41a24cd3aea0285a6
timeCreated: 1478737675
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 2f4c3e904395a784199b9a0e3166fd96
folderAsset: yes
timeCreated: 1479762244
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/SteamVR/InteractionSystem/Longbow/Models/Arrow.fbx (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,85 @@
fileFormatVersion: 2
guid: 56377e28a47008245871ca7b435044c4
timeCreated: 1456804074
licenseType: Store
ModelImporter:
serializedVersion: 19
fileIDToRecycleName:
100000: //RootNode
100002: polySurface2
100004: tip
400000: //RootNode
400002: polySurface2
400004: tip
2300000: //RootNode
2300002: polySurface2
2300004: tip
3300000: //RootNode
3300002: polySurface2
3300004: tip
4300000: polySurface2
4300002: tip
materials:
importMaterials: 0
materialName: 0
materialSearch: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
motionNodeName:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
importBlendShapes: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
optimizeMeshForGPU: 1
keepQuads: 0
weldVertices: 1
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVPackMargin: 4
useFileScale: 1
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
importAnimation: 1
copyAvatar: 0
humanDescription:
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
rootMotionBoneName:
hasTranslationDoF: 0
lastHumanDescriptionAvatarSource: {instanceID: 0}
animationType: 0
humanoidOversampling: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/SteamVR/InteractionSystem/Longbow/Models/Balloon.fbx (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,74 @@
fileFormatVersion: 2
guid: 8c0fbd56181ea0843b1596b4cb0e5498
ModelImporter:
serializedVersion: 19
fileIDToRecycleName:
100000: //RootNode
400000: //RootNode
2300000: //RootNode
3300000: //RootNode
4300000: balloon
materials:
importMaterials: 0
materialName: 0
materialSearch: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
motionNodeName:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
importBlendShapes: 0
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
optimizeMeshForGPU: 1
keepQuads: 0
weldVertices: 1
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVPackMargin: 4
useFileScale: 1
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 4
importAnimation: 1
copyAvatar: 0
humanDescription:
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
rootMotionBoneName:
hasTranslationDoF: 0
lastHumanDescriptionAvatarSource: {instanceID: 0}
animationType: 0
humanoidOversampling: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/SteamVR/InteractionSystem/Longbow/Models/Longbow.fbx (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,205 @@
fileFormatVersion: 2
guid: e694f124da5bfd84d97e67e8c2719420
timeCreated: 1453848738
licenseType: Store
ModelImporter:
serializedVersion: 19
fileIDToRecycleName:
100000: arrow
100002: bow
100004: bow_base
100006: bow_base_CTRL
100008: bow_base_CTRL_AnimNUL
100010: bow_base_CTRL_HmNUL
100012: bow_base_CTRL_SpaceNUL
100014: //RootNode
100016: btmArm0
100018: btmArm1
100020: btmArm2
100022: btmArm3
100024: notch
100026: stringBtm
100028: stringBtmArc
100030: stringBtmNotch
100032: stringTop
100034: stringTopArc
100036: stringTopNotch
100038: topArm0
100040: topArm1
100042: topArm2
100044: topArm3
100046: bow_noString
100048: StringGeom
400000: arrow
400002: bow
400004: bow_base
400006: bow_base_CTRL
400008: bow_base_CTRL_AnimNUL
400010: bow_base_CTRL_HmNUL
400012: bow_base_CTRL_SpaceNUL
400014: //RootNode
400016: btmArm0
400018: btmArm1
400020: btmArm2
400022: btmArm3
400024: notch
400026: stringBtm
400028: stringBtmArc
400030: stringBtmNotch
400032: stringTop
400034: stringTopArc
400036: stringTopNotch
400038: topArm0
400040: topArm1
400042: topArm2
400044: topArm3
400046: bow_noString
400048: StringGeom
4300000: bow
4300002: arrow
4300004: bow_noString
4300006: StringGeom
7400000: bowPull
9500000: //RootNode
13700000: arrow
13700002: bow
13700004: bow_noString
13700006: StringGeom
materials:
importMaterials: 0
materialName: 0
materialSearch: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
motionNodeName:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
animationCompression: 0
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
clipAnimations:
- serializedVersion: 16
name: bowPull
takeName: Take 001
firstFrame: 1
lastFrame: 120
wrapMode: 0
orientationOffsetY: 0
level: 0
cycleOffset: 0
loop: 0
hasAdditiveReferencePose: 0
loopTime: 0
loopBlend: 0
loopBlendOrientation: 0
loopBlendPositionY: 0
loopBlendPositionXZ: 0
keepOriginalOrientation: 0
keepOriginalPositionY: 1
keepOriginalPositionXZ: 0
heightFromFeet: 0
mirror: 0
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
curves: []
events: []
transformMask:
- path:
weight: 1
- path: arrow
weight: 1
- path: bow
weight: 1
- path: bow_base
weight: 1
- path: bow_base/btmArm0
weight: 1
- path: bow_base/btmArm0/btmArm1
weight: 1
- path: bow_base/btmArm0/btmArm1/btmArm2
weight: 1
- path: bow_base/btmArm0/btmArm1/btmArm2/btmArm3
weight: 1
- path: bow_base/btmArm0/btmArm1/btmArm2/btmArm3/stringBtm
weight: 1
- path: bow_base/btmArm0/btmArm1/btmArm2/btmArm3/stringBtm/stringBtmArc
weight: 1
- path: bow_base/btmArm0/btmArm1/btmArm2/btmArm3/stringBtm/stringBtmArc/stringBtmNotch
weight: 1
- path: bow_base/notch
weight: 1
- path: bow_base/topArm0
weight: 1
- path: bow_base/topArm0/topArm1
weight: 1
- path: bow_base/topArm0/topArm1/topArm2
weight: 1
- path: bow_base/topArm0/topArm1/topArm2/topArm3
weight: 1
- path: bow_base/topArm0/topArm1/topArm2/topArm3/stringTop
weight: 1
- path: bow_base/topArm0/topArm1/topArm2/topArm3/stringTop/stringTopArc
weight: 1
- path: bow_base/topArm0/topArm1/topArm2/topArm3/stringTop/stringTopArc/stringTopNotch
weight: 1
- path: bow_base_CTRL_HmNUL
weight: 1
- path: bow_base_CTRL_HmNUL/bow_base_CTRL_SpaceNUL
weight: 1
- path: bow_base_CTRL_HmNUL/bow_base_CTRL_SpaceNUL/bow_base_CTRL_AnimNUL
weight: 1
- path: bow_base_CTRL_HmNUL/bow_base_CTRL_SpaceNUL/bow_base_CTRL_AnimNUL/bow_base_CTRL
weight: 1
maskType: 0
maskSource: {instanceID: 0}
additiveReferencePoseFrame: 0
isReadable: 1
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
importBlendShapes: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
optimizeMeshForGPU: 1
keepQuads: 0
weldVertices: 1
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVPackMargin: 4
useFileScale: 1
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 4
importAnimation: 1
copyAvatar: 0
humanDescription:
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
rootMotionBoneName:
hasTranslationDoF: 0
lastHumanDescriptionAvatarSource: {instanceID: 0}
animationType: 2
humanoidOversampling: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: c360cf037a4ff3f4cb643392da004156
folderAsset: yes
timeCreated: 1479762244
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,16 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!134 &13400000
PhysicMaterial:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: ArcheryTargetPhysMaterial
dynamicFriction: .600000024
staticFriction: .600000024
bounciness: 0
frictionCombine: 0
bounceCombine: 0
frictionDirection2: {x: 0, y: 0, z: 0}
dynamicFriction2: 0
staticFriction2: 0

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c509d5711dc2cc346be2763cd92383ca
timeCreated: 1437607164
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: a4acc435c26639c4fac0c4358c455259
folderAsset: yes
timeCreated: 1479762244
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7fe1fef3cfad86946b3a549d6934330b
timeCreated: 1444265605
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 81fc1450441aca64e8cc1a0e14b1aa77
timeCreated: 1457490155
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d410d7126dd411c4ea651fc94eae9202
timeCreated: 1457490326
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8e13c6e5a21aeea4db3c25ef0e529308
timeCreated: 1435794528
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: 9d2dddaae5c812841accc43e4da1fccd
NativeFormatImporter:
userData:
assetBundleName:

Binary file not shown.

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a41945a8549c580408301691c2fd374e
timeCreated: 1457902375
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: 01c670ceb931d524b9a80b70652eb18b
NativeFormatImporter:
userData:
assetBundleName:

Binary file not shown.

View File

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: 9471d2206e57ca246a4bf982f3c29c8f
NativeFormatImporter:
userData:
assetBundleName:

Binary file not shown.

View File

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: a6990c59ffac7cf4b87f644ab4782007
NativeFormatImporter:
userData:
assetBundleName:

Binary file not shown.

View File

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: daf28736fcb032a44b7a5c1fd0a27b15
NativeFormatImporter:
userData:
assetBundleName:

Binary file not shown.

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f1f5f898fbfdb80478825ce9b01fe8ae
timeCreated: 1457488966
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 98a3ad29136d5c04f8a025adf1cbd704
timeCreated: 1457489493
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b9d299b8c6aa86242bec9a060f7e2d81
timeCreated: 1442339331
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: a5b684916cfe6804985d74652a2af09f
NativeFormatImporter:
userData:
assetBundleName:

Binary file not shown.

View File

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: 380bbbca09a806c4c8607dd111d9ed8f
NativeFormatImporter:
userData:
assetBundleName:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 6596adb54aab23a40abe01461d35a26f
folderAsset: yes
timeCreated: 1479762244
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,81 @@
//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Target that sends events when hit by an arrow
//
//=============================================================================
using UnityEngine;
using UnityEngine.Events;
using System.Collections;
namespace Valve.VR.InteractionSystem
{
//-------------------------------------------------------------------------
public class ArcheryTarget : MonoBehaviour
{
public UnityEvent onTakeDamage;
public bool onceOnly = false;
public Transform targetCenter;
public Transform baseTransform;
public Transform fallenDownTransform;
public float fallTime = 0.5f;
const float targetRadius = 0.25f;
private bool targetEnabled = true;
//-------------------------------------------------
private void ApplyDamage()
{
OnDamageTaken();
}
//-------------------------------------------------
private void FireExposure()
{
OnDamageTaken();
}
//-------------------------------------------------
private void OnDamageTaken()
{
if ( targetEnabled )
{
onTakeDamage.Invoke();
StartCoroutine( this.FallDown() );
if ( onceOnly )
{
targetEnabled = false;
}
}
}
//-------------------------------------------------
private IEnumerator FallDown()
{
if ( baseTransform )
{
Quaternion startingRot = baseTransform.rotation;
float startTime = Time.time;
float rotLerp = 0f;
while ( rotLerp < 1 )
{
rotLerp = Util.RemapNumberClamped( Time.time, startTime, startTime + fallTime, 0f, 1f );
baseTransform.rotation = Quaternion.Lerp( startingRot, fallenDownTransform.rotation, rotLerp );
yield return null;
}
}
yield return null;
}
}
}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: f2f2850d002f14a47bff32fdf73df53e
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {fileID: 2800000, guid: b93fe5c516cf6ed4b9153ec790f856e2, type: 3}
userData:
assetBundleName:

View File

@ -0,0 +1,263 @@
//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: The arrow for the longbow
//
//=============================================================================
using UnityEngine;
using System.Collections;
namespace Valve.VR.InteractionSystem
{
//-------------------------------------------------------------------------
public class Arrow : MonoBehaviour
{
public ParticleSystem glintParticle;
public Rigidbody arrowHeadRB;
public Rigidbody shaftRB;
public PhysicMaterial targetPhysMaterial;
private Vector3 prevPosition;
private Quaternion prevRotation;
private Vector3 prevVelocity;
private Vector3 prevHeadPosition;
public SoundPlayOneshot fireReleaseSound;
public SoundPlayOneshot airReleaseSound;
public SoundPlayOneshot hitTargetSound;
public PlaySound hitGroundSound;
private bool inFlight;
private bool released;
private bool hasSpreadFire = false;
private int travelledFrames = 0;
private GameObject scaleParentObject = null;
//-------------------------------------------------
void Start()
{
Physics.IgnoreCollision( shaftRB.GetComponent<Collider>(), Player.instance.headCollider );
}
//-------------------------------------------------
void FixedUpdate()
{
if ( released && inFlight )
{
prevPosition = transform.position;
prevRotation = transform.rotation;
prevVelocity = GetComponent<Rigidbody>().velocity;
prevHeadPosition = arrowHeadRB.transform.position;
travelledFrames++;
}
}
//-------------------------------------------------
public void ArrowReleased( float inputVelocity )
{
inFlight = true;
released = true;
airReleaseSound.Play();
if ( glintParticle != null )
{
glintParticle.Play();
}
if ( gameObject.GetComponentInChildren<FireSource>().isBurning )
{
fireReleaseSound.Play();
}
// Check if arrow is shot inside or too close to an object
RaycastHit[] hits = Physics.SphereCastAll( transform.position, 0.01f, transform.forward, 0.80f, Physics.DefaultRaycastLayers, QueryTriggerInteraction.Ignore );
foreach ( RaycastHit hit in hits )
{
if ( hit.collider.gameObject != gameObject && hit.collider.gameObject != arrowHeadRB.gameObject && hit.collider != Player.instance.headCollider )
{
Destroy( gameObject );
return;
}
}
travelledFrames = 0;
prevPosition = transform.position;
prevRotation = transform.rotation;
prevHeadPosition = arrowHeadRB.transform.position;
prevVelocity = GetComponent<Rigidbody>().velocity;
Destroy( gameObject, 30 );
}
//-------------------------------------------------
void OnCollisionEnter( Collision collision )
{
if ( inFlight )
{
Rigidbody rb = GetComponent<Rigidbody>();
float rbSpeed = rb.velocity.sqrMagnitude;
bool canStick = ( targetPhysMaterial != null && collision.collider.sharedMaterial == targetPhysMaterial && rbSpeed > 0.2f );
bool hitBalloon = collision.collider.gameObject.GetComponent<Balloon>() != null;
if ( travelledFrames < 2 && !canStick )
{
// Reset transform but halve your velocity
transform.position = prevPosition - prevVelocity * Time.deltaTime;
transform.rotation = prevRotation;
Vector3 reflfectDir = Vector3.Reflect( arrowHeadRB.velocity, collision.contacts[0].normal );
arrowHeadRB.velocity = reflfectDir * 0.25f;
shaftRB.velocity = reflfectDir * 0.25f;
travelledFrames = 0;
return;
}
if ( glintParticle != null )
{
glintParticle.Stop( true );
}
// Only play hit sounds if we're moving quickly
if ( rbSpeed > 0.1f )
{
hitGroundSound.Play();
}
FireSource arrowFire = gameObject.GetComponentInChildren<FireSource>();
FireSource fireSourceOnTarget = collision.collider.GetComponentInParent<FireSource>();
if ( arrowFire != null && arrowFire.isBurning && ( fireSourceOnTarget != null ) )
{
if ( !hasSpreadFire )
{
collision.collider.gameObject.SendMessageUpwards( "FireExposure", gameObject, SendMessageOptions.DontRequireReceiver );
hasSpreadFire = true;
}
}
else
{
// Only count collisions with good speed so that arrows on the ground can't deal damage
// always pop balloons
if ( rbSpeed > 0.1f || hitBalloon )
{
collision.collider.gameObject.SendMessageUpwards( "ApplyDamage", SendMessageOptions.DontRequireReceiver );
gameObject.SendMessage( "HasAppliedDamage", SendMessageOptions.DontRequireReceiver );
}
}
if ( hitBalloon )
{
// Revert my physics properties cause I don't want balloons to influence my travel
transform.position = prevPosition;
transform.rotation = prevRotation;
arrowHeadRB.velocity = prevVelocity;
Physics.IgnoreCollision( arrowHeadRB.GetComponent<Collider>(), collision.collider );
Physics.IgnoreCollision( shaftRB.GetComponent<Collider>(), collision.collider );
}
if ( canStick )
{
StickInTarget( collision, travelledFrames < 2 );
}
// Player Collision Check (self hit)
if ( Player.instance && collision.collider == Player.instance.headCollider )
{
Player.instance.PlayerShotSelf();
}
}
}
//-------------------------------------------------
private void StickInTarget( Collision collision, bool bSkipRayCast )
{
Vector3 prevForward = prevRotation * Vector3.forward;
// Only stick in target if the collider is front of the arrow head
if ( !bSkipRayCast )
{
RaycastHit[] hitInfo;
hitInfo = Physics.RaycastAll( prevHeadPosition - prevVelocity * Time.deltaTime, prevForward, prevVelocity.magnitude * Time.deltaTime * 2.0f );
bool properHit = false;
for ( int i = 0; i < hitInfo.Length; ++i )
{
RaycastHit hit = hitInfo[i];
if ( hit.collider == collision.collider )
{
properHit = true;
break;
}
}
if ( !properHit )
{
return;
}
}
Destroy( glintParticle );
inFlight = false;
shaftRB.velocity = Vector3.zero;
shaftRB.angularVelocity = Vector3.zero;
shaftRB.isKinematic = true;
shaftRB.useGravity = false;
shaftRB.transform.GetComponent<BoxCollider>().enabled = false;
arrowHeadRB.velocity = Vector3.zero;
arrowHeadRB.angularVelocity = Vector3.zero;
arrowHeadRB.isKinematic = true;
arrowHeadRB.useGravity = false;
arrowHeadRB.transform.GetComponent<BoxCollider>().enabled = false;
hitTargetSound.Play();
// If the hit item has a parent, dock an empty object to that
// this fixes an issue with scaling hierarchy. I suspect this is not sustainable for a large object / scaling hierarchy.
scaleParentObject = new GameObject( "Arrow Scale Parent" );
Transform parentTransform = collision.collider.transform;
// Don't do this for weebles because of how it has a fixed joint
ExplosionWobble wobble = collision.collider.gameObject.GetComponent<ExplosionWobble>();
if ( !wobble )
{
if ( parentTransform.parent )
{
parentTransform = parentTransform.parent;
}
}
scaleParentObject.transform.parent = parentTransform;
// Move the arrow to the place on the target collider we were expecting to hit prior to the impact itself knocking it around
transform.parent = scaleParentObject.transform;
transform.rotation = prevRotation;
transform.position = prevPosition;
transform.position = collision.contacts[0].point - transform.forward * ( 0.75f - ( Util.RemapNumberClamped( prevVelocity.magnitude, 0f, 10f, 0.0f, 0.1f ) + Random.Range( 0.0f, 0.05f ) ) );
}
//-------------------------------------------------
void OnDestroy()
{
if ( scaleParentObject != null )
{
Destroy( scaleParentObject );
}
}
}
}

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: d520699ed41daaf48b924d994ac87378
timeCreated: 1437005176
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {fileID: 2800000, guid: b93fe5c516cf6ed4b9153ec790f856e2, type: 3}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,297 @@
//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: The object attached to the player's hand that spawns and fires the
// arrow
//
//=============================================================================
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
namespace Valve.VR.InteractionSystem
{
//-------------------------------------------------------------------------
public class ArrowHand : MonoBehaviour
{
private Hand hand;
private Longbow bow;
private GameObject currentArrow;
public GameObject arrowPrefab;
public Transform arrowNockTransform;
public float nockDistance = 0.1f;
public float lerpCompleteDistance = 0.08f;
public float rotationLerpThreshold = 0.15f;
public float positionLerpThreshold = 0.15f;
private bool allowArrowSpawn = true;
private bool nocked;
private bool inNockRange = false;
private bool arrowLerpComplete = false;
public SoundPlayOneshot arrowSpawnSound;
private AllowTeleportWhileAttachedToHand allowTeleport = null;
public int maxArrowCount = 10;
private List<GameObject> arrowList;
//-------------------------------------------------
void Awake()
{
allowTeleport = GetComponent<AllowTeleportWhileAttachedToHand>();
allowTeleport.teleportAllowed = true;
allowTeleport.overrideHoverLock = false;
arrowList = new List<GameObject>();
}
//-------------------------------------------------
private void OnAttachedToHand( Hand attachedHand )
{
hand = attachedHand;
FindBow();
}
//-------------------------------------------------
private GameObject InstantiateArrow()
{
GameObject arrow = Instantiate( arrowPrefab, arrowNockTransform.position, arrowNockTransform.rotation ) as GameObject;
arrow.name = "Bow Arrow";
arrow.transform.parent = arrowNockTransform;
Util.ResetTransform( arrow.transform );
arrowList.Add( arrow );
while ( arrowList.Count > maxArrowCount )
{
GameObject oldArrow = arrowList[0];
arrowList.RemoveAt( 0 );
if ( oldArrow )
{
Destroy( oldArrow );
}
}
return arrow;
}
//-------------------------------------------------
private void HandAttachedUpdate( Hand hand )
{
if ( bow == null )
{
FindBow();
}
if ( bow == null )
{
return;
}
if ( allowArrowSpawn && ( currentArrow == null ) ) // If we're allowed to have an active arrow in hand but don't yet, spawn one
{
currentArrow = InstantiateArrow();
arrowSpawnSound.Play();
}
float distanceToNockPosition = Vector3.Distance( transform.parent.position, bow.nockTransform.position );
// If there's an arrow spawned in the hand and it's not nocked yet
if ( !nocked )
{
// If we're close enough to nock position that we want to start arrow rotation lerp, do so
if ( distanceToNockPosition < rotationLerpThreshold )
{
float lerp = Util.RemapNumber( distanceToNockPosition, rotationLerpThreshold, lerpCompleteDistance, 0, 1 );
arrowNockTransform.rotation = Quaternion.Lerp( arrowNockTransform.parent.rotation, bow.nockRestTransform.rotation, lerp );
}
else // Not close enough for rotation lerp, reset rotation
{
arrowNockTransform.localRotation = Quaternion.identity;
}
// If we're close enough to the nock position that we want to start arrow position lerp, do so
if ( distanceToNockPosition < positionLerpThreshold )
{
float posLerp = Util.RemapNumber( distanceToNockPosition, positionLerpThreshold, lerpCompleteDistance, 0, 1 );
posLerp = Mathf.Clamp( posLerp, 0f, 1f );
arrowNockTransform.position = Vector3.Lerp( arrowNockTransform.parent.position, bow.nockRestTransform.position, posLerp );
}
else // Not close enough for position lerp, reset position
{
arrowNockTransform.position = arrowNockTransform.parent.position;
}
// Give a haptic tick when lerp is visually complete
if ( distanceToNockPosition < lerpCompleteDistance )
{
if ( !arrowLerpComplete )
{
arrowLerpComplete = true;
hand.controller.TriggerHapticPulse( 500 );
}
}
else
{
if ( arrowLerpComplete )
{
arrowLerpComplete = false;
}
}
// Allow nocking the arrow when controller is close enough
if ( distanceToNockPosition < nockDistance )
{
if ( !inNockRange )
{
inNockRange = true;
bow.ArrowInPosition();
}
}
else
{
if ( inNockRange )
{
inNockRange = false;
}
}
// If arrow is close enough to the nock position and we're pressing the trigger, and we're not nocked yet, Nock
if ( ( distanceToNockPosition < nockDistance ) && hand.controller.GetPress( SteamVR_Controller.ButtonMask.Trigger ) && !nocked )
{
if ( currentArrow == null )
{
currentArrow = InstantiateArrow();
}
nocked = true;
bow.StartNock( this );
hand.HoverLock( GetComponent<Interactable>() );
allowTeleport.teleportAllowed = false;
currentArrow.transform.parent = bow.nockTransform;
Util.ResetTransform( currentArrow.transform );
Util.ResetTransform( arrowNockTransform );
}
}
// If arrow is nocked, and we release the trigger
if ( nocked && ( !hand.controller.GetPress( SteamVR_Controller.ButtonMask.Trigger ) || hand.controller.GetPressUp( SteamVR_Controller.ButtonMask.Trigger ) ) )
{
if ( bow.pulled ) // If bow is pulled back far enough, fire arrow, otherwise reset arrow in arrowhand
{
FireArrow();
}
else
{
arrowNockTransform.rotation = currentArrow.transform.rotation;
currentArrow.transform.parent = arrowNockTransform;
Util.ResetTransform( currentArrow.transform );
nocked = false;
bow.ReleaseNock();
hand.HoverUnlock( GetComponent<Interactable>() );
allowTeleport.teleportAllowed = true;
}
bow.StartRotationLerp(); // Arrow is releasing from the bow, tell the bow to lerp back to controller rotation
}
}
//-------------------------------------------------
private void OnDetachedFromHand( Hand hand )
{
Destroy( gameObject );
}
//-------------------------------------------------
private void FireArrow()
{
currentArrow.transform.parent = null;
Arrow arrow = currentArrow.GetComponent<Arrow>();
arrow.shaftRB.isKinematic = false;
arrow.shaftRB.useGravity = true;
arrow.shaftRB.transform.GetComponent<BoxCollider>().enabled = true;
arrow.arrowHeadRB.isKinematic = false;
arrow.arrowHeadRB.useGravity = true;
arrow.arrowHeadRB.transform.GetComponent<BoxCollider>().enabled = true;
arrow.arrowHeadRB.AddForce( currentArrow.transform.forward * bow.GetArrowVelocity(), ForceMode.VelocityChange );
arrow.arrowHeadRB.AddTorque( currentArrow.transform.forward * 10 );
nocked = false;
currentArrow.GetComponent<Arrow>().ArrowReleased( bow.GetArrowVelocity() );
bow.ArrowReleased();
allowArrowSpawn = false;
Invoke( "EnableArrowSpawn", 0.5f );
StartCoroutine( ArrowReleaseHaptics() );
currentArrow = null;
allowTeleport.teleportAllowed = true;
}
//-------------------------------------------------
private void EnableArrowSpawn()
{
allowArrowSpawn = true;
}
//-------------------------------------------------
private IEnumerator ArrowReleaseHaptics()
{
yield return new WaitForSeconds( 0.05f );
hand.otherHand.controller.TriggerHapticPulse( 1500 );
yield return new WaitForSeconds( 0.05f );
hand.otherHand.controller.TriggerHapticPulse( 800 );
yield return new WaitForSeconds( 0.05f );
hand.otherHand.controller.TriggerHapticPulse( 500 );
yield return new WaitForSeconds( 0.05f );
hand.otherHand.controller.TriggerHapticPulse( 300 );
}
//-------------------------------------------------
private void OnHandFocusLost( Hand hand )
{
gameObject.SetActive( false );
}
//-------------------------------------------------
private void OnHandFocusAcquired( Hand hand )
{
gameObject.SetActive( true );
}
//-------------------------------------------------
private void FindBow()
{
bow = hand.otherHand.GetComponentInChildren<Longbow>();
}
}
}

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: d85480da87762944399dab6c99985eef
timeCreated: 1437005170
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {fileID: 2800000, guid: b93fe5c516cf6ed4b9153ec790f856e2, type: 3}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,22 @@
//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Sets a random rotation for the arrow head
//
//=============================================================================
using UnityEngine;
using System.Collections;
namespace Valve.VR.InteractionSystem
{
//-------------------------------------------------------------------------
public class ArrowheadRotation : MonoBehaviour
{
//-------------------------------------------------
void Start()
{
float randX = Random.Range( 0f, 180f );
transform.localEulerAngles = new Vector3( randX, -90f, 90f );
}
}
}

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: f195fe0cc42f49241a3c7521a19fa350
timeCreated: 1458350266
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {fileID: 2800000, guid: b93fe5c516cf6ed4b9153ec790f856e2, type: 3}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,222 @@
//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: BALLOONS!!
//
//=============================================================================
using UnityEngine;
using System.Collections;
namespace Valve.VR.InteractionSystem
{
//-------------------------------------------------------------------------
public class Balloon : MonoBehaviour
{
public enum BalloonColor { Red, OrangeRed, Orange, YellowOrange, Yellow, GreenYellow, Green, BlueGreen, Blue, VioletBlue, Violet, RedViolet, LightGray, DarkGray, Random };
private Hand hand;
public GameObject popPrefab;
public float maxVelocity = 5f;
public float lifetime = 15f;
public bool burstOnLifetimeEnd = false;
public GameObject lifetimeEndParticlePrefab;
public SoundPlayOneshot lifetimeEndSound;
private float destructTime = 0f;
private float releaseTime = 99999f;
public SoundPlayOneshot collisionSound;
private float lastSoundTime = 0f;
private float soundDelay = 0.2f;
private Rigidbody balloonRigidbody;
private bool bParticlesSpawned = false;
private static float s_flLastDeathSound = 0f;
//-------------------------------------------------
void Start()
{
destructTime = Time.time + lifetime + Random.value;
hand = GetComponentInParent<Hand>();
balloonRigidbody = GetComponent<Rigidbody>();
}
//-------------------------------------------------
void Update()
{
if ( ( destructTime != 0 ) && ( Time.time > destructTime ) )
{
if ( burstOnLifetimeEnd )
{
SpawnParticles( lifetimeEndParticlePrefab, lifetimeEndSound );
}
Destroy( gameObject );
}
}
//-------------------------------------------------
private void SpawnParticles( GameObject particlePrefab, SoundPlayOneshot sound )
{
// Don't do this twice
if ( bParticlesSpawned )
{
return;
}
bParticlesSpawned = true;
if ( particlePrefab != null )
{
GameObject particleObject = Instantiate( particlePrefab, transform.position, transform.rotation ) as GameObject;
particleObject.GetComponent<ParticleSystem>().Play();
Destroy( particleObject, 2f );
}
if ( sound != null )
{
float lastSoundDiff = Time.time - s_flLastDeathSound;
if ( lastSoundDiff < 0.1f )
{
sound.volMax *= 0.25f;
sound.volMin *= 0.25f;
}
sound.Play();
s_flLastDeathSound = Time.time;
}
}
//-------------------------------------------------
void FixedUpdate()
{
// Slow-clamp velocity
if ( balloonRigidbody.velocity.sqrMagnitude > maxVelocity )
{
balloonRigidbody.velocity *= 0.97f;
}
}
//-------------------------------------------------
private void ApplyDamage()
{
SpawnParticles( popPrefab, null );
Destroy( gameObject );
}
//-------------------------------------------------
void OnCollisionEnter( Collision collision )
{
if ( bParticlesSpawned )
{
return;
}
Hand collisionParentHand = null;
BalloonHapticBump balloonColliderScript = collision.gameObject.GetComponent<BalloonHapticBump>();
if ( balloonColliderScript != null && balloonColliderScript.physParent != null )
{
collisionParentHand = balloonColliderScript.physParent.GetComponentInParent<Hand>();
}
if ( Time.time > ( lastSoundTime + soundDelay ) )
{
if ( collisionParentHand != null ) // If the collision was with a controller
{
if ( Time.time > ( releaseTime + soundDelay ) ) // Only play sound if it's not immediately after release
{
collisionSound.Play();
lastSoundTime = Time.time;
}
}
else // Collision was not with a controller, play sound
{
collisionSound.Play();
lastSoundTime = Time.time;
}
}
if ( destructTime > 0 ) // Balloon is released away from the controller, don't do the haptic stuff that follows
{
return;
}
if ( balloonRigidbody.velocity.magnitude > ( maxVelocity * 10 ) )
{
balloonRigidbody.velocity = balloonRigidbody.velocity.normalized * maxVelocity;
}
if ( hand != null )
{
ushort collisionStrength = (ushort)Mathf.Clamp( Util.RemapNumber( collision.relativeVelocity.magnitude, 0f, 3f, 500f, 800f ), 500f, 800f );
hand.controller.TriggerHapticPulse( collisionStrength );
}
}
//-------------------------------------------------
public void SetColor( BalloonColor color )
{
GetComponentInChildren<MeshRenderer>().material.color = BalloonColorToRGB( color );
}
//-------------------------------------------------
private Color BalloonColorToRGB( BalloonColor balloonColorVar )
{
Color defaultColor = new Color( 255, 0, 0 );
switch ( balloonColorVar )
{
case BalloonColor.Red:
return new Color( 237, 29, 37, 255 ) / 255;
case BalloonColor.OrangeRed:
return new Color( 241, 91, 35, 255 ) / 255;
case BalloonColor.Orange:
return new Color( 245, 140, 31, 255 ) / 255;
case BalloonColor.YellowOrange:
return new Color( 253, 185, 19, 255 ) / 255;
case BalloonColor.Yellow:
return new Color( 254, 243, 0, 255 ) / 255;
case BalloonColor.GreenYellow:
return new Color( 172, 209, 54, 255 ) / 255;
case BalloonColor.Green:
return new Color( 0, 167, 79, 255 ) / 255;
case BalloonColor.BlueGreen:
return new Color( 108, 202, 189, 255 ) / 255;
case BalloonColor.Blue:
return new Color( 0, 119, 178, 255 ) / 255;
case BalloonColor.VioletBlue:
return new Color( 82, 80, 162, 255 ) / 255;
case BalloonColor.Violet:
return new Color( 102, 46, 143, 255 ) / 255;
case BalloonColor.RedViolet:
return new Color( 182, 36, 102, 255 ) / 255;
case BalloonColor.LightGray:
return new Color( 192, 192, 192, 255 ) / 255;
case BalloonColor.DarkGray:
return new Color( 128, 128, 128, 255 ) / 255;
case BalloonColor.Random:
int randomColor = Random.Range( 0, 12 );
return BalloonColorToRGB( (BalloonColor)randomColor );
}
return defaultColor;
}
}
}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 429a484b95998f84eaa98fa068caa5e9
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {fileID: 2800000, guid: b93fe5c516cf6ed4b9153ec790f856e2, type: 3}
userData:
assetBundleName:

View File

@ -0,0 +1,87 @@
//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Can be attached to the controller to collide with the balloons
//
//=============================================================================
using UnityEngine;
using System.Collections;
namespace Valve.VR.InteractionSystem
{
//-------------------------------------------------------------------------
public class BalloonColliders : MonoBehaviour
{
public GameObject[] colliders;
private Vector3[] colliderLocalPositions;
private Quaternion[] colliderLocalRotations;
private Rigidbody rb;
//-------------------------------------------------
void Awake()
{
rb = GetComponent<Rigidbody>();
colliderLocalPositions = new Vector3[colliders.Length];
colliderLocalRotations = new Quaternion[colliders.Length];
for ( int i = 0; i < colliders.Length; ++i )
{
colliderLocalPositions[i] = colliders[i].transform.localPosition;
colliderLocalRotations[i] = colliders[i].transform.localRotation;
colliders[i].name = gameObject.name + "." + colliders[i].name;
}
}
//-------------------------------------------------
void OnEnable()
{
for ( int i = 0; i < colliders.Length; ++i )
{
colliders[i].transform.SetParent( transform );
colliders[i].transform.localPosition = colliderLocalPositions[i];
colliders[i].transform.localRotation = colliderLocalRotations[i];
colliders[i].transform.SetParent( null );
FixedJoint fixedJoint = colliders[i].AddComponent<FixedJoint>();
fixedJoint.connectedBody = rb;
fixedJoint.breakForce = Mathf.Infinity;
fixedJoint.breakTorque = Mathf.Infinity;
fixedJoint.enableCollision = false;
fixedJoint.enablePreprocessing = true;
colliders[i].SetActive( true );
}
}
//-------------------------------------------------
void OnDisable()
{
for ( int i = 0; i < colliders.Length; ++i )
{
if ( colliders[i] != null )
{
Destroy( colliders[i].GetComponent<FixedJoint>() );
colliders[i].SetActive( false );
}
}
}
//-------------------------------------------------
void OnDestroy()
{
for ( int i = 0; i < colliders.Length; ++i )
{
Destroy( colliders[i] );
}
}
}
}

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 667230ade3b20b641a0ba08bdfd760fc
timeCreated: 1459309437
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {fileID: 2800000, guid: b93fe5c516cf6ed4b9153ec790f856e2, type: 3}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,31 @@
//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Provides a haptic bump when colliding with balloons
//
//=============================================================================
using UnityEngine;
using System.Collections;
namespace Valve.VR.InteractionSystem
{
//-------------------------------------------------------------------------
public class BalloonHapticBump : MonoBehaviour
{
public GameObject physParent;
//-------------------------------------------------
void OnCollisionEnter( Collision other )
{
Balloon contactBalloon = other.collider.GetComponentInParent<Balloon>();
if ( contactBalloon != null )
{
Hand hand = physParent.GetComponentInParent<Hand>();
if ( hand != null )
{
hand.controller.TriggerHapticPulse( 500 );
}
}
}
}
}

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: ec82b6ce2e2435444a434107cddceb0b
timeCreated: 1457740675
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {fileID: 2800000, guid: b93fe5c516cf6ed4b9153ec790f856e2, type: 3}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,121 @@
//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Spawns balloons
//
//=============================================================================
using UnityEngine;
using System.Collections;
namespace Valve.VR.InteractionSystem
{
//-------------------------------------------------------------------------
public class BalloonSpawner : MonoBehaviour
{
public float minSpawnTime = 5f;
public float maxSpawnTime = 15f;
private float nextSpawnTime;
public GameObject balloonPrefab;
public bool autoSpawn = true;
public bool spawnAtStartup = true;
public bool playSounds = true;
public SoundPlayOneshot inflateSound;
public SoundPlayOneshot stretchSound;
public bool sendSpawnMessageToParent = false;
public float scale = 1f;
public Transform spawnDirectionTransform;
public float spawnForce;
public bool attachBalloon = false;
public Balloon.BalloonColor color = Balloon.BalloonColor.Random;
//-------------------------------------------------
void Start()
{
if ( balloonPrefab == null )
{
return;
}
if ( autoSpawn && spawnAtStartup )
{
SpawnBalloon( color );
nextSpawnTime = Random.Range( minSpawnTime, maxSpawnTime ) + Time.time;
}
}
//-------------------------------------------------
void Update()
{
if ( balloonPrefab == null )
{
return;
}
if ( ( Time.time > nextSpawnTime ) && autoSpawn )
{
SpawnBalloon( color );
nextSpawnTime = Random.Range( minSpawnTime, maxSpawnTime ) + Time.time;
}
}
//-------------------------------------------------
public GameObject SpawnBalloon( Balloon.BalloonColor color = Balloon.BalloonColor.Red )
{
if ( balloonPrefab == null )
{
return null;
}
GameObject balloon = Instantiate( balloonPrefab, transform.position, transform.rotation ) as GameObject;
balloon.transform.localScale = new Vector3( scale, scale, scale );
if ( attachBalloon )
{
balloon.transform.parent = transform;
}
if ( sendSpawnMessageToParent )
{
if ( transform.parent != null )
{
transform.parent.SendMessage( "OnBalloonSpawned", balloon, SendMessageOptions.DontRequireReceiver );
}
}
if ( playSounds )
{
if ( inflateSound != null )
{
inflateSound.Play();
}
if ( stretchSound != null )
{
stretchSound.Play();
}
}
balloon.GetComponentInChildren<Balloon>().SetColor( color );
if ( spawnDirectionTransform != null )
{
balloon.GetComponentInChildren<Rigidbody>().AddForce( spawnDirectionTransform.forward * spawnForce );
}
return balloon;
}
//-------------------------------------------------
public void SpawnBalloonFromEvent( int color )
{
// Copy of SpawnBalloon using int because we can't pass in enums through the event system
SpawnBalloon( (Balloon.BalloonColor)color );
}
}
}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: cc1b8e5b8c3365a49b0274fb637151d6
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {fileID: 2800000, guid: b93fe5c516cf6ed4b9153ec790f856e2, type: 3}
userData:
assetBundleName:

View File

@ -0,0 +1,25 @@
//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Makes the weeble wobble
//
//=============================================================================
using UnityEngine;
using System.Collections;
namespace Valve.VR.InteractionSystem
{
//-------------------------------------------------------------------------
public class ExplosionWobble : MonoBehaviour
{
//-------------------------------------------------
public void ExplosionEvent( Vector3 explosionPos )
{
var rb = GetComponent<Rigidbody>();
if ( rb )
{
rb.AddExplosionForce( 2000, explosionPos, 10.0f );
}
}
}
}

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 012bb97850e84ad4c890dcab506009bc
timeCreated: 1457151512
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {fileID: 2800000, guid: b93fe5c516cf6ed4b9153ec790f856e2, type: 3}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,112 @@
//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: This object can be set on fire
//
//=============================================================================
using UnityEngine;
using System.Collections;
namespace Valve.VR.InteractionSystem
{
//-------------------------------------------------------------------------
public class FireSource : MonoBehaviour
{
public GameObject fireParticlePrefab;
public bool startActive;
private GameObject fireObject;
public ParticleSystem customParticles;
public bool isBurning;
public float burnTime;
public float ignitionDelay = 0;
private float ignitionTime;
private Hand hand;
public AudioSource ignitionSound;
public bool canSpreadFromThisSource = true;
//-------------------------------------------------
void Start()
{
if ( startActive )
{
StartBurning();
}
}
//-------------------------------------------------
void Update()
{
if ( ( burnTime != 0 ) && ( Time.time > ( ignitionTime + burnTime ) ) && isBurning )
{
isBurning = false;
if ( customParticles != null )
{
customParticles.Stop();
}
else
{
Destroy( fireObject );
}
}
}
//-------------------------------------------------
void OnTriggerEnter( Collider other )
{
if ( isBurning && canSpreadFromThisSource )
{
other.SendMessageUpwards( "FireExposure", SendMessageOptions.DontRequireReceiver );
}
}
//-------------------------------------------------
private void FireExposure()
{
if ( fireObject == null )
{
Invoke( "StartBurning", ignitionDelay );
}
if ( hand = GetComponentInParent<Hand>() )
{
hand.controller.TriggerHapticPulse( 1000 );
}
}
//-------------------------------------------------
private void StartBurning()
{
isBurning = true;
ignitionTime = Time.time;
// Play the fire ignition sound if there is one
if ( ignitionSound != null )
{
ignitionSound.Play();
}
if ( customParticles != null )
{
customParticles.Play();
}
else
{
if ( fireParticlePrefab != null )
{
fireObject = Instantiate( fireParticlePrefab, transform.position, transform.rotation ) as GameObject;
fireObject.transform.parent = transform;
}
}
}
}
}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: f86ab2e727cd09f43849955c5b35f490
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {fileID: 2800000, guid: b93fe5c516cf6ed4b9153ec790f856e2, type: 3}
userData:
assetBundleName:

View File

@ -0,0 +1,442 @@
//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: The bow
//
//=============================================================================
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
namespace Valve.VR.InteractionSystem
{
//-------------------------------------------------------------------------
[RequireComponent( typeof( Interactable ) )]
public class Longbow : MonoBehaviour
{
public enum Handedness { Left, Right };
public Handedness currentHandGuess = Handedness.Left;
private float timeOfPossibleHandSwitch = 0f;
private float timeBeforeConfirmingHandSwitch = 1.5f;
private bool possibleHandSwitch = false;
public Transform pivotTransform;
public Transform handleTransform;
private Hand hand;
private ArrowHand arrowHand;
public Transform nockTransform;
public Transform nockRestTransform;
public bool autoSpawnArrowHand = true;
public ItemPackage arrowHandItemPackage;
public GameObject arrowHandPrefab;
public bool nocked;
public bool pulled;
private const float minPull = 0.05f;
private const float maxPull = 0.5f;
private float nockDistanceTravelled = 0f;
private float hapticDistanceThreshold = 0.01f;
private float lastTickDistance;
private const float bowPullPulseStrengthLow = 100;
private const float bowPullPulseStrengthHigh = 500;
private Vector3 bowLeftVector;
public float arrowMinVelocity = 3f;
public float arrowMaxVelocity = 30f;
private float arrowVelocity = 30f;
private float minStrainTickTime = 0.1f;
private float maxStrainTickTime = 0.5f;
private float nextStrainTick = 0;
private bool lerpBackToZeroRotation;
private float lerpStartTime;
private float lerpDuration = 0.15f;
private Quaternion lerpStartRotation;
private float nockLerpStartTime;
private Quaternion nockLerpStartRotation;
public float drawOffset = 0.06f;
public LinearMapping bowDrawLinearMapping;
private bool deferNewPoses = false;
private Vector3 lateUpdatePos;
private Quaternion lateUpdateRot;
public SoundBowClick drawSound;
private float drawTension;
public SoundPlayOneshot arrowSlideSound;
public SoundPlayOneshot releaseSound;
public SoundPlayOneshot nockSound;
SteamVR_Events.Action newPosesAppliedAction;
//-------------------------------------------------
private void OnAttachedToHand( Hand attachedHand )
{
hand = attachedHand;
}
//-------------------------------------------------
void Awake()
{
newPosesAppliedAction = SteamVR_Events.NewPosesAppliedAction( OnNewPosesApplied );
}
//-------------------------------------------------
void OnEnable()
{
newPosesAppliedAction.enabled = true;
}
//-------------------------------------------------
void OnDisable()
{
newPosesAppliedAction.enabled = false;
}
//-------------------------------------------------
void LateUpdate()
{
if ( deferNewPoses )
{
lateUpdatePos = transform.position;
lateUpdateRot = transform.rotation;
}
}
//-------------------------------------------------
private void OnNewPosesApplied()
{
if ( deferNewPoses )
{
// Set longbow object back to previous pose position to avoid jitter
transform.position = lateUpdatePos;
transform.rotation = lateUpdateRot;
deferNewPoses = false;
}
}
//-------------------------------------------------
private void HandAttachedUpdate( Hand hand )
{
// Reset transform since we cheated it right after getting poses on previous frame
transform.localPosition = Vector3.zero;
transform.localRotation = Quaternion.identity;
// Update handedness guess
EvaluateHandedness();
if ( nocked )
{
deferNewPoses = true;
Vector3 nockToarrowHand = ( arrowHand.arrowNockTransform.parent.position - nockRestTransform.position ); // Vector from bow nock transform to arrowhand nock transform - used to align bow when drawing
// Align bow
// Time lerp value used for ramping into drawn bow orientation
float lerp = Util.RemapNumberClamped( Time.time, nockLerpStartTime, ( nockLerpStartTime + lerpDuration ), 0f, 1f );
float pullLerp = Util.RemapNumberClamped( nockToarrowHand.magnitude, minPull, maxPull, 0f, 1f ); // Normalized current state of bow draw 0 - 1
Vector3 arrowNockTransformToHeadset = ( ( Player.instance.hmdTransform.position + ( Vector3.down * 0.05f ) ) - arrowHand.arrowNockTransform.parent.position ).normalized;
Vector3 arrowHandPosition = ( arrowHand.arrowNockTransform.parent.position + ( ( arrowNockTransformToHeadset * drawOffset ) * pullLerp ) ); // Use this line to lerp arrowHand nock position
//Vector3 arrowHandPosition = arrowHand.arrowNockTransform.position; // Use this line if we don't want to lerp arrowHand nock position
Vector3 pivotToString = ( arrowHandPosition - pivotTransform.position ).normalized;
Vector3 pivotToLowerHandle = ( handleTransform.position - pivotTransform.position ).normalized;
bowLeftVector = -Vector3.Cross( pivotToLowerHandle, pivotToString );
pivotTransform.rotation = Quaternion.Lerp( nockLerpStartRotation, Quaternion.LookRotation( pivotToString, bowLeftVector ), lerp );
// Move nock position
if ( Vector3.Dot( nockToarrowHand, -nockTransform.forward ) > 0 )
{
float distanceToarrowHand = nockToarrowHand.magnitude * lerp;
nockTransform.localPosition = new Vector3( 0f, 0f, Mathf.Clamp( -distanceToarrowHand, -maxPull, 0f ) );
nockDistanceTravelled = -nockTransform.localPosition.z;
arrowVelocity = Util.RemapNumber( nockDistanceTravelled, minPull, maxPull, arrowMinVelocity, arrowMaxVelocity );
drawTension = Util.RemapNumberClamped( nockDistanceTravelled, 0, maxPull, 0f, 1f );
this.bowDrawLinearMapping.value = drawTension; // Send drawTension value to LinearMapping script, which drives the bow draw animation
if ( nockDistanceTravelled > minPull )
{
pulled = true;
}
else
{
pulled = false;
}
if ( ( nockDistanceTravelled > ( lastTickDistance + hapticDistanceThreshold ) ) || nockDistanceTravelled < ( lastTickDistance - hapticDistanceThreshold ) )
{
ushort hapticStrength = (ushort)Util.RemapNumber( nockDistanceTravelled, 0, maxPull, bowPullPulseStrengthLow, bowPullPulseStrengthHigh );
hand.controller.TriggerHapticPulse( hapticStrength );
hand.otherHand.controller.TriggerHapticPulse( hapticStrength );
drawSound.PlayBowTensionClicks( drawTension );
lastTickDistance = nockDistanceTravelled;
}
if ( nockDistanceTravelled >= maxPull )
{
if ( Time.time > nextStrainTick )
{
hand.controller.TriggerHapticPulse( 400 );
hand.otherHand.controller.TriggerHapticPulse( 400 );
drawSound.PlayBowTensionClicks( drawTension );
nextStrainTick = Time.time + Random.Range( minStrainTickTime, maxStrainTickTime );
}
}
}
else
{
nockTransform.localPosition = new Vector3( 0f, 0f, 0f );
this.bowDrawLinearMapping.value = 0f;
}
}
else
{
if ( lerpBackToZeroRotation )
{
float lerp = Util.RemapNumber( Time.time, lerpStartTime, lerpStartTime + lerpDuration, 0, 1 );
pivotTransform.localRotation = Quaternion.Lerp( lerpStartRotation, Quaternion.identity, lerp );
if ( lerp >= 1 )
{
lerpBackToZeroRotation = false;
}
}
}
}
//-------------------------------------------------
public void ArrowReleased()
{
nocked = false;
hand.HoverUnlock( GetComponent<Interactable>() );
hand.otherHand.HoverUnlock( arrowHand.GetComponent<Interactable>() );
if ( releaseSound != null )
{
releaseSound.Play();
}
this.StartCoroutine( this.ResetDrawAnim() );
}
//-------------------------------------------------
private IEnumerator ResetDrawAnim()
{
float startTime = Time.time;
float startLerp = drawTension;
while ( Time.time < ( startTime + 0.02f ) )
{
float lerp = Util.RemapNumberClamped( Time.time, startTime, startTime + 0.02f, startLerp, 0f );
this.bowDrawLinearMapping.value = lerp;
yield return null;
}
this.bowDrawLinearMapping.value = 0;
yield break;
}
//-------------------------------------------------
public float GetArrowVelocity()
{
return arrowVelocity;
}
//-------------------------------------------------
public void StartRotationLerp()
{
lerpStartTime = Time.time;
lerpBackToZeroRotation = true;
lerpStartRotation = pivotTransform.localRotation;
Util.ResetTransform( nockTransform );
}
//-------------------------------------------------
public void StartNock( ArrowHand currentArrowHand )
{
arrowHand = currentArrowHand;
hand.HoverLock( GetComponent<Interactable>() );
nocked = true;
nockLerpStartTime = Time.time;
nockLerpStartRotation = pivotTransform.rotation;
// Sound of arrow sliding on nock as it's being pulled back
arrowSlideSound.Play();
// Decide which hand we're drawing with and lerp to the correct side
DoHandednessCheck();
}
//-------------------------------------------------
private void EvaluateHandedness()
{
Hand.HandType handType = hand.GuessCurrentHandType();
if ( handType == Hand.HandType.Left )// Bow hand is further left than arrow hand.
{
// We were considering a switch, but the current controller orientation matches our currently assigned handedness, so no longer consider a switch
if ( possibleHandSwitch && currentHandGuess == Handedness.Left )
{
possibleHandSwitch = false;
}
// If we previously thought the bow was right-handed, and were not already considering switching, start considering a switch
if ( !possibleHandSwitch && currentHandGuess == Handedness.Right )
{
possibleHandSwitch = true;
timeOfPossibleHandSwitch = Time.time;
}
// If we are considering a handedness switch, and it's been this way long enough, switch
if ( possibleHandSwitch && Time.time > ( timeOfPossibleHandSwitch + timeBeforeConfirmingHandSwitch ) )
{
currentHandGuess = Handedness.Left;
possibleHandSwitch = false;
}
}
else // Bow hand is further right than arrow hand
{
// We were considering a switch, but the current controller orientation matches our currently assigned handedness, so no longer consider a switch
if ( possibleHandSwitch && currentHandGuess == Handedness.Right )
{
possibleHandSwitch = false;
}
// If we previously thought the bow was right-handed, and were not already considering switching, start considering a switch
if ( !possibleHandSwitch && currentHandGuess == Handedness.Left )
{
possibleHandSwitch = true;
timeOfPossibleHandSwitch = Time.time;
}
// If we are considering a handedness switch, and it's been this way long enough, switch
if ( possibleHandSwitch && Time.time > ( timeOfPossibleHandSwitch + timeBeforeConfirmingHandSwitch ) )
{
currentHandGuess = Handedness.Right;
possibleHandSwitch = false;
}
}
}
//-------------------------------------------------
private void DoHandednessCheck()
{
// Based on our current best guess about hand, switch bow orientation and arrow lerp direction
if ( currentHandGuess == Handedness.Left )
{
pivotTransform.localScale = new Vector3( 1f, 1f, 1f );
}
else
{
pivotTransform.localScale = new Vector3( 1f, -1f, 1f );
}
}
//-------------------------------------------------
public void ArrowInPosition()
{
DoHandednessCheck();
if ( nockSound != null )
{
nockSound.Play();
}
}
//-------------------------------------------------
public void ReleaseNock()
{
// ArrowHand tells us to do this when we release the buttons when bow is nocked but not drawn far enough
nocked = false;
hand.HoverUnlock( GetComponent<Interactable>() );
this.StartCoroutine( this.ResetDrawAnim() );
}
//-------------------------------------------------
private void ShutDown()
{
if ( hand != null && hand.otherHand.currentAttachedObject != null )
{
if ( hand.otherHand.currentAttachedObject.GetComponent<ItemPackageReference>() != null )
{
if ( hand.otherHand.currentAttachedObject.GetComponent<ItemPackageReference>().itemPackage == arrowHandItemPackage )
{
hand.otherHand.DetachObject( hand.otherHand.currentAttachedObject );
}
}
}
}
//-------------------------------------------------
private void OnHandFocusLost( Hand hand )
{
gameObject.SetActive( false );
}
//-------------------------------------------------
private void OnHandFocusAcquired( Hand hand )
{
gameObject.SetActive( true );
OnAttachedToHand( hand );
}
//-------------------------------------------------
private void OnDetachedFromHand( Hand hand )
{
Destroy( gameObject );
}
//-------------------------------------------------
void OnDestroy()
{
ShutDown();
}
}
}

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 30032368544f1a341976db391b260507
timeCreated: 1436921549
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {fileID: 2800000, guid: b93fe5c516cf6ed4b9153ec790f856e2, type: 3}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,39 @@
//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Sounds for the bow pulling back
//
//=============================================================================
using UnityEngine;
using System.Collections;
namespace Valve.VR.InteractionSystem
{
//-------------------------------------------------------------------------
public class SoundBowClick : MonoBehaviour
{
public AudioClip bowClick;
public AnimationCurve pitchTensionCurve;
public float minPitch;
public float maxPitch;
AudioSource thisAudioSource;
//-------------------------------------------------
void Awake()
{
thisAudioSource = GetComponent<AudioSource>();
}
//-------------------------------------------------
public void PlayBowTensionClicks( float normalizedTension )
{
// Tension is a float between 0 and 1. 1 being max tension and 0 being no tension
float y = pitchTensionCurve.Evaluate( normalizedTension );
thisAudioSource.pitch = ( ( maxPitch - minPitch ) * y ) + minPitch;
thisAudioSource.PlayOneShot( bowClick );
}
}
}

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: dc121f192dd724945a1998a9c1f1727d
timeCreated: 1436570818
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {fileID: 2800000, guid: b93fe5c516cf6ed4b9153ec790f856e2, type: 3}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: b5c78ec7a0919a445ad9472465dc95e3
folderAsset: yes
timeCreated: 1479762244
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More