新增脚本
This commit is contained in:
@@ -19348,6 +19348,36 @@ MonoBehaviour:
|
||||
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
|
||||
FilterEnum: 0
|
||||
Filter: '*'
|
||||
- Path: Assets/ResRaw/Prefabs/Player/Line/fishing line float set.prefab
|
||||
Address: Plyaer/fishing line float set
|
||||
Type: GameObject
|
||||
Bundle: main/plyaer.bundle
|
||||
Tags:
|
||||
Group:
|
||||
Name: Plyaer
|
||||
Enable: 1
|
||||
BundleMode: 0
|
||||
AddressMode: 2
|
||||
Tags:
|
||||
Collectors:
|
||||
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
|
||||
FilterEnum: 0
|
||||
Filter: '*'
|
||||
- Path: Assets/ResRaw/Prefabs/Player/Line/fishing line spinning.prefab
|
||||
Address: Plyaer/fishing line spinning
|
||||
Type: GameObject
|
||||
Bundle: main/plyaer.bundle
|
||||
Tags:
|
||||
Group:
|
||||
Name: Plyaer
|
||||
Enable: 1
|
||||
BundleMode: 0
|
||||
AddressMode: 2
|
||||
Tags:
|
||||
Collectors:
|
||||
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
|
||||
FilterEnum: 0
|
||||
Filter: '*'
|
||||
- Path: Assets/ResRaw/Prefabs/Player/male.prefab
|
||||
Address: Plyaer/male
|
||||
Type: GameObject
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8ce6ddcc06025e84c8f118c9af703263
|
||||
guid: ac3eba5473275214c9b475a4fd8eee6f
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4894eb7559b3e1043bf7580ed860fd68
|
||||
guid: fa2360ddd2ee53b4ba485a57ed889b14
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
1049
Assets/ResRaw/Prefabs/Player/Line/fishing line float set.prefab
Normal file
1049
Assets/ResRaw/Prefabs/Player/Line/fishing line float set.prefab
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b52fb637550f9ee478a2359cd713ba16
|
||||
timeCreated: 1762387921
|
||||
licenseType: Free
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
addedObjectFileIDs:
|
||||
isPrefabVariant: 0
|
||||
variantParentGUID: 00000000000000000000000000000000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
623
Assets/ResRaw/Prefabs/Player/Line/fishing line spinning.prefab
Normal file
623
Assets/ResRaw/Prefabs/Player/Line/fishing line spinning.prefab
Normal file
@@ -0,0 +1,623 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1272090113571811
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4789330476915334}
|
||||
- component: {fileID: 114739639280597265}
|
||||
m_Layer: 0
|
||||
m_Name: fishing line spinning
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4789330476915334
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1272090113571811}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 4234306782235173}
|
||||
- {fileID: 4141014065636101}
|
||||
- {fileID: 4890516850959192}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &114739639280597265
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1272090113571811}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: c0403ffd74ce46fab8bd4ef057e51432, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
startParticleAttachment: {fileID: 114052339901978322}
|
||||
isLureConnect: 1
|
||||
rodLine: {fileID: 4297776814324645408}
|
||||
fishingRope: {fileID: 114821237079273711}
|
||||
LineLength: 0.5
|
||||
--- !u!1 &1283354022407552
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4234306782235173}
|
||||
- component: {fileID: 114183814398187982}
|
||||
- component: {fileID: 23093650087846247}
|
||||
- component: {fileID: 33180971188188480}
|
||||
- component: {fileID: 114312629507617460}
|
||||
- component: {fileID: 114606677337991535}
|
||||
- component: {fileID: 114052339901978322}
|
||||
- component: {fileID: 114975473824467752}
|
||||
- component: {fileID: 114821237079273711}
|
||||
m_Layer: 0
|
||||
m_Name: Fishing Line
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!4 &4234306782235173
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1283354022407552}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4789330476915334}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &114183814398187982
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1283354022407552}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 61104f33a3f344db9b7e0d0cda41a9fb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
solverIndices:
|
||||
serializedContents:
|
||||
m_AlignBytes: 16
|
||||
groupID: 0
|
||||
m_CollisionMaterial: {fileID: 0}
|
||||
m_SurfaceCollisions: 0
|
||||
m_MassScale: 1
|
||||
m_SelfCollisions: 0
|
||||
restLength_: 0
|
||||
elements: []
|
||||
_aerodynamicsEnabled: 1
|
||||
_drag: 0.05
|
||||
_lift: 0.02
|
||||
m_RopeBlueprint: {fileID: 0}
|
||||
tearingEnabled: 0
|
||||
tearResistanceMultiplier: 1000
|
||||
tearRate: 1
|
||||
_distanceConstraintsEnabled: 1
|
||||
_stretchingScale: 1
|
||||
_stretchCompliance: 0
|
||||
_maxCompression: 0
|
||||
_bendConstraintsEnabled: 1
|
||||
_bendCompliance: 0
|
||||
_maxBending: 0.025
|
||||
_plasticYield: 0
|
||||
_plasticCreep: 0
|
||||
--- !u!23 &23093650087846247
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1283354022407552}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 257
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 4be07647ecdb4b845a9e0fbc74bb0e0a, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 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_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!33 &33180971188188480
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1283354022407552}
|
||||
m_Mesh: {fileID: 0}
|
||||
--- !u!114 &114312629507617460
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1283354022407552}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 958c969cfb16745f192d4d7bd28b7178, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
decimation: 0
|
||||
smoothing: 3
|
||||
twist: 25
|
||||
indexInSystem: 0
|
||||
--- !u!114 &114606677337991535
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1283354022407552}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: c4747da60837c44f9ba4b4a86879bcc8, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
material: {fileID: 0}
|
||||
renderParameters:
|
||||
layer: 0
|
||||
lightProbeUsage: 1
|
||||
reflectionProbeUsage: 1
|
||||
shadowCastingMode: 1
|
||||
receiveShadows: 1
|
||||
motionVectors: 0
|
||||
renderingLayerMask: 4294967295
|
||||
uvAnchor: 0
|
||||
uvScale: {x: 1, y: 1}
|
||||
normalizeV: 1
|
||||
section: {fileID: 0}
|
||||
thicknessScale: 0.8
|
||||
--- !u!114 &114052339901978322
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1283354022407552}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4d03c9194b7ab4aaba4dfa5afec22c69, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Actor: {fileID: 114183814398187982}
|
||||
m_Target: {fileID: 0}
|
||||
m_ParticleGroup: {fileID: 0}
|
||||
m_AttachmentType: 0
|
||||
m_ConstrainOrientation: 0
|
||||
m_Projection: 0
|
||||
m_Compliance: 0
|
||||
breakThreshold: Infinity
|
||||
--- !u!114 &114975473824467752
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1283354022407552}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4d03c9194b7ab4aaba4dfa5afec22c69, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Actor: {fileID: 114183814398187982}
|
||||
m_Target: {fileID: 0}
|
||||
m_ParticleGroup: {fileID: 0}
|
||||
m_AttachmentType: 0
|
||||
m_ConstrainOrientation: 0
|
||||
m_Projection: 0
|
||||
m_Compliance: 0
|
||||
breakThreshold: Infinity
|
||||
--- !u!114 &114821237079273711
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1283354022407552}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 98ba9d435a0e49c9bb527c34cc91894d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
rope: {fileID: 0}
|
||||
cursor: {fileID: 0}
|
||||
percentageElasticity: 1
|
||||
--- !u!1 &1593910372182423
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4141014065636101}
|
||||
- component: {fileID: 120106974709276864}
|
||||
- component: {fileID: 4297776814324645408}
|
||||
m_Layer: 0
|
||||
m_Name: Rod Line
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!4 &4141014065636101
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1593910372182423}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4789330476915334}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!120 &120106974709276864
|
||||
LineRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1593910372182423}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 0
|
||||
m_LightProbeUsage: 0
|
||||
m_ReflectionProbeUsage: 0
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 4be07647ecdb4b845a9e0fbc74bb0e0a, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 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_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_Positions:
|
||||
- {x: 0, y: 0, z: 0}
|
||||
- {x: 0, y: 0, z: 1}
|
||||
m_Parameters:
|
||||
serializedVersion: 3
|
||||
widthMultiplier: 1
|
||||
widthCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
colorGradient:
|
||||
serializedVersion: 2
|
||||
key0: {r: 1, g: 1, b: 1, a: 1}
|
||||
key1: {r: 1, g: 1, b: 1, a: 1}
|
||||
key2: {r: 0, g: 0, b: 0, a: 0}
|
||||
key3: {r: 0, g: 0, b: 0, a: 0}
|
||||
key4: {r: 0, g: 0, b: 0, a: 0}
|
||||
key5: {r: 0, g: 0, b: 0, a: 0}
|
||||
key6: {r: 0, g: 0, b: 0, a: 0}
|
||||
key7: {r: 0, g: 0, b: 0, a: 0}
|
||||
ctime0: 0
|
||||
ctime1: 65535
|
||||
ctime2: 0
|
||||
ctime3: 0
|
||||
ctime4: 0
|
||||
ctime5: 0
|
||||
ctime6: 0
|
||||
ctime7: 0
|
||||
atime0: 0
|
||||
atime1: 65535
|
||||
atime2: 0
|
||||
atime3: 0
|
||||
atime4: 0
|
||||
atime5: 0
|
||||
atime6: 0
|
||||
atime7: 0
|
||||
m_Mode: 0
|
||||
m_ColorSpace: -1
|
||||
m_NumColorKeys: 2
|
||||
m_NumAlphaKeys: 2
|
||||
numCornerVertices: 3
|
||||
numCapVertices: 3
|
||||
alignment: 0
|
||||
textureMode: 0
|
||||
textureScale: {x: 1, y: 1}
|
||||
shadowBias: 0.5
|
||||
generateLightingData: 0
|
||||
m_MaskInteraction: 0
|
||||
m_UseWorldSpace: 1
|
||||
m_Loop: 0
|
||||
m_ApplyActiveColorSpace: 1
|
||||
--- !u!114 &4297776814324645408
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1593910372182423}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5625b86b9e4b4482b82d83b962d0c873, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::RodLine
|
||||
--- !u!1 &1900952002951889
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4890516850959192}
|
||||
- component: {fileID: 54576891949597541}
|
||||
- component: {fileID: 153265847269300219}
|
||||
- component: {fileID: 135766751052608187}
|
||||
m_Layer: 7
|
||||
m_Name: Lure
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!4 &4890516850959192
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1900952002951889}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: -1, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4789330476915334}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!54 &54576891949597541
|
||||
Rigidbody:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1900952002951889}
|
||||
serializedVersion: 5
|
||||
m_Mass: 0.1
|
||||
m_LinearDamping: 1
|
||||
m_AngularDamping: 1
|
||||
m_CenterOfMass: {x: 0, y: 0, z: 0}
|
||||
m_InertiaTensor: {x: 0.001, y: 0.001, z: 0.001}
|
||||
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ImplicitCom: 1
|
||||
m_ImplicitTensor: 0
|
||||
m_UseGravity: 1
|
||||
m_IsKinematic: 0
|
||||
m_Interpolate: 0
|
||||
m_Constraints: 0
|
||||
m_CollisionDetection: 2
|
||||
--- !u!153 &153265847269300219
|
||||
ConfigurableJoint:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1900952002951889}
|
||||
serializedVersion: 4
|
||||
m_ConnectedBody: {fileID: 0}
|
||||
m_ConnectedArticulationBody: {fileID: 0}
|
||||
m_Anchor: {x: 0, y: 0, z: 0}
|
||||
m_Axis: {x: 0, y: 0, z: 0}
|
||||
m_AutoConfigureConnectedAnchor: 0
|
||||
m_ConnectedAnchor: {x: 0, y: 0, z: 0}
|
||||
m_SecondaryAxis: {x: 0, y: 0, z: 0}
|
||||
m_XMotion: 1
|
||||
m_YMotion: 1
|
||||
m_ZMotion: 1
|
||||
m_AngularXMotion: 2
|
||||
m_AngularYMotion: 2
|
||||
m_AngularZMotion: 2
|
||||
m_LinearLimitSpring:
|
||||
spring: 0
|
||||
damper: 0
|
||||
m_LinearLimit:
|
||||
limit: 0.5
|
||||
bounciness: 0
|
||||
contactDistance: 0
|
||||
m_AngularXLimitSpring:
|
||||
spring: 0
|
||||
damper: 0
|
||||
m_LowAngularXLimit:
|
||||
limit: 0
|
||||
bounciness: 0
|
||||
contactDistance: 0
|
||||
m_HighAngularXLimit:
|
||||
limit: 0
|
||||
bounciness: 0
|
||||
contactDistance: 0
|
||||
m_AngularYZLimitSpring:
|
||||
spring: 0
|
||||
damper: 0
|
||||
m_AngularYLimit:
|
||||
limit: 0
|
||||
bounciness: 0
|
||||
contactDistance: 0
|
||||
m_AngularZLimit:
|
||||
limit: 0
|
||||
bounciness: 0
|
||||
contactDistance: 0
|
||||
m_TargetPosition: {x: 0, y: 0, z: 0}
|
||||
m_TargetVelocity: {x: 0, y: 0, z: 0}
|
||||
m_XDrive:
|
||||
serializedVersion: 4
|
||||
positionSpring: 0
|
||||
positionDamper: 0
|
||||
maximumForce: 3.4028233e+38
|
||||
useAcceleration: 0
|
||||
m_YDrive:
|
||||
serializedVersion: 4
|
||||
positionSpring: 0
|
||||
positionDamper: 0
|
||||
maximumForce: 3.4028233e+38
|
||||
useAcceleration: 0
|
||||
m_ZDrive:
|
||||
serializedVersion: 4
|
||||
positionSpring: 0
|
||||
positionDamper: 0
|
||||
maximumForce: 3.4028233e+38
|
||||
useAcceleration: 0
|
||||
m_TargetRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_TargetAngularVelocity: {x: 0, y: 0, z: 0}
|
||||
m_RotationDriveMode: 0
|
||||
m_AngularXDrive:
|
||||
serializedVersion: 4
|
||||
positionSpring: 0
|
||||
positionDamper: 0
|
||||
maximumForce: 3.4028233e+38
|
||||
useAcceleration: 0
|
||||
m_AngularYZDrive:
|
||||
serializedVersion: 4
|
||||
positionSpring: 0
|
||||
positionDamper: 0
|
||||
maximumForce: 3.4028233e+38
|
||||
useAcceleration: 0
|
||||
m_SlerpDrive:
|
||||
serializedVersion: 4
|
||||
positionSpring: 0
|
||||
positionDamper: 0
|
||||
maximumForce: 3.4028233e+38
|
||||
useAcceleration: 0
|
||||
m_ProjectionMode: 1
|
||||
m_ProjectionDistance: 0.1
|
||||
m_ProjectionAngle: 0
|
||||
m_ConfiguredInWorldSpace: 0
|
||||
m_SwapBodies: 0
|
||||
m_BreakForce: Infinity
|
||||
m_BreakTorque: Infinity
|
||||
m_EnableCollision: 0
|
||||
m_EnablePreprocessing: 0
|
||||
m_MassScale: 1
|
||||
m_ConnectedMassScale: 1
|
||||
--- !u!135 &135766751052608187
|
||||
SphereCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1900952002951889}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Radius: 2
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4aae278494bb1db48a89372b08390cf5
|
||||
timeCreated: 1762387921
|
||||
licenseType: Free
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
addedObjectFileIDs:
|
||||
isPrefabVariant: 0
|
||||
variantParentGUID: 00000000000000000000000000000000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,246 +1,246 @@
|
||||
using UnityEngine;
|
||||
|
||||
[RequireComponent(typeof(LineRenderer))]
|
||||
public class Rope : MonoBehaviour
|
||||
{
|
||||
[Header("Attachment Points")] [SerializeField]
|
||||
public Transform startAttachment; // 绳子起点绑定的Transform
|
||||
|
||||
[SerializeField] public Transform endAttachment; // 绳子终点绑定的Transform
|
||||
|
||||
[Header("Verlet Parameters")] [SerializeField]
|
||||
float nodeDistance = 0.35f;
|
||||
|
||||
[SerializeField] float nodeColliderRadius = 0.2f;
|
||||
[SerializeField] float gravityStrength = 2;
|
||||
[SerializeField] float totalLength = 10f;
|
||||
[SerializeField, Range(0, 1)] float velocityDampen = 0.95f;
|
||||
[SerializeField, Range(0, 0.99f)] float stiffness = 0.8f;
|
||||
[SerializeField] int iterateCollisionsEvery = 1;
|
||||
[SerializeField] int iterations = 10;
|
||||
[SerializeField] int colliderBufferSize = 1;
|
||||
|
||||
[Header("Line Renderer")] [SerializeField]
|
||||
float ropeWidth = 0.1f;
|
||||
|
||||
// 私有变量
|
||||
Vector3 gravity;
|
||||
|
||||
// 数组和缓存
|
||||
Vector3[] currentNodePositions;
|
||||
Vector3[] previousNodePositions;
|
||||
Collider[] colliderHitBuffer;
|
||||
LineRenderer lineRenderer;
|
||||
GameObject nodeTester;
|
||||
SphereCollider nodeCollider;
|
||||
int totalNodes;
|
||||
float lastTotalLength;
|
||||
|
||||
void Awake()
|
||||
{
|
||||
// 获取组件引用
|
||||
lineRenderer = GetComponent<LineRenderer>();
|
||||
gravity = new Vector3(0, -gravityStrength, 0);
|
||||
|
||||
// 初始化节点测试器
|
||||
nodeTester = new GameObject("Node Tester");
|
||||
nodeTester.layer = 8;
|
||||
nodeCollider = nodeTester.AddComponent<SphereCollider>();
|
||||
nodeCollider.radius = nodeColliderRadius;
|
||||
|
||||
// 初始化长度跟踪
|
||||
lastTotalLength = totalLength;
|
||||
InitializeRope();
|
||||
}
|
||||
|
||||
void InitializeRope()
|
||||
{
|
||||
// 计算节点数量
|
||||
totalNodes = Mathf.FloorToInt(totalLength / nodeDistance) + 1;
|
||||
float remainingLength = totalLength % nodeDistance;
|
||||
|
||||
if (remainingLength > 0 && totalLength > nodeDistance)
|
||||
{
|
||||
totalNodes++;
|
||||
}
|
||||
|
||||
// 初始化或调整数组大小
|
||||
System.Array.Resize(ref currentNodePositions, totalNodes);
|
||||
System.Array.Resize(ref previousNodePositions, totalNodes);
|
||||
colliderHitBuffer = new Collider[colliderBufferSize];
|
||||
|
||||
// 初始化节点位置
|
||||
Vector3 startPos = startAttachment != null ? startAttachment.position : transform.position;
|
||||
for (int i = 0; i < totalNodes; i++)
|
||||
{
|
||||
float distance = (i == totalNodes - 1 && remainingLength > 0) ? remainingLength : nodeDistance;
|
||||
|
||||
currentNodePositions[i] = startPos;
|
||||
previousNodePositions[i] = startPos;
|
||||
startPos.y -= distance;
|
||||
}
|
||||
|
||||
// 设置线渲染器
|
||||
lineRenderer.startWidth = ropeWidth;
|
||||
lineRenderer.endWidth = ropeWidth;
|
||||
lineRenderer.positionCount = totalNodes;
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
// 检查长度是否变化
|
||||
if (!Mathf.Approximately(totalLength, lastTotalLength))
|
||||
{
|
||||
AdjustRopeLength();
|
||||
lastTotalLength = totalLength;
|
||||
}
|
||||
|
||||
DrawRope();
|
||||
}
|
||||
|
||||
void AdjustRopeLength()
|
||||
{
|
||||
Vector3[] oldPositions = (Vector3[])currentNodePositions.Clone();
|
||||
Vector3[] oldPrevPositions = (Vector3[])previousNodePositions.Clone();
|
||||
|
||||
InitializeRope();
|
||||
|
||||
int copyLength = Mathf.Min(oldPositions.Length, currentNodePositions.Length);
|
||||
System.Array.Copy(oldPositions, currentNodePositions, copyLength);
|
||||
System.Array.Copy(oldPrevPositions, previousNodePositions, copyLength);
|
||||
|
||||
if (currentNodePositions.Length > oldPositions.Length)
|
||||
{
|
||||
Vector3 lastPos = oldPositions[oldPositions.Length - 1];
|
||||
for (int i = oldPositions.Length; i < currentNodePositions.Length; i++)
|
||||
{
|
||||
float distance = (i == currentNodePositions.Length - 1 && (totalLength % nodeDistance) > 0)
|
||||
? (totalLength % nodeDistance)
|
||||
: nodeDistance;
|
||||
|
||||
lastPos.y -= distance;
|
||||
currentNodePositions[i] = lastPos;
|
||||
previousNodePositions[i] = lastPos;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void FixedUpdate()
|
||||
{
|
||||
Simulate();
|
||||
|
||||
for (int i = 0; i < iterations; i++)
|
||||
{
|
||||
ApplyConstraint();
|
||||
|
||||
if (i % (iterateCollisionsEvery + 1) == 0)
|
||||
{
|
||||
AdjustCollisions();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Simulate()
|
||||
{
|
||||
float fixedDt = Time.fixedDeltaTime;
|
||||
for (int i = 0; i < totalNodes; i++)
|
||||
{
|
||||
Vector3 velocity = (currentNodePositions[i] - previousNodePositions[i]) * velocityDampen;
|
||||
previousNodePositions[i] = currentNodePositions[i];
|
||||
currentNodePositions[i] += velocity + gravity * fixedDt;
|
||||
}
|
||||
}
|
||||
|
||||
void ApplyConstraint()
|
||||
{
|
||||
// 绑定到起点Transform
|
||||
if (startAttachment != null)
|
||||
{
|
||||
currentNodePositions[0] = startAttachment.position;
|
||||
}
|
||||
|
||||
// 绑定到终点Transform
|
||||
if (endAttachment != null)
|
||||
{
|
||||
currentNodePositions[totalNodes - 1] = endAttachment.position;
|
||||
}
|
||||
|
||||
float halfStiffness = 0.5f * stiffness;
|
||||
int nodeCountMinusOne = totalNodes - 1;
|
||||
|
||||
for (int i = 0; i < nodeCountMinusOne; i++)
|
||||
{
|
||||
Vector3 node1 = currentNodePositions[i];
|
||||
Vector3 node2 = currentNodePositions[i + 1];
|
||||
Vector3 diff = node1 - node2;
|
||||
|
||||
float desiredDistance = (i == nodeCountMinusOne - 1 && (totalLength % nodeDistance) > 0)
|
||||
? (totalLength % nodeDistance)
|
||||
: nodeDistance;
|
||||
|
||||
float sqrDesiredDistance = desiredDistance * desiredDistance;
|
||||
float sqrDistance = diff.x * diff.x + diff.y * diff.y + diff.z * diff.z;
|
||||
|
||||
if (Mathf.Abs(sqrDistance - sqrDesiredDistance) > 0.001f)
|
||||
{
|
||||
float distance = Mathf.Sqrt(sqrDistance);
|
||||
float difference = desiredDistance - distance;
|
||||
Vector3 direction = diff / distance;
|
||||
|
||||
Vector3 adjustment = direction * (difference * halfStiffness);
|
||||
|
||||
currentNodePositions[i] += adjustment;
|
||||
currentNodePositions[i + 1] -= adjustment;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void AdjustCollisions()
|
||||
{
|
||||
for (int i = 1; i < totalNodes; i += 2)
|
||||
{
|
||||
int hits = Physics.OverlapSphereNonAlloc(
|
||||
currentNodePositions[i],
|
||||
nodeColliderRadius,
|
||||
colliderHitBuffer,
|
||||
~(1 << 8));
|
||||
|
||||
for (int n = 0; n < hits; n++)
|
||||
{
|
||||
if (Physics.ComputePenetration(
|
||||
nodeCollider,
|
||||
currentNodePositions[i],
|
||||
Quaternion.identity,
|
||||
colliderHitBuffer[n],
|
||||
colliderHitBuffer[n].transform.position,
|
||||
colliderHitBuffer[n].transform.rotation,
|
||||
out Vector3 direction,
|
||||
out float distance))
|
||||
{
|
||||
currentNodePositions[i] += direction * distance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DrawRope()
|
||||
{
|
||||
lineRenderer.positionCount = totalNodes;
|
||||
lineRenderer.SetPositions(currentNodePositions);
|
||||
}
|
||||
|
||||
void OnDestroy()
|
||||
{
|
||||
if (nodeTester != null)
|
||||
{
|
||||
Destroy(nodeTester);
|
||||
}
|
||||
}
|
||||
|
||||
// 公开方法用于动态设置绑定点
|
||||
public void SetAttachments(Transform start, Transform end)
|
||||
{
|
||||
startAttachment = start;
|
||||
endAttachment = end;
|
||||
}
|
||||
}
|
||||
// using UnityEngine;
|
||||
//
|
||||
// [RequireComponent(typeof(LineRenderer))]
|
||||
// public class Rope : MonoBehaviour
|
||||
// {
|
||||
// [Header("Attachment Points")] [SerializeField]
|
||||
// public Transform startAttachment; // 绳子起点绑定的Transform
|
||||
//
|
||||
// [SerializeField] public Transform endAttachment; // 绳子终点绑定的Transform
|
||||
//
|
||||
// [Header("Verlet Parameters")] [SerializeField]
|
||||
// float nodeDistance = 0.35f;
|
||||
//
|
||||
// [SerializeField] float nodeColliderRadius = 0.2f;
|
||||
// [SerializeField] float gravityStrength = 2;
|
||||
// [SerializeField] float totalLength = 10f;
|
||||
// [SerializeField, Range(0, 1)] float velocityDampen = 0.95f;
|
||||
// [SerializeField, Range(0, 0.99f)] float stiffness = 0.8f;
|
||||
// [SerializeField] int iterateCollisionsEvery = 1;
|
||||
// [SerializeField] int iterations = 10;
|
||||
// [SerializeField] int colliderBufferSize = 1;
|
||||
//
|
||||
// [Header("Line Renderer")] [SerializeField]
|
||||
// float ropeWidth = 0.1f;
|
||||
//
|
||||
// // 私有变量
|
||||
// Vector3 gravity;
|
||||
//
|
||||
// // 数组和缓存
|
||||
// Vector3[] currentNodePositions;
|
||||
// Vector3[] previousNodePositions;
|
||||
// Collider[] colliderHitBuffer;
|
||||
// LineRenderer lineRenderer;
|
||||
// GameObject nodeTester;
|
||||
// SphereCollider nodeCollider;
|
||||
// int totalNodes;
|
||||
// float lastTotalLength;
|
||||
//
|
||||
// void Awake()
|
||||
// {
|
||||
// // 获取组件引用
|
||||
// lineRenderer = GetComponent<LineRenderer>();
|
||||
// gravity = new Vector3(0, -gravityStrength, 0);
|
||||
//
|
||||
// // 初始化节点测试器
|
||||
// nodeTester = new GameObject("Node Tester");
|
||||
// nodeTester.layer = 8;
|
||||
// nodeCollider = nodeTester.AddComponent<SphereCollider>();
|
||||
// nodeCollider.radius = nodeColliderRadius;
|
||||
//
|
||||
// // 初始化长度跟踪
|
||||
// lastTotalLength = totalLength;
|
||||
// InitializeRope();
|
||||
// }
|
||||
//
|
||||
// void InitializeRope()
|
||||
// {
|
||||
// // 计算节点数量
|
||||
// totalNodes = Mathf.FloorToInt(totalLength / nodeDistance) + 1;
|
||||
// float remainingLength = totalLength % nodeDistance;
|
||||
//
|
||||
// if (remainingLength > 0 && totalLength > nodeDistance)
|
||||
// {
|
||||
// totalNodes++;
|
||||
// }
|
||||
//
|
||||
// // 初始化或调整数组大小
|
||||
// System.Array.Resize(ref currentNodePositions, totalNodes);
|
||||
// System.Array.Resize(ref previousNodePositions, totalNodes);
|
||||
// colliderHitBuffer = new Collider[colliderBufferSize];
|
||||
//
|
||||
// // 初始化节点位置
|
||||
// Vector3 startPos = startAttachment != null ? startAttachment.position : transform.position;
|
||||
// for (int i = 0; i < totalNodes; i++)
|
||||
// {
|
||||
// float distance = (i == totalNodes - 1 && remainingLength > 0) ? remainingLength : nodeDistance;
|
||||
//
|
||||
// currentNodePositions[i] = startPos;
|
||||
// previousNodePositions[i] = startPos;
|
||||
// startPos.y -= distance;
|
||||
// }
|
||||
//
|
||||
// // 设置线渲染器
|
||||
// lineRenderer.startWidth = ropeWidth;
|
||||
// lineRenderer.endWidth = ropeWidth;
|
||||
// lineRenderer.positionCount = totalNodes;
|
||||
// }
|
||||
//
|
||||
// void Update()
|
||||
// {
|
||||
// // 检查长度是否变化
|
||||
// if (!Mathf.Approximately(totalLength, lastTotalLength))
|
||||
// {
|
||||
// AdjustRopeLength();
|
||||
// lastTotalLength = totalLength;
|
||||
// }
|
||||
//
|
||||
// DrawRope();
|
||||
// }
|
||||
//
|
||||
// void AdjustRopeLength()
|
||||
// {
|
||||
// Vector3[] oldPositions = (Vector3[])currentNodePositions.Clone();
|
||||
// Vector3[] oldPrevPositions = (Vector3[])previousNodePositions.Clone();
|
||||
//
|
||||
// InitializeRope();
|
||||
//
|
||||
// int copyLength = Mathf.Min(oldPositions.Length, currentNodePositions.Length);
|
||||
// System.Array.Copy(oldPositions, currentNodePositions, copyLength);
|
||||
// System.Array.Copy(oldPrevPositions, previousNodePositions, copyLength);
|
||||
//
|
||||
// if (currentNodePositions.Length > oldPositions.Length)
|
||||
// {
|
||||
// Vector3 lastPos = oldPositions[oldPositions.Length - 1];
|
||||
// for (int i = oldPositions.Length; i < currentNodePositions.Length; i++)
|
||||
// {
|
||||
// float distance = (i == currentNodePositions.Length - 1 && (totalLength % nodeDistance) > 0)
|
||||
// ? (totalLength % nodeDistance)
|
||||
// : nodeDistance;
|
||||
//
|
||||
// lastPos.y -= distance;
|
||||
// currentNodePositions[i] = lastPos;
|
||||
// previousNodePositions[i] = lastPos;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// void FixedUpdate()
|
||||
// {
|
||||
// Simulate();
|
||||
//
|
||||
// for (int i = 0; i < iterations; i++)
|
||||
// {
|
||||
// ApplyConstraint();
|
||||
//
|
||||
// if (i % (iterateCollisionsEvery + 1) == 0)
|
||||
// {
|
||||
// AdjustCollisions();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// void Simulate()
|
||||
// {
|
||||
// float fixedDt = Time.fixedDeltaTime;
|
||||
// for (int i = 0; i < totalNodes; i++)
|
||||
// {
|
||||
// Vector3 velocity = (currentNodePositions[i] - previousNodePositions[i]) * velocityDampen;
|
||||
// previousNodePositions[i] = currentNodePositions[i];
|
||||
// currentNodePositions[i] += velocity + gravity * fixedDt;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// void ApplyConstraint()
|
||||
// {
|
||||
// // 绑定到起点Transform
|
||||
// if (startAttachment != null)
|
||||
// {
|
||||
// currentNodePositions[0] = startAttachment.position;
|
||||
// }
|
||||
//
|
||||
// // 绑定到终点Transform
|
||||
// if (endAttachment != null)
|
||||
// {
|
||||
// currentNodePositions[totalNodes - 1] = endAttachment.position;
|
||||
// }
|
||||
//
|
||||
// float halfStiffness = 0.5f * stiffness;
|
||||
// int nodeCountMinusOne = totalNodes - 1;
|
||||
//
|
||||
// for (int i = 0; i < nodeCountMinusOne; i++)
|
||||
// {
|
||||
// Vector3 node1 = currentNodePositions[i];
|
||||
// Vector3 node2 = currentNodePositions[i + 1];
|
||||
// Vector3 diff = node1 - node2;
|
||||
//
|
||||
// float desiredDistance = (i == nodeCountMinusOne - 1 && (totalLength % nodeDistance) > 0)
|
||||
// ? (totalLength % nodeDistance)
|
||||
// : nodeDistance;
|
||||
//
|
||||
// float sqrDesiredDistance = desiredDistance * desiredDistance;
|
||||
// float sqrDistance = diff.x * diff.x + diff.y * diff.y + diff.z * diff.z;
|
||||
//
|
||||
// if (Mathf.Abs(sqrDistance - sqrDesiredDistance) > 0.001f)
|
||||
// {
|
||||
// float distance = Mathf.Sqrt(sqrDistance);
|
||||
// float difference = desiredDistance - distance;
|
||||
// Vector3 direction = diff / distance;
|
||||
//
|
||||
// Vector3 adjustment = direction * (difference * halfStiffness);
|
||||
//
|
||||
// currentNodePositions[i] += adjustment;
|
||||
// currentNodePositions[i + 1] -= adjustment;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// void AdjustCollisions()
|
||||
// {
|
||||
// for (int i = 1; i < totalNodes; i += 2)
|
||||
// {
|
||||
// int hits = Physics.OverlapSphereNonAlloc(
|
||||
// currentNodePositions[i],
|
||||
// nodeColliderRadius,
|
||||
// colliderHitBuffer,
|
||||
// ~(1 << 8));
|
||||
//
|
||||
// for (int n = 0; n < hits; n++)
|
||||
// {
|
||||
// if (Physics.ComputePenetration(
|
||||
// nodeCollider,
|
||||
// currentNodePositions[i],
|
||||
// Quaternion.identity,
|
||||
// colliderHitBuffer[n],
|
||||
// colliderHitBuffer[n].transform.position,
|
||||
// colliderHitBuffer[n].transform.rotation,
|
||||
// out Vector3 direction,
|
||||
// out float distance))
|
||||
// {
|
||||
// currentNodePositions[i] += direction * distance;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// void DrawRope()
|
||||
// {
|
||||
// lineRenderer.positionCount = totalNodes;
|
||||
// lineRenderer.SetPositions(currentNodePositions);
|
||||
// }
|
||||
//
|
||||
// void OnDestroy()
|
||||
// {
|
||||
// if (nodeTester != null)
|
||||
// {
|
||||
// Destroy(nodeTester);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// // 公开方法用于动态设置绑定点
|
||||
// public void SetAttachments(Transform start, Transform end)
|
||||
// {
|
||||
// startAttachment = start;
|
||||
// endAttachment = end;
|
||||
// }
|
||||
// }
|
||||
3
Assets/Scripts/Fishing/Rope.meta
Normal file
3
Assets/Scripts/Fishing/Rope.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1330e7f73f804eea8ae09724f6bb1039
|
||||
timeCreated: 1766759962
|
||||
56
Assets/Scripts/Fishing/Rope/RodLine.cs
Normal file
56
Assets/Scripts/Fishing/Rope/RodLine.cs
Normal file
@@ -0,0 +1,56 @@
|
||||
using Obi;
|
||||
using UnityEngine;
|
||||
|
||||
public class RodLine : MonoBehaviour
|
||||
{
|
||||
private ObiRope obiRope;
|
||||
|
||||
private LineRenderer lineRenderer;
|
||||
|
||||
private Transform[] points;
|
||||
|
||||
public void GenerateLineRendererRope(Transform[] points, float thickness)
|
||||
{
|
||||
if (points.Length < 2)
|
||||
{
|
||||
Debug.LogError("LineRenderer requires at least two points.");
|
||||
return;
|
||||
}
|
||||
|
||||
this.points = points;
|
||||
if (lineRenderer == null)
|
||||
{
|
||||
lineRenderer = base.gameObject.GetComponent<LineRenderer>();
|
||||
if (lineRenderer == null)
|
||||
{
|
||||
lineRenderer = base.gameObject.AddComponent<LineRenderer>();
|
||||
}
|
||||
}
|
||||
|
||||
lineRenderer.positionCount = points.Length;
|
||||
lineRenderer.startWidth = thickness;
|
||||
lineRenderer.endWidth = thickness;
|
||||
for (int i = 0; i < points.Length; i++)
|
||||
{
|
||||
lineRenderer.SetPosition(i, points[i].position);
|
||||
}
|
||||
}
|
||||
|
||||
private void LateUpdate()
|
||||
{
|
||||
if (lineRenderer == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
for (int i = 0; i < points.Length; i++)
|
||||
{
|
||||
Transform transform = points[i];
|
||||
if ((bool)transform)
|
||||
{
|
||||
lineRenderer.SetPosition(i, transform.position);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
3
Assets/Scripts/Fishing/Rope/RodLine.cs.meta
Normal file
3
Assets/Scripts/Fishing/Rope/RodLine.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5625b86b9e4b4482b82d83b962d0c873
|
||||
timeCreated: 1766759973
|
||||
35
Assets/Scripts/Fishing/Rope/Rope.cs
Normal file
35
Assets/Scripts/Fishing/Rope/Rope.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using NBF;
|
||||
using Obi;
|
||||
using UnityEngine;
|
||||
|
||||
public class Rope : MonoBehaviour
|
||||
{
|
||||
private FRod _rod;
|
||||
[SerializeField] private ObiRope rope;
|
||||
|
||||
[SerializeField] private ObiRopeCursor cursor;
|
||||
|
||||
[SerializeField] private float percentageElasticity = 0.2f;
|
||||
|
||||
private float stretchScale;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
rope = GetComponent<ObiRope>();
|
||||
if (_rod)
|
||||
{
|
||||
LineLength_OnValueChanged(_rod.lineLength);
|
||||
}
|
||||
}
|
||||
|
||||
public void LineLength_OnValueChanged(float length)
|
||||
{
|
||||
cursor = ((cursor == null) ? GetComponent<ObiRopeCursor>() : cursor);
|
||||
stretchScale = Mathf.Clamp(length - percentageElasticity, 0f, float.PositiveInfinity);
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
rope.stretchingScale = stretchScale;
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/Fishing/Rope/Rope.cs.meta
Normal file
3
Assets/Scripts/Fishing/Rope/Rope.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 98ba9d435a0e49c9bb527c34cc91894d
|
||||
timeCreated: 1766759607
|
||||
@@ -8,13 +8,7 @@ namespace NBF
|
||||
public FPlayer Player { get; protected set; }
|
||||
public FRod Rod { get; protected set; }
|
||||
public ItemInfo ItemInfo;
|
||||
|
||||
public HookAsset hookAsset;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
hookAsset = GetComponent<HookAsset>();
|
||||
}
|
||||
|
||||
|
||||
public virtual void Init(FPlayer player, FRod rod)
|
||||
{
|
||||
|
||||
@@ -1,12 +1,25 @@
|
||||
using UnityEngine;
|
||||
using Obi;
|
||||
using UnityEngine;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
public class FLine : FGearBase
|
||||
{
|
||||
[SerializeField] private ObiParticleAttachment startParticleAttachment;
|
||||
[SerializeField] private bool isLureConnect;
|
||||
[SerializeField] private RodLine rodLine;
|
||||
[SerializeField] private Rope fishingRope;
|
||||
|
||||
public float LineLength = 0.5f;
|
||||
|
||||
private float _groundSetting = 0.5f;
|
||||
|
||||
private float _LineOnSpool = 100f;
|
||||
|
||||
private float _LineThickness = 0.0007f;
|
||||
|
||||
protected override void OnInit()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,190 +1,190 @@
|
||||
using System;
|
||||
using NBF;
|
||||
using Obi;
|
||||
using Unity.VisualScripting;
|
||||
using UnityEngine;
|
||||
|
||||
public class FLineHandler : MonoBehaviour
|
||||
{
|
||||
public enum LineType
|
||||
{
|
||||
None = 0,
|
||||
OneSegment = 1,
|
||||
TwoSegment = 2,
|
||||
ThereSegment = 3
|
||||
}
|
||||
|
||||
public LineType lineType = LineType.TwoSegment;
|
||||
|
||||
public ObiRope obiRopeSegment_1;
|
||||
|
||||
public ObiRope obiRopeSegment_2;
|
||||
|
||||
public ObiRope obiRopeSegment_3;
|
||||
|
||||
public FixedLine LineConnector_0;
|
||||
|
||||
public SpringJoint LineConnector_1;
|
||||
|
||||
public SpringJoint LineConnector_2;
|
||||
|
||||
public SpringJoint LineConnector_3;
|
||||
|
||||
// [HideInInspector] public FFishingLine currentRodFishingLineComponent;
|
||||
|
||||
// public ObiParticleAttachment toRodConnector;
|
||||
|
||||
// public float PhisicsLineOut { get; set; }
|
||||
|
||||
public float ObiLineOut;
|
||||
|
||||
[HideInInspector] public Rigidbody EndLineRigidbody_0;
|
||||
|
||||
[HideInInspector] public Rigidbody EndLineRigidbody_1;
|
||||
|
||||
[HideInInspector] public Rigidbody EndLineRigidbody_2;
|
||||
|
||||
[HideInInspector] public Rigidbody EndLineRigidbody_3;
|
||||
|
||||
// public JointPinchController pinchController;
|
||||
|
||||
public FRod Rod;
|
||||
|
||||
private Transform waterPlane;
|
||||
|
||||
|
||||
// public float ropeToHookDistance;
|
||||
|
||||
void Start()
|
||||
{
|
||||
ObiLineOut = obiRopeSegment_1.stretchingScale;
|
||||
if ((bool)LineConnector_0)
|
||||
{
|
||||
EndLineRigidbody_0 = LineConnector_0.GetComponent<Rigidbody>();
|
||||
}
|
||||
|
||||
if ((bool)LineConnector_1)
|
||||
{
|
||||
EndLineRigidbody_1 = LineConnector_1.GetComponent<Rigidbody>();
|
||||
}
|
||||
|
||||
if ((bool)LineConnector_2)
|
||||
{
|
||||
EndLineRigidbody_2 = LineConnector_2.GetComponent<Rigidbody>();
|
||||
// var fixedJoint = LineConnector_2.GetComponent<FixedJoint>();
|
||||
// pinchController = LineConnector_2.gameObject.AddComponent<JointPinchController>();
|
||||
}
|
||||
|
||||
if ((bool)LineConnector_3)
|
||||
{
|
||||
EndLineRigidbody_3 = LineConnector_3.GetComponent<Rigidbody>();
|
||||
}
|
||||
|
||||
waterPlane = GameObject.FindGameObjectWithTag("Water").transform;
|
||||
|
||||
Debug.LogError($"rope.restLength={obiRopeSegment_1.restLength} LineConnector_1={LineConnector_1.maxDistance}");
|
||||
}
|
||||
|
||||
|
||||
void Update()
|
||||
{
|
||||
if (!Rod) return;
|
||||
|
||||
|
||||
// ropeToHookDistance = Vector3.Distance(toRodConnector.transform.position, LineConnector_1.transform.position);
|
||||
|
||||
ObiLineOut = 0.1f + Rod.lineLength;
|
||||
float target = (0f - Mathf.Clamp(Rod.linelenghtDiferent, -1f, 0f)) * 0.1f;
|
||||
if (Rod.linelenghtDiferent >= 0f)
|
||||
{
|
||||
obiRopeSegment_1.stretchCompliance = Mathf.MoveTowards(obiRopeSegment_1.stretchCompliance, target,
|
||||
Time.smoothDeltaTime * (1f * Rod.linelenghtDiferent));
|
||||
}
|
||||
else
|
||||
{
|
||||
obiRopeSegment_1.stretchCompliance = Mathf.MoveTowards(obiRopeSegment_1.stretchCompliance, target,
|
||||
Time.smoothDeltaTime * 0.1f);
|
||||
}
|
||||
|
||||
if (Rod.lineLength == 0f)
|
||||
{
|
||||
obiRopeSegment_1.stretchCompliance = 0f;
|
||||
}
|
||||
|
||||
if ((bool)obiRopeSegment_2)
|
||||
{
|
||||
if (!Rod.currentFish)
|
||||
{
|
||||
obiRopeSegment_2.stretchCompliance = obiRopeSegment_2.stretchingScale * 0.004f;
|
||||
}
|
||||
else
|
||||
{
|
||||
obiRopeSegment_2.stretchCompliance = 0f;
|
||||
}
|
||||
|
||||
//TODO:TEST
|
||||
obiRopeSegment_2.stretchingScale = 0.13F;
|
||||
}
|
||||
|
||||
obiRopeSegment_1.stretchingScale = ObiLineOut;
|
||||
obiRopeSegment_1.stretchingScale = 1;
|
||||
LineConnector_1.maxDistance = 0.1f + Rod.lineLength;
|
||||
if (Input.GetKey(KeyCode.E))
|
||||
{
|
||||
// var speed = 1;
|
||||
// obiRopeCursor_1.ChangeLength(LineConnector_1.maxDistance);
|
||||
// Debug.Log(obiRopeSegment_1.restLength);
|
||||
}
|
||||
|
||||
// var addLength = LineConnector_1.maxDistance - obiRopeSegment_1.restLength;
|
||||
// if (Mathf.Abs(addLength) > 0.001f)
|
||||
// {
|
||||
// obiRopeCursor_1.ChangeLength(LineConnector_1.maxDistance);
|
||||
// }
|
||||
|
||||
// if (!Mathf.Approximately(LineConnector_1.maxDistance, obiRopeSegment_1.restLength))
|
||||
// {
|
||||
// obiRopeCursor_1.ChangeLength(LineConnector_1.maxDistance);
|
||||
// }
|
||||
|
||||
// obiRopeCursor_1.pos
|
||||
|
||||
|
||||
// LineConnector_1.minDistance = LineConnector_1.maxDistance;
|
||||
}
|
||||
|
||||
public void SetSegmentTwoLenght(float lenght)
|
||||
{
|
||||
LineConnector_2.maxDistance = lenght;
|
||||
// obiRopeCursor_2.ChangeLength(lenght);
|
||||
// LineConnector_2.minDistance = LineConnector_2.maxDistance;
|
||||
}
|
||||
|
||||
private void FixedUpdate()
|
||||
{
|
||||
// BindRod();
|
||||
LineWaterDisplacement();
|
||||
}
|
||||
|
||||
private void BindRod()
|
||||
{
|
||||
if (!Rod || !Rod.Asset) return;
|
||||
LineConnector_0.transform.position = Rod.Asset.lineConnector.position;
|
||||
}
|
||||
|
||||
private void LineWaterDisplacement()
|
||||
{
|
||||
if (!waterPlane)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
for (int i = 0; i < obiRopeSegment_1.activeParticleCount; i++)
|
||||
{
|
||||
if (obiRopeSegment_1.GetParticlePosition(i).y < waterPlane.position.y)
|
||||
{
|
||||
// obiRopeSegment_1.AddForceParticle(i, Vector3.up * 10f, ForceMode.Acceleration);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// using System;
|
||||
// using NBF;
|
||||
// using Obi;
|
||||
// using Unity.VisualScripting;
|
||||
// using UnityEngine;
|
||||
//
|
||||
// public class FLineHandler : MonoBehaviour
|
||||
// {
|
||||
// public enum LineType
|
||||
// {
|
||||
// None = 0,
|
||||
// OneSegment = 1,
|
||||
// TwoSegment = 2,
|
||||
// ThereSegment = 3
|
||||
// }
|
||||
//
|
||||
// public LineType lineType = LineType.TwoSegment;
|
||||
//
|
||||
// public ObiRope obiRopeSegment_1;
|
||||
//
|
||||
// public ObiRope obiRopeSegment_2;
|
||||
//
|
||||
// public ObiRope obiRopeSegment_3;
|
||||
//
|
||||
// public FixedLine LineConnector_0;
|
||||
//
|
||||
// public SpringJoint LineConnector_1;
|
||||
//
|
||||
// public SpringJoint LineConnector_2;
|
||||
//
|
||||
// public SpringJoint LineConnector_3;
|
||||
//
|
||||
// // [HideInInspector] public FFishingLine currentRodFishingLineComponent;
|
||||
//
|
||||
// // public ObiParticleAttachment toRodConnector;
|
||||
//
|
||||
// // public float PhisicsLineOut { get; set; }
|
||||
//
|
||||
// public float ObiLineOut;
|
||||
//
|
||||
// [HideInInspector] public Rigidbody EndLineRigidbody_0;
|
||||
//
|
||||
// [HideInInspector] public Rigidbody EndLineRigidbody_1;
|
||||
//
|
||||
// [HideInInspector] public Rigidbody EndLineRigidbody_2;
|
||||
//
|
||||
// [HideInInspector] public Rigidbody EndLineRigidbody_3;
|
||||
//
|
||||
// // public JointPinchController pinchController;
|
||||
//
|
||||
// public FRod Rod;
|
||||
//
|
||||
// private Transform waterPlane;
|
||||
//
|
||||
//
|
||||
// // public float ropeToHookDistance;
|
||||
//
|
||||
// void Start()
|
||||
// {
|
||||
// ObiLineOut = obiRopeSegment_1.stretchingScale;
|
||||
// if ((bool)LineConnector_0)
|
||||
// {
|
||||
// EndLineRigidbody_0 = LineConnector_0.GetComponent<Rigidbody>();
|
||||
// }
|
||||
//
|
||||
// if ((bool)LineConnector_1)
|
||||
// {
|
||||
// EndLineRigidbody_1 = LineConnector_1.GetComponent<Rigidbody>();
|
||||
// }
|
||||
//
|
||||
// if ((bool)LineConnector_2)
|
||||
// {
|
||||
// EndLineRigidbody_2 = LineConnector_2.GetComponent<Rigidbody>();
|
||||
// // var fixedJoint = LineConnector_2.GetComponent<FixedJoint>();
|
||||
// // pinchController = LineConnector_2.gameObject.AddComponent<JointPinchController>();
|
||||
// }
|
||||
//
|
||||
// if ((bool)LineConnector_3)
|
||||
// {
|
||||
// EndLineRigidbody_3 = LineConnector_3.GetComponent<Rigidbody>();
|
||||
// }
|
||||
//
|
||||
// waterPlane = GameObject.FindGameObjectWithTag("Water").transform;
|
||||
//
|
||||
// Debug.LogError($"rope.restLength={obiRopeSegment_1.restLength} LineConnector_1={LineConnector_1.maxDistance}");
|
||||
// }
|
||||
//
|
||||
//
|
||||
// void Update()
|
||||
// {
|
||||
// if (!Rod) return;
|
||||
//
|
||||
//
|
||||
// // ropeToHookDistance = Vector3.Distance(toRodConnector.transform.position, LineConnector_1.transform.position);
|
||||
//
|
||||
// ObiLineOut = 0.1f + Rod.lineLength;
|
||||
// float target = (0f - Mathf.Clamp(Rod.linelenghtDiferent, -1f, 0f)) * 0.1f;
|
||||
// if (Rod.linelenghtDiferent >= 0f)
|
||||
// {
|
||||
// obiRopeSegment_1.stretchCompliance = Mathf.MoveTowards(obiRopeSegment_1.stretchCompliance, target,
|
||||
// Time.smoothDeltaTime * (1f * Rod.linelenghtDiferent));
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// obiRopeSegment_1.stretchCompliance = Mathf.MoveTowards(obiRopeSegment_1.stretchCompliance, target,
|
||||
// Time.smoothDeltaTime * 0.1f);
|
||||
// }
|
||||
//
|
||||
// if (Rod.lineLength == 0f)
|
||||
// {
|
||||
// obiRopeSegment_1.stretchCompliance = 0f;
|
||||
// }
|
||||
//
|
||||
// if ((bool)obiRopeSegment_2)
|
||||
// {
|
||||
// if (!Rod.currentFish)
|
||||
// {
|
||||
// obiRopeSegment_2.stretchCompliance = obiRopeSegment_2.stretchingScale * 0.004f;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// obiRopeSegment_2.stretchCompliance = 0f;
|
||||
// }
|
||||
//
|
||||
// //TODO:TEST
|
||||
// obiRopeSegment_2.stretchingScale = 0.13F;
|
||||
// }
|
||||
//
|
||||
// obiRopeSegment_1.stretchingScale = ObiLineOut;
|
||||
// obiRopeSegment_1.stretchingScale = 1;
|
||||
// LineConnector_1.maxDistance = 0.1f + Rod.lineLength;
|
||||
// if (Input.GetKey(KeyCode.E))
|
||||
// {
|
||||
// // var speed = 1;
|
||||
// // obiRopeCursor_1.ChangeLength(LineConnector_1.maxDistance);
|
||||
// // Debug.Log(obiRopeSegment_1.restLength);
|
||||
// }
|
||||
//
|
||||
// // var addLength = LineConnector_1.maxDistance - obiRopeSegment_1.restLength;
|
||||
// // if (Mathf.Abs(addLength) > 0.001f)
|
||||
// // {
|
||||
// // obiRopeCursor_1.ChangeLength(LineConnector_1.maxDistance);
|
||||
// // }
|
||||
//
|
||||
// // if (!Mathf.Approximately(LineConnector_1.maxDistance, obiRopeSegment_1.restLength))
|
||||
// // {
|
||||
// // obiRopeCursor_1.ChangeLength(LineConnector_1.maxDistance);
|
||||
// // }
|
||||
//
|
||||
// // obiRopeCursor_1.pos
|
||||
//
|
||||
//
|
||||
// // LineConnector_1.minDistance = LineConnector_1.maxDistance;
|
||||
// }
|
||||
//
|
||||
// public void SetSegmentTwoLenght(float lenght)
|
||||
// {
|
||||
// LineConnector_2.maxDistance = lenght;
|
||||
// // obiRopeCursor_2.ChangeLength(lenght);
|
||||
// // LineConnector_2.minDistance = LineConnector_2.maxDistance;
|
||||
// }
|
||||
//
|
||||
// private void FixedUpdate()
|
||||
// {
|
||||
// // BindRod();
|
||||
// LineWaterDisplacement();
|
||||
// }
|
||||
//
|
||||
// private void BindRod()
|
||||
// {
|
||||
// if (!Rod || !Rod.Asset) return;
|
||||
// LineConnector_0.transform.position = Rod.Asset.lineConnector.position;
|
||||
// }
|
||||
//
|
||||
// private void LineWaterDisplacement()
|
||||
// {
|
||||
// if (!waterPlane)
|
||||
// {
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// for (int i = 0; i < obiRopeSegment_1.activeParticleCount; i++)
|
||||
// {
|
||||
// if (obiRopeSegment_1.GetParticlePosition(i).y < waterPlane.position.y)
|
||||
// {
|
||||
// // obiRopeSegment_1.AddForceParticle(i, Vector3.up * 10f, ForceMode.Acceleration);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
@@ -30,10 +30,6 @@ namespace NBF
|
||||
public FWeight Weight;
|
||||
public FLine Line;
|
||||
|
||||
/// <summary>
|
||||
/// 鱼线处理器
|
||||
/// </summary>
|
||||
public FLineHandler lineHandler;
|
||||
|
||||
public Transform GearRoot;
|
||||
|
||||
@@ -81,9 +77,12 @@ namespace NBF
|
||||
|
||||
var parent = GearRoot;
|
||||
|
||||
CreateFishingHandler();
|
||||
|
||||
List<ItemInfo> children = RoleModel.Instance.GetBindItems(itemInfo.Id);
|
||||
|
||||
ItemInfo lineItemInfo = null;
|
||||
|
||||
// CreateFishingHandler();
|
||||
|
||||
// children.Sort();
|
||||
foreach (var child in children)
|
||||
{
|
||||
@@ -124,7 +123,13 @@ namespace NBF
|
||||
Quaternion.identity);
|
||||
Weight.SetItemInfo(child);
|
||||
}
|
||||
else if (itemType == ItemType.Line)
|
||||
{
|
||||
lineItemInfo = child;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
yield return 1;
|
||||
if (Reel)
|
||||
@@ -136,40 +141,40 @@ namespace NBF
|
||||
Reel.Init(player, this);
|
||||
}
|
||||
|
||||
if (Bobber)
|
||||
{
|
||||
Bobber.Init(Player, this);
|
||||
Bobber.transform.position = lineHandler.LineConnector_1.transform.position;
|
||||
Bobber.gameObject.GetComponent<ConfigurableJoint>().connectedBody =
|
||||
lineHandler.LineConnector_1.GetComponent<Rigidbody>();
|
||||
}
|
||||
|
||||
if (Hook)
|
||||
{
|
||||
Hook.Init(Player, this);
|
||||
Hook.transform.position = lineHandler.LineConnector_2.transform.position;
|
||||
Hook.transform.rotation = lineHandler.LineConnector_2.transform.rotation; // 确保旋转也同步
|
||||
var target = lineHandler.LineConnector_2.GetComponent<Rigidbody>();
|
||||
var joint = Hook.gameObject.GetComponent<ConfigurableJoint>();
|
||||
joint.connectedBody = target;
|
||||
// LureHookWaterDisplacement = Hook.GetComponent<FWaterDisplacement>();
|
||||
}
|
||||
|
||||
if (Bait)
|
||||
{
|
||||
Bait.Init(Player, this);
|
||||
Bait.transform.position = Hook.hookAsset.baitConnector.position;
|
||||
Bait.transform.SetParent(Hook.hookAsset.baitConnector);
|
||||
}
|
||||
|
||||
if (Lure)
|
||||
{
|
||||
Lure.Init(Player, this);
|
||||
Lure.transform.position = lineHandler.LineConnector_1.transform.position;
|
||||
Lure.gameObject.GetComponent<ConfigurableJoint>().connectedBody =
|
||||
lineHandler.LineConnector_1.GetComponent<Rigidbody>();
|
||||
// LureHookWaterDisplacement = Lure.GetComponent<FWaterDisplacement>();
|
||||
}
|
||||
// if (Bobber)
|
||||
// {
|
||||
// Bobber.Init(Player, this);
|
||||
// Bobber.transform.position = lineHandler.LineConnector_1.transform.position;
|
||||
// Bobber.gameObject.GetComponent<ConfigurableJoint>().connectedBody =
|
||||
// lineHandler.LineConnector_1.GetComponent<Rigidbody>();
|
||||
// }
|
||||
//
|
||||
// if (Hook)
|
||||
// {
|
||||
// Hook.Init(Player, this);
|
||||
// Hook.transform.position = lineHandler.LineConnector_2.transform.position;
|
||||
// Hook.transform.rotation = lineHandler.LineConnector_2.transform.rotation; // 确保旋转也同步
|
||||
// var target = lineHandler.LineConnector_2.GetComponent<Rigidbody>();
|
||||
// var joint = Hook.gameObject.GetComponent<ConfigurableJoint>();
|
||||
// joint.connectedBody = target;
|
||||
// // LureHookWaterDisplacement = Hook.GetComponent<FWaterDisplacement>();
|
||||
// }
|
||||
//
|
||||
// if (Bait)
|
||||
// {
|
||||
// Bait.Init(Player, this);
|
||||
// Bait.transform.position = Hook.hookAsset.baitConnector.position;
|
||||
// Bait.transform.SetParent(Hook.hookAsset.baitConnector);
|
||||
// }
|
||||
//
|
||||
// if (Lure)
|
||||
// {
|
||||
// Lure.Init(Player, this);
|
||||
// Lure.transform.position = lineHandler.LineConnector_1.transform.position;
|
||||
// Lure.gameObject.GetComponent<ConfigurableJoint>().connectedBody =
|
||||
// lineHandler.LineConnector_1.GetComponent<Rigidbody>();
|
||||
// // LureHookWaterDisplacement = Lure.GetComponent<FWaterDisplacement>();
|
||||
// }
|
||||
|
||||
if (Weight)
|
||||
{
|
||||
@@ -223,95 +228,5 @@ namespace NBF
|
||||
|
||||
rings = list.ToArray();
|
||||
}
|
||||
|
||||
|
||||
public void CreateFishingHandler()
|
||||
{
|
||||
if (lineHandler == null)
|
||||
{
|
||||
Debug.LogError("创建钓组=====");
|
||||
var rodType = (ItemSubType)ItemInfo.Config.Type;
|
||||
if (rodType == ItemSubType.RodTele)
|
||||
{
|
||||
CreateObiFishingLine(0);
|
||||
}
|
||||
else if (rodType == ItemSubType.RodSpine || rodType == ItemSubType.RodBolo)
|
||||
{
|
||||
CreateObiFishingLine(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void CreateObiFishingLine(int currentLineTypeIndex)
|
||||
{
|
||||
// if ((bool)Owner.Gears.Reel && !currentLineHandler)
|
||||
if (!lineHandler)
|
||||
{
|
||||
var indexNames = new[] { "FFishingLine_0", "FFishingLine_1" };
|
||||
var path =
|
||||
$"Assets/ResRaw/Prefabs/{indexNames[currentLineTypeIndex]}.prefab"; //$"GameItemsPrefabs/Lines/{indexNames[currentLineTypeIndex]}";
|
||||
var prefab = Assets.Load<GameObject>(path);
|
||||
|
||||
// var toRodConnector = rodAsset.lineConnector.GetComponent<Rigidbody>();
|
||||
GameObject obj = Instantiate(prefab, GearRoot.position, Quaternion.identity, GearRoot);
|
||||
|
||||
lineHandler = obj.GetComponent<FLineHandler>();
|
||||
// lineHandler.transform.SetParent(toRodConnector.transform);
|
||||
lineHandler.transform.position = Asset.lineConnector.position;
|
||||
lineHandler.LineConnector_0.target = Asset.lineConnector; //.GetComponent<Rigidbody>();
|
||||
// lineHandler.toRodConnector.target = rodAsset.lineConnector;
|
||||
lineHandler.Rod = this;
|
||||
// var obiSolver = lineHandler.GetComponent<ObiSolver>();
|
||||
// SceneSettings.Instance.obiFixedUpdater.solvers.Add(obiSolver);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void RenderLine()
|
||||
{
|
||||
if (!lineHandler)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Reel) return;
|
||||
if (!Asset.lineRenderer) return;
|
||||
|
||||
// var reel = Reel;
|
||||
// int num = 0;
|
||||
// bool isBlockLineByFinger = reel.isBlockLineByFinger;
|
||||
// if (reel.AnimatorCtrl.Unlock && isBlockLineByFinger && reel.reelAsset.type == ReelAsset.Type.Normal)
|
||||
// {
|
||||
// Asset.lineRenderer.positionCount = rings.Length + 3;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// Asset.lineRenderer.positionCount = rings.Length + 2;
|
||||
// }
|
||||
//
|
||||
// Asset.lineRenderer.SetPosition(num, reel.reelAsset.lineIntersectHelper.position);
|
||||
// num++;
|
||||
// if (reel.AnimatorCtrl.Unlock && reel.reelAsset.type == ReelAsset.Type.Normal)
|
||||
// {
|
||||
// Asset.lineRenderer.SetPosition(num, reel.reelAsset.lineIntersect.position);
|
||||
// num++;
|
||||
// if (isBlockLineByFinger)
|
||||
// {
|
||||
// // Asset.lineRenderer.SetPosition(num, reel.reelAsset.lineFingerPoint.position);
|
||||
// // num++;
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// Asset.lineRenderer.SetPosition(num, reel.reelAsset.lineConnector.position);
|
||||
// num++;
|
||||
// }
|
||||
//
|
||||
// for (int num2 = 0; num2 < rings.Length; num2++)
|
||||
// {
|
||||
// Asset.lineRenderer.SetPosition(num, rings[num2].point.position);
|
||||
// num++;
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
176
Assets/Scripts/ThirdParty/PhysicsTools/Bezier.cs
vendored
176
Assets/Scripts/ThirdParty/PhysicsTools/Bezier.cs
vendored
@@ -1,176 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PhysicsTools
|
||||
{
|
||||
public class Bezier
|
||||
{
|
||||
private Vector3[] knots;
|
||||
|
||||
private Vector3[] firstControlPts;
|
||||
|
||||
private Vector3[] secondControlPts;
|
||||
|
||||
private int lastIndex = 1;
|
||||
|
||||
private float lengthCovered;
|
||||
|
||||
private float indexedLength;
|
||||
|
||||
private float totalLength;
|
||||
|
||||
public Bezier(List<PosOri> points)
|
||||
{
|
||||
Vector3[] array = new Vector3[points.Count];
|
||||
for (int i = 0; i < points.Count; i++)
|
||||
{
|
||||
array[i] = points[i].pos;
|
||||
}
|
||||
init(array);
|
||||
}
|
||||
|
||||
public Bezier(Vector3[] points)
|
||||
{
|
||||
init(points);
|
||||
}
|
||||
|
||||
private void init(Vector3[] points)
|
||||
{
|
||||
knots = new Vector3[points.Length];
|
||||
for (int i = 0; i < points.Length; i++)
|
||||
{
|
||||
knots[i] = points[i];
|
||||
if (i != 0)
|
||||
{
|
||||
totalLength += (knots[i] - knots[i - 1]).magnitude;
|
||||
}
|
||||
}
|
||||
GetCurveControlPoints(knots, out firstControlPts, out secondControlPts);
|
||||
indexedLength = (knots[1] - knots[0]).magnitude;
|
||||
}
|
||||
|
||||
public float TotalLength()
|
||||
{
|
||||
return totalLength;
|
||||
}
|
||||
|
||||
public PosOri getNext(float deltaLen)
|
||||
{
|
||||
return new PosOri(getNextPos(deltaLen), Quaternion.identity);
|
||||
}
|
||||
|
||||
public Vector3 getNextPos(float deltaLen)
|
||||
{
|
||||
bool flag = false;
|
||||
float num = indexedLength;
|
||||
float num2 = indexedLength;
|
||||
while (!flag)
|
||||
{
|
||||
num = indexedLength;
|
||||
num2 = indexedLength - (knots[lastIndex] - knots[lastIndex - 1]).magnitude;
|
||||
if (lengthCovered + deltaLen > num)
|
||||
{
|
||||
lastIndex++;
|
||||
if (lastIndex == knots.Length)
|
||||
{
|
||||
flag = true;
|
||||
deltaLen = num - lengthCovered;
|
||||
lastIndex = knots.Length - 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
indexedLength += (knots[lastIndex] - knots[lastIndex - 1]).magnitude;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
float num3 = (lengthCovered + deltaLen - num2) / (num - num2);
|
||||
Vector3 result = (float)Math.Pow(1f - num3, 3.0) * knots[lastIndex - 1] + 3f * (float)Math.Pow(1f - num3, 2.0) * num3 * firstControlPts[lastIndex - 1] + 3f * (1f - num3) * num3 * num3 * secondControlPts[lastIndex - 1] + num3 * num3 * num3 * knots[lastIndex];
|
||||
lengthCovered += deltaLen;
|
||||
return result;
|
||||
}
|
||||
|
||||
private void GetCurveControlPoints(Vector3[] knots, out Vector3[] firstControlPoints, out Vector3[] secondControlPoints)
|
||||
{
|
||||
if (knots == null)
|
||||
{
|
||||
throw new ArgumentNullException("knots");
|
||||
}
|
||||
int num = knots.Length - 1;
|
||||
if (num < 1)
|
||||
{
|
||||
throw new ArgumentException("At least two knot points required", "knots");
|
||||
}
|
||||
if (num == 1)
|
||||
{
|
||||
firstControlPoints = new Vector3[1];
|
||||
firstControlPoints[0].x = (2f * knots[0].x + knots[1].x) / 3f;
|
||||
firstControlPoints[0].y = (2f * knots[0].y + knots[1].y) / 3f;
|
||||
firstControlPoints[0].z = (2f * knots[0].z + knots[1].z) / 3f;
|
||||
secondControlPoints = new Vector3[1];
|
||||
secondControlPoints[0].x = 2f * firstControlPoints[0].x - knots[0].x;
|
||||
secondControlPoints[0].y = 2f * firstControlPoints[0].y - knots[0].y;
|
||||
secondControlPoints[0].z = 2f * firstControlPoints[0].z - knots[0].z;
|
||||
return;
|
||||
}
|
||||
float[] array = new float[num];
|
||||
for (int i = 1; i < num - 1; i++)
|
||||
{
|
||||
array[i] = 4f * knots[i].x + 2f * knots[i + 1].x;
|
||||
}
|
||||
array[0] = knots[0].x + 2f * knots[1].x;
|
||||
array[num - 1] = (8f * knots[num - 1].x + knots[num].x) / 2f;
|
||||
float[] firstControlPoints2 = GetFirstControlPoints(array);
|
||||
for (int j = 1; j < num - 1; j++)
|
||||
{
|
||||
array[j] = 4f * knots[j].y + 2f * knots[j + 1].y;
|
||||
}
|
||||
array[0] = knots[0].y + 2f * knots[1].y;
|
||||
array[num - 1] = (8f * knots[num - 1].y + knots[num].y) / 2f;
|
||||
float[] firstControlPoints3 = GetFirstControlPoints(array);
|
||||
for (int k = 1; k < num - 1; k++)
|
||||
{
|
||||
array[k] = 4f * knots[k].z + 2f * knots[k + 1].z;
|
||||
}
|
||||
array[0] = knots[0].z + 2f * knots[1].z;
|
||||
array[num - 1] = (8f * knots[num - 1].z + knots[num].z) / 2f;
|
||||
float[] firstControlPoints4 = GetFirstControlPoints(array);
|
||||
firstControlPoints = new Vector3[num];
|
||||
secondControlPoints = new Vector3[num];
|
||||
for (int l = 0; l < num; l++)
|
||||
{
|
||||
firstControlPoints[l] = new Vector3(firstControlPoints2[l], firstControlPoints3[l], firstControlPoints4[l]);
|
||||
if (l < num - 1)
|
||||
{
|
||||
secondControlPoints[l] = new Vector3(2f * knots[l + 1].x - firstControlPoints2[l + 1], 2f * knots[l + 1].y - firstControlPoints3[l + 1], 2f * knots[l + 1].z - firstControlPoints4[l + 1]);
|
||||
}
|
||||
else
|
||||
{
|
||||
secondControlPoints[l] = new Vector3((knots[num].x + firstControlPoints2[num - 1]) / 2f, (knots[num].y + firstControlPoints3[num - 1]) / 2f, (knots[num].z + firstControlPoints4[num - 1]) / 2f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private float[] GetFirstControlPoints(float[] rhs)
|
||||
{
|
||||
int num = rhs.Length;
|
||||
float[] array = new float[num];
|
||||
float[] array2 = new float[num];
|
||||
float num2 = 2f;
|
||||
array[0] = rhs[0] / num2;
|
||||
for (int i = 1; i < num; i++)
|
||||
{
|
||||
array2[i] = 1f / num2;
|
||||
num2 = ((i >= num - 1) ? 3.5f : 4f) - array2[i];
|
||||
array[i] = (rhs[i] - array[i - 1]) / num2;
|
||||
}
|
||||
for (int j = 1; j < num; j++)
|
||||
{
|
||||
array[num - j - 1] -= array2[num - j] * array[num - j];
|
||||
}
|
||||
return array;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0cc4d18ef4a8ff6439959ca335b42593
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,18 +0,0 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace PhysicsTools
|
||||
{
|
||||
internal class BoneSegment : Segment
|
||||
{
|
||||
public GameObject bone;
|
||||
|
||||
public Matrix4x4 initTransform;
|
||||
|
||||
public BoneSegment(string name, float len, Vector3 pos, Quaternion q, SegmentPropertiesBase segProperties, Rope r, GameObject b)
|
||||
: base(name, len, pos, q, segProperties, r)
|
||||
{
|
||||
bone = b;
|
||||
initTransform = seg.transform.worldToLocalMatrix * bone.transform.localToWorldMatrix;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7d9816d80c9fd754aaa984a288cd35d3
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,62 +0,0 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PhysicsTools
|
||||
{
|
||||
[Serializable]
|
||||
public class ControlPoint
|
||||
{
|
||||
[Tooltip("Optional: Object")]
|
||||
public GameObject obj;
|
||||
|
||||
[Tooltip("Position through which rope will pass... If Object is specified then it is the local to the object otherwise it is global position")]
|
||||
public Vector3 localPos;
|
||||
|
||||
[Range(1f, 5f)]
|
||||
[Tooltip("SlackFraction: How much of the rope length should be created between two control points... If it is more than 1 then a catenary is formed between the control points")]
|
||||
public float slackFraction;
|
||||
|
||||
[Tooltip("Specify whether it is attached to the control point or not")]
|
||||
public bool attached;
|
||||
|
||||
public ControlPoint()
|
||||
{
|
||||
obj = null;
|
||||
slackFraction = 1f;
|
||||
attached = true;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return ((!(obj != null)) ? "Object: null" : ("Object:" + obj.ToString())) + ", Position: " + localPos.ToString() + ", SlackFraction: " + slackFraction + ", Attached: " + attached;
|
||||
}
|
||||
|
||||
public bool compare(ControlPoint rhs)
|
||||
{
|
||||
if (obj != rhs.obj || localPos != rhs.localPos || slackFraction != rhs.slackFraction || attached != rhs.attached)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public ControlPoint clone()
|
||||
{
|
||||
ControlPoint controlPoint = new ControlPoint();
|
||||
controlPoint.obj = obj;
|
||||
controlPoint.localPos = localPos;
|
||||
controlPoint.slackFraction = slackFraction;
|
||||
controlPoint.attached = attached;
|
||||
return controlPoint;
|
||||
}
|
||||
|
||||
public Vector3 globalPos(Rope rope)
|
||||
{
|
||||
if (obj != null)
|
||||
{
|
||||
return obj.transform.TransformPoint(localPos);
|
||||
}
|
||||
return rope.transform.TransformPoint(localPos);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4c3919bd67247ecf47ac8b5970b70372
|
||||
timeCreated: 1747788126
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
name:
|
||||
externalObjects: {}
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {fileID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
142
Assets/Scripts/ThirdParty/PhysicsTools/Joint.cs
vendored
142
Assets/Scripts/ThirdParty/PhysicsTools/Joint.cs
vendored
@@ -1,142 +0,0 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace PhysicsTools
|
||||
{
|
||||
public class Joint
|
||||
{
|
||||
public UnityEngine.Joint joint;
|
||||
|
||||
public Joint(Segment seg1, Segment seg2, JointProperties prop, SegmentPropertiesBase segProperties, Quaternion twistOffset)
|
||||
{
|
||||
if (seg2 == null)
|
||||
{
|
||||
}
|
||||
seg2.seg.transform.rotation = seg2.seg.transform.rotation * twistOffset;
|
||||
switch (prop.type)
|
||||
{
|
||||
case JointProperties.Type.HINGE_JOINT:
|
||||
{
|
||||
HingeJoint hingeJoint = seg1.seg.AddComponent<HingeJoint>();
|
||||
hingeJoint.autoConfigureConnectedAnchor = false;
|
||||
joint = hingeJoint;
|
||||
JointLimits limits = new JointLimits
|
||||
{
|
||||
min = 0f - prop.swingLimitDeg,
|
||||
max = prop.swingLimitDeg
|
||||
};
|
||||
joint.axis = new Vector3(0f, 0f, 1f);
|
||||
hingeJoint.limits = limits;
|
||||
break;
|
||||
}
|
||||
case JointProperties.Type.CONFIGURABLE_JOINT:
|
||||
{
|
||||
ConfigurableJoint configurableJoint = seg1.seg.AddComponent<ConfigurableJoint>();
|
||||
configurableJoint.enableCollision = false;
|
||||
configurableJoint.xMotion = ConfigurableJointMotion.Locked;
|
||||
configurableJoint.yMotion = ConfigurableJointMotion.Locked;
|
||||
configurableJoint.zMotion = ConfigurableJointMotion.Locked;
|
||||
configurableJoint.angularXMotion = ConfigurableJointMotion.Limited;
|
||||
configurableJoint.angularYMotion = ConfigurableJointMotion.Limited;
|
||||
configurableJoint.angularZMotion = ConfigurableJointMotion.Limited;
|
||||
configurableJoint.autoConfigureConnectedAnchor = false;
|
||||
configurableJoint.lowAngularXLimit = new SoftJointLimit
|
||||
{
|
||||
limit = 0f - prop.twistLimitDeg
|
||||
};
|
||||
configurableJoint.highAngularXLimit = new SoftJointLimit
|
||||
{
|
||||
limit = prop.twistLimitDeg
|
||||
};
|
||||
configurableJoint.projectionMode = JointProjectionMode.PositionAndRotation;
|
||||
configurableJoint.projectionDistance = prop.projectionDistance;
|
||||
SoftJointLimit softJointLimit = new SoftJointLimit
|
||||
{
|
||||
limit = prop.swingLimitDeg
|
||||
};
|
||||
configurableJoint.angularYLimit = softJointLimit;
|
||||
configurableJoint.angularZLimit = softJointLimit;
|
||||
joint = configurableJoint;
|
||||
joint.axis = new Vector3(0f, 1f, 0f);
|
||||
if (prop.breakingForce != 0f)
|
||||
{
|
||||
configurableJoint.breakForce = prop.breakingForce;
|
||||
}
|
||||
configurableJoint.enablePreprocessing = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (segProperties is SegmentPropertiesCylinder)
|
||||
{
|
||||
joint.anchor = new Vector3(0f, 1f - prop.offsetScale, 0f);
|
||||
joint.connectedAnchor = new Vector3(0f, -1f + prop.offsetScale, 0f);
|
||||
}
|
||||
else
|
||||
{
|
||||
joint.anchor = new Vector3(0f, (1f - prop.offsetScale) / 2f, 0f);
|
||||
joint.connectedAnchor = new Vector3(0f, (-1f + prop.offsetScale) / 2f, 0f);
|
||||
}
|
||||
joint.connectedBody = seg2.seg.GetComponent<Rigidbody>();
|
||||
}
|
||||
|
||||
public Joint(GameObject seg1, GameObject seg2, Vector3 vGlobalAnchor, Vector3 vGlobalAxis, JointProperties prop, Rope r, int jtPos)
|
||||
{
|
||||
ConfigurableJoint configurableJoint = seg1.AddComponent<ConfigurableJoint>();
|
||||
configurableJoint.enableCollision = false;
|
||||
configurableJoint.xMotion = ConfigurableJointMotion.Limited;
|
||||
configurableJoint.yMotion = ConfigurableJointMotion.Limited;
|
||||
configurableJoint.zMotion = ConfigurableJointMotion.Limited;
|
||||
configurableJoint.angularXMotion = ConfigurableJointMotion.Limited;
|
||||
configurableJoint.angularYMotion = ConfigurableJointMotion.Free;
|
||||
configurableJoint.angularZMotion = ConfigurableJointMotion.Free;
|
||||
configurableJoint.anchor = seg1.transform.InverseTransformPoint(vGlobalAnchor);
|
||||
configurableJoint.axis = seg1.transform.InverseTransformDirection(vGlobalAxis);
|
||||
if (seg2 != null)
|
||||
{
|
||||
configurableJoint.connectedBody = seg2.GetComponent<Rigidbody>();
|
||||
}
|
||||
SoftJointLimit linearLimit = new SoftJointLimit
|
||||
{
|
||||
limit = 0.01f
|
||||
};
|
||||
SoftJointLimitSpring linearLimitSpring = default(SoftJointLimitSpring);
|
||||
switch (jtPos)
|
||||
{
|
||||
case 0:
|
||||
linearLimitSpring = r.getStartJtSpring();
|
||||
break;
|
||||
case 1:
|
||||
linearLimitSpring = r.getEndJtSpring();
|
||||
break;
|
||||
default:
|
||||
{
|
||||
float damper = (linearLimitSpring.spring = 0f);
|
||||
linearLimitSpring.damper = damper;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (linearLimitSpring.spring == 0f)
|
||||
{
|
||||
linearLimit.limit = 0f;
|
||||
}
|
||||
configurableJoint.linearLimitSpring = linearLimitSpring;
|
||||
configurableJoint.linearLimit = linearLimit;
|
||||
configurableJoint.projectionMode = JointProjectionMode.PositionAndRotation;
|
||||
configurableJoint.projectionDistance = prop.projectionDistanceFirst;
|
||||
configurableJoint.lowAngularXLimit = new SoftJointLimit
|
||||
{
|
||||
limit = 0f - prop.twistLimitDeg
|
||||
};
|
||||
configurableJoint.highAngularXLimit = new SoftJointLimit
|
||||
{
|
||||
limit = prop.twistLimitDeg
|
||||
};
|
||||
if (prop.breakingForce != 0f)
|
||||
{
|
||||
configurableJoint.breakForce = prop.breakingForce;
|
||||
}
|
||||
joint = configurableJoint;
|
||||
configurableJoint.autoConfigureConnectedAnchor = false;
|
||||
configurableJoint.enablePreprocessing = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3e680fa725d3066a2472a42dc6f1ba88
|
||||
timeCreated: 1747788127
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
name:
|
||||
externalObjects: {}
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {fileID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,48 +0,0 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PhysicsTools
|
||||
{
|
||||
[Serializable]
|
||||
public class JointProperties
|
||||
{
|
||||
[Serializable]
|
||||
public enum Type
|
||||
{
|
||||
CONFIGURABLE_JOINT = 0,
|
||||
HINGE_JOINT = 1
|
||||
}
|
||||
|
||||
public Type type;
|
||||
|
||||
[Range(0f, 180f)]
|
||||
public float twistLimitDeg;
|
||||
|
||||
[Range(0f, 180f)]
|
||||
public float swingLimitDeg;
|
||||
|
||||
[Range(0f, 0.5f)]
|
||||
public float offsetScale;
|
||||
|
||||
[Range(0f, 90f)]
|
||||
public float twistOffsetDeg;
|
||||
|
||||
public float breakingForce;
|
||||
|
||||
public float projectionDistance;
|
||||
|
||||
public float projectionDistanceFirst;
|
||||
|
||||
public JointProperties()
|
||||
{
|
||||
type = Type.CONFIGURABLE_JOINT;
|
||||
twistLimitDeg = 10f;
|
||||
swingLimitDeg = 50f;
|
||||
offsetScale = 0f;
|
||||
twistOffsetDeg = 0f;
|
||||
breakingForce = 0f;
|
||||
projectionDistance = 0.1f;
|
||||
projectionDistanceFirst = 0.001f;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 09ae8cd9a6c1c324b8c2a2a78ac60d7d
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,89 +0,0 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PhysicsTools
|
||||
{
|
||||
[Serializable]
|
||||
public class LinkMesh
|
||||
{
|
||||
[HideInInspector]
|
||||
public Mesh modifiedMesh;
|
||||
|
||||
[HideInInspector]
|
||||
public Matrix4x4 transform;
|
||||
|
||||
[HideInInspector]
|
||||
public Mesh defaultMesh;
|
||||
|
||||
[HideInInspector]
|
||||
public Material defaultMeshMaterial;
|
||||
|
||||
[HideInInspector]
|
||||
public Matrix4x4 defaultTransform;
|
||||
|
||||
public Mesh mesh;
|
||||
|
||||
public Material meshMaterial;
|
||||
|
||||
public Vector3 position;
|
||||
|
||||
public Vector3 rotation;
|
||||
|
||||
public Vector3 scale;
|
||||
|
||||
public LinkMesh()
|
||||
{
|
||||
mesh = null;
|
||||
position = new Vector3(0f, 0f, 0f);
|
||||
rotation = new Vector3(0f, 0f, 0f);
|
||||
scale = new Vector3(1f, 1f, 1f);
|
||||
defaultTransform = default(Matrix4x4);
|
||||
defaultTransform.SetTRS(position, Quaternion.Euler(rotation), scale);
|
||||
transform = default(Matrix4x4);
|
||||
transform.SetTRS(position, Quaternion.Euler(rotation), scale);
|
||||
}
|
||||
|
||||
public void update()
|
||||
{
|
||||
if (mesh == null)
|
||||
{
|
||||
mesh = defaultMesh;
|
||||
transform = defaultTransform;
|
||||
Quaternion rot;
|
||||
Utility.MatrixToTRS(transform, out position, out rot, out scale);
|
||||
rotation = rot.eulerAngles;
|
||||
}
|
||||
if (mesh != null)
|
||||
{
|
||||
modifiedMesh = UnityEngine.Object.Instantiate(mesh);
|
||||
}
|
||||
if (modifiedMesh != null)
|
||||
{
|
||||
transform.SetTRS(position, Quaternion.Euler(rotation), scale);
|
||||
ScaleMesh();
|
||||
}
|
||||
}
|
||||
|
||||
public void ScaleMesh()
|
||||
{
|
||||
Vector3[] vertices = modifiedMesh.vertices;
|
||||
for (int i = 0; i < vertices.Length; i++)
|
||||
{
|
||||
Vector3 point = vertices[i];
|
||||
point = transform.MultiplyPoint(point);
|
||||
vertices[i] = point;
|
||||
}
|
||||
modifiedMesh.vertices = vertices;
|
||||
}
|
||||
|
||||
public Mesh getMesh()
|
||||
{
|
||||
return modifiedMesh;
|
||||
}
|
||||
|
||||
public Material getMaterial()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 88218b6dac3a1d87d3867523046c804d
|
||||
timeCreated: 1747788125
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
name:
|
||||
externalObjects: {}
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {fileID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
19
Assets/Scripts/ThirdParty/PhysicsTools/PosOri.cs
vendored
19
Assets/Scripts/ThirdParty/PhysicsTools/PosOri.cs
vendored
@@ -1,19 +0,0 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PhysicsTools
|
||||
{
|
||||
[Serializable]
|
||||
public class PosOri
|
||||
{
|
||||
public Vector3 pos;
|
||||
|
||||
public Quaternion rot;
|
||||
|
||||
public PosOri(Vector3 p, Quaternion q)
|
||||
{
|
||||
pos = p;
|
||||
rot = q;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3b2e47173d3a5c346a9528bef13473eb
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
1512
Assets/Scripts/ThirdParty/PhysicsTools/Rope.cs
vendored
1512
Assets/Scripts/ThirdParty/PhysicsTools/Rope.cs
vendored
File diff suppressed because it is too large
Load Diff
@@ -1,14 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8d8b3d7293da4ed8736330164944ddd3
|
||||
timeCreated: 1747788125
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
name:
|
||||
externalObjects: {}
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {fileID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,26 +0,0 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace PhysicsTools
|
||||
{
|
||||
internal class SCapsulePos
|
||||
{
|
||||
public Vector3 vPos;
|
||||
|
||||
public Vector3 vDir;
|
||||
|
||||
public Vector3 vPrevPos;
|
||||
|
||||
public Vector3 vPrevDir;
|
||||
|
||||
public float fLen;
|
||||
|
||||
public SCapsulePos()
|
||||
{
|
||||
vPos = new Vector3(0f, 0f, 0f);
|
||||
vDir = new Vector3(0f, 0f, 0f);
|
||||
vPrevPos = new Vector3(0f, 0f, 0f);
|
||||
vPrevDir = new Vector3(0f, 0f, 0f);
|
||||
fLen = 0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 089e242339d5f784baf45339b1f072ed
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,58 +0,0 @@
|
||||
// using UltimateWater;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PhysicsTools
|
||||
{
|
||||
public class Segment
|
||||
{
|
||||
public GameObject seg;
|
||||
|
||||
public Rigidbody body;
|
||||
|
||||
public Joint prev;
|
||||
|
||||
public Joint next;
|
||||
|
||||
public CapsuleCollider capsuleCollider;
|
||||
|
||||
public MeshFilter meshFilter;
|
||||
|
||||
public MeshRenderer meshRenderer;
|
||||
|
||||
// public WaterInteractive waterInteractive;
|
||||
|
||||
public Segment(string name, float len, Vector3 pos, Quaternion q, SegmentPropertiesBase segProperties, Rope r)
|
||||
{
|
||||
SegmentPropertiesCylinder segmentPropertiesCylinder = (SegmentPropertiesCylinder)segProperties;
|
||||
float radius = segmentPropertiesCylinder.radius;
|
||||
seg = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
|
||||
capsuleCollider = seg.GetComponent<CapsuleCollider>();
|
||||
meshFilter = seg.GetComponent<MeshFilter>();
|
||||
meshRenderer = seg.GetComponent<MeshRenderer>();
|
||||
body = seg.AddComponent<Rigidbody>();
|
||||
capsuleCollider.sharedMaterial = r.ropeMaterial;
|
||||
capsuleCollider.enabled = r.useColliders;
|
||||
r.lstComponentsCreated.Add(seg);
|
||||
seg.hideFlags = (r.HideChildren ? HideFlags.HideInHierarchy : HideFlags.None);
|
||||
meshRenderer.enabled = true;
|
||||
r.linkMesh.defaultMesh = meshFilter.sharedMesh;
|
||||
r.linkMesh.defaultMeshMaterial = meshRenderer.sharedMaterial;
|
||||
r.linkMesh.defaultTransform = Matrix4x4.identity;
|
||||
if (r.linkMesh.getMesh() != null)
|
||||
{
|
||||
meshFilter.sharedMesh = r.linkMesh.getMesh();
|
||||
meshRenderer.sharedMaterial = r.linkMesh.meshMaterial;
|
||||
}
|
||||
seg.name = name;
|
||||
seg.transform.localScale = new Vector3(radius * 2f, len / 2f, radius * 2f);
|
||||
seg.transform.localPosition = pos;
|
||||
seg.transform.localRotation = q;
|
||||
body.maxAngularVelocity = 1f;
|
||||
body.angularDamping = segmentPropertiesCylinder.angularDamping;
|
||||
body.linearDamping = segmentPropertiesCylinder.linearDamping;
|
||||
body.mass = segmentPropertiesCylinder.massPerUnitLength * segmentPropertiesCylinder.length;
|
||||
body.solverIterations = segmentPropertiesCylinder.solverCount;
|
||||
body.isKinematic = r.kinematic;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b876b665f2164469858aa78787017d4d
|
||||
timeCreated: 1747788127
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
name:
|
||||
externalObjects: {}
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {fileID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,39 +0,0 @@
|
||||
using System;
|
||||
|
||||
namespace PhysicsTools
|
||||
{
|
||||
[Serializable]
|
||||
public class SegmentProperties
|
||||
{
|
||||
[Serializable]
|
||||
public enum Type
|
||||
{
|
||||
CYLINDER = 0,
|
||||
BOX = 1
|
||||
}
|
||||
|
||||
public Type type;
|
||||
|
||||
public SegmentPropertiesBase properties;
|
||||
|
||||
public SegmentProperties()
|
||||
{
|
||||
properties = new SegmentPropertiesCylinder();
|
||||
type = Type.CYLINDER;
|
||||
}
|
||||
|
||||
public void setType(Type t)
|
||||
{
|
||||
switch (t)
|
||||
{
|
||||
case Type.BOX:
|
||||
properties = new SegmentPropertiesBox();
|
||||
break;
|
||||
case Type.CYLINDER:
|
||||
properties = new SegmentPropertiesCylinder();
|
||||
break;
|
||||
}
|
||||
type = t;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4bbc2d7df2b1ead41bf1846c6e06b77d
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
|
||||
namespace PhysicsTools
|
||||
{
|
||||
[Serializable]
|
||||
public class SegmentPropertiesBase
|
||||
{
|
||||
public float massPerUnitLength;
|
||||
|
||||
public int solverCount;
|
||||
|
||||
public float length;
|
||||
|
||||
public float linearDamping;
|
||||
|
||||
public float angularDamping;
|
||||
|
||||
public SegmentPropertiesBase()
|
||||
{
|
||||
massPerUnitLength = 10f;
|
||||
solverCount = 255;
|
||||
length = 1f;
|
||||
linearDamping = 0.01f;
|
||||
angularDamping = 0.01f;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9090fbf5485508f41b83439d2c44e9b1
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,19 +0,0 @@
|
||||
using System;
|
||||
|
||||
namespace PhysicsTools
|
||||
{
|
||||
[Serializable]
|
||||
public class SegmentPropertiesBox : SegmentPropertiesBase
|
||||
{
|
||||
public float width;
|
||||
|
||||
public float height;
|
||||
|
||||
public SegmentPropertiesBox()
|
||||
{
|
||||
length = 1f;
|
||||
width = 0.05f;
|
||||
height = 0.2f;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dd4b78dfa69ad534c94ee6f13133b5e0
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,16 +0,0 @@
|
||||
using System;
|
||||
|
||||
namespace PhysicsTools
|
||||
{
|
||||
[Serializable]
|
||||
public class SegmentPropertiesCylinder : SegmentPropertiesBase
|
||||
{
|
||||
public float radius;
|
||||
|
||||
public SegmentPropertiesCylinder()
|
||||
{
|
||||
length = 1f;
|
||||
radius = 0.1f;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c06432f1a93c1694e97f31bf3112ceb0
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,38 +0,0 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PhysicsTools
|
||||
{
|
||||
[Serializable]
|
||||
public class SerializedSoftJointLimitSpring
|
||||
{
|
||||
public float spring = 30000f;
|
||||
|
||||
public float damper = 30000f;
|
||||
|
||||
public SerializedSoftJointLimitSpring()
|
||||
{
|
||||
spring = 30000f;
|
||||
damper = 30000f;
|
||||
}
|
||||
|
||||
private SerializedSoftJointLimitSpring(SoftJointLimitSpring c)
|
||||
{
|
||||
damper = c.damper;
|
||||
spring = c.spring;
|
||||
}
|
||||
|
||||
public static implicit operator SoftJointLimitSpring(SerializedSoftJointLimitSpring c)
|
||||
{
|
||||
SoftJointLimitSpring result = default(SoftJointLimitSpring);
|
||||
result.spring = c.spring;
|
||||
result.damper = c.damper;
|
||||
return result;
|
||||
}
|
||||
|
||||
public static explicit operator SerializedSoftJointLimitSpring(SoftJointLimitSpring c)
|
||||
{
|
||||
return new SerializedSoftJointLimitSpring(c);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e9f687b18e562c31f90c28822c0f641d
|
||||
timeCreated: 1747788125
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
name:
|
||||
externalObjects: {}
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {fileID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2aeb581d8e0340a7b32560ea8d661608
|
||||
timeCreated: 1762030053
|
||||
@@ -1,147 +0,0 @@
|
||||
using NBC;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PhysicsTools
|
||||
{
|
||||
public class RopeTest : MonoBehaviour
|
||||
{
|
||||
public Rope rope;
|
||||
|
||||
public Transform startPosition;
|
||||
|
||||
public Transform throwPosition;
|
||||
|
||||
public Transform ropeStart;
|
||||
|
||||
public Transform ropeFloat;
|
||||
|
||||
public Transform ropeBait;
|
||||
|
||||
public Transform fishingPlayer;
|
||||
|
||||
public bool updateDistance;
|
||||
|
||||
public float incDist = 0.1f;
|
||||
|
||||
public float incDistThrow = 0.5f;
|
||||
|
||||
public float incDistWater = 0.1f;
|
||||
|
||||
public float maxLength = 25f;
|
||||
|
||||
public Vector3 throwDir = Vector3.zero;
|
||||
|
||||
public float throwForce = 1000f;
|
||||
|
||||
public float prevDistance = -1f;
|
||||
|
||||
public float currentDistance = -1f;
|
||||
|
||||
public float reelInSpeed = 0.01f;
|
||||
|
||||
[HideInInspector] public float reelInFactor;
|
||||
|
||||
private bool hitWater;
|
||||
|
||||
private bool wasThrown;
|
||||
|
||||
public bool hasFish;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
prevDistance = (currentDistance = CalculateDistance());
|
||||
ResetBait(true);
|
||||
ropeStart.parent = null;
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (hitWater && rope.getLength() < 1f)
|
||||
{
|
||||
ResetBait();
|
||||
return;
|
||||
}
|
||||
|
||||
reelInFactor = 0f;
|
||||
if (Input.GetKey(KeyCode.N))
|
||||
{
|
||||
reelInFactor = reelInSpeed;
|
||||
}
|
||||
else if (Input.GetKey(KeyCode.M))
|
||||
{
|
||||
reelInFactor = 0f - reelInSpeed;
|
||||
}
|
||||
|
||||
if (Input.GetKeyDown(KeyCode.B))
|
||||
{
|
||||
ThrowBait();
|
||||
}
|
||||
|
||||
if (Input.GetKeyDown(KeyCode.V))
|
||||
{
|
||||
ResetBait(true);
|
||||
}
|
||||
|
||||
ReelIn(reelInFactor);
|
||||
if (!hitWater && ropeStart.position.y <= 0f)
|
||||
{
|
||||
incDist = incDistWater;
|
||||
hitWater = true;
|
||||
}
|
||||
|
||||
ropeStart.GetComponent<Rigidbody>().linearDamping = ((!(ropeStart.position.y <= 0f)) ? 0f : 5f);
|
||||
}
|
||||
|
||||
private void LateUpdate()
|
||||
{
|
||||
prevDistance = currentDistance;
|
||||
currentDistance = CalculateDistance();
|
||||
if (updateDistance && (!hitWater || hasFish) && rope.getLength() < maxLength && wasThrown &&
|
||||
rope.getLength() < currentDistance + incDist)
|
||||
{
|
||||
rope.changeLength(currentDistance - rope.getLength() + incDist);
|
||||
}
|
||||
|
||||
Debug.Log("currentDistance: " + currentDistance + " rope.getLength(): " + rope.getLength());
|
||||
}
|
||||
|
||||
public void ReelIn(float reelIn)
|
||||
{
|
||||
if (reelIn < 0f && rope.getLength() <= rope.segPropertiesCylinder.length)
|
||||
{
|
||||
reelIn = 0f;
|
||||
}
|
||||
|
||||
rope.rate = reelIn;
|
||||
}
|
||||
|
||||
public float CalculateDistance()
|
||||
{
|
||||
return Vector3.Distance(ropeStart.position, ropeFloat.position);
|
||||
}
|
||||
|
||||
public void ThrowBait()
|
||||
{
|
||||
Debug.Log("ThrowBait");
|
||||
incDist = incDistThrow;
|
||||
ropeStart.position = throwPosition.position;
|
||||
rope.regenerateRope(true);
|
||||
ropeStart.GetComponent<Rigidbody>().AddForce((fishingPlayer.forward + throwDir).normalized * throwForce);
|
||||
Debug.DrawLine(ropeStart.position,
|
||||
ropeStart.position + (fishingPlayer.forward + throwDir).normalized * throwForce, Color.yellow, 5f);
|
||||
wasThrown = true;
|
||||
}
|
||||
|
||||
public void ResetBait(bool quick = false)
|
||||
{
|
||||
if (quick)
|
||||
{
|
||||
ropeStart.position = startPosition.position;
|
||||
rope.regenerateRope(true);
|
||||
}
|
||||
|
||||
hitWater = false;
|
||||
wasThrown = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8120306974a64ee3b78322d877915631
|
||||
timeCreated: 1762029973
|
||||
@@ -1,85 +0,0 @@
|
||||
// using UnityEngine;
|
||||
//
|
||||
// namespace PhysicsTools
|
||||
// {
|
||||
// public class RopeTestLogic : MonoBehaviour
|
||||
// {
|
||||
// public GameObject fishingRod;
|
||||
//
|
||||
// public GameObject bait;
|
||||
//
|
||||
// public GameObject baitStartPos;
|
||||
//
|
||||
// public GameObject rodEndPos;
|
||||
//
|
||||
// public UltimateRope rope;
|
||||
//
|
||||
// public float throwStrength = 10f;
|
||||
//
|
||||
// public float ropeLengthMargin = 3f;
|
||||
//
|
||||
// private bool isThrown;
|
||||
//
|
||||
// private void Start()
|
||||
// {
|
||||
// rope.Regenerate();
|
||||
// rope.GetComponent<RopeAdditionalParams>().UpdateNodes(rope);
|
||||
// }
|
||||
//
|
||||
// private void Update()
|
||||
// {
|
||||
// if (Input.GetKeyDown(KeyCode.T))
|
||||
// {
|
||||
// ThrowBait();
|
||||
// }
|
||||
//
|
||||
// if (Input.GetKeyDown(KeyCode.R))
|
||||
// {
|
||||
// ResetBait();
|
||||
// }
|
||||
//
|
||||
// if (Input.GetKeyDown(KeyCode.Z))
|
||||
// {
|
||||
// rope.ExtendRope(UltimateRope.ERopeExtensionMode.LinearExtensionIncrement, -0.1f);
|
||||
// }
|
||||
// else if (Input.GetKeyDown(KeyCode.X))
|
||||
// {
|
||||
// rope.ExtendRope(UltimateRope.ERopeExtensionMode.LinearExtensionIncrement, 0.1f);
|
||||
// }
|
||||
//
|
||||
// if (isThrown)
|
||||
// {
|
||||
// UpdateRope();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// public void UpdateRope()
|
||||
// {
|
||||
// float num = Vector3.Distance(rodEndPos.transform.position, bait.transform.position);
|
||||
// if (rope.m_fCurrentExtension < num + ropeLengthMargin - rope.RopeNodes[0].fLength)
|
||||
// {
|
||||
// rope.ExtendRope(UltimateRope.ERopeExtensionMode.LinearExtensionIncrement,
|
||||
// num + ropeLengthMargin - rope.RopeNodes[0].fLength - rope.m_fCurrentExtension);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// public void ThrowBait()
|
||||
// {
|
||||
// bait.transform.localRotation = Quaternion.Euler(0f, 0f, 0f);
|
||||
// Vector3 forward = base.transform.forward;
|
||||
// bait.GetComponent<Rigidbody>().isKinematic = false;
|
||||
// bait.GetComponent<Rigidbody>().AddForce(forward * throwStrength);
|
||||
// isThrown = true;
|
||||
// }
|
||||
//
|
||||
// public void ResetBait()
|
||||
// {
|
||||
// bait.transform.position = baitStartPos.transform.position;
|
||||
// bait.GetComponent<Rigidbody>().isKinematic = true;
|
||||
// bait.GetComponent<Rigidbody>().velocity = Vector3.zero;
|
||||
// bait.GetComponent<Rigidbody>().angularVelocity = Vector3.zero;
|
||||
// rope.ExtendRope(UltimateRope.ERopeExtensionMode.LinearExtensionIncrement, 0f - rope.m_fCurrentExtension);
|
||||
// isThrown = false;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 15b3231410b74742829eccac62da7670
|
||||
timeCreated: 1762030063
|
||||
272
Assets/Scripts/ThirdParty/PhysicsTools/Utility.cs
vendored
272
Assets/Scripts/ThirdParty/PhysicsTools/Utility.cs
vendored
@@ -1,272 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Runtime.Serialization.Formatters.Binary;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PhysicsTools
|
||||
{
|
||||
public class Utility
|
||||
{
|
||||
public class Calc
|
||||
{
|
||||
private float r_length;
|
||||
|
||||
private float h;
|
||||
|
||||
private float d;
|
||||
|
||||
public Calc(float r_, float h_, float d_)
|
||||
{
|
||||
r_length = r_;
|
||||
h = h_;
|
||||
d = d_;
|
||||
}
|
||||
|
||||
public float g(float s)
|
||||
{
|
||||
return (float)(2.0 * Math.Sinh(s * d / 2f) / (double)s - Math.Sqrt(r_length * r_length - h * h));
|
||||
}
|
||||
|
||||
public float dg(float s)
|
||||
{
|
||||
return (float)(2.0 * Math.Cosh(s * d / 2f) * (double)d / (double)(2f * s) - 2.0 * Math.Sinh(s * d / 2f) / (double)(s * s));
|
||||
}
|
||||
}
|
||||
|
||||
private const float DEG_2_RAD = 0.017453277f;
|
||||
|
||||
private const float RAD_2_DEG = 57.29583f;
|
||||
|
||||
public static void MatrixToTRS(Matrix4x4 mat, out Vector3 pos, out Quaternion rot, out Vector3 scale)
|
||||
{
|
||||
pos = mat.GetColumn(3);
|
||||
rot = Quaternion.LookRotation(mat.GetColumn(2), mat.GetColumn(1));
|
||||
scale = new Vector3(mat.GetColumn(0).magnitude, mat.GetColumn(1).magnitude, mat.GetColumn(2).magnitude);
|
||||
}
|
||||
|
||||
private static void Swap<T>(ref T lhs, ref T rhs)
|
||||
{
|
||||
T val = lhs;
|
||||
lhs = rhs;
|
||||
rhs = val;
|
||||
}
|
||||
|
||||
public static List<Vector3> getCatenaryPts(Vector3 vStart, Vector3 vEnd, float r_length, int N)
|
||||
{
|
||||
bool flag = false;
|
||||
int num = 100;
|
||||
float num2 = 1E-10f;
|
||||
float num3 = 1E-08f;
|
||||
float num4 = 0.5f;
|
||||
float num5 = 1E-09f;
|
||||
float num6 = 0.001f;
|
||||
if (vStart.y > vEnd.y)
|
||||
{
|
||||
Swap(ref vStart, ref vEnd);
|
||||
flag = true;
|
||||
}
|
||||
Vector3 vector = vEnd - vStart;
|
||||
float y = vector.y;
|
||||
vector.y = 0f;
|
||||
Vector3 vector2 = vector / (N - 1);
|
||||
float magnitude = vector.magnitude;
|
||||
vector.Normalize();
|
||||
float num7 = ((magnitude == 0f) ? 1f : (1f / magnitude));
|
||||
List<Vector3> list = new List<Vector3>(new Vector3[N]);
|
||||
if (Math.Abs(magnitude) < num6)
|
||||
{
|
||||
Vector3 vector3 = new Vector3((vStart.x + vEnd.x) / 2f, 0f, (vStart.z + vEnd.z) / 2f);
|
||||
if (r_length < Math.Abs(y))
|
||||
{
|
||||
for (int i = 0; i < N; i++)
|
||||
{
|
||||
list[i] = vector3 + new Vector3(0f, vStart.y + y * ((float)i * 1f / (float)(N - 1)), 0f);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
num7 = (r_length - Math.Abs(y)) / 2f;
|
||||
int num8 = (int)Math.Ceiling((float)N * num7 / r_length);
|
||||
float num9 = Math.Max(vStart.y, vEnd.y);
|
||||
float num10 = Math.Min(vStart.y, vEnd.y);
|
||||
for (int j = 0; j < N; j++)
|
||||
{
|
||||
if (j < N - num8)
|
||||
{
|
||||
float num11 = num10 - num7 - num9;
|
||||
float num12 = num11 * ((float)j * 1f / ((float)(N - num8) - 1f));
|
||||
list[j] = vector3 + new Vector3(0f, num9 + num12, 0f);
|
||||
}
|
||||
else
|
||||
{
|
||||
float num13 = num7;
|
||||
float num14 = num13 * ((float)j * 1f / ((float)num8 - 1f));
|
||||
vector3 = (list[j] = vector3 + new Vector3(0f, num10 - num7 + num14, 0f));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ((double)r_length <= Math.Sqrt(magnitude * magnitude + y * y))
|
||||
{
|
||||
for (int k = 0; k < N; k++)
|
||||
{
|
||||
Vector3 value = vStart + k * vector2;
|
||||
float num15 = (float)k * (vEnd.y - vStart.y) / (float)(N - 1);
|
||||
value.y = vStart.y + num15;
|
||||
list[k] = value;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Calc calc = new Calc(r_length, y, magnitude);
|
||||
for (int l = 0; l < num; l++)
|
||||
{
|
||||
float value2 = calc.g(num7);
|
||||
float value3 = calc.dg(num7);
|
||||
if (Math.Abs(value2) < num3 || Math.Abs(value3) < num2)
|
||||
{
|
||||
break;
|
||||
}
|
||||
float num16 = (0f - calc.g(num7)) / calc.dg(num7);
|
||||
float num17 = 1f;
|
||||
float num18 = num7 + num17 * num16;
|
||||
while (num18 < 0f || Math.Abs(calc.g(num18)) > Math.Abs(value2))
|
||||
{
|
||||
num17 = num4 * num17;
|
||||
if (num17 < num5)
|
||||
{
|
||||
break;
|
||||
}
|
||||
num18 = num7 + num17 * num16;
|
||||
}
|
||||
num7 = num18;
|
||||
}
|
||||
float num19 = (float)(0.5 * (Math.Log((r_length + y) / (r_length - y)) / (double)num7 - (double)magnitude));
|
||||
vector.y = 0f;
|
||||
vector.Normalize();
|
||||
Vector3 vector5 = vStart - num19 * vector;
|
||||
vector5.y = 0f;
|
||||
float num20 = (float)((double)vStart.y - Math.Cosh(num19 * num7) / (double)num7);
|
||||
for (int m = 0; m < N; m++)
|
||||
{
|
||||
Vector3 vector6 = vStart + m * vector2;
|
||||
Vector3 vector7 = vector6;
|
||||
vector6.y = 0f;
|
||||
vector6.y = (float)(Math.Cosh((vector6 - vector5).magnitude * num7) / (double)num7 + (double)num20);
|
||||
list[m] = vector6;
|
||||
}
|
||||
}
|
||||
if (flag)
|
||||
{
|
||||
list.Reverse();
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
public static Quaternion createOrientation(Vector3 v)
|
||||
{
|
||||
if (v.x == 0f && v.y == 0f && v.z == 0f)
|
||||
{
|
||||
return Quaternion.identity;
|
||||
}
|
||||
Vector3 vector = new Vector3(0f, 1f, 0f);
|
||||
Vector3 vector2 = Vector3.Cross(v, vector);
|
||||
vector2.Normalize();
|
||||
float num = Vector3.Dot(vector, v);
|
||||
if (num > 1f)
|
||||
{
|
||||
num = 1f;
|
||||
}
|
||||
else if (num < -1f)
|
||||
{
|
||||
num = -1f;
|
||||
}
|
||||
float num2 = (float)Math.Acos(num);
|
||||
return Quaternion.AngleAxis(num2 * 180f / 3.14159f, -vector2);
|
||||
}
|
||||
|
||||
public static T DeepClone<T>(T a)
|
||||
{
|
||||
using (MemoryStream memoryStream = new MemoryStream())
|
||||
{
|
||||
BinaryFormatter binaryFormatter = new BinaryFormatter();
|
||||
binaryFormatter.Serialize(memoryStream, a);
|
||||
memoryStream.Position = 0L;
|
||||
return (T)binaryFormatter.Deserialize(memoryStream);
|
||||
}
|
||||
}
|
||||
|
||||
private static Dictionary<Rigidbody, List<UnityEngine.Joint>> buildMapOfJoints()
|
||||
{
|
||||
Dictionary<Rigidbody, List<UnityEngine.Joint>> dictionary = new Dictionary<Rigidbody, List<UnityEngine.Joint>>();
|
||||
UnityEngine.Joint[] array = UnityEngine.Object.FindObjectsOfType<UnityEngine.Joint>();
|
||||
UnityEngine.Joint[] array2 = array;
|
||||
foreach (UnityEngine.Joint joint in array2)
|
||||
{
|
||||
Rigidbody component = joint.gameObject.GetComponent<Rigidbody>();
|
||||
if (component != null)
|
||||
{
|
||||
if (!dictionary.ContainsKey(component))
|
||||
{
|
||||
dictionary.Add(component, new List<UnityEngine.Joint>());
|
||||
}
|
||||
dictionary[component].Add(joint);
|
||||
}
|
||||
Rigidbody connectedBody = joint.connectedBody;
|
||||
if (connectedBody != null)
|
||||
{
|
||||
if (!dictionary.ContainsKey(connectedBody))
|
||||
{
|
||||
dictionary.Add(connectedBody, new List<UnityEngine.Joint>());
|
||||
}
|
||||
dictionary[connectedBody].Add(joint);
|
||||
}
|
||||
}
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
private static void getConnectedBodies(ref Dictionary<Rigidbody, List<UnityEngine.Joint>> dic, Rigidbody body, ref HashSet<Rigidbody> bodies)
|
||||
{
|
||||
bodies.Add(body);
|
||||
if (!dic.ContainsKey(body))
|
||||
{
|
||||
return;
|
||||
}
|
||||
List<UnityEngine.Joint> list = dic[body];
|
||||
foreach (UnityEngine.Joint item in list)
|
||||
{
|
||||
if (item.connectedBody != null && !bodies.Contains(item.connectedBody))
|
||||
{
|
||||
getConnectedBodies(ref dic, item.connectedBody, ref bodies);
|
||||
}
|
||||
Rigidbody component = item.gameObject.GetComponent<Rigidbody>();
|
||||
if (component != null && !bodies.Contains(component))
|
||||
{
|
||||
getConnectedBodies(ref dic, component, ref bodies);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void moveConnectedBodies(Rigidbody start, Matrix4x4 newPose)
|
||||
{
|
||||
Dictionary<Rigidbody, List<UnityEngine.Joint>> dic = buildMapOfJoints();
|
||||
HashSet<Rigidbody> bodies = new HashSet<Rigidbody>();
|
||||
getConnectedBodies(ref dic, start, ref bodies);
|
||||
Matrix4x4 matrix4x = Matrix4x4.TRS(start.transform.position, start.transform.rotation, new Vector3(1f, 1f, 1f));
|
||||
foreach (Rigidbody item in bodies)
|
||||
{
|
||||
Matrix4x4 matrix4x2 = Matrix4x4.TRS(item.transform.position, item.transform.rotation, new Vector3(1f, 1f, 1f));
|
||||
Matrix4x4 inverse = matrix4x.inverse;
|
||||
matrix4x2 = inverse * matrix4x2;
|
||||
matrix4x2 = newPose * matrix4x2;
|
||||
Vector3 pos;
|
||||
Quaternion rot;
|
||||
Vector3 scale;
|
||||
MatrixToTRS(matrix4x2, out pos, out rot, out scale);
|
||||
item.transform.position = pos;
|
||||
item.transform.rotation = rot;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 93c19397aa18981aebed2e7aba8ca270
|
||||
timeCreated: 1747788122
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
name:
|
||||
externalObjects: {}
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {fileID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
103
Assets/Scripts/ThirdParty/PhysicsTools/Winch.cs
vendored
103
Assets/Scripts/ThirdParty/PhysicsTools/Winch.cs
vendored
@@ -1,103 +0,0 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PhysicsTools
|
||||
{
|
||||
public class Winch : MonoBehaviour
|
||||
{
|
||||
public float brakeForce;
|
||||
|
||||
public float heaveTorque;
|
||||
|
||||
public float tensionTorque;
|
||||
|
||||
public float radius;
|
||||
|
||||
public float length;
|
||||
|
||||
public float inertia;
|
||||
|
||||
public float maxRopeLength;
|
||||
|
||||
public float minRopeLength;
|
||||
|
||||
public float rpm;
|
||||
|
||||
public float maxRPM;
|
||||
|
||||
private float omega;
|
||||
|
||||
public Rope rope;
|
||||
|
||||
public Winch()
|
||||
{
|
||||
radius = 1f;
|
||||
length = 1f;
|
||||
maxRPM = 1f;
|
||||
omega = 0f;
|
||||
}
|
||||
|
||||
private void FixedUpdate()
|
||||
{
|
||||
float fixedDeltaTime = Time.fixedDeltaTime;
|
||||
float num = tensionTorqueValue() - heaveTorque;
|
||||
float num2 = num / inertia;
|
||||
float num3 = brakeForce * radius / inertia;
|
||||
float num4 = omega + num2 * fixedDeltaTime;
|
||||
if ((num2 < 0f && rope.getLength() > minRopeLength) || (num2 > 0f && num2 > num3 && rope.getLength() < maxRopeLength))
|
||||
{
|
||||
if (num4 > 0f && num4 - num3 * fixedDeltaTime < 0f)
|
||||
{
|
||||
num4 = 0f;
|
||||
}
|
||||
else if (num4 < 0f && num4 + num3 * fixedDeltaTime > 0f)
|
||||
{
|
||||
num4 = 0f;
|
||||
}
|
||||
else if (num4 > 0f)
|
||||
{
|
||||
num4 -= num3 * fixedDeltaTime;
|
||||
}
|
||||
else if (num4 < 0f)
|
||||
{
|
||||
num4 += num3 * fixedDeltaTime;
|
||||
}
|
||||
omega = num4;
|
||||
rope.changeLength(getLinearSpeed() * fixedDeltaTime);
|
||||
}
|
||||
else
|
||||
{
|
||||
omega = 0f;
|
||||
}
|
||||
rpm = omega / 6.28318f * 60f;
|
||||
if (Math.Abs(rpm) > maxRPM)
|
||||
{
|
||||
if (rpm < 0f)
|
||||
{
|
||||
rpm = 0f - maxRPM;
|
||||
}
|
||||
else
|
||||
{
|
||||
rpm = maxRPM;
|
||||
}
|
||||
}
|
||||
omega = rpm / 60f * 6.28318f;
|
||||
}
|
||||
|
||||
private float tensionTorqueValue()
|
||||
{
|
||||
tensionTorque = radius * getTension();
|
||||
return tensionTorque;
|
||||
}
|
||||
|
||||
private float getLinearSpeed()
|
||||
{
|
||||
return omega * radius;
|
||||
}
|
||||
|
||||
private float getTension()
|
||||
{
|
||||
return rope.getTension();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fac89f9401be21c56be128e602bbd1cd
|
||||
timeCreated: 1747788127
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
name:
|
||||
externalObjects: {}
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {fileID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,10 +0,0 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
public class DisableInPlayModeAttribute : PropertyAttribute
|
||||
{
|
||||
public DisableInPlayModeAttribute()
|
||||
{ }
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 41aa8ad4cfb989c4bba7e1e5615356cd
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2f8ad20496e568346942cb85d75a2bde
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,44 +0,0 @@
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
using UnityEngine.UIElements;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
[CustomPropertyDrawer(typeof(DisableInPlayModeAttribute))]
|
||||
public class BeginLockInPlayModeDecoratorDrawer : PropertyDrawer
|
||||
{
|
||||
public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
|
||||
{
|
||||
return EditorGUI.GetPropertyHeight(property, label, true);
|
||||
}
|
||||
|
||||
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
|
||||
{
|
||||
var playing = Application.isPlaying;
|
||||
if (playing)
|
||||
{
|
||||
GUI.enabled = false;
|
||||
}
|
||||
|
||||
var ranges = fieldInfo.GetCustomAttributes(typeof(RangeAttribute), true);
|
||||
var range = ranges != null && ranges.Length > 0 ? ranges[0] as RangeAttribute : null;
|
||||
if (range != null && property.propertyType == SerializedPropertyType.Float)
|
||||
{
|
||||
EditorGUI.Slider(position, property, range.min, range.max);
|
||||
}
|
||||
else if (range != null && property.propertyType == SerializedPropertyType.Integer)
|
||||
{
|
||||
EditorGUI.IntSlider(position, property, (int)range.min, (int)range.max);
|
||||
}
|
||||
else
|
||||
{
|
||||
EditorGUI.PropertyField(position, property, label, true);
|
||||
}
|
||||
|
||||
if (playing)
|
||||
{
|
||||
GUI.enabled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f096bd19e16171c4bad990519eddc8b7
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,80 +0,0 @@
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
using System.Collections.Generic;
|
||||
using Unity.Collections;
|
||||
using Unity.Mathematics;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
[CustomEditor(typeof(Rope)), CanEditMultipleObjects]
|
||||
public class RopeEditor : Editor
|
||||
{
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
base.OnInspectorGUI();
|
||||
}
|
||||
|
||||
public void OnSceneGUI()
|
||||
{
|
||||
if (Application.isPlaying)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var rope = target as Rope;
|
||||
if (rope == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Draw floating window with buttons
|
||||
if (Selection.objects.Length == 1)
|
||||
{
|
||||
Handles.BeginGUI();
|
||||
GUI.skin = EditorGUIUtility.GetBuiltinSkin(EditorSkin.Scene);
|
||||
|
||||
var lastSpawn = rope.spawnPoints.Count > 0 ? rope.spawnPoints[rope.spawnPoints.Count - 1] : float3.zero;
|
||||
var location = HandleUtility.WorldToGUIPoint(rope.transform.TransformPoint(lastSpawn)) + Vector2.right * 64.0f;
|
||||
GUILayout.Window(0, new Rect(location, Vector2.one), (id) =>
|
||||
{
|
||||
if (GUILayout.Button("Push spawn point"))
|
||||
{
|
||||
Undo.RecordObject(rope, "Push Rope Spawn Point");
|
||||
rope.PushSpawnPoint();
|
||||
}
|
||||
if (rope.spawnPoints.Count > 2 && GUILayout.Button("Pop spawn point"))
|
||||
{
|
||||
Undo.RecordObject(rope, "Pop Rope Spawn Point");
|
||||
rope.PopSpawnPoint();
|
||||
}
|
||||
}, rope.gameObject.name);
|
||||
|
||||
Handles.EndGUI();
|
||||
}
|
||||
|
||||
// Draw position handles
|
||||
Handles.color = Rope.Colors.spawnPointHandle;
|
||||
for (int i = 0; i < rope.spawnPoints.Count; i++)
|
||||
{
|
||||
var spawnPoint = rope.spawnPoints[i];
|
||||
var position = rope.transform.TransformPoint(spawnPoint);
|
||||
|
||||
EditorGUI.BeginChangeCheck();
|
||||
if (Event.current.modifiers.HasFlag(EventModifiers.Shift))
|
||||
{
|
||||
position = Handles.PositionHandle(position, Quaternion.identity);
|
||||
}
|
||||
else
|
||||
{
|
||||
var fmh_69_65_638978072337815361 = Quaternion.identity; position = Handles.FreeMoveHandle(position, rope.radius * 4.0f, Vector3.one * 0.5f, Handles.SphereHandleCap);
|
||||
}
|
||||
if (EditorGUI.EndChangeCheck())
|
||||
{
|
||||
Undo.RecordObject(rope, "Move Rope Spawn Point");
|
||||
spawnPoint = rope.transform.InverseTransformPoint(position);
|
||||
rope.spawnPoints[i] = spawnPoint;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cb712eea104baa44597cd77e9a7f2cb1
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,203 +0,0 @@
|
||||
using UnityEngine;
|
||||
using Unity.Mathematics;
|
||||
using Unity.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
public static class PointsExtensions
|
||||
{
|
||||
// Curve length
|
||||
public static float GetLengthOfCurve(this NativeArray<float3> curve, ref float4x4 transform)
|
||||
{
|
||||
if (curve == null || curve.Length == 0)
|
||||
{
|
||||
return 0.0f;
|
||||
}
|
||||
var sum = 0.0f;
|
||||
var firstPoint = math.mul(transform, new float4(curve[0], 1.0f)).xyz;
|
||||
var lastPoint = firstPoint;
|
||||
for (int i = 1; i < curve.Length; i++)
|
||||
{
|
||||
var point = math.mul(transform, new float4(curve[i], 1.0f)).xyz;
|
||||
sum += math.distance(lastPoint, point);
|
||||
lastPoint = point;
|
||||
}
|
||||
|
||||
return sum;
|
||||
}
|
||||
|
||||
public static float GetLengthOfCurve(this NativeArray<float3> curve)
|
||||
{
|
||||
var transform = float4x4.identity;
|
||||
return curve.GetLengthOfCurve(ref transform);
|
||||
}
|
||||
|
||||
public static float GetLengthOfCurve(this IEnumerable<float3> curve, ref float4x4 transform)
|
||||
{
|
||||
var array = new NativeArray<float3>(curve.ToArray(), Allocator.Temp);
|
||||
var sum = array.GetLengthOfCurve(ref transform);
|
||||
array.Dispose();
|
||||
return sum;
|
||||
}
|
||||
|
||||
public static float GetLengthOfCurve(this IEnumerable<float3> curve)
|
||||
{
|
||||
var transform = float4x4.identity;
|
||||
return curve.GetLengthOfCurve(ref transform);
|
||||
}
|
||||
|
||||
// Curve points
|
||||
private static void GetPointAlongCurve(this NativeArray<float3> curve, ref float4x4 transform, float distance, out float3 point, ref int currentTargetIndex, ref float accumulatedLength)
|
||||
{
|
||||
if (curve.Length < 2)
|
||||
{
|
||||
throw new System.ArgumentException(nameof(curve));
|
||||
}
|
||||
if (currentTargetIndex < 1 || currentTargetIndex >= curve.Length)
|
||||
{
|
||||
throw new System.ArgumentOutOfRangeException(nameof(currentTargetIndex));
|
||||
}
|
||||
|
||||
var previousTarget = curve[currentTargetIndex - 1];
|
||||
while (currentTargetIndex < curve.Length)
|
||||
{
|
||||
var target = curve[currentTargetIndex];
|
||||
var segmentLength = math.distance(previousTarget, target);
|
||||
|
||||
if (distance <= accumulatedLength + segmentLength)
|
||||
{
|
||||
var interpolated = math.lerp(previousTarget, target, (distance - accumulatedLength) / segmentLength);
|
||||
point = math.mul(transform, new float4(interpolated, 1.0f)).xyz;
|
||||
return;
|
||||
}
|
||||
|
||||
currentTargetIndex++;
|
||||
accumulatedLength += segmentLength;
|
||||
previousTarget = target;
|
||||
}
|
||||
|
||||
// numerical precision made this happen, just return last point
|
||||
currentTargetIndex = curve.Length - 1;
|
||||
point = math.mul(transform, new float4(previousTarget, 1.0f)).xyz;
|
||||
}
|
||||
|
||||
public static void GetPointAlongCurve(this NativeArray<float3> curve, ref float4x4 transform, float distance, out float3 point)
|
||||
{
|
||||
var currentTargetIndex = 1;
|
||||
var accumulatedLength = 0.0f;
|
||||
curve.GetPointAlongCurve(ref transform, distance, out point, ref currentTargetIndex, ref accumulatedLength);
|
||||
}
|
||||
|
||||
public static void GetPointAlongCurve(this NativeArray<float3> curve, float distance, out float3 point)
|
||||
{
|
||||
var transform = float4x4.identity;
|
||||
curve.GetPointAlongCurve(ref transform, distance, out point);
|
||||
}
|
||||
|
||||
public static void GetPointAlongCurve(this IEnumerable<float3> curve, ref float4x4 transform, float distance, out float3 point)
|
||||
{
|
||||
var array = new NativeArray<float3>(curve.ToArray(), Allocator.Temp);
|
||||
array.GetPointAlongCurve(ref transform, distance, out point);
|
||||
array.Dispose();
|
||||
}
|
||||
|
||||
public static void GetPointAlongCurve(this IEnumerable<float3> curve, float distance, out float3 point)
|
||||
{
|
||||
var transform = float4x4.identity;
|
||||
curve.GetPointAlongCurve(ref transform, distance, out point);
|
||||
}
|
||||
|
||||
public static void GetPointsAlongCurve(this NativeArray<float3> curve, ref float4x4 transform, float desiredPointDistance, NativeArray<float3> result)
|
||||
{
|
||||
var currentTargetIndex = 1;
|
||||
var accumulatedLength = 0.0f;
|
||||
for (int i = 0; i < result.Length; i++)
|
||||
{
|
||||
curve.GetPointAlongCurve(ref transform, desiredPointDistance * i, out float3 point, ref currentTargetIndex, ref accumulatedLength);
|
||||
|
||||
result[i] = point;
|
||||
}
|
||||
}
|
||||
|
||||
public static void GetPointsAlongCurve(this NativeArray<float3> curve, float desiredPointDistance, NativeArray<float3> result)
|
||||
{
|
||||
var transform = float4x4.identity;
|
||||
curve.GetPointsAlongCurve(ref transform, desiredPointDistance, result);
|
||||
}
|
||||
|
||||
public static void GetPointsAlongCurve(this IEnumerable<float3> curve, ref float4x4 transform, float desiredPointDistance, NativeArray<float3> result)
|
||||
{
|
||||
var array = new NativeArray<float3>(curve.ToArray(), Allocator.Temp);
|
||||
array.GetPointsAlongCurve(ref transform, desiredPointDistance, result);
|
||||
array.Dispose();
|
||||
}
|
||||
|
||||
public static void GetPointsAlongCurve(this IEnumerable<float3> curve, float desiredPointDistance, NativeArray<float3> result)
|
||||
{
|
||||
var transform = float4x4.identity;
|
||||
curve.GetPointsAlongCurve(ref transform, desiredPointDistance, result);
|
||||
}
|
||||
|
||||
// Closest point
|
||||
public static void GetClosestPoint(this NativeArray<float3> curve, float3 point, out int index, out float distance)
|
||||
{
|
||||
index = 0;
|
||||
var closestDistanceSq = math.distancesq(curve[0], point);
|
||||
for (int i = 1; i < curve.Length; i++)
|
||||
{
|
||||
var distSq = math.distancesq(curve[i], point);
|
||||
if (distSq < closestDistanceSq)
|
||||
{
|
||||
index = i;
|
||||
closestDistanceSq = distSq;
|
||||
}
|
||||
}
|
||||
distance = math.sqrt(closestDistanceSq);
|
||||
}
|
||||
|
||||
public static void GetClosestPoint(this NativeArray<float3> curve, Ray ray, out int index, out float distance, out float distanceAlongRay)
|
||||
{
|
||||
index = 0;
|
||||
var origin = (float3)ray.origin;
|
||||
var dir = math.normalizesafe(ray.direction);
|
||||
var closestDistanceAlongRay = math.dot(curve[0] - origin, dir);
|
||||
var closestDistanceSq = math.distancesq(origin + closestDistanceAlongRay * dir, curve[0]);
|
||||
for (int i = 1; i < curve.Length; i++)
|
||||
{
|
||||
var position = curve[i];
|
||||
var rayDist = math.dot(position - origin, dir);
|
||||
var distSq = math.distancesq(origin + rayDist * dir, position);
|
||||
if (distSq < closestDistanceSq)
|
||||
{
|
||||
index = i;
|
||||
closestDistanceAlongRay = rayDist;
|
||||
closestDistanceSq = distSq;
|
||||
}
|
||||
}
|
||||
distance = math.sqrt(closestDistanceSq);
|
||||
distanceAlongRay = closestDistanceAlongRay;
|
||||
}
|
||||
|
||||
// Distance
|
||||
public static void KeepAtDistance(this ref float3 point, ref float3 otherPoint, float distance, float stiffness = 1.0f)
|
||||
{
|
||||
var delta = otherPoint - point;
|
||||
|
||||
var currentDistance = math.length(delta);
|
||||
if (currentDistance > 0.0f)
|
||||
{
|
||||
delta /= currentDistance;
|
||||
}
|
||||
else
|
||||
{
|
||||
delta = float3.zero;
|
||||
}
|
||||
delta *= (currentDistance - distance) * stiffness;
|
||||
|
||||
point += delta;
|
||||
otherPoint -= delta;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 460fdf7888d541b48bd9e15bfcb51528
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,92 +0,0 @@
|
||||
using UnityEngine;
|
||||
using Unity.Mathematics;
|
||||
using Unity.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
public static class RigidbodyExtensions
|
||||
{
|
||||
public static void GetLocalInertiaTensor(this Rigidbody rb, out float3x3 localInertiaTensor)
|
||||
{
|
||||
var rot = new float3x3(rb.inertiaTensorRotation);
|
||||
var invRot = math.transpose(rot);
|
||||
|
||||
localInertiaTensor = math.mul(math.mul(rot, float3x3.Scale(rb.inertiaTensor)), invRot);
|
||||
}
|
||||
|
||||
public static void GetInertiaTensor(this Rigidbody rb, out float3x3 inertiaTensor)
|
||||
{
|
||||
rb.GetLocalInertiaTensor(out float3x3 localInertiaTensor);
|
||||
|
||||
var rot = new float3x3(rb.rotation);
|
||||
var invRot = math.transpose(rot);
|
||||
|
||||
inertiaTensor = math.mul(math.mul(rot, localInertiaTensor), invRot);
|
||||
}
|
||||
|
||||
public static void GetInvInertiaTensor(this Rigidbody rb, out float3x3 invInertiaTensor)
|
||||
{
|
||||
rb.GetLocalInertiaTensor(out float3x3 localTensor);
|
||||
|
||||
float3x3 invLocalTensor = float3x3.zero;
|
||||
if (math.determinant(localTensor) != 0.0f)
|
||||
{
|
||||
invLocalTensor = math.inverse(localTensor);
|
||||
}
|
||||
|
||||
var rot = new float3x3(rb.rotation);
|
||||
var invRot = math.transpose(rot);
|
||||
|
||||
invInertiaTensor = math.mul(math.mul(rot, invLocalTensor), invRot);
|
||||
}
|
||||
|
||||
public static void ApplyImpulseNow(this Rigidbody rb, ref float3x3 invInertiaTensor, float3 point, float3 impulse)
|
||||
{
|
||||
if (rb.mass == 0.0f)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var relativePoint = point - (float3)rb.worldCenterOfMass;
|
||||
var angularMomentumChange = math.cross(relativePoint, impulse);
|
||||
var angularVelocityChange = math.mul(invInertiaTensor, angularMomentumChange);
|
||||
|
||||
rb.linearVelocity += (Vector3)impulse / rb.mass;
|
||||
rb.angularVelocity += (Vector3)angularVelocityChange;
|
||||
}
|
||||
|
||||
public static void ApplyImpulseNow(this Rigidbody rb, float3 point, float3 impulse)
|
||||
{
|
||||
rb.GetInvInertiaTensor(out float3x3 invInertiaTensor);
|
||||
rb.ApplyImpulseNow(ref invInertiaTensor, point, impulse);
|
||||
}
|
||||
|
||||
public static void SetPointVelocityNow(this Rigidbody rb, ref float3x3 invInertiaTensor, float3 point, float3 normal, float desiredSpeed, float damping = 1.0f)
|
||||
{
|
||||
if (rb.mass == 0.0f)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var velocityChange = desiredSpeed - math.dot(rb.GetPointVelocity(point), normal) * damping;
|
||||
var relativePoint = point - (float3)rb.worldCenterOfMass;
|
||||
|
||||
var denominator = (1.0f / rb.mass) + math.dot(math.cross(math.mul(invInertiaTensor, math.cross(relativePoint, normal)), relativePoint), normal);
|
||||
if (denominator == 0.0f)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var j = velocityChange / denominator;
|
||||
rb.ApplyImpulseNow(ref invInertiaTensor, point, j * normal);
|
||||
}
|
||||
|
||||
public static void SetPointVelocityNow(this Rigidbody rb, float3 point, float3 normal, float desiredSpeed, float damping = 1.0f)
|
||||
{
|
||||
rb.GetInvInertiaTensor(out float3x3 invInertiaTensor);
|
||||
rb.SetPointVelocityNow(ref invInertiaTensor, point, normal, desiredSpeed, damping);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 40ab74e53dce5804b8debdf053bccfae
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,34 +0,0 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace NBF.Example
|
||||
{
|
||||
public class ApplyTorqueOnKey : MonoBehaviour
|
||||
{
|
||||
public Vector3 relativeTorque;
|
||||
public float maxAngularSpeed;
|
||||
|
||||
public KeyCode key;
|
||||
|
||||
protected Rigidbody rb;
|
||||
|
||||
public void Start()
|
||||
{
|
||||
rb = GetComponent<Rigidbody>();
|
||||
}
|
||||
|
||||
public void FixedUpdate()
|
||||
{
|
||||
if (rb == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (Input.GetKey(key))
|
||||
{
|
||||
var torqueAxis = relativeTorque.normalized;
|
||||
var strength = Mathf.SmoothStep(relativeTorque.magnitude, 0.0f, Vector3.Dot(torqueAxis, rb.angularVelocity) / maxAngularSpeed);
|
||||
rb.AddRelativeTorque(torqueAxis * strength, ForceMode.Force);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c1451225f8bdb1545ae082cfd03cddfd
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cbda5c1a7c14e1841af127f4317557d0
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because one or more lines are too long
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 39ca96bd67a9a8849a1c06e8b5e7a5c9
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 4300000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,165 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1807824197224447177
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6355862402819174107}
|
||||
- component: {fileID: 1550045192011495150}
|
||||
- component: {fileID: 4833510063135446916}
|
||||
- component: {fileID: 7215318252446853067}
|
||||
- component: {fileID: 7215318252446853068}
|
||||
- component: {fileID: 7215318252446853069}
|
||||
- component: {fileID: 7215318252446853070}
|
||||
- component: {fileID: 7215318252446853071}
|
||||
- component: {fileID: 7215318252446853072}
|
||||
m_Layer: 0
|
||||
m_Name: Environment
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 1
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6355862402819174107
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1807824197224447177}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &1550045192011495150
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1807824197224447177}
|
||||
m_Mesh: {fileID: 4300000, guid: 39ca96bd67a9a8849a1c06e8b5e7a5c9, type: 2}
|
||||
--- !u!23 &4833510063135446916
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1807824197224447177}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 0a79fb9ef489c6f499e041e89836a841, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 2
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!65 &7215318252446853067
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1807824197224447177}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 0.5, y: 4.5, z: 0.49999952}
|
||||
m_Center: {x: -4.75, y: 0.25, z: 1.7500002}
|
||||
--- !u!65 &7215318252446853068
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1807824197224447177}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 20, y: 1, z: 20}
|
||||
m_Center: {x: 0, y: -2.5, z: 0}
|
||||
--- !u!65 &7215318252446853069
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1807824197224447177}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 3, y: 3.9999998, z: 3}
|
||||
m_Center: {x: -5.5, y: -1.0000001, z: -5.5}
|
||||
--- !u!65 &7215318252446853070
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1807824197224447177}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 0.5, y: 0.5, z: 6.499998}
|
||||
m_Center: {x: -4.75, y: 2.75, z: 4.750001}
|
||||
--- !u!65 &7215318252446853071
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1807824197224447177}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 0.5, y: 4.5, z: 0.4999981}
|
||||
m_Center: {x: -4.75, y: 0.25, z: 7.750001}
|
||||
--- !u!65 &7215318252446853072
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1807824197224447177}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 3, y: 3.9999998, z: 3}
|
||||
m_Center: {x: 5.5, y: -1.0000001, z: -5.5}
|
||||
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fc3b5a3644d842a44a1bc8eb5e72a975
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,863 +0,0 @@
|
||||
%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: 10
|
||||
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.37286404, g: 0.4026641, b: 0.46226418, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
|
||||
m_AmbientIntensity: 0.4
|
||||
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: 705507994}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 13
|
||||
m_BakeOnSceneLoad: 0
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
m_BounceScale: 1
|
||||
m_IndirectOutputScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_EnvironmentLightingMode: 0
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 1
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 12
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_AtlasSize: 1024
|
||||
m_AO: 1
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_ExtractAmbientOcclusion: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 1
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 0
|
||||
m_BakeBackend: 2
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 500
|
||||
m_PVRBounces: 2
|
||||
m_PVREnvironmentSampleCount: 500
|
||||
m_PVREnvironmentReferencePointCount: 2048
|
||||
m_PVRFilteringMode: 2
|
||||
m_PVRDenoiserTypeDirect: 0
|
||||
m_PVRDenoiserTypeIndirect: 0
|
||||
m_PVRDenoiserTypeAO: 0
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVREnvironmentMIS: 1
|
||||
m_PVRCulling: 1
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
m_PVRFilteringGaussRadiusAO: 2
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ExportTrainingData: 0
|
||||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 112000000, guid: 3feeca0c11fd0d84aa1834e0e22da648, type: 2}
|
||||
m_LightingSettings: {fileID: 2073191939}
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 3
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
agentSlope: 45
|
||||
agentClimb: 0.4
|
||||
ledgeDropHeight: 0
|
||||
maxJumpAcrossDistance: 0
|
||||
minRegionArea: 2
|
||||
manualCellSize: 0
|
||||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
buildHeightMesh: 0
|
||||
maxJobWorkers: 0
|
||||
preserveTilesOutsideBounds: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &562189915
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 562189922}
|
||||
- component: {fileID: 562189921}
|
||||
- component: {fileID: 562189920}
|
||||
- component: {fileID: 562189919}
|
||||
- component: {fileID: 562189918}
|
||||
m_Layer: 0
|
||||
m_Name: Swing1
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!54 &562189918
|
||||
Rigidbody:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 562189915}
|
||||
serializedVersion: 5
|
||||
m_Mass: 1
|
||||
m_LinearDamping: 0
|
||||
m_AngularDamping: 0.5
|
||||
m_CenterOfMass: {x: 0, y: 0, z: 0}
|
||||
m_InertiaTensor: {x: 1, y: 1, z: 1}
|
||||
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ImplicitCom: 1
|
||||
m_ImplicitTensor: 1
|
||||
m_UseGravity: 1
|
||||
m_IsKinematic: 0
|
||||
m_Interpolate: 0
|
||||
m_Constraints: 0
|
||||
m_CollisionDetection: 0
|
||||
--- !u!65 &562189919
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 562189915}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &562189920
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 562189915}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: e26b4c54b2b9d934e9bbba88b5f9b449, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!33 &562189921
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 562189915}
|
||||
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!4 &562189922
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 562189915}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0.7071067, w: 0.70710695}
|
||||
m_LocalPosition: {x: -3.47, y: -0, z: 0.9375}
|
||||
m_LocalScale: {x: 1, y: 0.20000012, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 906432239}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: -90.00001}
|
||||
--- !u!1 &705507993
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 705507995}
|
||||
- component: {fileID: 705507994}
|
||||
- component: {fileID: 705507996}
|
||||
m_Layer: 0
|
||||
m_Name: Light
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!108 &705507994
|
||||
Light:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 705507993}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 11
|
||||
m_Type: 1
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_Intensity: 0.7
|
||||
m_Range: 10
|
||||
m_SpotAngle: 30
|
||||
m_InnerSpotAngle: 21.80208
|
||||
m_CookieSize: 10
|
||||
m_Shadows:
|
||||
m_Type: 2
|
||||
m_Resolution: -1
|
||||
m_CustomResolution: -1
|
||||
m_Strength: 1
|
||||
m_Bias: 0.05
|
||||
m_NormalBias: 0.4
|
||||
m_NearPlane: 0.2
|
||||
m_CullingMatrixOverride:
|
||||
e00: 1
|
||||
e01: 0
|
||||
e02: 0
|
||||
e03: 0
|
||||
e10: 0
|
||||
e11: 1
|
||||
e12: 0
|
||||
e13: 0
|
||||
e20: 0
|
||||
e21: 0
|
||||
e22: 1
|
||||
e23: 0
|
||||
e30: 0
|
||||
e31: 0
|
||||
e32: 0
|
||||
e33: 1
|
||||
m_UseCullingMatrixOverride: 0
|
||||
m_Cookie: {fileID: 0}
|
||||
m_DrawHalo: 0
|
||||
m_Flare: {fileID: 0}
|
||||
m_RenderMode: 0
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingLayerMask: 1
|
||||
m_Lightmapping: 4
|
||||
m_LightShadowCasterMode: 0
|
||||
m_AreaSize: {x: 1, y: 1}
|
||||
m_BounceIntensity: 1
|
||||
m_ColorTemperature: 6570
|
||||
m_UseColorTemperature: 0
|
||||
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_UseBoundingSphereOverride: 0
|
||||
m_UseViewFrustumForShadowCasterCull: 1
|
||||
m_ForceVisible: 0
|
||||
m_ShadowRadius: 0
|
||||
m_ShadowAngle: 0
|
||||
m_LightUnit: 1
|
||||
m_LuxAtDistance: 1
|
||||
m_EnableSpotReflector: 1
|
||||
--- !u!4 &705507995
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 705507993}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0.085324295, y: -0.8876446, z: 0.41391522, w: 0.18297842}
|
||||
m_LocalPosition: {x: 0, y: 15, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 50.000004, y: -156.70401, z: 0}
|
||||
--- !u!114 &705507996
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 705507993}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalAdditionalLightData
|
||||
m_UsePipelineSettings: 1
|
||||
m_AdditionalLightsShadowResolutionTier: 2
|
||||
m_CustomShadowLayers: 0
|
||||
m_LightCookieSize: {x: 1, y: 1}
|
||||
m_LightCookieOffset: {x: 0, y: 0}
|
||||
m_SoftShadowQuality: 0
|
||||
m_RenderingLayersMask:
|
||||
serializedVersion: 0
|
||||
m_Bits: 1
|
||||
m_ShadowRenderingLayersMask:
|
||||
serializedVersion: 0
|
||||
m_Bits: 1
|
||||
m_Version: 4
|
||||
m_LightLayerMask: 1
|
||||
m_ShadowLayerMask: 1
|
||||
m_RenderingLayers: 1
|
||||
m_ShadowRenderingLayers: 1
|
||||
--- !u!1 &906432238
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 906432239}
|
||||
- component: {fileID: 906432240}
|
||||
m_Layer: 0
|
||||
m_Name: Swings
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &906432239
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 906432238}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -6.09375, y: 4.5, z: 5.0625}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 1197291660}
|
||||
- {fileID: 562189922}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &906432240
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 906432238}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2b777331b0af4d349e55170b5dc27c78, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::NBF.RopeLenghtTest
|
||||
Rope: {fileID: 1197291658}
|
||||
AddValue: 0.01
|
||||
--- !u!1 &963194225
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 963194228}
|
||||
- component: {fileID: 963194227}
|
||||
- component: {fileID: 963194229}
|
||||
- component: {fileID: 963194226}
|
||||
- component: {fileID: 963194230}
|
||||
m_Layer: 0
|
||||
m_Name: Camera
|
||||
m_TagString: MainCamera
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &963194226
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 963194225}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0383ecb7d718b4bd682ab0d0f68bce82, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!20 &963194227
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 963194225}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 2
|
||||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
||||
m_projectionMatrixMode: 1
|
||||
m_GateFitMode: 2
|
||||
m_FOVAxisMode: 0
|
||||
m_Iso: 200
|
||||
m_ShutterSpeed: 0.005
|
||||
m_Aperture: 16
|
||||
m_FocusDistance: 10
|
||||
m_FocalLength: 50
|
||||
m_BladeCount: 5
|
||||
m_Curvature: {x: 2, y: 11}
|
||||
m_BarrelClipping: 0.25
|
||||
m_Anamorphism: 0
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
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: 1
|
||||
m_AllowMSAA: 1
|
||||
m_AllowDynamicResolution: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 1
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!4 &963194228
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 963194225}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0.0013921931, y: 0.9848068, z: -0.17364798, w: 0.00024548118}
|
||||
m_LocalPosition: {x: 0, y: 6, z: 14}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 20, y: 180, z: 0.162}
|
||||
--- !u!114 &963194229
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 963194225}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d741c2b5cb0190448822896128d51f8a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
pickedMesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
|
||||
targetMesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
|
||||
pickedMaterial: {fileID: 2100000, guid: d35e58ef8c9e0e1429517c447ba73497, type: 2}
|
||||
targetMaterial: {fileID: 2100000, guid: f1f2a238089ca461f9383525476c3a2b, type: 2}
|
||||
maxPickDistance: 2
|
||||
maxImpulseStrength: 3
|
||||
leverage: 10
|
||||
splitPickedRopeOnKey: 32
|
||||
ropes:
|
||||
- {fileID: 1197291658}
|
||||
--- !u!114 &963194230
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 963194225}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalAdditionalCameraData
|
||||
m_RenderShadows: 1
|
||||
m_RequiresDepthTextureOption: 2
|
||||
m_RequiresOpaqueTextureOption: 2
|
||||
m_CameraType: 0
|
||||
m_Cameras: []
|
||||
m_RendererIndex: -1
|
||||
m_VolumeLayerMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 1
|
||||
m_VolumeTrigger: {fileID: 0}
|
||||
m_VolumeFrameworkUpdateModeOption: 2
|
||||
m_RenderPostProcessing: 0
|
||||
m_Antialiasing: 0
|
||||
m_AntialiasingQuality: 2
|
||||
m_StopNaN: 0
|
||||
m_Dithering: 0
|
||||
m_ClearDepth: 1
|
||||
m_AllowXRRendering: 1
|
||||
m_AllowHDROutput: 1
|
||||
m_UseScreenCoordOverride: 0
|
||||
m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_RequiresDepthTexture: 0
|
||||
m_RequiresColorTexture: 0
|
||||
m_TaaSettings:
|
||||
m_Quality: 3
|
||||
m_FrameInfluence: 0.1
|
||||
m_JitterScale: 1
|
||||
m_MipBias: 0
|
||||
m_VarianceClampScale: 0.9
|
||||
m_ContrastAdaptiveSharpening: 0
|
||||
m_Version: 2
|
||||
--- !u!1 &1197291657
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1197291660}
|
||||
- component: {fileID: 1197291658}
|
||||
- component: {fileID: 1197291661}
|
||||
- component: {fileID: 1197291659}
|
||||
m_Layer: 0
|
||||
m_Name: Swing1_Rope
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1197291658
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1197291657}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 325b217b839086b4ca705834516bc0d5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
radius: 0.01
|
||||
material: {fileID: 2100000, guid: 189732c736fdb544f98524f96c34aff6, type: 2}
|
||||
shadowMode: 1
|
||||
spawnPoints:
|
||||
- x: 0
|
||||
y: 0
|
||||
z: 0
|
||||
- x: -2.4452248
|
||||
y: 0.06797419
|
||||
z: 0.039803684
|
||||
- x: -3.4447064
|
||||
y: 0.09575853
|
||||
z: 0.056073375
|
||||
- x: -4.444188
|
||||
y: 0.12354286
|
||||
z: 0.07234307
|
||||
interpolation: 0
|
||||
simulation:
|
||||
enabled: 1
|
||||
resolution: 2
|
||||
massPerMeter: 0.02
|
||||
stiffness: 1
|
||||
energyLoss: 0.005
|
||||
substeps: 2
|
||||
solverIterations: 3
|
||||
collisions:
|
||||
enabled: 0
|
||||
influenceRigidbodies: 0
|
||||
stride: 2
|
||||
collisionMargin: 0.025
|
||||
ignoreLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
--- !u!114 &1197291659
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1197291657}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3c7388c73173748148c4ba5f2ad6c713, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
type: 3
|
||||
ropeLocation: 1
|
||||
autoFindRopeLocation: 0
|
||||
rigidbodySettings:
|
||||
body: {fileID: 562189918}
|
||||
stiffness: 0.1
|
||||
damping: 0.1
|
||||
transformSettings:
|
||||
transform: {fileID: 0}
|
||||
localConnectionPoint:
|
||||
x: 0
|
||||
y: 1.25
|
||||
z: 0
|
||||
--- !u!4 &1197291660
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1197291657}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 1.34375, y: -0.1, z: 0.938}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 906432239}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1197291661
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1197291657}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3c7388c73173748148c4ba5f2ad6c713, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
type: 0
|
||||
ropeLocation: 0
|
||||
autoFindRopeLocation: 0
|
||||
rigidbodySettings:
|
||||
body: {fileID: 0}
|
||||
stiffness: 0.15
|
||||
damping: 0.05
|
||||
transformSettings:
|
||||
transform: {fileID: 7215318252446853075}
|
||||
localConnectionPoint:
|
||||
x: -4.75
|
||||
y: 2.5
|
||||
z: 6
|
||||
--- !u!850595691 &2073191939
|
||||
LightingSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Settings.lighting
|
||||
serializedVersion: 9
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 1
|
||||
m_RealtimeEnvironmentLighting: 1
|
||||
m_BounceScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_IndirectOutputScale: 1
|
||||
m_UsingShadowmask: 0
|
||||
m_BakeBackend: 2
|
||||
m_LightmapMaxSize: 1024
|
||||
m_LightmapSizeFixed: 0
|
||||
m_UseMipmapLimits: 1
|
||||
m_BakeResolution: 40
|
||||
m_Padding: 2
|
||||
m_LightmapCompression: 3
|
||||
m_AO: 1
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_ExtractAO: 0
|
||||
m_MixedBakeMode: 0
|
||||
m_LightmapsBakeMode: 1
|
||||
m_FilterMode: 1
|
||||
m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_ExportTrainingData: 0
|
||||
m_EnableWorkerProcessBaking: 1
|
||||
m_TrainingDataDestination: TrainingData
|
||||
m_RealtimeResolution: 2
|
||||
m_ForceWhiteAlbedo: 0
|
||||
m_ForceUpdates: 0
|
||||
m_PVRCulling: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 512
|
||||
m_PVREnvironmentSampleCount: 512
|
||||
m_PVREnvironmentReferencePointCount: 2048
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_PVRBounces: 2
|
||||
m_PVRMinBounces: 2
|
||||
m_PVREnvironmentImportanceSampling: 1
|
||||
m_PVRFilteringMode: 2
|
||||
m_PVRDenoiserTypeDirect: 0
|
||||
m_PVRDenoiserTypeIndirect: 0
|
||||
m_PVRDenoiserTypeAO: 0
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
m_PVRFilteringGaussRadiusAO: 2
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_RespectSceneVisibilityWhenBakingGI: 0
|
||||
--- !u!1001 &7215318252446853065
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 1807824197224447177, guid: fc3b5a3644d842a44a1bc8eb5e72a975, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Environment
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6355862402819174107, guid: fc3b5a3644d842a44a1bc8eb5e72a975, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 11
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6355862402819174107, guid: fc3b5a3644d842a44a1bc8eb5e72a975, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6355862402819174107, guid: fc3b5a3644d842a44a1bc8eb5e72a975, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6355862402819174107, guid: fc3b5a3644d842a44a1bc8eb5e72a975, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6355862402819174107, guid: fc3b5a3644d842a44a1bc8eb5e72a975, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6355862402819174107, guid: fc3b5a3644d842a44a1bc8eb5e72a975, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6355862402819174107, guid: fc3b5a3644d842a44a1bc8eb5e72a975, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6355862402819174107, guid: fc3b5a3644d842a44a1bc8eb5e72a975, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6355862402819174107, guid: fc3b5a3644d842a44a1bc8eb5e72a975, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6355862402819174107, guid: fc3b5a3644d842a44a1bc8eb5e72a975, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6355862402819174107, guid: fc3b5a3644d842a44a1bc8eb5e72a975, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: fc3b5a3644d842a44a1bc8eb5e72a975, type: 3}
|
||||
--- !u!4 &7215318252446853075 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 6355862402819174107, guid: fc3b5a3644d842a44a1bc8eb5e72a975, type: 3}
|
||||
m_PrefabInstance: {fileID: 7215318252446853065}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1660057539 &9223372036854775807
|
||||
SceneRoots:
|
||||
m_ObjectHideFlags: 0
|
||||
m_Roots:
|
||||
- {fileID: 963194228}
|
||||
- {fileID: 705507995}
|
||||
- {fileID: 906432239}
|
||||
- {fileID: 7215318252446853065}
|
||||
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3a8359e6e75ad814fa648556ce4fba40
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 419c43e82b41f804d988778df605183a
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,139 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Chain
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 1
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 4, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AddPrecomputedVelocity: 0
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _UVSec: 0
|
||||
- _WorkflowMode: 1
|
||||
- _XRMotionVectorsPass: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &2579454104811510204
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
|
||||
version: 10
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 85feedf64f0c16d4182fd4c33e342d2a
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 160 B |
@@ -1,90 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b03a2c419a85b4840a89514be8b05bfd
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 10
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -100
|
||||
wrapU: -1
|
||||
wrapV: -1
|
||||
wrapW: -1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 2
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,140 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Environment
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _DETAIL_MULX2
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 2800000, guid: b03a2c419a85b4840a89514be8b05bfd, type: 3}
|
||||
m_Scale: {x: 40, y: 40}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AddPrecomputedVelocity: 0
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _UVSec: 1
|
||||
- _WorkflowMode: 1
|
||||
- _XRMotionVectorsPass: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.6132076, g: 0.6132076, b: 0.6132076, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &5545626930051578360
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
|
||||
version: 10
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0a79fb9ef489c6f499e041e89836a841
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,141 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: PickedIndicator
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
|
||||
- _SPECULARHIGHLIGHTS_OFF
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 1
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AddPrecomputedVelocity: 0
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 1
|
||||
- _SpecularHighlights: 0
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _UVSec: 0
|
||||
- _WorkflowMode: 1
|
||||
- _XRMotionVectorsPass: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &8815966263303209791
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
|
||||
version: 10
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d35e58ef8c9e0e1429517c447ba73497
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,140 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Plank
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _SPECULARHIGHLIGHTS_OFF
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AddPrecomputedVelocity: 0
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 0
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _UVSec: 0
|
||||
- _WorkflowMode: 1
|
||||
- _XRMotionVectorsPass: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &765885419054481354
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
|
||||
version: 10
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b908b9053476d604fae11ed6727c9902
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,141 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-763135438911210145
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
|
||||
version: 10
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Rigidbody
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _SPECULARHIGHLIGHTS_OFF
|
||||
m_InvalidKeywords:
|
||||
- _GLOSSYREFLECTIONS_OFF
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AddPrecomputedVelocity: 0
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 0
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _UVSec: 0
|
||||
- _WorkflowMode: 1
|
||||
- _XRMotionVectorsPass: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 0.8301887, g: 0.8301887, b: 0.8301887, a: 1}
|
||||
- _Color: {r: 0.8301887, g: 0.8301887, b: 0.8301887, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e26b4c54b2b9d934e9bbba88b5f9b449
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,139 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Rope
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 4, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AddPrecomputedVelocity: 0
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _UVSec: 0
|
||||
- _WorkflowMode: 1
|
||||
- _XRMotionVectorsPass: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 0.83, g: 0.5958974, b: 0.36179486, a: 1}
|
||||
- _Color: {r: 0.83, g: 0.5958974, b: 0.36179483, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &8466111474512429427
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
|
||||
version: 10
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 189732c736fdb544f98524f96c34aff6
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,84 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Sky
|
||||
m_Shader: {fileID: 106, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_ShaderKeywords: _SUNDISK_HIGH_QUALITY
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- _AtmosphereThickness: 1
|
||||
- _BumpScale: 1
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _Exposure: 1.3
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SunDisk: 2
|
||||
- _SunSize: 0.04
|
||||
- _SunSizeConvergence: 5
|
||||
- _UVSec: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _GroundColor: {r: 0.51139194, g: 0.6415094, b: 0.55893487, a: 1}
|
||||
- _SkyTint: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8fe2b67874cb22f43800c75dcf38673f
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,142 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: TargetIndicator
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
|
||||
- _SPECULARHIGHLIGHTS_OFF
|
||||
m_InvalidKeywords:
|
||||
- _GLOSSYREFLECTIONS_OFF
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 1
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AddPrecomputedVelocity: 0
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0
|
||||
- _SmoothnessTextureChannel: 1
|
||||
- _SpecularHighlights: 0
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _UVSec: 0
|
||||
- _WorkflowMode: 1
|
||||
- _XRMotionVectorsPass: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 0, b: 0, a: 1}
|
||||
- _Color: {r: 1, g: 0, b: 0, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &2538396416694341757
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
|
||||
version: 10
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f1f2a238089ca461f9383525476c3a2b
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c7d88827e637e814c9839af75749cce3
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -1,94 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dc3ad6005b4f0514982b05eb88b9ed3f
|
||||
ModelImporter:
|
||||
serializedVersion: 25
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
materials:
|
||||
importMaterials: 0
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
motionNodeName:
|
||||
rigImportErrors:
|
||||
rigImportWarnings:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 0
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 0
|
||||
copyAvatar: 0
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
animationType: 0
|
||||
humanoidOversampling: 1
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,503 +0,0 @@
|
||||
%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: 10
|
||||
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.212, g: 0.227, b: 0.259, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
|
||||
m_AmbientIntensity: 1
|
||||
m_AmbientMode: 0
|
||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 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_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 13
|
||||
m_BakeOnSceneLoad: 0
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
m_BounceScale: 1
|
||||
m_IndirectOutputScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_EnvironmentLightingMode: 0
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 0
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 12
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_AtlasSize: 1024
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_ExtractAmbientOcclusion: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 1
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 2
|
||||
m_BakeBackend: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 512
|
||||
m_PVRBounces: 2
|
||||
m_PVREnvironmentSampleCount: 256
|
||||
m_PVREnvironmentReferencePointCount: 2048
|
||||
m_PVRFilteringMode: 1
|
||||
m_PVRDenoiserTypeDirect: 1
|
||||
m_PVRDenoiserTypeIndirect: 1
|
||||
m_PVRDenoiserTypeAO: 1
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVREnvironmentMIS: 1
|
||||
m_PVRCulling: 1
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
m_PVRFilteringGaussRadiusAO: 2
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ExportTrainingData: 0
|
||||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_LightingSettings: {fileID: 0}
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 3
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
agentSlope: 45
|
||||
agentClimb: 0.4
|
||||
ledgeDropHeight: 0
|
||||
maxJumpAcrossDistance: 0
|
||||
minRegionArea: 2
|
||||
manualCellSize: 0
|
||||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
buildHeightMesh: 0
|
||||
maxJobWorkers: 0
|
||||
preserveTilesOutsideBounds: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &203844586
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 203844589}
|
||||
- component: {fileID: 203844588}
|
||||
- component: {fileID: 203844587}
|
||||
m_Layer: 0
|
||||
m_Name: Directional Light
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &203844587
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 203844586}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_UsePipelineSettings: 1
|
||||
m_AdditionalLightsShadowResolutionTier: 2
|
||||
m_CustomShadowLayers: 0
|
||||
m_LightCookieSize: {x: 1, y: 1}
|
||||
m_LightCookieOffset: {x: 0, y: 0}
|
||||
m_SoftShadowQuality: 0
|
||||
m_RenderingLayersMask:
|
||||
serializedVersion: 0
|
||||
m_Bits: 1
|
||||
m_ShadowRenderingLayersMask:
|
||||
serializedVersion: 0
|
||||
m_Bits: 1
|
||||
m_Version: 4
|
||||
m_LightLayerMask: 1
|
||||
m_ShadowLayerMask: 1
|
||||
m_RenderingLayers: 1
|
||||
m_ShadowRenderingLayers: 1
|
||||
--- !u!108 &203844588
|
||||
Light:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 203844586}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 11
|
||||
m_Type: 1
|
||||
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
|
||||
m_Intensity: 1
|
||||
m_Range: 10
|
||||
m_SpotAngle: 30
|
||||
m_InnerSpotAngle: 21.80208
|
||||
m_CookieSize: 10
|
||||
m_Shadows:
|
||||
m_Type: 2
|
||||
m_Resolution: -1
|
||||
m_CustomResolution: -1
|
||||
m_Strength: 1
|
||||
m_Bias: 0.05
|
||||
m_NormalBias: 0.4
|
||||
m_NearPlane: 0.2
|
||||
m_CullingMatrixOverride:
|
||||
e00: 1
|
||||
e01: 0
|
||||
e02: 0
|
||||
e03: 0
|
||||
e10: 0
|
||||
e11: 1
|
||||
e12: 0
|
||||
e13: 0
|
||||
e20: 0
|
||||
e21: 0
|
||||
e22: 1
|
||||
e23: 0
|
||||
e30: 0
|
||||
e31: 0
|
||||
e32: 0
|
||||
e33: 1
|
||||
m_UseCullingMatrixOverride: 0
|
||||
m_Cookie: {fileID: 0}
|
||||
m_DrawHalo: 0
|
||||
m_Flare: {fileID: 0}
|
||||
m_RenderMode: 0
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingLayerMask: 1
|
||||
m_Lightmapping: 4
|
||||
m_LightShadowCasterMode: 0
|
||||
m_AreaSize: {x: 1, y: 1}
|
||||
m_BounceIntensity: 1
|
||||
m_ColorTemperature: 6570
|
||||
m_UseColorTemperature: 0
|
||||
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_UseBoundingSphereOverride: 0
|
||||
m_UseViewFrustumForShadowCasterCull: 1
|
||||
m_ForceVisible: 0
|
||||
m_ShadowRadius: 0
|
||||
m_ShadowAngle: 0
|
||||
m_LightUnit: 1
|
||||
m_LuxAtDistance: 1
|
||||
m_EnableSpotReflector: 1
|
||||
--- !u!4 &203844589
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 203844586}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
|
||||
m_LocalPosition: {x: 0, y: 3, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
|
||||
--- !u!1 &961739749
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 961739753}
|
||||
- component: {fileID: 961739752}
|
||||
- component: {fileID: 961739751}
|
||||
- component: {fileID: 961739750}
|
||||
m_Layer: 0
|
||||
m_Name: Main Camera
|
||||
m_TagString: MainCamera
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &961739750
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 961739749}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_RenderShadows: 1
|
||||
m_RequiresDepthTextureOption: 2
|
||||
m_RequiresOpaqueTextureOption: 2
|
||||
m_CameraType: 0
|
||||
m_Cameras: []
|
||||
m_RendererIndex: -1
|
||||
m_VolumeLayerMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 1
|
||||
m_VolumeTrigger: {fileID: 0}
|
||||
m_VolumeFrameworkUpdateModeOption: 2
|
||||
m_RenderPostProcessing: 0
|
||||
m_Antialiasing: 0
|
||||
m_AntialiasingQuality: 2
|
||||
m_StopNaN: 0
|
||||
m_Dithering: 0
|
||||
m_ClearDepth: 1
|
||||
m_AllowXRRendering: 1
|
||||
m_AllowHDROutput: 1
|
||||
m_UseScreenCoordOverride: 0
|
||||
m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_RequiresDepthTexture: 0
|
||||
m_RequiresColorTexture: 0
|
||||
m_TaaSettings:
|
||||
m_Quality: 3
|
||||
m_FrameInfluence: 0.1
|
||||
m_JitterScale: 1
|
||||
m_MipBias: 0
|
||||
m_VarianceClampScale: 0.9
|
||||
m_ContrastAdaptiveSharpening: 0
|
||||
m_Version: 2
|
||||
--- !u!81 &961739751
|
||||
AudioListener:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 961739749}
|
||||
m_Enabled: 1
|
||||
--- !u!20 &961739752
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 961739749}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 1
|
||||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
||||
m_projectionMatrixMode: 1
|
||||
m_GateFitMode: 2
|
||||
m_FOVAxisMode: 0
|
||||
m_Iso: 200
|
||||
m_ShutterSpeed: 0.005
|
||||
m_Aperture: 16
|
||||
m_FocusDistance: 10
|
||||
m_FocalLength: 50
|
||||
m_BladeCount: 5
|
||||
m_Curvature: {x: 2, y: 11}
|
||||
m_BarrelClipping: 0.25
|
||||
m_Anamorphism: 0
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
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: 1
|
||||
m_AllowMSAA: 1
|
||||
m_AllowDynamicResolution: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 1
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!4 &961739753
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 961739749}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 3.56, z: -5.21}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1619065651
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1619065655}
|
||||
- component: {fileID: 1619065654}
|
||||
- component: {fileID: 1619065653}
|
||||
- component: {fileID: 1619065652}
|
||||
m_Layer: 0
|
||||
m_Name: Cube
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!65 &1619065652
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1619065651}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &1619065653
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1619065651}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!33 &1619065654
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1619065651}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!4 &1619065655
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1619065651}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 50, y: 0.2, z: 50}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1660057539 &9223372036854775807
|
||||
SceneRoots:
|
||||
m_ObjectHideFlags: 0
|
||||
m_Roots:
|
||||
- {fileID: 961739753}
|
||||
- {fileID: 203844589}
|
||||
- {fileID: 1619065655}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user