Initialer Upload neues Unity-Projekt
This commit is contained in:
9
Assets/SteamVR/InteractionSystem/Longbow/Animators.meta
Normal file
9
Assets/SteamVR/InteractionSystem/Longbow/Animators.meta
Normal file
@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 44a536d7fede4b140b3647935ea8c8fa
|
||||
folderAsset: yes
|
||||
timeCreated: 1479853728
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/SteamVR/InteractionSystem/Longbow/Animators/LongbowAnimationController.controller
(Stored with Git LFS)
Normal file
BIN
Assets/SteamVR/InteractionSystem/Longbow/Animators/LongbowAnimationController.controller
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 57d4c0e09fe27de44a83d11d4f4969c7
|
||||
timeCreated: 1454447900
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
9
Assets/SteamVR/InteractionSystem/Longbow/Materials.meta
Normal file
9
Assets/SteamVR/InteractionSystem/Longbow/Materials.meta
Normal file
@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 38392bbe7ae2c464daae1fe24a1147c1
|
||||
folderAsset: yes
|
||||
timeCreated: 1479762244
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -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}
|
||||
@ -0,0 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0ae132d3c08907a4d931b3ed4debc646
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
201
Assets/SteamVR/InteractionSystem/Longbow/Materials/Arrow.mat
Normal file
201
Assets/SteamVR/InteractionSystem/Longbow/Materials/Arrow.mat
Normal 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}
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f7cd62d595c763c428123f260c78b711
|
||||
timeCreated: 1456804074
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -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}
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f3004e0c0e5df074abcb3548fd812bfc
|
||||
timeCreated: 1478651609
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -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}
|
||||
@ -0,0 +1,6 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 406981998f1234442a4f2eb50cfe07e1
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -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}
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2d01d8c885250364bac66a45791f02e1
|
||||
timeCreated: 1478656020
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -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}
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 25bc1e9c1d9042d4781cb174093aaaed
|
||||
timeCreated: 1478656749
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -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}
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3d938759d8b7a414988ec3261fb5265d
|
||||
timeCreated: 1442338990
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -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}
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 425031c746a6df44aa1dfdb17c2b8b45
|
||||
timeCreated: 1442427993
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
200
Assets/SteamVR/InteractionSystem/Longbow/Materials/Longbow.mat
Normal file
200
Assets/SteamVR/InteractionSystem/Longbow/Materials/Longbow.mat
Normal 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}
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 921837a5408991d429e86efc66f8be6b
|
||||
timeCreated: 1453848957
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -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}
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5be56a64c3c6c434eb746320e06a27ac
|
||||
timeCreated: 1454951948
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -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}
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 40fa752affdc6cf45a47396764154085
|
||||
timeCreated: 1454951948
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
133
Assets/SteamVR/InteractionSystem/Longbow/Materials/TorchFire.mat
Normal file
133
Assets/SteamVR/InteractionSystem/Longbow/Materials/TorchFire.mat
Normal 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}
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9fff76eb68ad4c44b87be9e2ca168a80
|
||||
timeCreated: 1478653933
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
127
Assets/SteamVR/InteractionSystem/Longbow/Materials/TorchHead.mat
Normal file
127
Assets/SteamVR/InteractionSystem/Longbow/Materials/TorchHead.mat
Normal 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}
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 67c31797bbf07114eb2d50aa3ae184e9
|
||||
timeCreated: 1478737675
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -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}
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 24e73955ba8338f41a24cd3aea0285a6
|
||||
timeCreated: 1478737675
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
9
Assets/SteamVR/InteractionSystem/Longbow/Models.meta
Normal file
9
Assets/SteamVR/InteractionSystem/Longbow/Models.meta
Normal 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
BIN
Assets/SteamVR/InteractionSystem/Longbow/Models/Arrow.fbx
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -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
BIN
Assets/SteamVR/InteractionSystem/Longbow/Models/Balloon.fbx
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -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
BIN
Assets/SteamVR/InteractionSystem/Longbow/Models/Longbow.fbx
(Stored with Git LFS)
Normal file
Binary file not shown.
205
Assets/SteamVR/InteractionSystem/Longbow/Models/Longbow.fbx.meta
Normal file
205
Assets/SteamVR/InteractionSystem/Longbow/Models/Longbow.fbx.meta
Normal 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:
|
||||
@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c360cf037a4ff3f4cb643392da004156
|
||||
folderAsset: yes
|
||||
timeCreated: 1479762244
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -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
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c509d5711dc2cc346be2763cd92383ca
|
||||
timeCreated: 1437607164
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
9
Assets/SteamVR/InteractionSystem/Longbow/Prefabs.meta
Normal file
9
Assets/SteamVR/InteractionSystem/Longbow/Prefabs.meta
Normal file
@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a4acc435c26639c4fac0c4358c455259
|
||||
folderAsset: yes
|
||||
timeCreated: 1479762244
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/ArcheryWeeble.prefab
(Stored with Git LFS)
Normal file
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/ArcheryWeeble.prefab
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7fe1fef3cfad86946b3a549d6934330b
|
||||
timeCreated: 1444265605
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/Arrow.prefab
(Stored with Git LFS)
Normal file
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/Arrow.prefab
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 81fc1450441aca64e8cc1a0e14b1aa77
|
||||
timeCreated: 1457490155
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/ArrowHand.prefab
(Stored with Git LFS)
Normal file
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/ArrowHand.prefab
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d410d7126dd411c4ea651fc94eae9202
|
||||
timeCreated: 1457490326
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/Balloon.prefab
(Stored with Git LFS)
Normal file
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/Balloon.prefab
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8e13c6e5a21aeea4db3c25ef0e529308
|
||||
timeCreated: 1435794528
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/BalloonPop.prefab
(Stored with Git LFS)
Normal file
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/BalloonPop.prefab
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9d2dddaae5c812841accc43e4da1fccd
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/BalloonPopNoSound.prefab
(Stored with Git LFS)
Normal file
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/BalloonPopNoSound.prefab
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a41945a8549c580408301691c2fd374e
|
||||
timeCreated: 1457902375
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/BalloonSpawner.prefab
(Stored with Git LFS)
Normal file
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/BalloonSpawner.prefab
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 01c670ceb931d524b9a80b70652eb18b
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/FireSmall.prefab
(Stored with Git LFS)
Normal file
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/FireSmall.prefab
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9471d2206e57ca246a4bf982f3c29c8f
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/FireTiny.prefab
(Stored with Git LFS)
Normal file
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/FireTiny.prefab
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a6990c59ffac7cf4b87f644ab4782007
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/FireWhip.prefab
(Stored with Git LFS)
Normal file
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/FireWhip.prefab
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: daf28736fcb032a44b7a5c1fd0a27b15
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/Longbow.prefab
(Stored with Git LFS)
Normal file
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/Longbow.prefab
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f1f5f898fbfdb80478825ce9b01fe8ae
|
||||
timeCreated: 1457488966
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/LongbowItemPackage.prefab
(Stored with Git LFS)
Normal file
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/LongbowItemPackage.prefab
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 98a3ad29136d5c04f8a025adf1cbd704
|
||||
timeCreated: 1457489493
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/LongbowOutline.prefab
(Stored with Git LFS)
Normal file
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/LongbowOutline.prefab
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b9d299b8c6aa86242bec9a060f7e2d81
|
||||
timeCreated: 1442339331
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/LongbowPreview.prefab
(Stored with Git LFS)
Normal file
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/LongbowPreview.prefab
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a5b684916cfe6804985d74652a2af09f
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/Torch.prefab
(Stored with Git LFS)
Normal file
BIN
Assets/SteamVR/InteractionSystem/Longbow/Prefabs/Torch.prefab
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 380bbbca09a806c4c8607dd111d9ed8f
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
9
Assets/SteamVR/InteractionSystem/Longbow/Scripts.meta
Normal file
9
Assets/SteamVR/InteractionSystem/Longbow/Scripts.meta
Normal file
@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6596adb54aab23a40abe01461d35a26f
|
||||
folderAsset: yes
|
||||
timeCreated: 1479762244
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f2f2850d002f14a47bff32fdf73df53e
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {fileID: 2800000, guid: b93fe5c516cf6ed4b9153ec790f856e2, type: 3}
|
||||
userData:
|
||||
assetBundleName:
|
||||
263
Assets/SteamVR/InteractionSystem/Longbow/Scripts/Arrow.cs
Normal file
263
Assets/SteamVR/InteractionSystem/Longbow/Scripts/Arrow.cs
Normal 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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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:
|
||||
297
Assets/SteamVR/InteractionSystem/Longbow/Scripts/ArrowHand.cs
Normal file
297
Assets/SteamVR/InteractionSystem/Longbow/Scripts/ArrowHand.cs
Normal 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>();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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:
|
||||
@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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:
|
||||
222
Assets/SteamVR/InteractionSystem/Longbow/Scripts/Balloon.cs
Normal file
222
Assets/SteamVR/InteractionSystem/Longbow/Scripts/Balloon.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 429a484b95998f84eaa98fa068caa5e9
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {fileID: 2800000, guid: b93fe5c516cf6ed4b9153ec790f856e2, type: 3}
|
||||
userData:
|
||||
assetBundleName:
|
||||
@ -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] );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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:
|
||||
@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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:
|
||||
@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cc1b8e5b8c3365a49b0274fb637151d6
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {fileID: 2800000, guid: b93fe5c516cf6ed4b9153ec790f856e2, type: 3}
|
||||
userData:
|
||||
assetBundleName:
|
||||
@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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:
|
||||
112
Assets/SteamVR/InteractionSystem/Longbow/Scripts/FireSource.cs
Normal file
112
Assets/SteamVR/InteractionSystem/Longbow/Scripts/FireSource.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f86ab2e727cd09f43849955c5b35f490
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {fileID: 2800000, guid: b93fe5c516cf6ed4b9153ec790f856e2, type: 3}
|
||||
userData:
|
||||
assetBundleName:
|
||||
442
Assets/SteamVR/InteractionSystem/Longbow/Scripts/Longbow.cs
Normal file
442
Assets/SteamVR/InteractionSystem/Longbow/Scripts/Longbow.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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:
|
||||
@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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:
|
||||
9
Assets/SteamVR/InteractionSystem/Longbow/Sounds.meta
Normal file
9
Assets/SteamVR/InteractionSystem/Longbow/Sounds.meta
Normal file
@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b5c78ec7a0919a445ad9472465dc95e3
|
||||
folderAsset: yes
|
||||
timeCreated: 1479762244
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/SteamVR/InteractionSystem/Longbow/Sounds/ArrowAir01.wav
(Stored with Git LFS)
Normal file
BIN
Assets/SteamVR/InteractionSystem/Longbow/Sounds/ArrowAir01.wav
(Stored with Git LFS)
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user