提交修改
This commit is contained in:
@@ -18598,6 +18598,21 @@ MonoBehaviour:
|
||||
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
|
||||
FilterEnum: 0
|
||||
Filter: '*'
|
||||
- Path: Assets/ResRaw/Prefabs/Line/FishingLine11.prefab
|
||||
Address: Plyaer/FishingLine11
|
||||
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/Line/FishingRopeLong.asset
|
||||
Address: Plyaer/FishingRopeLong
|
||||
Type: Missing
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &2696931885206049402
|
||||
--- !u!1 &1035052809208993
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
@@ -8,132 +8,47 @@ GameObject:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6213026895670800501}
|
||||
- component: {fileID: 7362979975150531515}
|
||||
- component: {fileID: 5572865435543895569}
|
||||
- component: {fileID: 4026445325167852}
|
||||
- component: {fileID: 54679398375713381}
|
||||
- component: {fileID: 153611279189314279}
|
||||
- component: {fileID: 135844594273256032}
|
||||
- component: {fileID: 8644988012983742275}
|
||||
- component: {fileID: 2475726686148443307}
|
||||
m_Layer: 15
|
||||
m_Name: Start
|
||||
m_Name: Lure
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6213026895670800501
|
||||
--- !u!4 &4026445325167852
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2696931885206049402}
|
||||
m_GameObject: {fileID: 1035052809208993}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: -1.5, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 98221710317492190}
|
||||
m_Father: {fileID: 4283454774123242}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!54 &7362979975150531515
|
||||
--- !u!54 &54679398375713381
|
||||
Rigidbody:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2696931885206049402}
|
||||
serializedVersion: 5
|
||||
m_Mass: 1
|
||||
m_LinearDamping: 1
|
||||
m_AngularDamping: 0.05
|
||||
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!114 &5572865435543895569
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2696931885206049402}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 610df5569209e4b4997cb2dbf3b94cdc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::NBF.FishingLineNode
|
||||
nodeType: 0
|
||||
body: {fileID: 7362979975150531515}
|
||||
interaction: {fileID: 0}
|
||||
segmentLengthToNext: 0.5
|
||||
fixedVirtualNodesToNext: 2
|
||||
runtimeVirtualNode: 0
|
||||
runtimeChainIndex: -1
|
||||
drawDebugGizmo: 1
|
||||
debugGizmoRadius: 0.03
|
||||
logicalNodeColor: {r: 0.2, g: 0.9, b: 0.2, a: 1}
|
||||
virtualNodeColor: {r: 1, g: 0.6, b: 0.1, a: 1}
|
||||
features: []
|
||||
motionFeatures: []
|
||||
activeMotionFeature: {fileID: 0}
|
||||
--- !u!1 &5077741257619886775
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7385546574667729905}
|
||||
- component: {fileID: 5707703654405666688}
|
||||
- component: {fileID: 3979683508768218053}
|
||||
- component: {fileID: 250386986656750139}
|
||||
- component: {fileID: 6225447558892123241}
|
||||
m_Layer: 15
|
||||
m_Name: End
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7385546574667729905
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5077741257619886775}
|
||||
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: 98221710317492190}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!54 &5707703654405666688
|
||||
Rigidbody:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5077741257619886775}
|
||||
m_GameObject: {fileID: 1035052809208993}
|
||||
serializedVersion: 5
|
||||
m_Mass: 0.01
|
||||
m_LinearDamping: 1
|
||||
m_AngularDamping: 0.2
|
||||
m_AngularDamping: 0.1
|
||||
m_CenterOfMass: {x: 0, y: 0, z: 0}
|
||||
m_InertiaTensor: {x: 1, y: 1, z: 1}
|
||||
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
|
||||
@@ -142,45 +57,121 @@ Rigidbody:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ImplicitCom: 1
|
||||
m_ImplicitTensor: 1
|
||||
m_UseGravity: 1
|
||||
m_ImplicitTensor: 0
|
||||
m_UseGravity: 0
|
||||
m_IsKinematic: 0
|
||||
m_Interpolate: 0
|
||||
m_Constraints: 0
|
||||
m_CollisionDetection: 0
|
||||
--- !u!114 &3979683508768218053
|
||||
MonoBehaviour:
|
||||
m_CollisionDetection: 2
|
||||
--- !u!153 &153611279189314279
|
||||
ConfigurableJoint:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5077741257619886775}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 610df5569209e4b4997cb2dbf3b94cdc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::NBF.FishingLineNode
|
||||
nodeType: 3
|
||||
body: {fileID: 5707703654405666688}
|
||||
interaction: {fileID: 0}
|
||||
segmentLengthToNext: 0.5
|
||||
fixedVirtualNodesToNext: 2
|
||||
runtimeVirtualNode: 0
|
||||
runtimeChainIndex: -1
|
||||
drawDebugGizmo: 1
|
||||
debugGizmoRadius: 0.03
|
||||
logicalNodeColor: {r: 0.2, g: 0.9, b: 0.2, a: 1}
|
||||
virtualNodeColor: {r: 1, g: 0.6, b: 0.1, a: 1}
|
||||
features: []
|
||||
motionFeatures: []
|
||||
activeMotionFeature: {fileID: 0}
|
||||
--- !u!65 &250386986656750139
|
||||
BoxCollider:
|
||||
m_GameObject: {fileID: 1035052809208993}
|
||||
serializedVersion: 4
|
||||
m_ConnectedBody: {fileID: 54298866000586118}
|
||||
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
|
||||
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 &135844594273256032
|
||||
SphereCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5077741257619886775}
|
||||
m_GameObject: {fileID: 1035052809208993}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
@@ -193,15 +184,35 @@ BoxCollider:
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 0.02, y: 0.02, z: 0.02}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &6225447558892123241
|
||||
m_Radius: 0.003
|
||||
m_Center: {x: 0, y: -0.0015, z: 0}
|
||||
--- !u!114 &8644988012983742275
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5077741257619886775}
|
||||
m_GameObject: {fileID: 1035052809208993}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 610df5569209e4b4997cb2dbf3b94cdc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::NBF.FishingLineNode
|
||||
nodeType: 3
|
||||
body: {fileID: 54679398375713381}
|
||||
interaction: {fileID: 0}
|
||||
segmentLengthToNext: 0.5
|
||||
runtimeChainIndex: -1
|
||||
features: []
|
||||
motionFeatures: []
|
||||
activeMotionFeature: {fileID: 0}
|
||||
--- !u!114 &2475726686148443307
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1035052809208993}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1de1bec90e454664a860c5248170ff95, type: 3}
|
||||
@@ -209,7 +220,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::NBF.JointPinchController
|
||||
moveSpeed: 5
|
||||
snapDistance: 0.1
|
||||
--- !u!1 &5252216124238432432
|
||||
--- !u!1 &1387836627839849
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
@@ -217,43 +228,281 @@ GameObject:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3116177874895914436}
|
||||
- component: {fileID: 1033618195002336566}
|
||||
- component: {fileID: 4152162740525283091}
|
||||
- component: {fileID: 2513762410452133691}
|
||||
- component: {fileID: 3049258369283796050}
|
||||
m_Layer: 15
|
||||
m_Name: Bobber
|
||||
- component: {fileID: 4283454774123242}
|
||||
- component: {fileID: 7305019728002912084}
|
||||
m_Layer: 0
|
||||
m_Name: FishingLine1
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &3116177874895914436
|
||||
--- !u!4 &4283454774123242
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5252216124238432432}
|
||||
m_GameObject: {fileID: 1387836627839849}
|
||||
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: 9080725476307806222}
|
||||
- {fileID: 4530253318796540}
|
||||
- {fileID: 4026445325167852}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &7305019728002912084
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1387836627839849}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: dcd0fd8d96f994444b2d8663af6b915d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::NBF.FishingLineSolver
|
||||
ConfigId: 0
|
||||
LineType: 0
|
||||
anchorTransform: {fileID: 0}
|
||||
logicalNodes:
|
||||
- {fileID: 1320258666242339620}
|
||||
- {fileID: 6516239920710810677}
|
||||
- {fileID: 8644988012983742275}
|
||||
PinchController: {fileID: 0}
|
||||
lengthLimitTolerance: 0.01
|
||||
breakStretchThreshold: 0.05
|
||||
--- !u!1 &1858052053854210
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4530253318796540}
|
||||
- component: {fileID: 54298866000586118}
|
||||
- component: {fileID: 153691655494134957}
|
||||
- component: {fileID: 6516239920710810677}
|
||||
m_Layer: 15
|
||||
m_Name: Float
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4530253318796540
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1858052053854210}
|
||||
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: 4283454774123242}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!54 &54298866000586118
|
||||
Rigidbody:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1858052053854210}
|
||||
serializedVersion: 5
|
||||
m_Mass: 0.1
|
||||
m_LinearDamping: 1
|
||||
m_AngularDamping: 0.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 &153691655494134957
|
||||
ConfigurableJoint:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1858052053854210}
|
||||
serializedVersion: 4
|
||||
m_ConnectedBody: {fileID: 9208109815165330647}
|
||||
m_ConnectedArticulationBody: {fileID: 0}
|
||||
m_Anchor: {x: 0, y: -0.01, 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
|
||||
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!114 &6516239920710810677
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1858052053854210}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 610df5569209e4b4997cb2dbf3b94cdc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::NBF.FishingLineNode
|
||||
nodeType: 1
|
||||
body: {fileID: 54298866000586118}
|
||||
interaction: {fileID: 0}
|
||||
segmentLengthToNext: 0.5
|
||||
runtimeChainIndex: -1
|
||||
features: []
|
||||
motionFeatures: []
|
||||
activeMotionFeature: {fileID: 0}
|
||||
--- !u!1 &2542822653532585360
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 9080725476307806222}
|
||||
- component: {fileID: 9208109815165330647}
|
||||
- component: {fileID: 1320258666242339620}
|
||||
m_Layer: 0
|
||||
m_Name: Start
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &9080725476307806222
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2542822653532585360}
|
||||
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: 98221710317492190}
|
||||
m_Father: {fileID: 4283454774123242}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!54 &1033618195002336566
|
||||
--- !u!54 &9208109815165330647
|
||||
Rigidbody:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5252216124238432432}
|
||||
m_GameObject: {fileID: 2542822653532585360}
|
||||
serializedVersion: 5
|
||||
m_Mass: 1
|
||||
m_LinearDamping: 1
|
||||
m_LinearDamping: 0
|
||||
m_AngularDamping: 0.05
|
||||
m_CenterOfMass: {x: 0, y: 0, z: 0}
|
||||
m_InertiaTensor: {x: 1, y: 1, z: 1}
|
||||
@@ -264,326 +513,30 @@ Rigidbody:
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ImplicitCom: 0
|
||||
m_ImplicitTensor: 0
|
||||
m_UseGravity: 1
|
||||
m_IsKinematic: 0
|
||||
m_ImplicitCom: 1
|
||||
m_ImplicitTensor: 1
|
||||
m_UseGravity: 0
|
||||
m_IsKinematic: 1
|
||||
m_Interpolate: 0
|
||||
m_Constraints: 0
|
||||
m_CollisionDetection: 0
|
||||
--- !u!114 &4152162740525283091
|
||||
--- !u!114 &1320258666242339620
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5252216124238432432}
|
||||
m_GameObject: {fileID: 2542822653532585360}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 610df5569209e4b4997cb2dbf3b94cdc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::NBF.FishingLineNode
|
||||
nodeType: 1
|
||||
body: {fileID: 1033618195002336566}
|
||||
nodeType: 0
|
||||
body: {fileID: 9208109815165330647}
|
||||
interaction: {fileID: 0}
|
||||
segmentLengthToNext: 0.5
|
||||
fixedVirtualNodesToNext: 2
|
||||
runtimeVirtualNode: 0
|
||||
runtimeChainIndex: -1
|
||||
drawDebugGizmo: 1
|
||||
debugGizmoRadius: 0.03
|
||||
logicalNodeColor: {r: 0.2, g: 0.9, b: 0.2, a: 1}
|
||||
virtualNodeColor: {r: 1, g: 0.6, b: 0.1, a: 1}
|
||||
features: []
|
||||
motionFeatures: []
|
||||
activeMotionFeature: {fileID: 0}
|
||||
--- !u!114 &2513762410452133691
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5252216124238432432}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ca4d5d54d89446b0a10b7ce521fd7d9e, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::NBF.FishingBobberFeature
|
||||
priorityOffset: 0
|
||||
waterLevel: 0
|
||||
enterWaterDepth: 0.002
|
||||
exitWaterDepth: -0.01
|
||||
floatHeight: 0.08
|
||||
bottomOffsetLocalY: 0
|
||||
ySmoothTime: 0.08
|
||||
maxYSpeed: 2
|
||||
yDeadZone: 0.0005
|
||||
neutralBottomWeight: 1
|
||||
currentBottomWeight: 1
|
||||
baseDraftDepth: 0.02
|
||||
draftDepthPerWeight: 0.01
|
||||
minDraftDepth: 0.005
|
||||
maxDraftDepth: 0.08
|
||||
draftSmoothTime: 0.18
|
||||
biteSmoothTime: 0.03
|
||||
tapAmplitude: 0.008
|
||||
tapDuration: 0.18
|
||||
slowSinkAmplitude: 0.025
|
||||
slowSinkDuration: 1.2
|
||||
liftAmplitude: 0.015
|
||||
liftDuration: 1.2
|
||||
blackDriftAmplitude: 0.06
|
||||
blackDriftDuration: 0.8
|
||||
enableDebugInput: 1
|
||||
stopBiteKey: 114
|
||||
tapKey: 116
|
||||
slowSinkKey: 103
|
||||
liftKey: 104
|
||||
blackDriftKey: 98
|
||||
lyingWeightThreshold: 0.4
|
||||
tiltedWeightThreshold: 0.8
|
||||
uprightWeightThreshold: 1.2
|
||||
lyingAngle: 88
|
||||
tiltedAngle: 42
|
||||
uprightAngle: 0
|
||||
tiltAxis: 0
|
||||
invertTiltDirection: 0
|
||||
rotationLerpSpeed: 8
|
||||
waterAngularDamping: 999
|
||||
--- !u!65 &3049258369283796050
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5252216124238432432}
|
||||
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: 0.02, y: 0.02, z: 0.02}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &5438655829551842420
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 98221710317492190}
|
||||
- component: {fileID: 913314649585263376}
|
||||
- component: {fileID: 6821754774284524478}
|
||||
- component: {fileID: 1999186176030474616}
|
||||
m_Layer: 0
|
||||
m_Name: FishingLine1
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &98221710317492190
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5438655829551842420}
|
||||
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: 6213026895670800501}
|
||||
- {fileID: 3116177874895914436}
|
||||
- {fileID: 7385546574667729905}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &913314649585263376
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5438655829551842420}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: dcd0fd8d96f994444b2d8663af6b915d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::NBF.FishingLineSolver
|
||||
ConfigId: 0
|
||||
LineType: 0
|
||||
PinchController: {fileID: 6225447558892123241}
|
||||
anchorTransform: {fileID: 0}
|
||||
logicalNodes:
|
||||
- {fileID: 5572865435543895569}
|
||||
- {fileID: 4152162740525283091}
|
||||
- {fileID: 3979683508768218053}
|
||||
lineRenderer: {fileID: 1999186176030474616}
|
||||
firstSegmentLength: 1.2
|
||||
firstSegmentStep: 0.1
|
||||
jointSolverIterations: 12
|
||||
jointProjectionDistance: 0.02
|
||||
jointProjectionAngle: 1
|
||||
lengthLimitTolerance: 0.01
|
||||
breakStretchThreshold: 0.05
|
||||
breakLimitDuration: 0.15
|
||||
autoBuildOnStart: 1
|
||||
--- !u!120 &6821754774284524478
|
||||
LineRenderer:
|
||||
serializedVersion: 3
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5438655829551842420}
|
||||
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: 0}
|
||||
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_MaskInteraction: 0
|
||||
m_Positions:
|
||||
- {x: 0, y: 0, z: 0}
|
||||
- {x: 0, y: 1, z: 0}
|
||||
m_Parameters:
|
||||
serializedVersion: 3
|
||||
widthMultiplier: 1
|
||||
widthCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0.001
|
||||
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: 0
|
||||
numCapVertices: 0
|
||||
alignment: 0
|
||||
textureMode: 0
|
||||
textureScale: {x: 1, y: 1}
|
||||
shadowBias: 0.5
|
||||
generateLightingData: 0
|
||||
m_UseWorldSpace: 1
|
||||
m_Loop: 0
|
||||
m_ApplyActiveColorSpace: 1
|
||||
--- !u!114 &1999186176030474616
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5438655829551842420}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 827786ffede4e7b4781c522e8a4ba9d0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::NBF.FishingLineRenderer
|
||||
solver: {fileID: 913314649585263376}
|
||||
lineRenderer: {fileID: 6821754774284524478}
|
||||
solverIterations: 8
|
||||
damping: 0.98
|
||||
gravityScale: 1
|
||||
simulationStep: 0.0166667
|
||||
maxDeltaTime: 0.0333333
|
||||
constrainToWaterSurface: 1
|
||||
waterSurfaceTransform: {fileID: 0}
|
||||
waterSurfaceHeight: 0
|
||||
ignoreHeadNodeCount: 1
|
||||
ignoreTailNodeCount: 1
|
||||
waterSurfaceFollowSpeed: 12
|
||||
maxSubStepsPerFrame: 2
|
||||
sleepVelocityThreshold: 0.001
|
||||
sleepDistanceThreshold: 0.002
|
||||
stableFramesBeforeSleep: 4
|
||||
wakeDistanceThreshold: 0.001
|
||||
smoothCorners: 1
|
||||
minCornerAngle: 12
|
||||
maxCornerSmoothDistance: 0.03
|
||||
cornerSmoothSubdivisions: 3
|
||||
drawDebugSamples: 0
|
||||
debugLogicalSampleColor: {r: 0, g: 1, b: 1, a: 1}
|
||||
debugVirtualSampleColor: {r: 1, g: 0.55, b: 0.15, a: 1}
|
||||
debugLogicalSampleRadius: 0.018
|
||||
debugVirtualSampleRadius: 0.012
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 488209094f0c45a41aa6801dd86e6768
|
||||
guid: 3f94195a9c8f8c747b6ebcfd7fae6ee6
|
||||
timeCreated: 1762387921
|
||||
licenseType: Free
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
addedObjectFileIDs:
|
||||
isPrefabVariant: 0
|
||||
variantParentGUID: 00000000000000000000000000000000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
||||
589
Assets/ResRaw/Prefabs/Line/FishingLine11.prefab
Normal file
589
Assets/ResRaw/Prefabs/Line/FishingLine11.prefab
Normal file
@@ -0,0 +1,589 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &2696931885206049402
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6213026895670800501}
|
||||
- component: {fileID: 7362979975150531515}
|
||||
- component: {fileID: 5572865435543895569}
|
||||
m_Layer: 15
|
||||
m_Name: Start
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6213026895670800501
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2696931885206049402}
|
||||
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: 98221710317492190}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!54 &7362979975150531515
|
||||
Rigidbody:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2696931885206049402}
|
||||
serializedVersion: 5
|
||||
m_Mass: 1
|
||||
m_LinearDamping: 1
|
||||
m_AngularDamping: 0.05
|
||||
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!114 &5572865435543895569
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2696931885206049402}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 610df5569209e4b4997cb2dbf3b94cdc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::NBF.FishingLineNode
|
||||
nodeType: 0
|
||||
body: {fileID: 7362979975150531515}
|
||||
interaction: {fileID: 0}
|
||||
segmentLengthToNext: 0.5
|
||||
fixedVirtualNodesToNext: 2
|
||||
runtimeVirtualNode: 0
|
||||
runtimeChainIndex: -1
|
||||
drawDebugGizmo: 1
|
||||
debugGizmoRadius: 0.03
|
||||
logicalNodeColor: {r: 0.2, g: 0.9, b: 0.2, a: 1}
|
||||
virtualNodeColor: {r: 1, g: 0.6, b: 0.1, a: 1}
|
||||
features: []
|
||||
motionFeatures: []
|
||||
activeMotionFeature: {fileID: 0}
|
||||
--- !u!1 &5077741257619886775
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7385546574667729905}
|
||||
- component: {fileID: 5707703654405666688}
|
||||
- component: {fileID: 3979683508768218053}
|
||||
- component: {fileID: 250386986656750139}
|
||||
- component: {fileID: 6225447558892123241}
|
||||
m_Layer: 15
|
||||
m_Name: End
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7385546574667729905
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5077741257619886775}
|
||||
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: 98221710317492190}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!54 &5707703654405666688
|
||||
Rigidbody:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5077741257619886775}
|
||||
serializedVersion: 5
|
||||
m_Mass: 0.01
|
||||
m_LinearDamping: 1
|
||||
m_AngularDamping: 0.2
|
||||
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!114 &3979683508768218053
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5077741257619886775}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 610df5569209e4b4997cb2dbf3b94cdc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::NBF.FishingLineNode
|
||||
nodeType: 3
|
||||
body: {fileID: 5707703654405666688}
|
||||
interaction: {fileID: 0}
|
||||
segmentLengthToNext: 0.5
|
||||
fixedVirtualNodesToNext: 2
|
||||
runtimeVirtualNode: 0
|
||||
runtimeChainIndex: -1
|
||||
drawDebugGizmo: 1
|
||||
debugGizmoRadius: 0.03
|
||||
logicalNodeColor: {r: 0.2, g: 0.9, b: 0.2, a: 1}
|
||||
virtualNodeColor: {r: 1, g: 0.6, b: 0.1, a: 1}
|
||||
features: []
|
||||
motionFeatures: []
|
||||
activeMotionFeature: {fileID: 0}
|
||||
--- !u!65 &250386986656750139
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5077741257619886775}
|
||||
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: 0.02, y: 0.02, z: 0.02}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &6225447558892123241
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5077741257619886775}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1de1bec90e454664a860c5248170ff95, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::NBF.JointPinchController
|
||||
moveSpeed: 5
|
||||
snapDistance: 0.1
|
||||
--- !u!1 &5252216124238432432
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3116177874895914436}
|
||||
- component: {fileID: 1033618195002336566}
|
||||
- component: {fileID: 4152162740525283091}
|
||||
- component: {fileID: 2513762410452133691}
|
||||
- component: {fileID: 3049258369283796050}
|
||||
m_Layer: 15
|
||||
m_Name: Bobber
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &3116177874895914436
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5252216124238432432}
|
||||
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: 98221710317492190}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!54 &1033618195002336566
|
||||
Rigidbody:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5252216124238432432}
|
||||
serializedVersion: 5
|
||||
m_Mass: 1
|
||||
m_LinearDamping: 1
|
||||
m_AngularDamping: 0.05
|
||||
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: 0
|
||||
m_ImplicitTensor: 0
|
||||
m_UseGravity: 1
|
||||
m_IsKinematic: 0
|
||||
m_Interpolate: 0
|
||||
m_Constraints: 0
|
||||
m_CollisionDetection: 0
|
||||
--- !u!114 &4152162740525283091
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5252216124238432432}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 610df5569209e4b4997cb2dbf3b94cdc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::NBF.FishingLineNode
|
||||
nodeType: 1
|
||||
body: {fileID: 1033618195002336566}
|
||||
interaction: {fileID: 0}
|
||||
segmentLengthToNext: 0.5
|
||||
fixedVirtualNodesToNext: 2
|
||||
runtimeVirtualNode: 0
|
||||
runtimeChainIndex: -1
|
||||
drawDebugGizmo: 1
|
||||
debugGizmoRadius: 0.03
|
||||
logicalNodeColor: {r: 0.2, g: 0.9, b: 0.2, a: 1}
|
||||
virtualNodeColor: {r: 1, g: 0.6, b: 0.1, a: 1}
|
||||
features: []
|
||||
motionFeatures: []
|
||||
activeMotionFeature: {fileID: 0}
|
||||
--- !u!114 &2513762410452133691
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5252216124238432432}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ca4d5d54d89446b0a10b7ce521fd7d9e, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::NBF.FishingBobberFeature
|
||||
priorityOffset: 0
|
||||
waterLevel: 0
|
||||
enterWaterDepth: 0.002
|
||||
exitWaterDepth: -0.01
|
||||
floatHeight: 0.08
|
||||
bottomOffsetLocalY: 0
|
||||
ySmoothTime: 0.08
|
||||
maxYSpeed: 2
|
||||
yDeadZone: 0.0005
|
||||
neutralBottomWeight: 1
|
||||
currentBottomWeight: 1
|
||||
baseDraftDepth: 0.02
|
||||
draftDepthPerWeight: 0.01
|
||||
minDraftDepth: 0.005
|
||||
maxDraftDepth: 0.08
|
||||
draftSmoothTime: 0.18
|
||||
biteSmoothTime: 0.03
|
||||
tapAmplitude: 0.008
|
||||
tapDuration: 0.18
|
||||
slowSinkAmplitude: 0.025
|
||||
slowSinkDuration: 1.2
|
||||
liftAmplitude: 0.015
|
||||
liftDuration: 1.2
|
||||
blackDriftAmplitude: 0.06
|
||||
blackDriftDuration: 0.8
|
||||
enableDebugInput: 1
|
||||
stopBiteKey: 114
|
||||
tapKey: 116
|
||||
slowSinkKey: 103
|
||||
liftKey: 104
|
||||
blackDriftKey: 98
|
||||
lyingWeightThreshold: 0.4
|
||||
tiltedWeightThreshold: 0.8
|
||||
uprightWeightThreshold: 1.2
|
||||
lyingAngle: 88
|
||||
tiltedAngle: 42
|
||||
uprightAngle: 0
|
||||
tiltAxis: 0
|
||||
invertTiltDirection: 0
|
||||
rotationLerpSpeed: 8
|
||||
waterAngularDamping: 999
|
||||
--- !u!65 &3049258369283796050
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5252216124238432432}
|
||||
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: 0.02, y: 0.02, z: 0.02}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &5438655829551842420
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 98221710317492190}
|
||||
- component: {fileID: 913314649585263376}
|
||||
- component: {fileID: 6821754774284524478}
|
||||
- component: {fileID: 1999186176030474616}
|
||||
m_Layer: 0
|
||||
m_Name: FishingLine11
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &98221710317492190
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5438655829551842420}
|
||||
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: 6213026895670800501}
|
||||
- {fileID: 3116177874895914436}
|
||||
- {fileID: 7385546574667729905}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &913314649585263376
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5438655829551842420}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: dcd0fd8d96f994444b2d8663af6b915d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::NBF.FishingLineSolver
|
||||
ConfigId: 0
|
||||
LineType: 0
|
||||
PinchController: {fileID: 6225447558892123241}
|
||||
anchorTransform: {fileID: 0}
|
||||
logicalNodes:
|
||||
- {fileID: 5572865435543895569}
|
||||
- {fileID: 4152162740525283091}
|
||||
- {fileID: 3979683508768218053}
|
||||
lineRenderer: {fileID: 1999186176030474616}
|
||||
firstSegmentLength: 1.2
|
||||
firstSegmentStep: 0.1
|
||||
jointSolverIterations: 12
|
||||
jointProjectionDistance: 0.02
|
||||
jointProjectionAngle: 1
|
||||
lengthLimitTolerance: 0.01
|
||||
breakStretchThreshold: 0.05
|
||||
breakLimitDuration: 0.15
|
||||
autoBuildOnStart: 1
|
||||
--- !u!120 &6821754774284524478
|
||||
LineRenderer:
|
||||
serializedVersion: 3
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5438655829551842420}
|
||||
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: 0}
|
||||
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_MaskInteraction: 0
|
||||
m_Positions:
|
||||
- {x: 0, y: 0, z: 0}
|
||||
- {x: 0, y: 1, z: 0}
|
||||
m_Parameters:
|
||||
serializedVersion: 3
|
||||
widthMultiplier: 1
|
||||
widthCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0.001
|
||||
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: 0
|
||||
numCapVertices: 0
|
||||
alignment: 0
|
||||
textureMode: 0
|
||||
textureScale: {x: 1, y: 1}
|
||||
shadowBias: 0.5
|
||||
generateLightingData: 0
|
||||
m_UseWorldSpace: 1
|
||||
m_Loop: 0
|
||||
m_ApplyActiveColorSpace: 1
|
||||
--- !u!114 &1999186176030474616
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5438655829551842420}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 827786ffede4e7b4781c522e8a4ba9d0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::NBF.FishingLineRenderer
|
||||
solver: {fileID: 913314649585263376}
|
||||
lineRenderer: {fileID: 6821754774284524478}
|
||||
solverIterations: 8
|
||||
damping: 0.98
|
||||
gravityScale: 1
|
||||
simulationStep: 0.0166667
|
||||
maxDeltaTime: 0.0333333
|
||||
constrainToWaterSurface: 1
|
||||
waterSurfaceTransform: {fileID: 0}
|
||||
waterSurfaceHeight: 0
|
||||
ignoreHeadNodeCount: 1
|
||||
ignoreTailNodeCount: 1
|
||||
waterSurfaceFollowSpeed: 12
|
||||
maxSubStepsPerFrame: 2
|
||||
sleepVelocityThreshold: 0.001
|
||||
sleepDistanceThreshold: 0.002
|
||||
stableFramesBeforeSleep: 4
|
||||
wakeDistanceThreshold: 0.001
|
||||
smoothCorners: 1
|
||||
minCornerAngle: 12
|
||||
maxCornerSmoothDistance: 0.03
|
||||
cornerSmoothSubdivisions: 3
|
||||
drawDebugSamples: 0
|
||||
debugLogicalSampleColor: {r: 0, g: 1, b: 1, a: 1}
|
||||
debugVirtualSampleColor: {r: 1, g: 0.55, b: 0.15, a: 1}
|
||||
debugLogicalSampleRadius: 0.018
|
||||
debugVirtualSampleRadius: 0.012
|
||||
7
Assets/ResRaw/Prefabs/Line/FishingLine11.prefab.meta
Normal file
7
Assets/ResRaw/Prefabs/Line/FishingLine11.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 488209094f0c45a41aa6801dd86e6768
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -13,9 +13,7 @@ namespace NBF
|
||||
|
||||
public override bool IsSupportedNode(FishingLineNode node)
|
||||
{
|
||||
return node != null
|
||||
&& !node.IsRuntimeVirtualNode
|
||||
&& node.Type != FishingLineNode.NodeType.Start;
|
||||
return node != null && node.Type != FishingLineNode.NodeType.Start;
|
||||
}
|
||||
|
||||
public override bool CanControl()
|
||||
|
||||
@@ -11,31 +11,22 @@ namespace NBF
|
||||
Start,
|
||||
Float,
|
||||
Weight,
|
||||
Tail,
|
||||
Virtual,
|
||||
Tail
|
||||
}
|
||||
|
||||
|
||||
private FishingLineSolver _solver;
|
||||
|
||||
[Header("Node")] [SerializeField] private NodeType nodeType = NodeType.Tail;
|
||||
[SerializeField] public Rigidbody body;
|
||||
[SerializeField] private MonoBehaviour interaction;
|
||||
private ConfigurableJoint _joint;
|
||||
|
||||
[Header("Segment To Next Logical Node")] [Min(0f)] [SerializeField]
|
||||
private float segmentLengthToNext = 0.5f;
|
||||
|
||||
[Min(0)] [SerializeField] private int fixedVirtualNodesToNext = 2;
|
||||
|
||||
[Header("Runtime")] [SerializeField] private bool runtimeVirtualNode;
|
||||
[SerializeField] private int runtimeChainIndex = -1;
|
||||
|
||||
[Header("Debug")] [SerializeField] private bool drawDebugGizmo = true;
|
||||
[Min(0.001f)] [SerializeField] private float debugGizmoRadius = 0.03f;
|
||||
[SerializeField] private Color logicalNodeColor = new(0.2f, 0.9f, 0.2f, 1f);
|
||||
[SerializeField] private Color virtualNodeColor = new(1f, 0.6f, 0.1f, 1f);
|
||||
|
||||
|
||||
|
||||
[SerializeField] private List<FishingLineNodeFeature> features = new();
|
||||
[SerializeField] private List<FishingLineNodeMotionFeature> motionFeatures = new();
|
||||
private bool featureCacheReady;
|
||||
@@ -55,40 +46,12 @@ namespace NBF
|
||||
public Rigidbody Body => body;
|
||||
|
||||
public MonoBehaviour Interaction => interaction;
|
||||
|
||||
public float SegmentLengthToNext
|
||||
{
|
||||
get => segmentLengthToNext;
|
||||
set => segmentLengthToNext = Mathf.Max(0f, value);
|
||||
}
|
||||
|
||||
public int FixedVirtualNodesToNext
|
||||
{
|
||||
get => fixedVirtualNodesToNext;
|
||||
set => fixedVirtualNodesToNext = Mathf.Max(0, value);
|
||||
}
|
||||
|
||||
public bool IsRuntimeVirtualNode => runtimeVirtualNode;
|
||||
public ConfigurableJoint Joint => _joint;
|
||||
|
||||
public int RuntimeChainIndex => runtimeChainIndex;
|
||||
|
||||
public Vector3 Position => transform.position;
|
||||
|
||||
public string GetDebugName()
|
||||
{
|
||||
return runtimeVirtualNode
|
||||
? $"V[{runtimeChainIndex}]"
|
||||
: $"{nodeType}[{runtimeChainIndex}]";
|
||||
}
|
||||
|
||||
public string GetDebugSummary()
|
||||
{
|
||||
var bodySummary = body == null
|
||||
? "NoBody"
|
||||
: $"v:{body.linearVelocity.magnitude:F2}";
|
||||
|
||||
return $"{GetDebugName()} pos:{Position} next:{segmentLengthToNext:F2} {bodySummary}";
|
||||
}
|
||||
|
||||
private void Reset()
|
||||
{
|
||||
@@ -98,6 +61,7 @@ namespace NBF
|
||||
private void Awake()
|
||||
{
|
||||
_solver = GetComponentInParent<FishingLineSolver>();
|
||||
_joint = GetComponent<ConfigurableJoint>();
|
||||
EnsureFeatureCache();
|
||||
}
|
||||
|
||||
@@ -120,24 +84,8 @@ namespace NBF
|
||||
}
|
||||
|
||||
segmentLengthToNext = Mathf.Max(0f, segmentLengthToNext);
|
||||
fixedVirtualNodesToNext = Mathf.Max(0, fixedVirtualNodesToNext);
|
||||
}
|
||||
|
||||
public void SetRuntimeVirtual(bool isVirtual, int chainIndex)
|
||||
{
|
||||
runtimeVirtualNode = isVirtual;
|
||||
runtimeChainIndex = chainIndex;
|
||||
|
||||
if (isVirtual)
|
||||
{
|
||||
nodeType = NodeType.Virtual;
|
||||
}
|
||||
}
|
||||
|
||||
public void SetVisualPosition(Vector3 position)
|
||||
{
|
||||
transform.position = position;
|
||||
}
|
||||
|
||||
#region Feature
|
||||
|
||||
@@ -206,8 +154,7 @@ namespace NBF
|
||||
t.OnLineBreakRequested();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private void EnsureFeatureCache()
|
||||
{
|
||||
@@ -293,13 +240,6 @@ namespace NBF
|
||||
|
||||
private void OnDrawGizmos()
|
||||
{
|
||||
if (!drawDebugGizmo)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Gizmos.color = runtimeVirtualNode ? virtualNodeColor : logicalNodeColor;
|
||||
Gizmos.DrawSphere(transform.position, debugGizmoRadius);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,630 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
[RequireComponent(typeof(LineRenderer))]
|
||||
public class FishingLineRenderer : MonoBehaviour
|
||||
{
|
||||
[Header("References")]
|
||||
[SerializeField] private FishingLineSolver solver;
|
||||
[SerializeField] private LineRenderer lineRenderer;
|
||||
|
||||
[Header("Verlet")]
|
||||
[Min(1)]
|
||||
[SerializeField] private int solverIterations = 8;
|
||||
[Range(0f, 1f)]
|
||||
[SerializeField] private float damping = 0.98f;
|
||||
[Min(0f)]
|
||||
[SerializeField] private float gravityScale = 1f;
|
||||
[Min(0.001f)]
|
||||
[SerializeField] private float simulationStep = 0.0166667f;
|
||||
[Min(0.001f)]
|
||||
[SerializeField] private float maxDeltaTime = 0.0333333f;
|
||||
|
||||
[Header("Water Surface")]
|
||||
[SerializeField] private bool constrainToWaterSurface = true;
|
||||
[SerializeField] private Transform waterSurfaceTransform;
|
||||
[SerializeField] private float waterSurfaceHeight;
|
||||
[Min(0)]
|
||||
[SerializeField] private int ignoreHeadNodeCount = 1;
|
||||
[Min(0)]
|
||||
[SerializeField] private int ignoreTailNodeCount = 1;
|
||||
[Min(0f)]
|
||||
[SerializeField] private float waterSurfaceFollowSpeed = 12f;
|
||||
|
||||
[Header("Stability")]
|
||||
[Min(1)]
|
||||
[SerializeField] private int maxSubStepsPerFrame = 2;
|
||||
[Min(0f)]
|
||||
[SerializeField] private float sleepVelocityThreshold = 0.001f;
|
||||
[Min(0f)]
|
||||
[SerializeField] private float sleepDistanceThreshold = 0.002f;
|
||||
[Min(1)]
|
||||
[SerializeField] private int stableFramesBeforeSleep = 4;
|
||||
[Min(0f)]
|
||||
[SerializeField] private float wakeDistanceThreshold = 0.001f;
|
||||
[Header("Corner Smoothing")]
|
||||
[SerializeField] private bool smoothCorners = true;
|
||||
[Range(0f, 180f)]
|
||||
[SerializeField] private float minCornerAngle = 12f;
|
||||
[Min(0f)]
|
||||
[SerializeField] private float maxCornerSmoothDistance = 0.03f;
|
||||
[Min(1)]
|
||||
[SerializeField] private int cornerSmoothSubdivisions = 3;
|
||||
|
||||
[Header("Debug")]
|
||||
[SerializeField] private bool drawDebugSamples;
|
||||
[SerializeField] private Color debugLogicalSampleColor = Color.cyan;
|
||||
[SerializeField] private Color debugVirtualSampleColor = new(1f, 0.55f, 0.15f, 1f);
|
||||
[Min(0.001f)]
|
||||
[SerializeField] private float debugLogicalSampleRadius = 0.018f;
|
||||
[Min(0.001f)]
|
||||
[SerializeField] private float debugVirtualSampleRadius = 0.012f;
|
||||
|
||||
private readonly List<Vector3> positions = new();
|
||||
private readonly List<Vector3> renderPositions = new();
|
||||
private readonly List<Vector3> previousPositions = new();
|
||||
private readonly List<long> sampledPointKeys = new();
|
||||
private readonly List<Vector3> lastPinnedPointPositions = new();
|
||||
private readonly List<float> lastRestLengths = new();
|
||||
private bool[] pinnedFlags = System.Array.Empty<bool>();
|
||||
private float accumulatedTime;
|
||||
private bool isSleeping;
|
||||
private int stableFrameCounter;
|
||||
|
||||
public int SampleCount => positions.Count;
|
||||
|
||||
public float CurrentRenderedLength
|
||||
{
|
||||
get
|
||||
{
|
||||
var total = 0f;
|
||||
var source = renderPositions.Count > 0 ? renderPositions : positions;
|
||||
for (var i = 0; i < source.Count - 1; i++)
|
||||
{
|
||||
total += Vector3.Distance(source[i], source[i + 1]);
|
||||
}
|
||||
|
||||
return total;
|
||||
}
|
||||
}
|
||||
|
||||
private void Reset()
|
||||
{
|
||||
TryGetComponent(out lineRenderer);
|
||||
if (solver == null)
|
||||
{
|
||||
TryGetComponent(out solver);
|
||||
}
|
||||
}
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
if (lineRenderer == null)
|
||||
{
|
||||
TryGetComponent(out lineRenderer);
|
||||
}
|
||||
}
|
||||
|
||||
public void Render(FishingLineSolver sourceSolver, float deltaTime)
|
||||
{
|
||||
if (lineRenderer == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
solver = sourceSolver;
|
||||
var points = solver.ChainPoints;
|
||||
var restLengths = solver.RestLengths;
|
||||
var pinnedIndices = solver.PinnedIndices;
|
||||
if (points.Count == 0)
|
||||
{
|
||||
lineRenderer.positionCount = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
var topologyChanged = EnsureBuffers(points, pinnedIndices);
|
||||
if (topologyChanged || ShouldWake(points, restLengths))
|
||||
{
|
||||
WakeUp();
|
||||
}
|
||||
|
||||
Simulate(points, restLengths, deltaTime);
|
||||
ApplyToRenderer();
|
||||
CacheFrameState(points, restLengths);
|
||||
}
|
||||
|
||||
private bool EnsureBuffers(
|
||||
IReadOnlyList<FishingLineSolver.ChainPoint> points,
|
||||
IReadOnlyList<int> pinnedIndices)
|
||||
{
|
||||
var topologyChanged = sampledPointKeys.Count != points.Count;
|
||||
if (!topologyChanged)
|
||||
{
|
||||
for (var i = 0; i < points.Count; i++)
|
||||
{
|
||||
if (sampledPointKeys[i] == points[i].Key)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
topologyChanged = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
var previousPositionMap = new Dictionary<long, Vector3>(sampledPointKeys.Count);
|
||||
var previousHistoryMap = new Dictionary<long, Vector3>(sampledPointKeys.Count);
|
||||
for (var i = 0; i < sampledPointKeys.Count; i++)
|
||||
{
|
||||
previousPositionMap[sampledPointKeys[i]] = positions[i];
|
||||
previousHistoryMap[sampledPointKeys[i]] = previousPositions[i];
|
||||
}
|
||||
|
||||
positions.Clear();
|
||||
previousPositions.Clear();
|
||||
sampledPointKeys.Clear();
|
||||
pinnedFlags = new bool[points.Count];
|
||||
|
||||
for (var i = 0; i < points.Count; i++)
|
||||
{
|
||||
var point = points[i];
|
||||
sampledPointKeys.Add(point.Key);
|
||||
|
||||
if (previousPositionMap.TryGetValue(point.Key, out var preservedPosition))
|
||||
{
|
||||
positions.Add(preservedPosition);
|
||||
previousPositions.Add(previousHistoryMap[point.Key]);
|
||||
continue;
|
||||
}
|
||||
|
||||
positions.Add(point.Position);
|
||||
previousPositions.Add(point.Position);
|
||||
}
|
||||
|
||||
for (var i = 0; i < pinnedIndices.Count; i++)
|
||||
{
|
||||
var pinnedIndex = pinnedIndices[i];
|
||||
if (pinnedIndex >= 0 && pinnedIndex < pinnedFlags.Length)
|
||||
{
|
||||
pinnedFlags[pinnedIndex] = true;
|
||||
}
|
||||
}
|
||||
|
||||
return topologyChanged;
|
||||
}
|
||||
|
||||
private void Simulate(
|
||||
IReadOnlyList<FishingLineSolver.ChainPoint> points,
|
||||
IReadOnlyList<float> restLengths,
|
||||
float deltaTime)
|
||||
{
|
||||
if (isSleeping)
|
||||
{
|
||||
PinLogicalPoints(points);
|
||||
return;
|
||||
}
|
||||
|
||||
var clampedDelta = Mathf.Clamp(deltaTime, 0f, maxDeltaTime);
|
||||
accumulatedTime = Mathf.Min(accumulatedTime + clampedDelta, simulationStep * maxSubStepsPerFrame);
|
||||
|
||||
var subStepCount = 0;
|
||||
while (accumulatedTime >= simulationStep && subStepCount < maxSubStepsPerFrame)
|
||||
{
|
||||
SimulateStep(points, restLengths, simulationStep);
|
||||
accumulatedTime -= simulationStep;
|
||||
subStepCount++;
|
||||
}
|
||||
|
||||
if (subStepCount == 0)
|
||||
{
|
||||
PinLogicalPoints(points);
|
||||
ApplySleep();
|
||||
}
|
||||
|
||||
EvaluateSleepState(restLengths);
|
||||
}
|
||||
|
||||
private void SimulateStep(
|
||||
IReadOnlyList<FishingLineSolver.ChainPoint> points,
|
||||
IReadOnlyList<float> restLengths,
|
||||
float stepDelta)
|
||||
{
|
||||
var gravity = Physics.gravity * gravityScale * stepDelta * stepDelta;
|
||||
|
||||
for (var i = 0; i < points.Count; i++)
|
||||
{
|
||||
if (pinnedFlags[i])
|
||||
{
|
||||
positions[i] = points[i].Position;
|
||||
previousPositions[i] = points[i].Position;
|
||||
continue;
|
||||
}
|
||||
|
||||
var current = positions[i];
|
||||
var velocity = (current - previousPositions[i]) * damping;
|
||||
previousPositions[i] = current;
|
||||
positions[i] = current + velocity + gravity;
|
||||
}
|
||||
|
||||
SolveDistanceConstraints(points, restLengths);
|
||||
|
||||
ApplyWaterSurfaceConstraint(stepDelta);
|
||||
SolveDistanceConstraints(points, restLengths);
|
||||
// Keep a final pure distance solve so the render chain settles back to its rest-length budget
|
||||
// without reintroducing the old forced-straightening behavior.
|
||||
SolveDistanceConstraints(points, restLengths);
|
||||
PinLogicalPoints(points);
|
||||
ApplySleep();
|
||||
}
|
||||
|
||||
private void SolveDistanceConstraints(
|
||||
IReadOnlyList<FishingLineSolver.ChainPoint> points,
|
||||
IReadOnlyList<float> restLengths)
|
||||
{
|
||||
for (var iteration = 0; iteration < solverIterations; iteration++)
|
||||
{
|
||||
PinLogicalPoints(points);
|
||||
|
||||
for (var segmentIndex = 0; segmentIndex < restLengths.Count; segmentIndex++)
|
||||
{
|
||||
SatisfyDistanceConstraint(segmentIndex, restLengths[segmentIndex]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void PinLogicalPoints(IReadOnlyList<FishingLineSolver.ChainPoint> points)
|
||||
{
|
||||
for (var i = 0; i < points.Count; i++)
|
||||
{
|
||||
if (!pinnedFlags[i])
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
positions[i] = points[i].Position;
|
||||
previousPositions[i] = points[i].Position;
|
||||
}
|
||||
}
|
||||
|
||||
private void SatisfyDistanceConstraint(int segmentIndex, float restLength)
|
||||
{
|
||||
var pointA = positions[segmentIndex];
|
||||
var pointB = positions[segmentIndex + 1];
|
||||
var delta = pointB - pointA;
|
||||
var distance = delta.magnitude;
|
||||
if (distance <= 0.0001f)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var correctionScale = (distance - restLength) / distance;
|
||||
if (Mathf.Approximately(correctionScale, 0f))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var pointAPinned = pinnedFlags[segmentIndex];
|
||||
var pointBPinned = pinnedFlags[segmentIndex + 1];
|
||||
|
||||
if (pointAPinned && pointBPinned)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (pointAPinned)
|
||||
{
|
||||
positions[segmentIndex + 1] -= delta * correctionScale;
|
||||
return;
|
||||
}
|
||||
|
||||
if (pointBPinned)
|
||||
{
|
||||
positions[segmentIndex] += delta * correctionScale;
|
||||
return;
|
||||
}
|
||||
|
||||
var correction = delta * (correctionScale * 0.5f);
|
||||
positions[segmentIndex] += correction;
|
||||
positions[segmentIndex + 1] -= correction;
|
||||
}
|
||||
|
||||
private void ApplyWaterSurfaceConstraint(float stepDelta)
|
||||
{
|
||||
if (!constrainToWaterSurface || positions.Count == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var surfaceHeight = waterSurfaceTransform != null ? waterSurfaceTransform.position.y : waterSurfaceHeight;
|
||||
var startIndex = Mathf.Clamp(ignoreHeadNodeCount, 0, positions.Count);
|
||||
var endExclusive = Mathf.Clamp(positions.Count - ignoreTailNodeCount, startIndex, positions.Count);
|
||||
var followFactor = Mathf.Clamp01(waterSurfaceFollowSpeed * stepDelta);
|
||||
|
||||
for (var i = startIndex; i < endExclusive; i++)
|
||||
{
|
||||
if (pinnedFlags[i])
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var current = positions[i];
|
||||
if (current.y >= surfaceHeight)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var nextY = Mathf.Lerp(current.y, surfaceHeight, followFactor);
|
||||
positions[i] = new Vector3(current.x, nextY, current.z);
|
||||
|
||||
var previous = previousPositions[i];
|
||||
previousPositions[i] = new Vector3(
|
||||
previous.x,
|
||||
Mathf.Lerp(previous.y, nextY, followFactor),
|
||||
previous.z);
|
||||
}
|
||||
}
|
||||
|
||||
private void ApplySleep()
|
||||
{
|
||||
for (var i = 0; i < positions.Count; i++)
|
||||
{
|
||||
if (pinnedFlags[i])
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var velocityMagnitude = (positions[i] - previousPositions[i]).magnitude;
|
||||
if (velocityMagnitude <= sleepVelocityThreshold)
|
||||
{
|
||||
previousPositions[i] = positions[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void EvaluateSleepState(IReadOnlyList<float> restLengths)
|
||||
{
|
||||
var isStable = true;
|
||||
for (var i = 0; i < positions.Count; i++)
|
||||
{
|
||||
if (pinnedFlags[i])
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ((positions[i] - previousPositions[i]).magnitude > sleepVelocityThreshold)
|
||||
{
|
||||
isStable = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (isStable)
|
||||
{
|
||||
for (var i = 0; i < restLengths.Count; i++)
|
||||
{
|
||||
var error = Mathf.Abs(Vector3.Distance(positions[i], positions[i + 1]) - restLengths[i]);
|
||||
if (error > sleepDistanceThreshold)
|
||||
{
|
||||
isStable = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!isStable)
|
||||
{
|
||||
stableFrameCounter = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
stableFrameCounter++;
|
||||
if (stableFrameCounter < stableFramesBeforeSleep)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
isSleeping = true;
|
||||
accumulatedTime = 0f;
|
||||
for (var i = 0; i < positions.Count; i++)
|
||||
{
|
||||
previousPositions[i] = positions[i];
|
||||
}
|
||||
}
|
||||
|
||||
private bool ShouldWake(
|
||||
IReadOnlyList<FishingLineSolver.ChainPoint> points,
|
||||
IReadOnlyList<float> restLengths)
|
||||
{
|
||||
if (!isSleeping)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (lastPinnedPointPositions.Count != points.Count || lastRestLengths.Count != restLengths.Count)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
for (var i = 0; i < points.Count; i++)
|
||||
{
|
||||
if (!pinnedFlags[i])
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (Vector3.Distance(points[i].Position, lastPinnedPointPositions[i]) > wakeDistanceThreshold)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
for (var i = 0; i < restLengths.Count; i++)
|
||||
{
|
||||
if (Mathf.Abs(restLengths[i] - lastRestLengths[i]) > wakeDistanceThreshold)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private void CacheFrameState(
|
||||
IReadOnlyList<FishingLineSolver.ChainPoint> points,
|
||||
IReadOnlyList<float> restLengths)
|
||||
{
|
||||
lastPinnedPointPositions.Clear();
|
||||
for (var i = 0; i < points.Count; i++)
|
||||
{
|
||||
lastPinnedPointPositions.Add(points[i].Position);
|
||||
}
|
||||
|
||||
lastRestLengths.Clear();
|
||||
for (var i = 0; i < restLengths.Count; i++)
|
||||
{
|
||||
lastRestLengths.Add(restLengths[i]);
|
||||
}
|
||||
}
|
||||
|
||||
private void WakeUp()
|
||||
{
|
||||
isSleeping = false;
|
||||
stableFrameCounter = 0;
|
||||
accumulatedTime = 0f;
|
||||
}
|
||||
|
||||
private void ApplyToRenderer()
|
||||
{
|
||||
BuildRenderPositions();
|
||||
|
||||
lineRenderer.positionCount = renderPositions.Count;
|
||||
for (var i = 0; i < renderPositions.Count; i++)
|
||||
{
|
||||
lineRenderer.SetPosition(i, renderPositions[i]);
|
||||
}
|
||||
}
|
||||
|
||||
private void BuildRenderPositions()
|
||||
{
|
||||
renderPositions.Clear();
|
||||
if (positions.Count == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (!smoothCorners || positions.Count < 3)
|
||||
{
|
||||
renderPositions.AddRange(positions);
|
||||
return;
|
||||
}
|
||||
|
||||
renderPositions.Add(positions[0]);
|
||||
|
||||
for (var i = 1; i < positions.Count - 1; i++)
|
||||
{
|
||||
var previous = positions[i - 1];
|
||||
var current = positions[i];
|
||||
var next = positions[i + 1];
|
||||
|
||||
if (!TryBuildSmoothedCorner(previous, current, next, out var entry, out var exit))
|
||||
{
|
||||
AddRenderPointIfDistinct(current);
|
||||
continue;
|
||||
}
|
||||
|
||||
AddRenderPointIfDistinct(entry);
|
||||
for (var subdivision = 1; subdivision <= cornerSmoothSubdivisions; subdivision++)
|
||||
{
|
||||
var t = subdivision / (cornerSmoothSubdivisions + 1f);
|
||||
var pointOnCurve = EvaluateQuadraticBezier(entry, current, exit, t);
|
||||
AddRenderPointIfDistinct(pointOnCurve);
|
||||
}
|
||||
|
||||
AddRenderPointIfDistinct(exit);
|
||||
}
|
||||
|
||||
AddRenderPointIfDistinct(positions[^1]);
|
||||
}
|
||||
|
||||
private bool TryBuildSmoothedCorner(
|
||||
Vector3 previous,
|
||||
Vector3 current,
|
||||
Vector3 next,
|
||||
out Vector3 entry,
|
||||
out Vector3 exit)
|
||||
{
|
||||
entry = current;
|
||||
exit = current;
|
||||
|
||||
var incoming = current - previous;
|
||||
var outgoing = next - current;
|
||||
var incomingLength = incoming.magnitude;
|
||||
var outgoingLength = outgoing.magnitude;
|
||||
if (incomingLength <= 0.0001f || outgoingLength <= 0.0001f)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
var cornerAngle = Vector3.Angle(incoming, outgoing);
|
||||
if (cornerAngle < minCornerAngle)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
var trimDistance = Mathf.Min(
|
||||
maxCornerSmoothDistance,
|
||||
incomingLength * 0.5f,
|
||||
outgoingLength * 0.5f);
|
||||
|
||||
if (trimDistance <= 0.0001f)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
entry = current - (incoming / incomingLength) * trimDistance;
|
||||
exit = current + (outgoing / outgoingLength) * trimDistance;
|
||||
return true;
|
||||
}
|
||||
|
||||
private void AddRenderPointIfDistinct(Vector3 point)
|
||||
{
|
||||
if (renderPositions.Count > 0 && Vector3.Distance(renderPositions[^1], point) <= 0.0001f)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
renderPositions.Add(point);
|
||||
}
|
||||
|
||||
private static Vector3 EvaluateQuadraticBezier(Vector3 start, Vector3 control, Vector3 end, float t)
|
||||
{
|
||||
var oneMinusT = 1f - t;
|
||||
return (oneMinusT * oneMinusT * start)
|
||||
+ (2f * oneMinusT * t * control)
|
||||
+ (t * t * end);
|
||||
}
|
||||
|
||||
private void OnDrawGizmosSelected()
|
||||
{
|
||||
if (!drawDebugSamples || positions.Count == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
for (var i = 0; i < positions.Count; i++)
|
||||
{
|
||||
var isLogicalPoint = solver != null
|
||||
&& solver.ChainPoints != null
|
||||
&& i < solver.ChainPoints.Count
|
||||
&& solver.ChainPoints[i].IsLogical;
|
||||
|
||||
Gizmos.color = isLogicalPoint ? debugLogicalSampleColor : debugVirtualSampleColor;
|
||||
Gizmos.DrawSphere(
|
||||
positions[i],
|
||||
isLogicalPoint ? debugLogicalSampleRadius : debugVirtualSampleRadius);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -17,15 +17,87 @@ namespace NBF
|
||||
{
|
||||
[SerializeField] public LineType LineType;
|
||||
|
||||
|
||||
|
||||
[Header("References")] [SerializeField]
|
||||
private Transform anchorTransform;
|
||||
|
||||
|
||||
[SerializeField] private FishingLineNode[] logicalNodes = Array.Empty<FishingLineNode>();
|
||||
|
||||
public JointPinchController PinchController;
|
||||
|
||||
private void FixedUpdate()
|
||||
{
|
||||
UpdateAnchorNode();
|
||||
CalculateLineRealLength(Time.fixedDeltaTime);
|
||||
}
|
||||
|
||||
#region Start Node
|
||||
|
||||
private void ConfigureStartNode()
|
||||
{
|
||||
if (logicalNodes == null || logicalNodes.Length == 0 || logicalNodes[0] == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var startNode = logicalNodes[0];
|
||||
startNode.Type = FishingLineNode.NodeType.Start;
|
||||
|
||||
if (startNode.Body != null)
|
||||
{
|
||||
startNode.Body.isKinematic = true;
|
||||
startNode.Body.interpolation = RigidbodyInterpolation.Interpolate;
|
||||
startNode.Body.collisionDetectionMode = CollisionDetectionMode.ContinuousDynamic;
|
||||
}
|
||||
|
||||
UpdateAnchorNode();
|
||||
}
|
||||
|
||||
private void UpdateAnchorNode()
|
||||
{
|
||||
if (anchorTransform == null || logicalNodes == null || logicalNodes.Length == 0 || logicalNodes[0] == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var startNode = logicalNodes[0];
|
||||
startNode.transform.SetPositionAndRotation(anchorTransform.position, anchorTransform.rotation);
|
||||
|
||||
if (startNode.Body != null)
|
||||
{
|
||||
if (!startNode.Body.isKinematic)
|
||||
{
|
||||
startNode.Body.linearVelocity = Vector3.zero;
|
||||
startNode.Body.angularVelocity = Vector3.zero;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Line
|
||||
|
||||
/// <summary>
|
||||
/// 当前逻辑链总长度超出配置总长度的部分,小于等于零时记为 0。
|
||||
/// </summary>
|
||||
public float CurrentStretchLength { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// 设置指定逻辑段的配置长度。
|
||||
/// segmentIndex 为 0 时表示第一段;大于 0 时表示对应逻辑节点到下一个逻辑节点的线长。
|
||||
/// </summary>
|
||||
public void SetLenght(float length, int segmentIndex = 0)
|
||||
{
|
||||
ConfigureStartNode();
|
||||
CalculateLineRealLength(0f);
|
||||
}
|
||||
|
||||
private void CalculateLineRealLength(float deltaTime)
|
||||
{
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region LineNode
|
||||
|
||||
/// <summary>
|
||||
@@ -34,6 +106,23 @@ namespace NBF
|
||||
/// </summary>
|
||||
public IReadOnlyList<FishingLineNode> LogicalNodes => logicalNodes;
|
||||
|
||||
/// <summary>
|
||||
/// 根据类型获取逻辑节点类型
|
||||
/// </summary>
|
||||
/// <param name="nodeType"></param>
|
||||
/// <returns></returns>
|
||||
public FishingLineNode GetLogicalNode(FishingLineNode.NodeType nodeType)
|
||||
{
|
||||
foreach (var fishingLineNode in logicalNodes)
|
||||
{
|
||||
if (fishingLineNode.Type == nodeType)
|
||||
{
|
||||
return fishingLineNode;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取指定顺序索引的逻辑节点。
|
||||
@@ -105,6 +194,62 @@ namespace NBF
|
||||
|
||||
#endregion
|
||||
|
||||
#region 极限判定
|
||||
|
||||
[Header("Limit Detection")]
|
||||
[Min(0f)]
|
||||
// 极限判定的长度容差,允许链路在总长或单段长度上存在少量误差。
|
||||
[SerializeField]
|
||||
private float lengthLimitTolerance = 0.01f;
|
||||
|
||||
[Min(0f)]
|
||||
// 达到极限后,只有当前超长值大于该阈值时,才开始进入断线候选计时。
|
||||
[SerializeField]
|
||||
private float breakStretchThreshold = 0.05f;
|
||||
|
||||
/// <summary>
|
||||
/// 当鱼线达到断线条件时发出的一次性消息。
|
||||
/// 外部可订阅该事件,在回调中执行切线、播放表现或状态切换。
|
||||
/// </summary>
|
||||
public event Action<FishingLineSolver> OnLineBreakRequested;
|
||||
|
||||
/// <summary>
|
||||
/// 当前断线候选状态的累计时间。
|
||||
/// 只有在处于极限状态,且 CurrentStretchLength 大于断线阈值时才会累加;否则重置为 0。
|
||||
/// </summary>
|
||||
public float LimitStateTime { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// 当前拉力极限百分比。
|
||||
/// 当超长值小于等于 lengthLimitTolerance 时为 0;
|
||||
/// 当超长值大于等于 breakStretchThreshold 时为 100;
|
||||
/// 中间区间按线性比例映射,供 UI 显示使用。
|
||||
/// </summary>
|
||||
public float CurrentBreakStretchPercent => EvaluateBreakStretchPercent(CurrentStretchLength);
|
||||
|
||||
|
||||
private float EvaluateBreakStretchPercent(float stretchLength)
|
||||
{
|
||||
if (stretchLength <= lengthLimitTolerance)
|
||||
{
|
||||
return 0f;
|
||||
}
|
||||
|
||||
if (stretchLength >= breakStretchThreshold)
|
||||
{
|
||||
return 100f;
|
||||
}
|
||||
|
||||
if (breakStretchThreshold <= lengthLimitTolerance)
|
||||
{
|
||||
return 100f;
|
||||
}
|
||||
|
||||
return Mathf.InverseLerp(lengthLimitTolerance, breakStretchThreshold, stretchLength) * 100f;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
protected override void OnInit()
|
||||
{
|
||||
var tipRb = Rod.Asset.LineConnectorRigidbody;
|
||||
|
||||
@@ -37,15 +37,14 @@ namespace NBF
|
||||
targetFirstSegmentLength =
|
||||
Mathf.Clamp(initialFirstSegmentLength, minFirstSegmentLength, maxFirstSegmentLength);
|
||||
solver.SetLenght(targetFirstSegmentLength);
|
||||
solver.BuildLine();
|
||||
// solver.BuildLine();
|
||||
|
||||
solver.OnLineBreakRequested += OnLineBreakRequested;
|
||||
}
|
||||
|
||||
private void OnLineBreakRequested(FishingLineSolver lineSolver)
|
||||
{
|
||||
Debug.LogError(
|
||||
$"当前拉力达到极限,切线,极限时间={lineSolver.LimitStateTime} CurrentStretchLength={lineSolver.CurrentStretchLength} CurrentTensionRatio={lineSolver.CurrentTensionRatio}");
|
||||
Debug.LogError($"当前拉力达到极限,切线,极限时间={lineSolver.LimitStateTime}");
|
||||
var endNode = lineSolver.GetEndNode();
|
||||
if (endNode != null)
|
||||
{
|
||||
@@ -83,21 +82,6 @@ namespace NBF
|
||||
{
|
||||
// Debug.LogError(solver.CurrentBreakStretchPercent);
|
||||
}
|
||||
// if (solver.IsAtLimit)
|
||||
// {
|
||||
// if (solver.CurrentStretchLength > 0.04)
|
||||
// Debug.LogError($"CurrentStretchLength={solver.CurrentStretchLength}");
|
||||
// if (solver.CurrentStretchLength > 0.1 && solver.LimitStateTime > 2f)
|
||||
// {
|
||||
// Debug.LogError(
|
||||
// $"当前拉力达到极限,切线,极限时间={solver.LimitStateTime} CurrentStretchLength={solver.CurrentStretchLength} CurrentTensionRatio={solver.CurrentTensionRatio}");
|
||||
// var endNode = solver.GetEndNode();
|
||||
// if (endNode != null)
|
||||
// {
|
||||
// endNode.Body.isKinematic = false;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 38f37be41b0a4792b866b9ad9b4d9268
|
||||
timeCreated: 1776093454
|
||||
@@ -0,0 +1,19 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
[RequireComponent(typeof(LineRenderer))]
|
||||
public class FishingLineRenderer : MonoBehaviour
|
||||
{
|
||||
[Header("References")] [SerializeField]
|
||||
private FishingLineSolver solver;
|
||||
|
||||
[SerializeField] private LineRenderer lineRenderer;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
lineRenderer = GetComponent<LineRenderer>();
|
||||
solver = GetComponent<FishingLineSolver>();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@ using NBF;
|
||||
using UnityEngine;
|
||||
|
||||
[RequireComponent(typeof(LineRenderer))]
|
||||
public class Rope : MonoBehaviour
|
||||
public class FishingNodeRope : MonoBehaviour
|
||||
{
|
||||
[Header("Anchors")] [SerializeField] public Rigidbody startAnchor;
|
||||
[SerializeField] public Rigidbody endAnchor;
|
||||
@@ -174,6 +174,7 @@ public class Rope : MonoBehaviour
|
||||
private int _tMovingSubdiv = -1;
|
||||
|
||||
private FRod _rod;
|
||||
|
||||
public void Init(FRod rod)
|
||||
{
|
||||
_rod = rod;
|
||||
@@ -750,7 +751,8 @@ public class Rope : MonoBehaviour
|
||||
SolveDistanceConstraintsSweep_Fast(last - 1, -1, -1, last, sweepStiffness);
|
||||
}
|
||||
|
||||
private void SolveDistanceConstraintsSweep_Fast(int start, int endExclusive, int step, int last, float sweepStiffness)
|
||||
private void SolveDistanceConstraintsSweep_Fast(int start, int endExclusive, int step, int last,
|
||||
float sweepStiffness)
|
||||
{
|
||||
for (int i = start; i != endExclusive; i += step)
|
||||
{
|
||||
@@ -1066,4 +1068,4 @@ public class Rope : MonoBehaviour
|
||||
for (int i = 0; i < _physicsNodes; i++)
|
||||
Gizmos.DrawSphere(_pCurr[i], 0.01f);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1330e7f73f804eea8ae09724f6bb1039
|
||||
timeCreated: 1766759962
|
||||
@@ -1,55 +0,0 @@
|
||||
// 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 (var i = 0; i < points.Length; i++)
|
||||
{
|
||||
var point = points[i];
|
||||
if (point)
|
||||
{
|
||||
lineRenderer.SetPosition(i, point.position);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5625b86b9e4b4482b82d83b962d0c873
|
||||
timeCreated: 1766759973
|
||||
@@ -15,35 +15,35 @@ EditorUserSettings:
|
||||
value: 2550581500
|
||||
flags: 0
|
||||
RecentlyUsedSceneGuid-0:
|
||||
value: 55540305570d0f0e0c5e5e2115710d44174e4e2b7b7e77662f2d1c61b5b06069
|
||||
flags: 0
|
||||
RecentlyUsedSceneGuid-1:
|
||||
value: 5452500303515f0a5f5b5a7445775e46401519787c717f677d784860e3b1676c
|
||||
flags: 0
|
||||
RecentlyUsedSceneGuid-2:
|
||||
value: 050402550007590a0f565f2714200c44144e492f2f70753175711f66e0b8303c
|
||||
flags: 0
|
||||
RecentlyUsedSceneGuid-3:
|
||||
RecentlyUsedSceneGuid-1:
|
||||
value: 06070c5f5c075c5e5e085476427a0a44474e1c2f7f7a73362f2d4d36b5b1633d
|
||||
flags: 0
|
||||
RecentlyUsedSceneGuid-4:
|
||||
RecentlyUsedSceneGuid-2:
|
||||
value: 0005505f515750595e5f5f23412507441216497f2d7f24367e711c64b6b86c61
|
||||
flags: 0
|
||||
RecentlyUsedSceneGuid-5:
|
||||
RecentlyUsedSceneGuid-3:
|
||||
value: 54070c5452075002590c0871127b5a4443161c2f797176312c2f1e6bb1b4353d
|
||||
flags: 0
|
||||
RecentlyUsedSceneGuid-6:
|
||||
RecentlyUsedSceneGuid-4:
|
||||
value: 5309035757065a0a54575f7216265c4444151d28792e72627d2f1935bbb8673a
|
||||
flags: 0
|
||||
RecentlyUsedSceneGuid-7:
|
||||
RecentlyUsedSceneGuid-5:
|
||||
value: 00050c5150005f5f54560f2640270d4410161c28282b72357e7c4835e4b63760
|
||||
flags: 0
|
||||
RecentlyUsedSceneGuid-8:
|
||||
RecentlyUsedSceneGuid-6:
|
||||
value: 06090c5f54015f5a0f085b7b11765d444e4e1e287429773178704561b3b23561
|
||||
flags: 0
|
||||
RecentlyUsedSceneGuid-9:
|
||||
RecentlyUsedSceneGuid-7:
|
||||
value: 5505015f5c515a085f5b092149760f441716407a787d7564287b1b36e7e1366e
|
||||
flags: 0
|
||||
RecentlyUsedSceneGuid-8:
|
||||
value: 0257035f51050d090f0f5d734521094414164e797e7a20667d7a4536e0e36461
|
||||
flags: 0
|
||||
RecentlyUsedSceneGuid-9:
|
||||
value: 07060c5454040c0a545b547240700a441216417e7f2e7268752c4966b4b0663d
|
||||
flags: 0
|
||||
UnityEditor.ShaderGraph.Blackboard:
|
||||
value: 18135939215a0a5004000b0e15254b524c030a3f2964643d120d1230e9e93a3fd6e826abbd2e2d293c4ead313b08042de6030a0afa240c0d020be94c4ba75e435d8715fa32c70d15d11612dacc11fee5d3c5d1fe9ab1bf968e93e2ffcbc3e7e2f0b3ffe0e8b0be9afeffa9ffff8e85dd8390e2969e8899daa7
|
||||
flags: 0
|
||||
|
||||
Reference in New Issue
Block a user