上传YomovSDK
This commit is contained in:
895
Assets/Plugins/RootMotion/FinalIK/_DEMOS/CCD IK/CCD IK 2D.unity
Normal file
895
Assets/Plugins/RootMotion/FinalIK/_DEMOS/CCD IK/CCD IK 2D.unity
Normal file
@@ -0,0 +1,895 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!29 &1
|
||||
OcclusionCullingSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_OcclusionBakeSettings:
|
||||
smallestOccluder: 5
|
||||
smallestHole: 0.25
|
||||
backfaceThreshold: 100
|
||||
m_SceneGUID: 00000000000000000000000000000000
|
||||
m_OcclusionCullingData: {fileID: 0}
|
||||
--- !u!104 &2
|
||||
RenderSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 8
|
||||
m_Fog: 0
|
||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
m_FogMode: 3
|
||||
m_FogDensity: 0.01
|
||||
m_LinearFogStart: 0
|
||||
m_LinearFogEnd: 300
|
||||
m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
m_AmbientIntensity: 1
|
||||
m_AmbientMode: 3
|
||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||
m_SkyboxMaterial: {fileID: 0}
|
||||
m_HaloStrength: 0.5
|
||||
m_FlareStrength: 1
|
||||
m_FlareFadeSpeed: 3
|
||||
m_HaloTexture: {fileID: 0}
|
||||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_DefaultReflectionMode: 0
|
||||
m_DefaultReflectionResolution: 128
|
||||
m_ReflectionBounces: 1
|
||||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
--- !u!157 &4
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 11
|
||||
m_GIWorkflowMode: 1
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
m_BounceScale: 1
|
||||
m_IndirectOutputScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_TemporalCoherenceThreshold: 1
|
||||
m_EnvironmentLightingMode: 0
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 0
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 9
|
||||
m_Resolution: 1
|
||||
m_BakeResolution: 50
|
||||
m_TextureWidth: 1024
|
||||
m_TextureHeight: 1024
|
||||
m_AO: 1
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 0
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherFiltering: 1
|
||||
m_FinalGatherRayCount: 256
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 1
|
||||
m_BakeBackend: 0
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 500
|
||||
m_PVRBounces: 2
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVRFilteringMode: 0
|
||||
m_PVRCulling: 1
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
m_PVRFilteringGaussRadiusAO: 2
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ShowResolutionOverlay: 1
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_UseShadowmask: 0
|
||||
--- !u!196 &5
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 2
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
agentSlope: 45
|
||||
agentClimb: 0.4
|
||||
ledgeDropHeight: 0
|
||||
maxJumpAcrossDistance: 0
|
||||
minRegionArea: 2
|
||||
manualCellSize: 0
|
||||
cellSize: 0.16666666
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
accuratePlacement: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &34493925
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 100014, guid: 535a07056c1514d2498abbd8ff937c5d, type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
serializedVersion: 5
|
||||
m_Component:
|
||||
- component: {fileID: 34493926}
|
||||
- component: {fileID: 34493929}
|
||||
- component: {fileID: 34493928}
|
||||
- component: {fileID: 34493927}
|
||||
m_Layer: 0
|
||||
m_Name: Socket to Hinge X
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &34493926
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 400014, guid: 535a07056c1514d2498abbd8ff937c5d, type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 34493925}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 10.98, z: -0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 441510842}
|
||||
m_Father: {fileID: 1879474904}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &34493927
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 34493925}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 484718f2c4ab849829491782b508958a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
axis: {x: 0, y: 0, z: 1}
|
||||
defaultLocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
useLimits: 1
|
||||
min: -76.17382
|
||||
max: 79.701225
|
||||
zeroAxisDisplayOffset: 270
|
||||
--- !u!23 &34493928
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 2300014, guid: 535a07056c1514d2498abbd8ff937c5d,
|
||||
type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 34493925}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 0
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: d513bc147cb99443cac08125bc7b07a3, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!33 &34493929
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 3300014, guid: 535a07056c1514d2498abbd8ff937c5d,
|
||||
type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 34493925}
|
||||
m_Mesh: {fileID: 4300034, guid: 82208e5c7c5f0435f95611cf7eb61237, type: 3}
|
||||
--- !u!1 &441510841
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 100004, guid: 535a07056c1514d2498abbd8ff937c5d, type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
serializedVersion: 5
|
||||
m_Component:
|
||||
- component: {fileID: 441510842}
|
||||
- component: {fileID: 441510845}
|
||||
- component: {fileID: 441510844}
|
||||
- component: {fileID: 441510843}
|
||||
m_Layer: 0
|
||||
m_Name: HingeXToSocket
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &441510842
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 400004, guid: 535a07056c1514d2498abbd8ff937c5d, type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 441510841}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 10, z: -0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 580955971}
|
||||
m_Father: {fileID: 34493926}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &441510843
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 441510841}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 484718f2c4ab849829491782b508958a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
axis: {x: 0, y: 0, z: 1}
|
||||
defaultLocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
useLimits: 1
|
||||
min: -152.53203
|
||||
max: 157.35753
|
||||
zeroAxisDisplayOffset: 270
|
||||
--- !u!23 &441510844
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 2300004, guid: 535a07056c1514d2498abbd8ff937c5d,
|
||||
type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 441510841}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 0
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: d513bc147cb99443cac08125bc7b07a3, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!33 &441510845
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 3300004, guid: 535a07056c1514d2498abbd8ff937c5d,
|
||||
type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 441510841}
|
||||
m_Mesh: {fileID: 4300040, guid: 82208e5c7c5f0435f95611cf7eb61237, type: 3}
|
||||
--- !u!1 &523830172
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
serializedVersion: 5
|
||||
m_Component:
|
||||
- component: {fileID: 523830177}
|
||||
- component: {fileID: 523830176}
|
||||
- component: {fileID: 523830174}
|
||||
- component: {fileID: 523830173}
|
||||
m_Layer: 0
|
||||
m_Name: Main Camera
|
||||
m_TagString: MainCamera
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!81 &523830173
|
||||
AudioListener:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 523830172}
|
||||
m_Enabled: 1
|
||||
--- !u!124 &523830174
|
||||
Behaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 523830172}
|
||||
m_Enabled: 1
|
||||
--- !u!20 &523830176
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 523830172}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 1
|
||||
m_BackGroundColor: {r: 0.27450982, g: 0.27450982, b: 0.27450982, a: 0.019607844}
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.3
|
||||
far clip plane: 1000
|
||||
field of view: 60
|
||||
orthographic: 0
|
||||
orthographic size: 5
|
||||
m_Depth: -1
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingPath: -1
|
||||
m_TargetTexture: {fileID: 0}
|
||||
m_TargetDisplay: 0
|
||||
m_TargetEye: 3
|
||||
m_HDR: 0
|
||||
m_AllowMSAA: 1
|
||||
m_AllowDynamicResolution: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 1
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!4 &523830177
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 523830172}
|
||||
m_LocalRotation: {x: 0.14408942, y: 0, z: 0, w: 0.98956466}
|
||||
m_LocalPosition: {x: 0, y: 8.02, z: -10}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &580955970
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 100008, guid: 535a07056c1514d2498abbd8ff937c5d, type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
serializedVersion: 5
|
||||
m_Component:
|
||||
- component: {fileID: 580955971}
|
||||
- component: {fileID: 580955974}
|
||||
- component: {fileID: 580955973}
|
||||
- component: {fileID: 580955972}
|
||||
m_Layer: 0
|
||||
m_Name: SocketToSocket
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &580955971
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 400008, guid: 535a07056c1514d2498abbd8ff937c5d, type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 580955970}
|
||||
m_LocalRotation: {x: 0.00000003090862, y: -0.7071069, z: 0.000000030908623, w: 0.70710677}
|
||||
m_LocalPosition: {x: 0.0000001448337, y: 10.540714, z: 1.2406966e-14}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 1577372166}
|
||||
m_Father: {fileID: 441510842}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &580955972
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 580955970}
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 484718f2c4ab849829491782b508958a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
axis: {x: 1, y: 0, z: 0}
|
||||
defaultLocalRotation: {x: 0.00000003090862, y: -0.7071069, z: 0.000000030908623,
|
||||
w: 0.70710677}
|
||||
useLimits: 1
|
||||
min: -73.687355
|
||||
max: 80.71534
|
||||
zeroAxisDisplayOffset: 180
|
||||
--- !u!23 &580955973
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 2300008, guid: 535a07056c1514d2498abbd8ff937c5d,
|
||||
type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 580955970}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 0
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: d513bc147cb99443cac08125bc7b07a3, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!33 &580955974
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 3300008, guid: 535a07056c1514d2498abbd8ff937c5d,
|
||||
type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 580955970}
|
||||
m_Mesh: {fileID: 4300042, guid: 82208e5c7c5f0435f95611cf7eb61237, type: 3}
|
||||
--- !u!1 &1185727002
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
serializedVersion: 5
|
||||
m_Component:
|
||||
- component: {fileID: 1185727005}
|
||||
- component: {fileID: 1185727004}
|
||||
- component: {fileID: 1185727003}
|
||||
m_Layer: 0
|
||||
m_Name: Instructions
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!102 &1185727003
|
||||
TextMesh:
|
||||
serializedVersion: 3
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1185727002}
|
||||
m_Text: Hit Play, click on the Constrained CCD Arm, move the IK target around
|
||||
m_OffsetZ: 0
|
||||
m_CharacterSize: 1
|
||||
m_LineSpacing: 1
|
||||
m_Anchor: 0
|
||||
m_Alignment: 0
|
||||
m_TabSize: 4
|
||||
m_FontSize: 0
|
||||
m_FontStyle: 0
|
||||
m_RichText: 1
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_Color:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
--- !u!23 &1185727004
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1185727002}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 0
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_Materials:
|
||||
- {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!4 &1185727005
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1185727002}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -7.68, y: 8.46, z: -0.02}
|
||||
m_LocalScale: {x: 0.4121409, y: 0.4121409, z: 0.4121409}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1577372165
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 100006, guid: 535a07056c1514d2498abbd8ff937c5d, type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
serializedVersion: 5
|
||||
m_Component:
|
||||
- component: {fileID: 1577372166}
|
||||
- component: {fileID: 1577372169}
|
||||
- component: {fileID: 1577372168}
|
||||
- component: {fileID: 1577372167}
|
||||
m_Layer: 0
|
||||
m_Name: Hand
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1577372166
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 400006, guid: 535a07056c1514d2498abbd8ff937c5d, type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1577372165}
|
||||
m_LocalRotation: {x: 3.5527137e-15, y: 0, z: -8.881784e-16, w: 1}
|
||||
m_LocalPosition: {x: -3.3190668e-14, y: 8.759171, z: 0.00000022270751}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 580955971}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1577372167
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1577372165}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 484718f2c4ab849829491782b508958a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
axis: {x: 1, y: 0, z: 0}
|
||||
defaultLocalRotation: {x: 3.5527137e-15, y: 0, z: -8.881784e-16, w: 1}
|
||||
useLimits: 1
|
||||
min: -60.88092
|
||||
max: 68.69059
|
||||
zeroAxisDisplayOffset: 180
|
||||
--- !u!23 &1577372168
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 2300006, guid: 535a07056c1514d2498abbd8ff937c5d,
|
||||
type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1577372165}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 0
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: d513bc147cb99443cac08125bc7b07a3, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!33 &1577372169
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 3300006, guid: 535a07056c1514d2498abbd8ff937c5d,
|
||||
type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1577372165}
|
||||
m_Mesh: {fileID: 4300044, guid: 82208e5c7c5f0435f95611cf7eb61237, type: 3}
|
||||
--- !u!1 &1879474900
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 100004, guid: 535a07056c1514d2498abbd8ff937c5d, type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
serializedVersion: 5
|
||||
m_Component:
|
||||
- component: {fileID: 1879474904}
|
||||
- component: {fileID: 1879474903}
|
||||
- component: {fileID: 1879474902}
|
||||
- component: {fileID: 1879474901}
|
||||
m_Layer: 0
|
||||
m_Name: HingeXToSocket
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1879474901
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1879474900}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 484718f2c4ab849829491782b508958a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
axis: {x: 0, y: 0, z: 1}
|
||||
defaultLocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
useLimits: 1
|
||||
min: -146.83105
|
||||
max: 149.21669
|
||||
zeroAxisDisplayOffset: 270
|
||||
--- !u!23 &1879474902
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 2300004, guid: 535a07056c1514d2498abbd8ff937c5d,
|
||||
type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1879474900}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 0
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: d513bc147cb99443cac08125bc7b07a3, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!33 &1879474903
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 3300004, guid: 535a07056c1514d2498abbd8ff937c5d,
|
||||
type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1879474900}
|
||||
m_Mesh: {fileID: 4300040, guid: 82208e5c7c5f0435f95611cf7eb61237, type: 3}
|
||||
--- !u!4 &1879474904
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 400004, guid: 535a07056c1514d2498abbd8ff937c5d, type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1879474900}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 10, z: -0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 34493926}
|
||||
m_Father: {fileID: 1925562995}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1925562994
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 100014, guid: 535a07056c1514d2498abbd8ff937c5d, type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
serializedVersion: 5
|
||||
m_Component:
|
||||
- component: {fileID: 1925562995}
|
||||
- component: {fileID: 1925562998}
|
||||
- component: {fileID: 1925562997}
|
||||
- component: {fileID: 1925562996}
|
||||
m_Layer: 0
|
||||
m_Name: Constrained 2D CCD Arm
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1925562995
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 400014, guid: 535a07056c1514d2498abbd8ff937c5d, type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1925562994}
|
||||
m_LocalRotation: {x: 0.000000021855694, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
|
||||
m_Children:
|
||||
- {fileID: 1879474904}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1925562996
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 11400016, guid: 535a07056c1514d2498abbd8ff937c5d,
|
||||
type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1925562994}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 98b9a1a9e9a934b23a7db351dd9ec69e, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
fixTransforms: 0
|
||||
solver:
|
||||
executedInEditor: 0
|
||||
IKPosition: {x: 2.1, y: 5.0279884, z: 0.00000021978033}
|
||||
IKPositionWeight: 1
|
||||
root: {fileID: 1925562995}
|
||||
target: {fileID: 0}
|
||||
tolerance: 0
|
||||
maxIterations: 4
|
||||
useRotationLimits: 1
|
||||
XY: 1
|
||||
bones:
|
||||
- transform: {fileID: 1925562995}
|
||||
weight: 1
|
||||
solverPosition: {x: 0, y: 0, z: 0}
|
||||
solverRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
defaultLocalPosition: {x: 2.1, y: 0, z: 0}
|
||||
defaultLocalRotation: {x: 0.000000021855694, y: 0, z: 0, w: 1}
|
||||
length: 1
|
||||
sqrMag: 0
|
||||
axis: {x: 0, y: 1, z: -4.6322114e-23}
|
||||
- transform: {fileID: 1879474904}
|
||||
weight: 1
|
||||
solverPosition: {x: 0, y: 0, z: 0}
|
||||
solverRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
defaultLocalPosition: {x: 0, y: 10, z: -0}
|
||||
defaultLocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
length: 1.098
|
||||
sqrMag: 0
|
||||
axis: {x: 0, y: 1.098, z: 1.825556e-15}
|
||||
- transform: {fileID: 34493926}
|
||||
weight: 1
|
||||
solverPosition: {x: 0, y: 0, z: 0}
|
||||
solverRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
defaultLocalPosition: {x: 0, y: 10.98, z: -0}
|
||||
defaultLocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
length: 1
|
||||
sqrMag: 0
|
||||
axis: {x: 0, y: 1, z: -7.1054274e-15}
|
||||
- transform: {fileID: 441510842}
|
||||
weight: 1
|
||||
solverPosition: {x: 0, y: 0, z: 0}
|
||||
solverRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
defaultLocalPosition: {x: 0, y: 10, z: -0}
|
||||
defaultLocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
length: 1.0540714
|
||||
sqrMag: 0
|
||||
axis: {x: 0, y: 1.0540714, z: 5.136584e-15}
|
||||
- transform: {fileID: 580955971}
|
||||
weight: 1
|
||||
solverPosition: {x: 0, y: 0, z: 0}
|
||||
solverRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
defaultLocalPosition: {x: 0.0000001448337, y: 10.540714, z: 1.2406966e-14}
|
||||
defaultLocalRotation: {x: 0.00000003090862, y: -0.7071069, z: 0.000000030908623,
|
||||
w: 0.70710677}
|
||||
length: 0.87591696
|
||||
sqrMag: 0
|
||||
axis: {x: -2.5205065e-14, y: 0.87591696, z: -0.00000007657511}
|
||||
- transform: {fileID: 1577372166}
|
||||
weight: 1
|
||||
solverPosition: {x: 0, y: 0, z: 0}
|
||||
solverRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
defaultLocalPosition: {x: -3.3190668e-14, y: 8.759171, z: 0.00000022270751}
|
||||
defaultLocalRotation: {x: 3.5527137e-15, y: 0, z: -8.881784e-16, w: 1}
|
||||
length: 0
|
||||
sqrMag: 0
|
||||
axis: {x: -4.952203e-14, y: 5.0279884, z: -0.0000004395609}
|
||||
--- !u!23 &1925562997
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 2300014, guid: 535a07056c1514d2498abbd8ff937c5d,
|
||||
type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1925562994}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 0
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: d513bc147cb99443cac08125bc7b07a3, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!33 &1925562998
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 3300014, guid: 535a07056c1514d2498abbd8ff937c5d,
|
||||
type: 2}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1925562994}
|
||||
m_Mesh: {fileID: 4300034, guid: 82208e5c7c5f0435f95611cf7eb61237, type: 3}
|
||||
@@ -0,0 +1,6 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ac6d72f62ff624a668172c39e3639634
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
1119
Assets/Plugins/RootMotion/FinalIK/_DEMOS/CCD IK/CCD IK.unity
Normal file
1119
Assets/Plugins/RootMotion/FinalIK/_DEMOS/CCD IK/CCD IK.unity
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,6 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7cdefd61256654a66ba209970153a134
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c41c0269170fa408c8fa1d404cb33d4c
|
||||
folderAsset: yes
|
||||
timeCreated: 1434626795
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,6 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8c3a06490bd824f38ba8dae3780a889c
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
25504
Assets/Plugins/RootMotion/FinalIK/_DEMOS/CCD IK/Mech Spider.unity
Normal file
25504
Assets/Plugins/RootMotion/FinalIK/_DEMOS/CCD IK/Mech Spider.unity
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,6 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bb1f846cefd024029b6b716581825a6c
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f15268c8bd7c44960aa7b454b78f2574
|
||||
folderAsset: yes
|
||||
timeCreated: 1434626795
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,115 @@
|
||||
using UnityEngine;
|
||||
using System.Collections;
|
||||
|
||||
namespace RootMotion.Demos {
|
||||
|
||||
/// <summary>
|
||||
/// Mech spider Demo.
|
||||
/// </summary>
|
||||
public class MechSpider : MonoBehaviour {
|
||||
|
||||
public LayerMask raycastLayers; // The ground layers
|
||||
public float scale = 1f; // For resizing the values when the mech is resized
|
||||
public Transform body; // The body transform, the root of the legs
|
||||
public MechSpiderLeg[] legs; // All the legs of this spider
|
||||
public float legRotationWeight = 1f; // The weight of rotating the body to each leg
|
||||
public float rootPositionSpeed = 5f; // The speed of positioning the root
|
||||
public float rootRotationSpeed = 30f; // The slerp speed of rotating the root to leg heights
|
||||
public float breatheSpeed = 2f; // Speed of the breathing cycle
|
||||
public float breatheMagnitude = 0.2f; // Magnitude of breathing
|
||||
public float height = 3.5f; // Height from ground
|
||||
public float minHeight = 2f; // The minimum height from ground
|
||||
public float raycastHeight = 10f; // The height of ray origin
|
||||
public float raycastDistance = 5f; // The distance of rays (total ray length = raycastHeight + raycastDistance)
|
||||
|
||||
public Vector3 velocity { get; private set; }
|
||||
|
||||
private Vector3 lastPosition;
|
||||
private Vector3 defaultBodyLocalPosition;
|
||||
private float sine;
|
||||
private RaycastHit rootHit;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
lastPosition = transform.position;
|
||||
}
|
||||
|
||||
void Update() {
|
||||
velocity = (transform.position - lastPosition) / Time.deltaTime;
|
||||
lastPosition = transform.position;
|
||||
|
||||
// Find the normal of the plane defined by leg positions
|
||||
Vector3 legsPlaneNormal = GetLegsPlaneNormal();
|
||||
|
||||
// Rotating the root
|
||||
Quaternion fromTo = Quaternion.FromToRotation(transform.up, legsPlaneNormal);
|
||||
transform.rotation = Quaternion.Slerp(transform.rotation, fromTo * transform.rotation, Time.deltaTime * rootRotationSpeed);
|
||||
|
||||
// Positioning the root
|
||||
Vector3 legCentroid = GetLegCentroid();
|
||||
Vector3 heightOffset = Vector3.Project((legCentroid + transform.up * height * scale) - transform.position, transform.up);
|
||||
transform.position += heightOffset * Time.deltaTime * (rootPositionSpeed * scale);
|
||||
|
||||
if (Physics.Raycast(transform.position + transform.up * raycastHeight * scale, -transform.up, out rootHit, (raycastHeight * scale) + (raycastDistance * scale), raycastLayers)) {
|
||||
rootHit.distance -= (raycastHeight * scale) + (minHeight * scale);
|
||||
|
||||
if (rootHit.distance < 0f) {
|
||||
Vector3 targetPosition = transform.position - transform.up * rootHit.distance;
|
||||
transform.position = Vector3.Lerp(transform.position, targetPosition, Time.deltaTime * rootPositionSpeed * scale);
|
||||
}
|
||||
}
|
||||
|
||||
// Update Breathing
|
||||
sine += Time.deltaTime * breatheSpeed;
|
||||
if (sine >= Mathf.PI * 2f) sine -= Mathf.PI * 2f;
|
||||
float br = Mathf.Sin(sine) * breatheMagnitude * scale;
|
||||
|
||||
// Apply breathing
|
||||
Vector3 breatheOffset = transform.up * br;
|
||||
body.transform.position = transform.position + breatheOffset;
|
||||
}
|
||||
|
||||
// Calculate the normal of the plane defined by leg positions, so we know how to rotate the body
|
||||
private Vector3 GetLegCentroid() {
|
||||
Vector3 position = Vector3.zero;
|
||||
|
||||
float footWeight = 1f / (float)legs.Length;
|
||||
|
||||
// Go through all the legs, rotate the normal by its offset
|
||||
for (int i = 0; i < legs.Length; i++) {
|
||||
position += legs[i].position * footWeight;
|
||||
}
|
||||
|
||||
return position;
|
||||
}
|
||||
|
||||
// Calculate the normal of the plane defined by leg positions, so we know how to rotate the body
|
||||
private Vector3 GetLegsPlaneNormal() {
|
||||
Vector3 normal = transform.up;
|
||||
|
||||
if (legRotationWeight <= 0f) return normal;
|
||||
|
||||
float legWeight = 1f / Mathf.Lerp(legs.Length, 1f, legRotationWeight);
|
||||
|
||||
// Go through all the legs, rotate the normal by its offset
|
||||
for (int i = 0; i < legs.Length; i++) {
|
||||
// Direction from the root to the leg
|
||||
Vector3 legDirection = legs[i].position - (transform.position - transform.up * height * scale);
|
||||
|
||||
// Find the tangent to transform.up
|
||||
Vector3 legNormal = transform.up;
|
||||
Vector3 legTangent = legDirection;
|
||||
Vector3.OrthoNormalize(ref legNormal, ref legTangent);
|
||||
|
||||
// Find the rotation offset from the tangent to the direction
|
||||
Quaternion fromTo = Quaternion.FromToRotation(legTangent, legDirection);
|
||||
fromTo = Quaternion.Lerp(Quaternion.identity, fromTo, legWeight);
|
||||
|
||||
// Rotate the normal
|
||||
normal = fromTo * normal;
|
||||
}
|
||||
|
||||
return normal;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5e38d8e43dbfd42c2bbdb924c89c44d0
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,37 @@
|
||||
using UnityEngine;
|
||||
using System.Collections;
|
||||
|
||||
namespace RootMotion.Demos {
|
||||
|
||||
/// <summary>
|
||||
/// Controller for the Mech spider.
|
||||
/// </summary>
|
||||
public class MechSpiderController: MonoBehaviour {
|
||||
|
||||
public MechSpider mechSpider; // The mech spider
|
||||
public Transform cameraTransform; // The camera
|
||||
public float speed = 6f; // Horizontal speed of the spider
|
||||
public float turnSpeed = 30f; // The speed of turning the spider to align with the camera
|
||||
|
||||
public Vector3 inputVector {
|
||||
get {
|
||||
return new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
|
||||
}
|
||||
}
|
||||
|
||||
void Update() {
|
||||
// Read the input
|
||||
Vector3 cameraForward = cameraTransform.forward;
|
||||
Vector3 camNormal = transform.up;
|
||||
Vector3.OrthoNormalize(ref camNormal, ref cameraForward);
|
||||
|
||||
// Moving the spider
|
||||
Quaternion cameraLookRotation = Quaternion.LookRotation(cameraForward, transform.up);
|
||||
transform.Translate(cameraLookRotation * inputVector.normalized * Time.deltaTime * speed * mechSpider.scale, Space.World);
|
||||
|
||||
// Rotating the spider to camera forward
|
||||
transform.rotation = Quaternion.RotateTowards(transform.rotation, cameraLookRotation, Time.deltaTime * turnSpeed);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dfca8416545ee44e6b71f34d93313b69
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,177 @@
|
||||
using UnityEngine;
|
||||
using System.Collections;
|
||||
using RootMotion.FinalIK;
|
||||
|
||||
namespace RootMotion.Demos {
|
||||
|
||||
/// <summary>
|
||||
/// Leg of the Mech spider. Controls stepping and positioning the IK target
|
||||
/// </summary>
|
||||
public class MechSpiderLeg : MonoBehaviour {
|
||||
|
||||
public MechSpider mechSpider; // Reference to the target
|
||||
public MechSpiderLeg unSync; // One of the other legs that we dont want to be completely in sync with, that is stepping at the same time
|
||||
public Vector3 offset; // Offset from the default position
|
||||
public float minDelay = 0.2f, maxOffset = 1.0f, stepSpeed = 5.0f, footHeight = 0.15f, velocityPrediction = 0.2f, raycastFocus = 0.1f; // Parameters for stepping
|
||||
public AnimationCurve yOffset;
|
||||
public Transform foot;
|
||||
public Vector3 footUpAxis;
|
||||
public float footRotationSpeed = 10f;
|
||||
|
||||
public ParticleSystem sand; // FX for sand
|
||||
|
||||
private IK ik;
|
||||
private float stepProgress = 1f, lastStepTime;
|
||||
private Vector3 defaultPosition;
|
||||
private RaycastHit hit = new RaycastHit();
|
||||
private Quaternion lastFootLocalRotation;
|
||||
private Vector3 smoothHitNormal = Vector3.up;
|
||||
private Vector3 lastStepPosition;
|
||||
|
||||
// Is the leg stepping?
|
||||
public bool isStepping {
|
||||
get {
|
||||
return stepProgress < 1f;
|
||||
}
|
||||
}
|
||||
|
||||
// Gets and sets the IK position for this leg
|
||||
public Vector3 position {
|
||||
get {
|
||||
return ik.GetIKSolver().GetIKPosition();
|
||||
}
|
||||
set {
|
||||
ik.GetIKSolver().SetIKPosition(value);
|
||||
}
|
||||
}
|
||||
|
||||
void Awake()
|
||||
{
|
||||
// Find the ik component
|
||||
ik = GetComponent<IK>();
|
||||
|
||||
if (foot != null)
|
||||
{
|
||||
if (footUpAxis == Vector3.zero) footUpAxis = Quaternion.Inverse(foot.rotation) * Vector3.up;
|
||||
lastFootLocalRotation = foot.localRotation;
|
||||
ik.GetIKSolver().OnPostUpdate += AfterIK;
|
||||
}
|
||||
}
|
||||
|
||||
private void AfterIK()
|
||||
{
|
||||
if (foot == null) return;
|
||||
foot.localRotation = lastFootLocalRotation;
|
||||
|
||||
smoothHitNormal = Vector3.Slerp(smoothHitNormal, hit.normal, Time.deltaTime * footRotationSpeed);
|
||||
Quaternion f = Quaternion.FromToRotation(foot.rotation * footUpAxis, smoothHitNormal);
|
||||
foot.rotation = f * foot.rotation;
|
||||
}
|
||||
|
||||
void Start() {
|
||||
// Workaround for Unity Win Store/Phone serialization bug
|
||||
stepProgress = 1f;
|
||||
|
||||
hit = new RaycastHit();
|
||||
|
||||
var points = ik.GetIKSolver().GetPoints();
|
||||
position = points[points.Length - 1].transform.position;
|
||||
lastStepPosition = position;
|
||||
|
||||
hit.point = position;
|
||||
|
||||
// Store the default rest position of the leg
|
||||
defaultPosition = mechSpider.transform.InverseTransformPoint(position + offset * mechSpider.scale);
|
||||
|
||||
StartCoroutine(Step(position, position));
|
||||
}
|
||||
|
||||
// Find the relaxed grounded positon of the leg relative to the body in world space.
|
||||
private Vector3 GetStepTarget(out bool stepFound, float focus, float distance) {
|
||||
stepFound = false;
|
||||
|
||||
// place hit.point to the default position relative to the body
|
||||
Vector3 stepTarget = mechSpider.transform.TransformPoint(defaultPosition);
|
||||
//stepTarget += (hit.point - position) * velocityPrediction;
|
||||
stepTarget += mechSpider.velocity * velocityPrediction;
|
||||
|
||||
Vector3 up = mechSpider.transform.up;
|
||||
|
||||
// Focus the ray directions towards the spider body
|
||||
Vector3 toBody = mechSpider.body.position - position;
|
||||
Vector3 axis = Vector3.Cross(up, toBody);
|
||||
up = Quaternion.AngleAxis(focus, axis) * up;
|
||||
|
||||
// Raycast to ground the relaxed position
|
||||
if (Physics.Raycast(stepTarget + up * mechSpider.raycastHeight * mechSpider.scale, -up, out hit, mechSpider.raycastHeight * mechSpider.scale + distance, mechSpider.raycastLayers)) stepFound = true;
|
||||
|
||||
//return hit.point + mechSpider.transform.up * footHeight * mechSpider.scale;
|
||||
return hit.point + hit.normal * footHeight * mechSpider.scale;
|
||||
}
|
||||
|
||||
private void UpdatePosition(float distance)
|
||||
{
|
||||
Vector3 up = mechSpider.transform.up;
|
||||
|
||||
if (Physics.Raycast(lastStepPosition + up * mechSpider.raycastHeight * mechSpider.scale, -up, out hit, mechSpider.raycastHeight * mechSpider.scale + distance, mechSpider.raycastLayers))
|
||||
{
|
||||
position = hit.point + hit.normal * footHeight * mechSpider.scale;
|
||||
}
|
||||
}
|
||||
|
||||
void Update () {
|
||||
UpdatePosition(mechSpider.raycastDistance * mechSpider.scale);
|
||||
|
||||
// if already stepping, do nothing
|
||||
if (isStepping) return;
|
||||
|
||||
// Minimum delay before stepping again
|
||||
if (Time.time < lastStepTime + minDelay) return;
|
||||
|
||||
// If the unSync leg is stepping, do nothing
|
||||
if (unSync != null) {
|
||||
if (unSync.isStepping) return;
|
||||
}
|
||||
|
||||
// Find the ideal relaxed position for the leg relative to the body
|
||||
bool stepFound = false;
|
||||
Vector3 idealPosition = GetStepTarget(out stepFound, raycastFocus, mechSpider.raycastDistance * mechSpider.scale);
|
||||
if (!stepFound) idealPosition = GetStepTarget(out stepFound, -raycastFocus, mechSpider.raycastDistance * 3f * mechSpider.scale); // Try again with inverted focus
|
||||
if (!stepFound) return;
|
||||
|
||||
// If distance to that ideal position is less than the threshold, do nothing
|
||||
if (Vector3.Distance(position, idealPosition) < maxOffset * mechSpider.scale * UnityEngine.Random.Range(0.9f, 1.2f)) return;
|
||||
|
||||
// Need to step closer to the ideal position
|
||||
StopAllCoroutines();
|
||||
StartCoroutine(Step(position, idealPosition));
|
||||
}
|
||||
|
||||
// Stepping co-routine
|
||||
private IEnumerator Step(Vector3 stepStartPosition, Vector3 targetPosition) {
|
||||
stepProgress = 0f;
|
||||
|
||||
// Moving the IK position
|
||||
while (stepProgress < 1) {
|
||||
stepProgress += Time.deltaTime * stepSpeed;
|
||||
|
||||
position = Vector3.Lerp(stepStartPosition, targetPosition, stepProgress);
|
||||
position += mechSpider.transform.up * yOffset.Evaluate(stepProgress) * mechSpider.scale;
|
||||
lastStepPosition = position;
|
||||
|
||||
yield return null;
|
||||
}
|
||||
|
||||
position = targetPosition;
|
||||
lastStepPosition = position;
|
||||
|
||||
// Emit sand
|
||||
if (sand != null) {
|
||||
sand.transform.position = position - mechSpider.transform.up * footHeight * mechSpider.scale;
|
||||
sand.Emit(20);
|
||||
}
|
||||
|
||||
lastStepTime = Time.time;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ed6e75890d3ab4d4baef5ecd91784aba
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,38 @@
|
||||
using UnityEngine;
|
||||
using System.Collections;
|
||||
|
||||
namespace RootMotion.Demos {
|
||||
|
||||
/// <summary>
|
||||
/// Emitting smoke for the mech spider
|
||||
/// </summary>
|
||||
public class MechSpiderParticles: MonoBehaviour {
|
||||
|
||||
public MechSpiderController mechSpiderController;
|
||||
|
||||
private ParticleSystem particles;
|
||||
|
||||
void Start() {
|
||||
particles = (ParticleSystem)GetComponent(typeof(ParticleSystem));
|
||||
}
|
||||
|
||||
void Update() {
|
||||
// Smoke
|
||||
float inputMag = mechSpiderController.inputVector.magnitude;
|
||||
|
||||
float emissionRate = Mathf.Clamp(inputMag * 50, 30, 50);
|
||||
|
||||
#if (UNITY_5_3 || UNITY_5_4)
|
||||
var emission = particles.emission;
|
||||
emission.rate = new ParticleSystem.MinMaxCurve(emissionRate);
|
||||
particles.startColor = new Color (particles.startColor.r, particles.startColor.g, particles.startColor.b, Mathf.Clamp(inputMag, 0.4f, 1f));
|
||||
#else
|
||||
var emission = particles.emission;
|
||||
emission.rateOverTime = new ParticleSystem.MinMaxCurve(emissionRate);
|
||||
|
||||
var main = particles.main;
|
||||
main.startColor = new Color (particles.main.startColor.color.r, particles.main.startColor.color.g, particles.main.startColor.color.b, Mathf.Clamp(inputMag, 0.4f, 1f));
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e1a69cb78a14c451884988d32da4a529
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user