Compare commits

12 Commits
master ... dev

Author SHA1 Message Date
e42f540822 提交修改 2026-05-08 23:45:29 +08:00
3b587e6c4f 修改提交 2026-05-08 23:26:44 +08:00
d2dbb4a70a 修改提交 2026-05-08 15:32:27 +08:00
ebefd7b0c4 修复浮漂和线 2026-05-06 21:11:55 +08:00
Bob.Song
8dfd7a44fb 111 2026-04-29 17:50:16 +08:00
Bob.Song
70769f7e39 提交修改 2026-04-29 17:33:49 +08:00
Bob.Song
a8f3569787 修改 2026-04-29 17:00:10 +08:00
Bob.Song
d552a83ccb 去掉复杂结构,一切从简 2026-04-29 16:39:15 +08:00
Bob.Song
bf2f9f7a27 注释脚本 2026-04-29 12:42:00 +08:00
Bob.Song
4b129668fd 线逻辑处理 2026-04-27 15:43:19 +08:00
Bob.Song
360140af48 提交修改 2026-04-27 11:28:58 +08:00
9f53298ba0 修改为joint 2026-04-26 23:18:26 +08:00
186 changed files with 131723 additions and 4604 deletions

View File

@@ -84,12 +84,12 @@ TextureImporter:
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureFormat: 4
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
overridden: 1
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0

File diff suppressed because it is too large Load Diff

View File

@@ -12,12 +12,12 @@ GameObject:
- component: {fileID: 114581403422500557}
- component: {fileID: 991521994724602848}
m_Layer: 19
m_Name: Fishing Line
m_Name: Line1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!4 &4439867113915692
Transform:
m_ObjectHideFlags: 0
@@ -31,7 +31,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4283454774123242}
m_Father: {fileID: 7692770133466116076}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &114581403422500557
MonoBehaviour:
@@ -45,9 +45,9 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 98ba9d435a0e49c9bb527c34cc91894d, type: 3}
m_Name:
m_EditorClassIdentifier:
startAnchor: {fileID: 0}
startAnchor: {fileID: 5597807613657979793}
endAnchor: {fileID: 54298866000586118}
LineMultiple: 5
LineMultiple: 1
physicsSegmentLen: 0.1
minPhysicsNodes: 2
maxPhysicsNodes: 200
@@ -55,6 +55,9 @@ MonoBehaviour:
velocityDampen: 0.95
stiffness: 0.8
iterations: 10
hardTightenIterations: 2
adaptiveHardTightenMaxIterations: 8
hardConstraintTolerance: 0.0005
initialLength: 0
lengthSmoothTime: 0.15
lengthChangeVelocityKill: 0.4
@@ -71,16 +74,30 @@ MonoBehaviour:
groundSampleStep: 3
groundInterpolate: 1
groundUpdateEvery: 1
groundPostConstraintIterations: 2
constrainToWaterSurface: 1
waterLevelY: 0
waterSurfaceOffset: 0.002
waterSampleStep: 2
waterInterpolate: 1
waterUpdateEvery: 1
waterLiftStrength: 0.25
keepStartAdjacentNodeFollow: 1
waterPostConstraintIterations: 2
renderSubdivisionsIdle: 6
renderSubdivisionsMoving: 2
movingSpeedThreshold: 2
smooth: 1
lineWidth: 0.001
cullRemoteRopeWhenInvisible: 1
localOwnerAlwaysSimulate: 1
visibilityCheckEvery: 10
visibilityViewportPadding: 0.08
airDrag: 0.2
airDragXZ: 0.6
--- !u!120 &991521994724602848
LineRenderer:
serializedVersion: 2
serializedVersion: 3
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
@@ -126,9 +143,10 @@ LineRenderer:
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_MaskInteraction: 0
m_Positions:
- {x: 0, y: 0, z: 0}
- {x: 0, y: 0, z: 1}
- {x: 0, y: 0, z: 0}
m_Parameters:
serializedVersion: 3
widthMultiplier: 1
@@ -184,7 +202,6 @@ LineRenderer:
textureScale: {x: 1, y: 1}
shadowBias: 0.5
generateLightingData: 0
m_MaskInteraction: 0
m_UseWorldSpace: 1
m_Loop: 0
m_ApplyActiveColorSpace: 1
@@ -198,16 +215,17 @@ GameObject:
m_Component:
- component: {fileID: 4026445325167852}
- component: {fileID: 54679398375713381}
- component: {fileID: 153611279189314279}
- component: {fileID: 135844594273256032}
- component: {fileID: 1923684598771359451}
m_Layer: 7
m_Name: Lure
- component: {fileID: 2951454344396477079}
- component: {fileID: 2305106969988397276}
- component: {fileID: 6377942246174119720}
m_Layer: 15
m_Name: End
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!4 &4026445325167852
Transform:
m_ObjectHideFlags: 0
@@ -250,7 +268,28 @@ Rigidbody:
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 2
--- !u!153 &153611279189314279
--- !u!135 &135844594273256032
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1035052809208993}
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_Radius: 0.003
m_Center: {x: 0, y: -0.0015, z: 0}
--- !u!153 &2951454344396477079
ConfigurableJoint:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -261,10 +300,10 @@ ConfigurableJoint:
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_Axis: {x: 1, y: 0, z: 0}
m_AutoConfigureConnectedAnchor: 1
m_ConnectedAnchor: {x: 0, y: 0, z: 0}
m_SecondaryAxis: {x: 0, y: 0, z: 0}
m_SecondaryAxis: {x: 0, y: 1, z: 0}
m_XMotion: 1
m_YMotion: 1
m_ZMotion: 1
@@ -349,31 +388,10 @@ ConfigurableJoint:
m_BreakForce: Infinity
m_BreakTorque: Infinity
m_EnableCollision: 0
m_EnablePreprocessing: 0
m_EnablePreprocessing: 1
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: 1035052809208993}
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_Radius: 0.003
m_Center: {x: 0, y: -0.0015, z: 0}
--- !u!114 &1923684598771359451
--- !u!114 &2305106969988397276
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -382,11 +400,26 @@ MonoBehaviour:
m_GameObject: {fileID: 1035052809208993}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ed5bbbc032ec4ca1bb56991d9141e311, type: 3}
m_Script: {fileID: 11500000, guid: 7f840e1966fd4c2aafe2f37ca260cdd2, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::NBF.LureController
rBody: {fileID: 54679398375713381}
joint: {fileID: 153611279189314279}
m_EditorClassIdentifier: Assembly-CSharp::NBF.FLineLogicNode
NodeType: 3
rope: {fileID: 114504105083509877}
preRigidbody: {fileID: 54298866000586118}
--- !u!114 &6377942246174119720
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}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::NBF.JointPinchController
moveSpeed: 5
snapDistance: 0.1
--- !u!1 &1387836627839849
GameObject:
m_ObjectHideFlags: 0
@@ -417,10 +450,10 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4439867113915692}
- {fileID: 4110509859352936}
- {fileID: 4026445325167852}
- {fileID: 7692770133466116076}
- {fileID: 9208415877353988341}
- {fileID: 4530253318796540}
- {fileID: 4026445325167852}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &114112904742580403
@@ -435,13 +468,20 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c0403ffd74ce46fab8bd4ef057e51432, type: 3}
m_Name:
m_EditorClassIdentifier:
ConfigId: 0
LineType: 0
isLureConnect: 0
rodLine: {fileID: 0}
fishingRope: {fileID: 114581403422500557}
bobberRope: {fileID: 114504105083509877}
Lure: {fileID: 1923684598771359451}
Bobber: {fileID: 2717383850592950062}
anchorTransform: {fileID: 0}
lineNodes:
- {fileID: 3463242999848273700}
- {fileID: 8491405271793597799}
- {fileID: 2305106969988397276}
positionCorrectionForce: 100
dampingCoefficient: 10
constraintIterations: 10
useMassWeighting: 1
showDebugInfo: 1
defaultTransitionSpeed: 2
LinelenghtDiferent: 0
--- !u!1 &1858052053854210
GameObject:
m_ObjectHideFlags: 0
@@ -452,16 +492,16 @@ GameObject:
m_Component:
- component: {fileID: 4530253318796540}
- component: {fileID: 54298866000586118}
- component: {fileID: 153691655494134957}
- component: {fileID: 2717383850592950062}
- component: {fileID: 8545743762334745476}
m_Layer: 16
- component: {fileID: 4367274852511404246}
- component: {fileID: 8491405271793597799}
- component: {fileID: 6946262978138518655}
m_Layer: 15
m_Name: Float
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!4 &4530253318796540
Transform:
m_ObjectHideFlags: 0
@@ -504,7 +544,7 @@ Rigidbody:
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 2
--- !u!153 &153691655494134957
--- !u!153 &4367274852511404246
ConfigurableJoint:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -512,13 +552,13 @@ ConfigurableJoint:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1858052053854210}
serializedVersion: 4
m_ConnectedBody: {fileID: 0}
m_ConnectedBody: {fileID: 5597807613657979793}
m_ConnectedArticulationBody: {fileID: 0}
m_Anchor: {x: 0, y: -0.01, z: 0}
m_Axis: {x: 0, y: 0, z: 0}
m_Anchor: {x: 0, y: 0, z: 0}
m_Axis: {x: 1, y: 0, z: 0}
m_AutoConfigureConnectedAnchor: 0
m_ConnectedAnchor: {x: 0, y: 0, z: 0}
m_SecondaryAxis: {x: 0, y: 0, z: 0}
m_ConnectedAnchor: {x: 0, y: -0.01, z: 0}
m_SecondaryAxis: {x: 0, y: 1, z: 0}
m_XMotion: 1
m_YMotion: 1
m_ZMotion: 1
@@ -603,10 +643,10 @@ ConfigurableJoint:
m_BreakForce: Infinity
m_BreakTorque: Infinity
m_EnableCollision: 0
m_EnablePreprocessing: 0
m_EnablePreprocessing: 1
m_MassScale: 1
m_ConnectedMassScale: 1
--- !u!114 &2717383850592950062
--- !u!114 &8491405271793597799
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -615,12 +655,13 @@ MonoBehaviour:
m_GameObject: {fileID: 1858052053854210}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 8e9411b5edc6466a8014c59e3821bbaa, type: 3}
m_Script: {fileID: 11500000, guid: 7f840e1966fd4c2aafe2f37ca260cdd2, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::NBF.BobberController
_rbody: {fileID: 54298866000586118}
joint: {fileID: 153691655494134957}
--- !u!114 &8545743762334745476
m_EditorClassIdentifier: Assembly-CSharp::NBF.FLineLogicNode
NodeType: 1
rope: {fileID: 114581403422500557}
preRigidbody: {fileID: 5597807613657979793}
--- !u!114 &6946262978138518655
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -629,49 +670,57 @@ MonoBehaviour:
m_GameObject: {fileID: 1858052053854210}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f91c9d873c83492ca6d5e3e3a67c1760, type: 3}
m_Script: {fileID: 11500000, guid: 2dedfafdc2d747d98c682cde3e28e513, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::CapsuleBuoyancyStable
buoyancyScale: 1.6
samplePoints: 9
submergenceCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 1
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 1
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
verticalDamping: 0.6
angularDamping: 0.1
uprightSpring: 0
uprightDamping: 0.5
uprightAxis: 1
extraDragInWater: 0.8
extraAngularDragInWater: 0.3
nearUprightDampingReduce: 0.6
nearUprightAngleDeg: 12
_waterRenderer: {fileID: 0}
_Layer: 1
_ObjectWidth: 3
drawDebug: 1
_init: 0
m_EditorClassIdentifier: Assembly-CSharp::BobberPresentationController
fallbackWaterLevel: 0
waterRenderer: {fileID: 0}
waterCollisionLayer: 1
waterQueryObjectWidth: 0.5
waterProviderBehaviour: {fileID: 0}
enterWaterDepth: 0.002
exitWaterDepth: -0.01
floatHeight: 0.08
bottomOffsetLocalY: 0
baseSubmergeRatio: 0.28
ySmoothTime: 0.08
maxYSpeed: 2
yDeadZone: 0.0005
enableSurfaceBobbing: 1
surfaceBobAmplitude: 0.0015
surfaceBobFrequency: 1.2
lockXZAroundAnchor: 1
xzSmoothTime: 0.15
maxPlanarOffset: 0.15
downForceToSink: 0.0025
maxExtraSink: 0.08
enableBottomTouchAdjust: 1
bottomTouchLift: 0.01
lureBody: {fileID: 0}
referenceLength: 0.3
minSubmergeToStand: 0.16
verticalLieThreshold: 0.18
verticalUprightThreshold: 0.75
planarTiltThreshold: 0.3
planarDominanceMultiplier: 1.2
postureHysteresis: 0.04
postureConfirmTime: 0.08
postureSwitchCooldown: 0.1
tiltedAngle: 38
lyingAngle: 88
uprightMaxTiltAngle: 8
planarTiltFactor: 120
planarDirectionDeadZone: 0.01
planarDirectionLerpSpeed: 10
rotationLerpSpeed: 8
debugResetKey: 1
debugTapKey: 1
debugSlowSinkKey: 1
debugLiftKey: 1
debugBlackDriftKey: 1
drawDebug: 0
UseTestPosture: 0
TestPosture: 0
--- !u!1 &1933124697579601
GameObject:
m_ObjectHideFlags: 0
@@ -684,12 +733,12 @@ GameObject:
- component: {fileID: 114504105083509877}
- component: {fileID: 484878994603287356}
m_Layer: 0
m_Name: Float Line
m_Name: Line2
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!4 &4110509859352936
Transform:
m_ObjectHideFlags: 0
@@ -703,7 +752,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4283454774123242}
m_Father: {fileID: 7692770133466116076}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &114504105083509877
MonoBehaviour:
@@ -719,7 +768,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
startAnchor: {fileID: 54298866000586118}
endAnchor: {fileID: 54679398375713381}
LineMultiple: 5
LineMultiple: 1
physicsSegmentLen: 0.2
minPhysicsNodes: 2
maxPhysicsNodes: 120
@@ -727,6 +776,9 @@ MonoBehaviour:
velocityDampen: 0.95
stiffness: 0.8
iterations: 10
hardTightenIterations: 2
adaptiveHardTightenMaxIterations: 8
hardConstraintTolerance: 0.0005
initialLength: 0
lengthSmoothTime: 0.15
lengthChangeVelocityKill: 0.6
@@ -743,16 +795,30 @@ MonoBehaviour:
groundSampleStep: 3
groundInterpolate: 1
groundUpdateEvery: 1
groundPostConstraintIterations: 2
constrainToWaterSurface: 0
waterLevelY: 0
waterSurfaceOffset: 0.002
waterSampleStep: 2
waterInterpolate: 1
waterUpdateEvery: 1
waterLiftStrength: 0.25
keepStartAdjacentNodeFollow: 1
waterPostConstraintIterations: 2
renderSubdivisionsIdle: 6
renderSubdivisionsMoving: 2
movingSpeedThreshold: 2
smooth: 1
lineWidth: 0.001
cullRemoteRopeWhenInvisible: 1
localOwnerAlwaysSimulate: 1
visibilityCheckEvery: 10
visibilityViewportPadding: 0.08
airDrag: 0.9
airDragXZ: 0.6
--- !u!120 &484878994603287356
LineRenderer:
serializedVersion: 2
serializedVersion: 3
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
@@ -798,9 +864,10 @@ LineRenderer:
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_MaskInteraction: 0
m_Positions:
- {x: 0, y: 0, z: 0}
- {x: 0, y: 0, z: 1}
- {x: 0, y: 0, z: 0}
m_Parameters:
serializedVersion: 3
widthMultiplier: 1
@@ -856,7 +923,114 @@ LineRenderer:
textureScale: {x: 1, y: 1}
shadowBias: 0.5
generateLightingData: 0
m_MaskInteraction: 0
m_UseWorldSpace: 1
m_Loop: 0
m_ApplyActiveColorSpace: 1
--- !u!1 &1542886292836040378
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 9208415877353988341}
- component: {fileID: 5597807613657979793}
- component: {fileID: 3463242999848273700}
m_Layer: 15
m_Name: Start
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &9208415877353988341
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1542886292836040378}
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: 4283454774123242}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!54 &5597807613657979793
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1542886292836040378}
serializedVersion: 5
m_Mass: 1
m_LinearDamping: 0
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: 1
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!114 &3463242999848273700
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1542886292836040378}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7f840e1966fd4c2aafe2f37ca260cdd2, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::NBF.FLineLogicNode
NodeType: 0
rope: {fileID: 0}
preRigidbody: {fileID: 0}
--- !u!1 &3739175077773299312
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7692770133466116076}
m_Layer: 0
m_Name: Ropes
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7692770133466116076
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3739175077773299312}
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: 4439867113915692}
- {fileID: 4110509859352936}
m_Father: {fileID: 4283454774123242}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

View File

@@ -169,9 +169,9 @@ GameObject:
- component: {fileID: 2216216690891386863}
- component: {fileID: 3644333618879986678}
- component: {fileID: 4477616030203838514}
- component: {fileID: 2059248182290203691}
- component: {fileID: 8101446342893690422}
- component: {fileID: 2923025939212586282}
- component: {fileID: 2431960384537678220}
m_Layer: 14
m_Name: Player
m_TagString: Untagged
@@ -247,6 +247,45 @@ CapsuleCollider:
m_Height: 2
m_Direction: 1
m_Center: {x: 0, y: 1, z: 0}
--- !u!114 &2059248182290203691
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8172838236951268422}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7c69e72330154a86b756d89e82d276e9, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::NBF.Player
PreviousState: 0
State: 0
StateParams:
_keys: []
_intValues:
_floatValues: []
_vector3Values: []
_quaternionValues: []
EyeAngle: 0
IsGrounded: 0
Speed: 0
RotationSpeed: 0
MoveInput: {x: 0, y: 0}
Run: 0
Root: {fileID: 8695154010886802211}
Eye: {fileID: 5745877877928638952}
FppLook: {fileID: 2969532427624891124}
IK: {fileID: 1593568502960682634}
ModelAsset: {fileID: 0}
Character: {fileID: 8101446342893690422}
FirstPerson: {fileID: 2923025939212586282}
MouseSensitivity: 0.1
invertLook: 1
minPitch: -75
maxPitch: 60
IsSelf: 0
TrajectoryPoints: []
--- !u!114 &8101446342893690422
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -342,29 +381,6 @@ MonoBehaviour:
_standingDownwardForceScale: 1
_camera: {fileID: 0}
cameraParent: {fileID: 6835675132305341997}
--- !u!114 &2431960384537678220
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8172838236951268422}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a25908f34e4e4464a922b88337a5b733, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::NBF.PlayerUnityComponent
Root: {fileID: 8695154010886802211}
Eye: {fileID: 5745877877928638952}
FppLook: {fileID: 2969532427624891124}
IK: {fileID: 1593568502960682634}
ModelAsset: {fileID: 0}
Character: {fileID: 8101446342893690422}
FirstPerson: {fileID: 2923025939212586282}
MouseSensitivity: 0.1
invertLook: 1
minPitch: -75
maxPitch: 60
--- !u!1 &8378981416044742488
GameObject:
m_ObjectHideFlags: 0

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a04b59ba97af5c04ba73283abbde62b5
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 3a8b031664e7a334ead5703dba053c6b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,528 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!74 &7400000
AnimationClip:
serializedVersion: 7
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Take 001
m_Legacy: 1
m_Compressed: 0
m_UseHighQualityCurve: 1
m_RotationCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: -0.7071068, y: 0, z: -0, w: 0.7071068}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
- serializedVersion: 3
time: 0.033333335
value: {x: -0.7071068, y: 0, z: -0, w: 0.7071068}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: Rod_bait_a01
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 0.49989676, y: -0.5002011, z: -0.4997988, w: 0.50010324}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
- serializedVersion: 3
time: 0.033333335
value: {x: 0.49989676, y: -0.5002011, z: -0.4997988, w: 0.50010324}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: Bone045
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: -9.7990065E-05, y: -3.0143106E-08, z: -0.00044766907, w: 0.9999999}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
- serializedVersion: 3
time: 0.033333335
value: {x: -9.7990065E-05, y: -3.0143106E-08, z: -0.00044766907, w: 0.9999999}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: Bone045/Bone046
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 9.7383776E-08, y: -2.4840273E-12, z: -2.548519E-05, w: 1}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
- serializedVersion: 3
time: 0.033333335
value: {x: 9.7383776E-08, y: -2.4840273E-12, z: -2.548519E-05, w: 1}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: Bone045/Bone046/Bone047
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 8.748856E-15, y: 4.973586E-18, z: 0.00062060356, w: 0.9999998}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
- serializedVersion: 3
time: 0.033333335
value: {x: 8.748856E-15, y: 4.973586E-18, z: 0.00062060356, w: 0.9999998}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: Bone045/Bone046/Bone047/Bone048
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: -8.3552376E-22, y: -1.4396938E-18, z: -0.00058034813, w: 0.9999998}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
- serializedVersion: 3
time: 0.033333335
value: {x: -8.3552376E-22, y: -1.4396938E-18, z: -0.00058034813, w: 0.9999998}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: Bone045/Bone046/Bone047/Bone048/Bone049
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 4.909655E-12, y: -1.2496E-15, z: -0.0002545189, w: 1}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
- serializedVersion: 3
time: 0.033333335
value: {x: 4.909655E-12, y: -1.2496E-15, z: -0.0002545189, w: 1}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: Bone045/Bone046/Bone047/Bone048/Bone049/Bone050
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 3.3995487E-16, y: 1.4467567E-19, z: 0.00042557315, w: 0.99999994}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
- serializedVersion: 3
time: 0.033333335
value: {x: 3.3995487E-16, y: 1.4467567E-19, z: 0.00042557315, w: 0.99999994}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: Bone045/Bone046/Bone047/Bone048/Bone049/Bone050/Bone051
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 0, y: 0, z: 0.0006189186, w: 0.9999998}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
- serializedVersion: 3
time: 0.033333335
value: {x: 0, y: 0, z: 0.0006189186, w: 0.9999998}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: Bone045/Bone046/Bone047/Bone048/Bone049/Bone050/Bone051/Bone052
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: -1.1216966E-15, y: 3.4694461E-18, z: 3.8916658E-33, w: 1}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
- serializedVersion: 3
time: 0.033333335
value: {x: -1.1216966E-15, y: 3.4694461E-18, z: 3.8916658E-33, w: 1}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: Bone045/Bone046/Bone047/Bone048/Bone049/Bone050/Bone051/Bone052/Bone053
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 0.70710665, y: -0.00046758342, z: -0.7071066, w: -0.00046758348}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
- serializedVersion: 3
time: 0.033333335
value: {x: 0.70710665, y: -0.00046758342, z: -0.7071066, w: -0.00046758348}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: Bone045/Bone046/Bone047/Bone048/Bone049/Bone050/Bone051/Bone052/bait1_point_07
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 0.7071068, y: -2.9941912E-05, z: -0.7071067, w: -2.9941917E-05}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
- serializedVersion: 3
time: 0.033333335
value: {x: 0.7071068, y: -2.9941912E-05, z: -0.7071067, w: -2.9941917E-05}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: Bone045/Bone046/Bone047/Bone048/Bone049/Bone050/Bone051/bait1_point_06
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 0.7071068, y: 0.00027088955, z: -0.70710665, w: 0.0002708896}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
- serializedVersion: 3
time: 0.033333335
value: {x: 0.7071068, y: 0.00027088955, z: -0.70710665, w: 0.0002708896}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: Bone045/Bone046/Bone047/Bone048/Bone049/Bone050/bait1_point_05
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 0.7071068, y: 9.086146E-05, z: -0.7071067, w: 9.0861475E-05}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
- serializedVersion: 3
time: 0.033333335
value: {x: 0.7071068, y: 9.086146E-05, z: -0.7071067, w: 9.0861475E-05}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: Bone045/Bone046/Bone047/Bone048/Bone049/bait1_point_04
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 0.70710677, y: -0.0003195687, z: -0.70710665, w: -0.00031956873}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
- serializedVersion: 3
time: 0.033333335
value: {x: 0.70710677, y: -0.0003195687, z: -0.70710665, w: -0.00031956873}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: Bone045/Bone046/Bone047/Bone048/bait1_point_03
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 0.7071068, y: 0.00011929686, z: -0.7071067, w: 0.00011929688}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
- serializedVersion: 3
time: 0.033333335
value: {x: 0.7071068, y: 0.00011929686, z: -0.7071067, w: 0.00011929688}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: Bone045/Bone046/Bone047/bait1_point_02
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 0.7071069, y: 0.00010131288, z: -0.7071067, w: 0.00010131291}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
- serializedVersion: 3
time: 0.033333335
value: {x: 0.7071069, y: 0.00010131288, z: -0.7071067, w: 0.00010131291}
inSlope: {x: 0, y: 0, z: 0, w: 0}
outSlope: {x: 0, y: 0, z: 0, w: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334, w: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: Bone045/Bone046/bait1_point_01
m_CompressedRotationCurves: []
m_EulerCurves: []
m_PositionCurves: []
m_ScaleCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 0.01, y: 0.01, z: 0.01}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 0.033333335
value: {x: 0.01, y: 0.01, z: 0.01}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: Rod_bait_a01
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 0.01, y: 0.01, z: 0.01}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 0.033333335
value: {x: 0.01, y: 0.01, z: 0.01}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: Bone045
m_FloatCurves: []
m_PPtrCurves: []
m_SampleRate: 30
m_WrapMode: 0
m_Bounds:
m_Center: {x: 9.313226E-09, y: 0.66402686, z: 7.450581E-09}
m_Extent: {x: 0.018769126, y: 0.8992171, z: 0.03586956}
m_ClipBindingConstant:
genericBindings: []
pptrCurveMapping: []
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 1
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
m_LoopTime: 0
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
m_LoopBlendPositionXZ: 0
m_KeepOriginalOrientation: 0
m_KeepOriginalPositionY: 1
m_KeepOriginalPositionXZ: 0
m_HeightFromFeet: 0
m_Mirror: 0
m_EditorCurves: []
m_EulerEditorCurves: []
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events: []

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 2683829f80b9ec54a88e0f5d3f58d420
timeCreated: 1777192203
licenseType: Free
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4148210e2ec9c5945bd0e587490a1a53
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1842d9287b8054d41a1d601312eb0cb9
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 60c870d474b4ba445937f8f552b8eae7
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 12c8bbc6b3e3d364eb3ff72788c2356f
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,718 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1025901758691103
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4371939378208658}
m_Layer: 0
m_Name: bait1_point_06
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4371939378208658
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1025901758691103}
serializedVersion: 2
m_LocalRotation: {x: 0.7071068, y: -0.000029941912, z: -0.7071067, w: -0.000029941917}
m_LocalPosition: {x: -12.042725, y: -0.4634794, z: 0.0015716532}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4875609422105747}
m_LocalEulerAnglesHint: {x: -179.99515, y: -89.999985, z: 0}
--- !u!1 &1044625135789424
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4918264173551851}
m_Layer: 0
m_Name: Bone050
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4918264173551851
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1044625135789424}
serializedVersion: 2
m_LocalRotation: {x: 4.909655e-12, y: -1.2496e-15, z: -0.0002545189, w: 1}
m_LocalPosition: {x: -16.581696, y: -0.000001065433, z: 3.7269166e-10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4587397909062814}
- {fileID: 4875609422105747}
m_Father: {fileID: 4946936116752871}
m_LocalEulerAnglesHint: {x: 5.62605e-10, y: -1.0019693e-20, z: 0.029165717}
--- !u!1 &1061268324235159
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4642988549198181}
m_Layer: 0
m_Name: bait1_point_03
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4642988549198181
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1061268324235159}
serializedVersion: 2
m_LocalRotation: {x: 0.70710677, y: -0.0003195687, z: -0.70710665, w: -0.00031956873}
m_LocalPosition: {x: -21.219818, y: -0.70768195, z: 0.0015792764}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4969106005120503}
m_LocalEulerAnglesHint: {x: -179.94821, y: -89.99999, z: 0}
--- !u!1 &1099118695303065
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4302127217294661}
m_Layer: 0
m_Name: bait1_point_02
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4302127217294661
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1099118695303065}
serializedVersion: 2
m_LocalRotation: {x: 0.7071068, y: 0.00011929686, z: -0.7071067, w: 0.00011929688}
m_LocalPosition: {x: -25.924747, y: -0.8755492, z: 0.0015792507}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4634108722742392}
m_LocalEulerAnglesHint: {x: 179.98067, y: -89.99999, z: 0}
--- !u!1 &1243736805655561
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4969106005120503}
m_Layer: 0
m_Name: Bone048
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4969106005120503
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1243736805655561}
serializedVersion: 2
m_LocalRotation: {x: 8.748856e-15, y: 4.973586e-18, z: 0.00062060356, w: 0.9999998}
m_LocalPosition: {x: -25.80003, y: -0.0000000018626451, z: 5.8009697e-10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4642988549198181}
- {fileID: 4946936116752871}
m_Father: {fileID: 4634108722742392}
m_LocalEulerAnglesHint: {x: 1.0025453e-12, y: 5.2252152e-17, z: -0.07111593}
--- !u!1 &1336590748365959
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4089843903986396}
- component: {fileID: 137672306508523268}
m_Layer: 0
m_Name: Rod_bait_a01
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4089843903986396
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1336590748365959}
serializedVersion: 2
m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068}
m_LocalPosition: {x: -0, y: 0, z: 0}
m_LocalScale: {x: 0.01, y: 0.01, z: 0.01}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4002669891404536}
m_LocalEulerAnglesHint: {x: -90, y: -0, z: 0}
--- !u!137 &137672306508523268
SkinnedMeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1336590748365959}
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: 3
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: f277d98d064c1e749b18cad9161f424c, 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_MaskInteraction: 0
serializedVersion: 2
m_Quality: 0
m_UpdateWhenOffscreen: 0
m_SkinnedMotionVectors: 1
m_Mesh: {fileID: 4300000, guid: 7670ed9b661494e40885280405674921, type: 2}
m_Bones:
- {fileID: 4313026266067498}
- {fileID: 4634108722742392}
- {fileID: 4969106005120503}
- {fileID: 4621510681728303}
- {fileID: 4946936116752871}
- {fileID: 4918264173551851}
- {fileID: 4875609422105747}
- {fileID: 4694121525821480}
m_BlendShapeWeights: []
m_RootBone: {fileID: 4313026266067498}
m_AABB:
m_Center: {x: -55.353004, y: -0.023352265, z: 0.000003695488}
m_Extent: {x: 89.922646, y: 3.5869565, z: 1.8769127}
m_DirtyAABB: 0
--- !u!1 &1372920208702427
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4875609422105747}
m_Layer: 0
m_Name: Bone051
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4875609422105747
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1372920208702427}
serializedVersion: 2
m_LocalRotation: {x: 3.3995487e-16, y: 1.4467567e-19, z: 0.00042557315, w: 0.99999994}
m_LocalPosition: {x: -13.7176895, y: -0.0000052526593, z: 3.0822855e-10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4371939378208658}
- {fileID: 4694121525821480}
m_Father: {fileID: 4918264173551851}
m_LocalEulerAnglesHint: {x: 3.895596e-14, y: 1.524699e-25, z: -0.048767086}
--- !u!1 &1587765826080250
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4946936116752871}
m_Layer: 0
m_Name: Bone049
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4946936116752871
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1587765826080250}
serializedVersion: 2
m_LocalRotation: {x: -8.3552376e-22, y: -1.4396938e-18, z: -0.00058034813, w: 0.9999998}
m_LocalPosition: {x: -21.173233, y: -0.000004760921, z: 4.7555515e-10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4711914853252429}
- {fileID: 4918264173551851}
m_Father: {fileID: 4969106005120503}
m_LocalEulerAnglesHint: {x: -2.9478308e-28, y: 1.6497678e-16, z: 0.066503}
--- !u!1 &1589667821646929
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4587397909062814}
m_Layer: 0
m_Name: bait1_point_05
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4587397909062814
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1589667821646929}
serializedVersion: 2
m_LocalRotation: {x: 0.7071068, y: 0.00027088955, z: -0.70710665, w: 0.0002708896}
m_LocalPosition: {x: -13.75135, y: -0.51266074, z: 0.001571651}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4918264173551851}
m_LocalEulerAnglesHint: {x: 179.9561, y: -89.999985, z: 0}
--- !u!1 &1618682377417806
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4621510681728303}
m_Layer: 0
m_Name: Bone046
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4621510681728303
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1618682377417806}
serializedVersion: 2
m_LocalRotation: {x: -0.00009799007, y: -0.00000003014311, z: -0.0004476691, w: 0.99999994}
m_LocalPosition: {x: -23.581745, y: 0.0000013615936, z: 0.0000006434717}
m_LocalScale: {x: 1.000001, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4632457200066912}
- {fileID: 4634108722742392}
m_Father: {fileID: 4313026266067498}
m_LocalEulerAnglesHint: {x: -0.0112288315, y: 0.000008480947, z: 0.051299095}
--- !u!1 &1703437598541787
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4632457200066912}
m_Layer: 0
m_Name: bait1_point_01
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4632457200066912
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1703437598541787}
serializedVersion: 2
m_LocalRotation: {x: 0.7071069, y: 0.00010131288, z: -0.7071067, w: 0.00010131291}
m_LocalPosition: {x: -22.43697, y: -0.8466806, z: 0.0015797492}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4621510681728303}
m_LocalEulerAnglesHint: {x: 179.98358, y: -89.999985, z: 0}
--- !u!1 &1705390221481576
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4320256170494724}
- component: {fileID: 135017697238300914}
m_Layer: 0
m_Name: bait1_point_07
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4320256170494724
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1705390221481576}
serializedVersion: 2
m_LocalRotation: {x: 0.70710665, y: -0.00046758342, z: -0.7071066, w: -0.00046758348}
m_LocalPosition: {x: -10.071228, y: -0.3449322, z: 0.0015716532}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4694121525821480}
m_LocalEulerAnglesHint: {x: -179.92422, y: -89.99999, z: 0}
--- !u!135 &135017697238300914
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1705390221481576}
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: 0.02
m_Center: {x: 0, y: 0, z: 0}
--- !u!1 &1709254077376921
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4256069497284392}
m_Layer: 25
m_Name: RodC31
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4256069497284392
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1709254077376921}
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: 4002669891404536}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
--- !u!1 &1709867586078768
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4711914853252429}
m_Layer: 0
m_Name: bait1_point_04
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4711914853252429
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1709867586078768}
serializedVersion: 2
m_LocalRotation: {x: 0.7071068, y: 0.00009086146, z: -0.7071067, w: 0.000090861475}
m_LocalPosition: {x: -16.65522, y: -0.62046796, z: 0.0015792799}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4946936116752871}
m_LocalEulerAnglesHint: {x: 179.98528, y: -89.99999, z: 0}
--- !u!1 &1724804207875695
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4313026266067498}
m_Layer: 0
m_Name: Bone045
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4313026266067498
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1724804207875695}
serializedVersion: 2
m_LocalRotation: {x: 0.49989676, y: -0.5002011, z: -0.4997988, w: 0.50010324}
m_LocalPosition: {x: -2.4461494e-12, y: 0.11049139, z: 0.000055966204}
m_LocalScale: {x: 0.01, y: 0.01, z: 0.01}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4621510681728303}
m_Father: {fileID: 4002669891404536}
m_LocalEulerAnglesHint: {x: 90.01122, y: 0.03488007, z: 90}
--- !u!1 &1730242686860875
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4002669891404536}
- component: {fileID: 111470112387431263}
m_Layer: 0
m_Name: Rod_Bait_ZodiacStargazer
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4002669891404536
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1730242686860875}
serializedVersion: 2
m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068}
m_LocalPosition: {x: 0, y: 0, z: 0.02}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4313026266067498}
- {fileID: 4089843903986396}
m_Father: {fileID: 4256069497284392}
m_LocalEulerAnglesHint: {x: 90, y: -0, z: 0}
--- !u!111 &111470112387431263
Animation:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1730242686860875}
m_Enabled: 1
serializedVersion: 4
m_Animation: {fileID: 7400000, guid: 2683829f80b9ec54a88e0f5d3f58d420, type: 2}
m_Animations:
- {fileID: 7400000, guid: 2683829f80b9ec54a88e0f5d3f58d420, type: 2}
m_WrapMode: 0
m_PlayAutomatically: 1
m_AnimatePhysics: 0
m_UpdateMode: 0
m_CullingType: 1
--- !u!1 &1884547391421755
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4634108722742392}
m_Layer: 0
m_Name: Bone047
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4634108722742392
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1884547391421755}
serializedVersion: 2
m_LocalRotation: {x: 0.000000097383776, y: -2.4840273e-12, z: -0.00002548519, w: 1}
m_LocalPosition: {x: -22.336689, y: -0.00000022538006, z: -7.704948e-14}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4302127217294661}
- {fileID: 4969106005120503}
m_Father: {fileID: 4621510681728303}
m_LocalEulerAnglesHint: {x: 0.000011159359, y: 2.5019296e-13, z: 0.0029203875}
--- !u!1 &1977153420339851
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4217368724061974}
m_Layer: 0
m_Name: Bone053
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4217368724061974
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1977153420339851}
serializedVersion: 2
m_LocalRotation: {x: -1.1216966e-15, y: 3.4694461e-18, z: 3.8916658e-33, w: 1}
m_LocalPosition: {x: -9.981873, y: -0.000002041459, z: 2.2466629e-10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4694121525821480}
m_LocalEulerAnglesHint: {x: -1.2853697e-13, y: -3.9756923e-16, z: 1.9959588e-38}
--- !u!1 &1985305603660343
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4694121525821480}
m_Layer: 0
m_Name: Bone052
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4694121525821480
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1985305603660343}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0.0006189186, w: 0.9999998}
m_LocalPosition: {x: -11.971161, y: 0.000004859641, z: 2.690279e-10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4320256170494724}
- {fileID: 4217368724061974}
m_Father: {fileID: 4875609422105747}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0.07092286}

View File

@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: c10edc9c3cac8de4387afbbfd44b58d1
timeCreated: 1777192202
licenseType: Free
PrefabImporter:
externalObjects: {}
addedObjectFileIDs:
isPrefabVariant: 0
variantParentGUID: 00000000000000000000000000000000
userData:
assetBundleName: 4221827fbbddc78931dbec5d9cae1999
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: fa9c52b1f912ae2429e3bc638ec12aa6
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,149 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-2219976901096123458
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: Rod_Bait_ZodiacStargazer
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _EMISSION
- _METALLICSPECGLOSSMAP
- _NORMALMAP
m_InvalidKeywords: []
m_LightmapFlags: 2
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: 2800000, guid: fc35f92b858ebbc41912c9ff4b62837b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 2800000, guid: 881a08c6d26d9ea419791bde92865281, type: 3}
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: 2800000, guid: 304fd2ac998b51b4786eb3e0a74bc16e, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: fc35f92b858ebbc41912c9ff4b62837b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 2800000, guid: 009fa40a75b48e54d8031d5287253e2f, type: 3}
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
- _AlphaTest: 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.9
- _Glossiness: 1
- _GlossyReflections: 1
- _Metallic: 1
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveShadows: 1
- _RimIntensity: 0.19
- _RimPower: 8
- _Smoothness: 0.862
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _UVSec: 0
- _UseEmission: 0
- _UseMetallicMap: 1
- _UseNormalMap: 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: 1, g: 0.8927812, b: 0.4481132, a: 1}
- _RimColor: {r: 0.765146, g: 1, b: 0.4481132, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 0

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: f277d98d064c1e749b18cad9161f424c
timeCreated: 1777192203
licenseType: Free
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: bdd772d41c474a74bb2144923cc1629e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 7670ed9b661494e40885280405674921
timeCreated: 1777192203
licenseType: Free
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 4300000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7f9385250a4311640b7094d5d4b2b2f7
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

View File

@@ -0,0 +1,127 @@
fileFormatVersion: 2
guid: fc35f92b858ebbc41912c9ff4b62837b
timeCreated: 1777191996
licenseType: Free
TextureImporter:
serializedVersion: 13
internalIDToNameTable: []
externalObjects: {}
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 10
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 0
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: 1
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 0
flipbookColumns: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
output:
textureImportInstructions:
compressedFormat: 0
uncompressedFormat: 0
desiredFormat: 0
usageMode: 0
colorSpace: 0
width: 0
height: 0
depth: 0
cubeIntermediateSize: 0
cubeMode: 0
cubeLayout: 0
compressionQuality: 0
vtOnly: 0
sourceTextureInformation:
width: 0
height: 0
doesTextureContainAlpha: 0
sourceWasHDR: 0
importInspectorWarnings:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

View File

@@ -0,0 +1,127 @@
fileFormatVersion: 2
guid: 304fd2ac998b51b4786eb3e0a74bc16e
timeCreated: 1777191994
licenseType: Free
TextureImporter:
serializedVersion: 13
internalIDToNameTable: []
externalObjects: {}
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 10
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 0
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: 1
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 0
flipbookColumns: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
output:
textureImportInstructions:
compressedFormat: 0
uncompressedFormat: 0
desiredFormat: 0
usageMode: 0
colorSpace: 0
width: 0
height: 0
depth: 0
cubeIntermediateSize: 0
cubeMode: 0
cubeLayout: 0
compressionQuality: 0
vtOnly: 0
sourceTextureInformation:
width: 0
height: 0
doesTextureContainAlpha: 0
sourceWasHDR: 0
importInspectorWarnings:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 MiB

View File

@@ -0,0 +1,127 @@
fileFormatVersion: 2
guid: 881a08c6d26d9ea419791bde92865281
timeCreated: 1777192004
licenseType: Free
TextureImporter:
serializedVersion: 13
internalIDToNameTable: []
externalObjects: {}
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 0
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 12
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 0
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: 1
spriteTessellationDetail: -1
textureType: 1
textureShape: 1
singleChannelComponent: 0
flipbookRows: 0
flipbookColumns: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
output:
textureImportInstructions:
compressedFormat: 0
uncompressedFormat: 0
desiredFormat: 0
usageMode: 0
colorSpace: 0
width: 0
height: 0
depth: 0
cubeIntermediateSize: 0
cubeMode: 0
cubeLayout: 0
compressionQuality: 0
vtOnly: 0
sourceTextureInformation:
width: 0
height: 0
doesTextureContainAlpha: 0
sourceWasHDR: 0
importInspectorWarnings:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

View File

@@ -0,0 +1,127 @@
fileFormatVersion: 2
guid: 009fa40a75b48e54d8031d5287253e2f
timeCreated: 1777191995
licenseType: Free
TextureImporter:
serializedVersion: 13
internalIDToNameTable: []
externalObjects: {}
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 12
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 0
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: 1
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 0
flipbookColumns: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
output:
textureImportInstructions:
compressedFormat: 0
uncompressedFormat: 0
desiredFormat: 0
usageMode: 0
colorSpace: 0
width: 0
height: 0
depth: 0
cubeIntermediateSize: 0
cubeMode: 0
cubeLayout: 0
compressionQuality: 0
vtOnly: 0
sourceTextureInformation:
width: 0
height: 0
doesTextureContainAlpha: 0
sourceWasHDR: 0
importInspectorWarnings:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -659,6 +659,10 @@ PrefabInstance:
propertyPath: m_Name
value: tele_10037_t13
objectReference: {fileID: 0}
- target: {fileID: 1037927686897428, guid: e655b63847c6c0949ac23903ec2a7c0f, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4472427447599318, guid: e655b63847c6c0949ac23903ec2a7c0f, type: 3}
propertyPath: m_LocalPosition.x
value: 0
@@ -759,14 +763,14 @@ Light:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 203844586}
m_Enabled: 1
serializedVersion: 11
serializedVersion: 13
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_CookieSize2D: {x: 10, y: 10}
m_Shadows:
m_Type: 2
m_Resolution: -1
@@ -811,7 +815,7 @@ Light:
m_UseBoundingSphereOverride: 0
m_UseViewFrustumForShadowCasterCull: 1
m_ForceVisible: 0
m_ShadowRadius: 0
m_ShapeRadius: 0
m_ShadowAngle: 0
m_LightUnit: 1
m_LuxAtDistance: 1
@@ -918,6 +922,7 @@ MeshRenderer:
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_MaskInteraction: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!33 &387623281
MeshFilter:
@@ -1079,6 +1084,63 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &1444965757
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 1709254077376921, guid: c10edc9c3cac8de4387afbbfd44b58d1, type: 3}
propertyPath: m_Name
value: RodC31
objectReference: {fileID: 0}
- target: {fileID: 4256069497284392, guid: c10edc9c3cac8de4387afbbfd44b58d1, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4256069497284392, guid: c10edc9c3cac8de4387afbbfd44b58d1, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4256069497284392, guid: c10edc9c3cac8de4387afbbfd44b58d1, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4256069497284392, guid: c10edc9c3cac8de4387afbbfd44b58d1, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4256069497284392, guid: c10edc9c3cac8de4387afbbfd44b58d1, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4256069497284392, guid: c10edc9c3cac8de4387afbbfd44b58d1, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4256069497284392, guid: c10edc9c3cac8de4387afbbfd44b58d1, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4256069497284392, guid: c10edc9c3cac8de4387afbbfd44b58d1, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4256069497284392, guid: c10edc9c3cac8de4387afbbfd44b58d1, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4256069497284392, guid: c10edc9c3cac8de4387afbbfd44b58d1, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: -0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: c10edc9c3cac8de4387afbbfd44b58d1, type: 3}
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
@@ -1087,3 +1149,4 @@ SceneRoots:
- {fileID: 203844589}
- {fileID: 41224766}
- {fileID: 387623282}
- {fileID: 1444965757}

File diff suppressed because it is too large Load Diff

View File

@@ -17,7 +17,7 @@ namespace NBF
[SerializeField] private CameraAsset _cameraAsset;
private CameraShowMode _lastMode = CameraShowMode.None;
private PlayerUnityComponent FollowPlayer;
private Player FollowPlayer;
private void Update()
{
@@ -55,14 +55,14 @@ namespace NBF
_cameraAsset.tppVCam.Priority = 0;
}
public void SetFppLook(PlayerUnityComponent playerUnityComponent)
public void SetFppLook(Player playerUnityComponent)
{
FollowPlayer = playerUnityComponent;
_cameraAsset.fppVCam.LookAt = FollowPlayer.FppLook;
Mode = CameraShowMode.FPP;
}
public void SetFppFollow(PlayerUnityComponent playerUnityComponent)
public void SetFppFollow(Player playerUnityComponent)
{
_cameraAsset.fppVCam.Follow = FollowPlayer.ModelAsset.NeckTransform;
}

View File

@@ -1,97 +1,97 @@
using Enviro;
using NBF;
using UnityEngine;
using WaveHarmonic.Crest;
public class SceneSettings : MonoBehaviour
{
public static SceneSettings Instance;
public int sceneID;
public string sceneName = "";
public Transform WaterObject;
public Transform Node;
public Transform GearNode;
public WaterRenderer Water;
// public ObiUpdater obiFixedUpdater;
public LineRenderer LineRenderer;
public int FPS;
private void Awake()
{
Instance = this;
if (Node == null)
{
Node = transform;
}
if (GearNode == null)
{
GearNode = Node;
}
// obiFixedUpdater = FindFirstObjectByType<ObiLateFixedUpdater>();
}
private void Start()
{
EnviroManager.instance.Time.Settings.simulate = true;
// EnviroManager.instance.Time.SetTimeOfDay(0.5f * 24f);
}
private void Update()
{
UpdateFPS();
UpdateTimeOfDay();
}
#region FPS
public float updateInterval = 0.2f; // 更新间隔(秒)
private float accum = 0;
private int frames = 0;
private float timeleft;
void UpdateFPS()
{
timeleft -= Time.deltaTime;
accum += Time.timeScale / Time.deltaTime;
frames++;
if (timeleft <= 0.0f)
{
FPS = (int)(accum / frames);
timeleft = updateInterval;
accum = 0.0f;
frames = 0;
}
}
#endregion
#region
private void UpdateTimeOfDay()
{
var p = GameTimer.GetGameDayProgress();
p = 0.1f;
// Debug.Log(p);
EnviroManager.instance.Time.SetTimeOfDay(p * 24f);
// if(AzureCoreSystem)
// AzureCoreSystem.timeSystem.timeline = 24F * p;
}
#endregion
}
// using Enviro;
// using NBF;
// using UnityEngine;
// using WaveHarmonic.Crest;
//
// public class SceneSettings : MonoBehaviour
// {
// public static SceneSettings Instance;
//
// public int sceneID;
//
// public string sceneName = "";
//
// public Transform WaterObject;
//
// public Transform Node;
//
// public Transform GearNode;
//
// public WaterRenderer Water;
//
// // public ObiUpdater obiFixedUpdater;
//
// public LineRenderer LineRenderer;
//
//
// public int FPS;
//
// private void Awake()
// {
// Instance = this;
// if (Node == null)
// {
// Node = transform;
// }
//
// if (GearNode == null)
// {
// GearNode = Node;
// }
//
// // obiFixedUpdater = FindFirstObjectByType<ObiLateFixedUpdater>();
// }
//
// private void Start()
// {
// EnviroManager.instance.Time.Settings.simulate = true;
// // EnviroManager.instance.Time.SetTimeOfDay(0.5f * 24f);
// }
//
// private void Update()
// {
// UpdateFPS();
// UpdateTimeOfDay();
// }
//
//
// #region FPS
//
// public float updateInterval = 0.2f; // 更新间隔(秒)
//
// private float accum = 0;
// private int frames = 0;
// private float timeleft;
//
// void UpdateFPS()
// {
// timeleft -= Time.deltaTime;
// accum += Time.timeScale / Time.deltaTime;
// frames++;
//
// if (timeleft <= 0.0f)
// {
// FPS = (int)(accum / frames);
//
// timeleft = updateInterval;
// accum = 0.0f;
// frames = 0;
// }
// }
//
// #endregion
//
// #region 场景时
//
// private void UpdateTimeOfDay()
// {
// var p = GameTimer.GetGameDayProgress();
// p = 0.1f;
// // Debug.Log(p);
// EnviroManager.instance.Time.SetTimeOfDay(p * 24f);
// // if(AzureCoreSystem)
// // AzureCoreSystem.timeSystem.timeline = 24F * p;
// }
//
// #endregion
// }

View File

@@ -1,29 +1,29 @@
using UnityEditor;
using UnityEngine;
[CustomEditor(typeof(Rope))]
public class RopeFishLineEditor : Editor
{
private Rope _target;
void OnEnable()
{
_target = target as Rope;
// lookAtPoint = serializedObject.FindProperty("lookAtPoint");
}
public override void OnInspectorGUI()
{
base.OnInspectorGUI();
if (GUILayout.Button("打印总长度"))
{
_target.DebugLength();
// Debug.Log($"总长度={_target.GetCurrentLength()} 目标长度={_target.GetTargetLength()} smoot={_target.GetLengthSmoothVel()} relLen={_target.GetLengthByPoints()} PolylineLength={_target.GetPhysicsPolylineLength()}");
}
// serializedObject.Update();
// EditorGUILayout.PropertyField(lookAtPoint);
// serializedObject.ApplyModifiedProperties();
}
}
// using UnityEditor;
// using UnityEngine;
//
// [CustomEditor(typeof(Rope))]
// public class RopeFishLineEditor : Editor
// {
// private Rope _target;
//
// void OnEnable()
// {
// _target = target as Rope;
// // lookAtPoint = serializedObject.FindProperty("lookAtPoint");
// }
//
// public override void OnInspectorGUI()
// {
// base.OnInspectorGUI();
//
//
// if (GUILayout.Button("打印总长度"))
// {
// _target.DebugLength();
// // Debug.Log($"总长度={_target.GetCurrentLength()} 目标长度={_target.GetTargetLength()} smoot={_target.GetLengthSmoothVel()} relLen={_target.GetLengthByPoints()} PolylineLength={_target.GetPhysicsPolylineLength()}");
// }
// // serializedObject.Update();
// // EditorGUILayout.PropertyField(lookAtPoint);
// // serializedObject.ApplyModifiedProperties();
// }
// }

View File

@@ -1,8 +1,3 @@
fileFormatVersion: 2
guid: 2ee838029cb7a0043b122a1fa506daf5
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
guid: a4778c7b6ca74bb2acdc894fc98a6c5d
timeCreated: 1777437748

View File

@@ -1,40 +0,0 @@
using UnityEngine;
namespace NBF
{
public class BobberController : MonoBehaviour
{
[SerializeField] private Rigidbody _rbody;
[SerializeField] private ConfigurableJoint joint;
// [SerializeField] private Buoyancy _buoyancy;
public Rigidbody rbody => _rbody;
public Rigidbody JointRb => joint.connectedBody;
public void SetJoint(Rigidbody rb)
{
joint = joint == null ? GetComponent<ConfigurableJoint>() : joint;
joint.connectedBody = rb;
}
public void SetJointDistance(float limit)
{
joint.linearLimit = new SoftJointLimit
{
limit = limit
};
}
public void SetDetectCollisionEnabled(bool en)
{
_rbody.detectCollisions = en;
// _buoyancy.EnablePhysics(en);
}
public void SetVelocity(Vector3 velocity)
{
_rbody.linearVelocity = velocity;
}
}
}

View File

@@ -22,13 +22,11 @@ namespace NBF
}
}
public MapRoom OldMap { get; private set; }
public MapRoom Map { get; private set; }
public bool Loading { get; private set; }
public async FTask<bool> Go(int mapId, string roomCode = "")
{
Loading = true;
if (mapId == 0)
{
Log.Warning("账号没有进入过地图,进入新手引导地图");
@@ -46,26 +44,22 @@ namespace NBF
Notices.Error("enter room error");
return false;
}
LoadingPanel.Show();
await ChangeMap(response.MapId, response.RoomCode, response.Units);
LoadingPanel.Hide();
Loading = false;
return true;
}
public async FTask ChangeMap(int mapId, string roomCode, List<MapUnitInfo> units)
{
OldMap = Map;
Map = Entity.Create<MapRoom>(Game.Main,true, true);
Map.Code = roomCode;
Map.Map = mapId;
var sceneName = "Map1";
//加载场景==
await SceneHelper.LoadScene(sceneName);
foreach (var mapUnitInfo in units)
{
Map.AddUnit(mapUnitInfo);
}
Map.Instance.SetData(mapId, roomCode, units);
Map.Instance.InstancePlayers();
}
}
}

View File

@@ -1,3 +1,3 @@
fileFormatVersion: 2
guid: 0afcee9eb5f848e08b2fae2cc673b6d8
timeCreated: 1766414593
guid: 31a84e44641f4115a5531e1b7328630a
timeCreated: 1777438436

View File

@@ -1,3 +1,3 @@
fileFormatVersion: 2
guid: b4177c0c4cf94787b06ec92973ba4722
timeCreated: 1766412118
guid: a752ba9ae5b04fed93d81cf0764c5d00
timeCreated: 1777437774

View File

@@ -4,7 +4,7 @@ using NBC.Asset;
using NBF.Utils;
using UnityEngine;
namespace NBF.Fishing2
namespace NBF
{
public static class PrefabsHelper
{

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: be8d099db51445eea5a3eeb70849904a
timeCreated: 1777449783

View File

@@ -0,0 +1,9 @@
using UnityEngine;
namespace NBF
{
public abstract class FHandItem : PlayerItem
{
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: f4bdd31c4ed448ecb00eca659d9d9db1
timeCreated: 1777449812

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: ab0e597ee4744959abdc5dc66546dacb
timeCreated: 1777211780

View File

@@ -0,0 +1,178 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using NBC;
// using Obi;
using UnityEngine;
namespace NBF
{
public enum LineType
{
Hand,
HandDouble,
Spinning,
SpinningFloat,
}
public class FLine : FGearBase
{
public LineType LineType;
[Header("连接点配置")] [SerializeField] private Transform anchorTransform;
[SerializeField] private List<FLineLogicNode> lineNodes = new List<FLineLogicNode>();
[Header("物理参数")] [SerializeField] private float positionCorrectionForce = 100f;
[SerializeField] private float dampingCoefficient = 10f;
[SerializeField] private int constraintIterations = 10;
[SerializeField] private bool useMassWeighting = true;
[SerializeField] private bool showDebugInfo = true;
[Header("动态间距设置")] [SerializeField] private float defaultTransitionSpeed = 2f; // 默认长度变化速度(单位/秒)
public FLineLogicNode StartNode { get; private set; }
public FLineLogicNode BobberNode => GetNode(FLineLogicNodeType.Bobber);
public FLineLogicNode EndNode { get; private set; }
private bool _isFixed = false;
// public LineMode LineMode => _lineMode;
public float LinelenghtDiferent;
protected override void OnInit()
{
if (anchorTransform == null)
{
var tipRb = Rod.Asset.LineConnectorRigidbody;
anchorTransform = tipRb.transform;
}
}
private void Start()
{
StartNode = GetNode(FLineLogicNodeType.Start);
EndNode = GetNode(FLineLogicNodeType.End);
}
private void Update()
{
// LinelenghtDiferent = GetLineDistance();
//非钓鱼状态
if (Rod) Rod.Tension = Mathf.Clamp(LinelenghtDiferent, 0f, 0.05f);
}
private void FixedUpdate()
{
UpdateAnchorNode();
}
public List<FLineLogicNode> GetLineNodes()
{
return new List<FLineLogicNode>(lineNodes);
}
public void Print()
{
// Log.Info($"当前线情况 TotalLength={TotalLength} CurrentStretchLength={CurrentStretchLength}");
}
public void SetFixed(bool isFixed)
{
_isFixed = isFixed;
var totalLenght = 0f;
foreach (var fLineLogicNode in lineNodes)
{
totalLenght += fLineLogicNode.Lenght;
}
// var startNode = StartNode;
if (isFixed)
{
// EndNode.Joint.connectedBody = StartNode.Rigidbody;
BobberNode.gameObject.SetActive(false);
BobberNode.Rope.gameObject.SetActive(false);
EndNode.SetConnectedBody(StartNode.Rigidbody);
EndNode.SetLenght(totalLenght + 0.2f);
}
else
{
BobberNode.gameObject.SetActive(true);
BobberNode.Rope.gameObject.SetActive(true);
EndNode.SetConnectedBody(BobberNode.Rigidbody);
EndNode.SetLenght(Rod.FloatLength);
}
// var totalLenght = lineNodes
}
#region
private void UpdateAnchorNode()
{
if (anchorTransform == null || lineNodes.Count < 1)
{
return;
}
var startNode = lineNodes[0].Rigidbody;
startNode.transform.SetPositionAndRotation(anchorTransform.position, anchorTransform.rotation);
if (!startNode.isKinematic)
{
startNode.linearVelocity = Vector3.zero;
startNode.angularVelocity = Vector3.zero;
}
}
/// <summary>
/// 获取一个节点
/// </summary>
/// <param name="type"></param>
/// <returns></returns>
public FLineLogicNode GetNode(FLineLogicNodeType type)
{
foreach (var node in lineNodes)
{
if (node.NodeType == type)
{
return node;
}
}
return null;
}
public void SetLenght(float lenght, FLineLogicNodeType type = FLineLogicNodeType.Bobber)
{
var node = GetNode(type);
if (node != null)
{
node.SetLenght(lenght);
}
}
#endregion
#region Tension
private float GetLineDistance()
{
//第一个节点到竿稍的位置-第一段鱼线长度
return Vector3.Distance(StartNode.transform.position, BobberNode.transform.position) -
BobberNode.Lenght;
}
public float GetTension(float weight)
{
return weight * GetLineDistance();
}
#endregion
}
}

View File

@@ -0,0 +1,74 @@
using System;
using System.Collections;
using UnityEngine;
namespace NBF
{
public enum FLineLogicNodeType
{
Start,
Bobber,
Weight,
End
}
public class FLineLogicNode : MonoBehaviour
{
[Header("节点设置")] public FLineLogicNodeType NodeType = FLineLogicNodeType.Bobber;
[SerializeField] private Rope rope;
[SerializeField] private Rigidbody preRigidbody;
private Rigidbody _rb;
private ConfigurableJoint _joint;
private FLine _parentCable;
private float _lenght;
public Rigidbody PreRigidbody => preRigidbody;
public Rigidbody Rigidbody => _rb;
public FLine ParentCable => _parentCable;
public ConfigurableJoint Joint => _joint;
public float Lenght => _lenght;
public Rope Rope => rope;
private void Awake()
{
_rb = GetComponent<Rigidbody>();
_parentCable = GetComponentInParent<FLine>();
_joint = GetComponent<ConfigurableJoint>();
}
public void SetLenght(float lenght)
{
_lenght = lenght;
if (_joint)
{
_joint.linearLimit = new SoftJointLimit() { limit = lenght };
}
if (rope)
{
rope.SetTargetLength(lenght - lenght * 0.02f);
}
}
void FixedUpdate()
{
if (rope)
{
if(rope.startAnchor != _joint.connectedBody){}
rope.startAnchor = _joint.connectedBody;
}
}
public void SetConnectedBody(Rigidbody rig)
{
if (_joint)
{
_joint.connectedBody = rig;
}
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 7f840e1966fd4c2aafe2f37ca260cdd2
timeCreated: 1777211794

View File

@@ -0,0 +1,268 @@
using System.Collections.Generic;
using UnityEngine;
namespace NBF
{
/// <summary>
/// 硬线系统测试脚本,直接读取 FLine 已配置的节点。
/// </summary>
public class FLineTest : MonoBehaviour
{
[Header("测试控制")] [SerializeField] private KeyCode fixMiddleKey = KeyCode.M;
[Header("动态间距控制")] [SerializeField] private KeyCode pullFirstKey = KeyCode.UpArrow;
[SerializeField] private KeyCode relaxFirstKey = KeyCode.DownArrow;
[SerializeField] private KeyCode fixedKey = KeyCode.F;
[SerializeField] private KeyCode debugKey = KeyCode.D;
[SerializeField, Min(0.01f)] private float extendAmount = 0.5f;
[SerializeField, Min(0.01f)] private float holdAdjustSpeed = 1f;
[SerializeField, Min(0.01f)] private float transitionSpeed = 2f;
[SerializeField] private bool smoothTransition = true;
[SerializeField] private FLine line;
private float[] initialLengths;
private void OnValidate()
{
extendAmount = Mathf.Max(0.01f, extendAmount);
holdAdjustSpeed = Mathf.Max(0.01f, holdAdjustSpeed);
transitionSpeed = Mathf.Max(0.01f, transitionSpeed);
}
private void Start()
{
RefreshInitialLengths(true);
line.SetLenght(0.2f);
line.SetLenght(0.2f, FLineLogicNodeType.End);
}
private void Update()
{
if (!EnsureCable())
return;
RefreshInitialLengths();
HandleInput();
// if (line.CurrentBreakStretchPercent > 10f)
// {
// if (line.LineMode == LineMode.Constraint)
// Debug.LogError(
// $"当前极限情况CurrentBreakStretchPercent={line.CurrentBreakStretchPercent} CurrentStretchLength={line.CurrentStretchLength} TotalLength={line.TotalLength} LimitStateTime={line.LimitStateTime}");
// }
}
private bool EnsureCable()
{
if (line)
return true;
line = GetComponent<FLine>();
return line != null;
}
private List<FLineLogicNode> GetNodes()
{
return line != null ? line.GetLineNodes() : null;
}
private void RefreshInitialLengths(bool force = false)
{
List<FLineLogicNode> nodes = GetNodes();
int segmentCount = nodes != null ? Mathf.Max(0, nodes.Count - 1) : 0;
if (!force && initialLengths != null && initialLengths.Length == segmentCount)
return;
initialLengths = new float[nodes.Count];
for (var i = 0; i < nodes.Count; i++)
{
var node = nodes[i];
initialLengths[i] = Mathf.Max(0.01f, node.Lenght);
}
}
private float GetCurrentMaxLength(int segmentIndex)
{
var nodes = line.GetLineNodes();
var node = nodes[segmentIndex];
// float length = line.GetSegmentMaxLength(segmentIndex);
return Mathf.Max(0.01f, node.Lenght);
}
private float GetTargetMaxLength(int segmentIndex)
{
var nodes = line.GetLineNodes();
var node = nodes[segmentIndex];
float length = node.Lenght;
// if (length <= 0f)
// length = line.GetSegmentMaxLength(segmentIndex);
return Mathf.Max(0.01f, length);
}
private int GetSegmentCount()
{
return initialLengths != null ? initialLengths.Length : 0;
}
private void HandleInput()
{
HandleOriginalControls();
HandleDynamicDistanceControls();
}
private void HandleOriginalControls()
{
List<FLineLogicNode> nodes = GetNodes();
if (nodes == null)
return;
if (Input.GetKeyDown(fixMiddleKey) && nodes.Count >= 3)
{
int middleIndex = nodes.Count / 2;
FLineLogicNode middleNode = nodes[middleIndex];
Rigidbody middleRb = middleNode ? middleNode.Rigidbody : null;
if (middleNode && middleRb)
{
bool newState = !middleRb.isKinematic;
Debug.Log($"中间节点({middleIndex}) {(newState ? "" : "")} - 观察其他节点变化");
}
}
}
private void HandleDynamicDistanceControls()
{
if (line == null || initialLengths == null || initialLengths.Length == 0)
return;
if (Input.GetKeyDown(pullFirstKey))
PullFirstSegment(extendAmount * 0.5f);
if (Input.GetKeyDown(relaxFirstKey))
RelaxFirstSegment(extendAmount * 0.5f);
if (Input.GetKeyDown(fixedKey))
{
// if (line.LineMode == LineMode.Joint) line.ChangeMode(LineMode.Constraint);
// else line.ChangeMode(LineMode.Joint);
}
if (Input.GetKeyDown(debugKey))
{
line.Print();
}
}
private void ApplySegmentTargetLength(FLineLogicNodeType type, float targetLength)
{
line.SetLenght(targetLength, type);
}
private void PullFirstSegment(float amount)
{
if (GetSegmentCount() <= 0)
return;
float targetLength = Mathf.Max(0.1f, GetTargetMaxLength(0) - amount);
ApplySegmentTargetLength(0, targetLength);
Debug.Log($"拉紧第一段到 {targetLength:F2}");
}
private void RelaxFirstSegment(float amount)
{
if (GetSegmentCount() <= 0)
return;
float targetLength = GetTargetMaxLength(0) + amount;
ApplySegmentTargetLength(0, targetLength);
Debug.Log($"放松第一段到 {targetLength:F2}");
}
private void OnGUI()
{
if (!EnsureCable())
return;
RefreshInitialLengths();
List<FLineLogicNode> nodes = GetNodes();
int nodeCount = nodes != null ? nodes.Count : 0;
GUILayout.BeginArea(new Rect(10f, 10f, 360f, 260f));
GUILayout.Label("=== 硬线系统测试控制 ===");
GUILayout.Label("原始控制:");
GUILayout.Label($" {fixMiddleKey} - 固定/释放中间节点");
GUILayout.Space(10f);
GUILayout.Label("动态间距控制:");
GUILayout.Label($" {pullFirstKey} - 拉紧第一段");
GUILayout.Label($" {relaxFirstKey} - 放松第一段");
GUILayout.Label(" Shift+滚轮 - 调整最近段");
GUILayout.Space(10f);
GUILayout.Label("设置:");
GUILayout.Label($" 节点数: {nodeCount}");
GUILayout.Label(" 初始长度来源: FLine 节点配置");
GUILayout.Label($" 过渡模式: {(smoothTransition ? "" : "")}");
if (smoothTransition)
GUILayout.Label($" 过渡速度: {transitionSpeed:F1}");
GUILayout.EndArea();
GUILayout.BeginArea(new Rect(10f, 280f, 360f, 220f));
GUILayout.Label("=== 各段实际长度 ===");
// for (int i = 0; i < Mathf.Min(GetSegmentCount(), 10); i++)
// {
// Rigidbody bodyA = nodes[i] ? nodes[i].Rigidbody : null;
// Rigidbody bodyB = nodes[i + 1] ? nodes[i + 1].Rigidbody : null;
// if (!bodyA || !bodyB)
// continue;
//
// float actualDistance = Vector3.Distance(bodyA.position, bodyB.position);
// float currentLimit = GetCurrentMaxLength(i);
// float targetLimit = GetTargetMaxLength(i);
//
// string segmentInfo = $"段{i}: {actualDistance:F2} (限制: {currentLimit:F2}";
// if (line.IsSegmentTransitioning(i))
// segmentInfo += $" -> {targetLimit:F2}";
//
// segmentInfo += ")";
//
// if (actualDistance > targetLimit * 1.1f)
// {
// GUI.color = Color.red;
// }
// else if (line.IsSegmentTransitioning(i))
// {
// GUI.color = Color.yellow;
// }
// else
// {
// GUI.color = Color.green;
// }
//
// GUILayout.Label(segmentInfo);
// }
GUI.color = Color.white;
// bool anyTransitioning = false;
// for (int i = 0; i < GetSegmentCount(); i++)
// {
// if (line.IsSegmentTransitioning(i))
// {
// anyTransitioning = true;
// break;
// }
// }
// if (anyTransitioning)
// GUILayout.Label("状态: 过渡中...");
GUILayout.EndArea();
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 535734a3b6eb4e16847b2fc9d9dee1c3
timeCreated: 1777263325

View File

@@ -14,23 +14,29 @@ public class Rope : MonoBehaviour
[Header("Physics (Dynamic Nodes, Fixed Segment Len)")] [SerializeField, Min(0.01f), Tooltip("物理每段固定长度(越小越细致越耗)")]
private float physicsSegmentLen = 0.15f;
[SerializeField, Range(2, 200)] private int minPhysicsNodes = 12;
[SerializeField, Range(2, 200)] private int minPhysicsNodes = 2;
[SerializeField, Range(2, 400), Tooltip("物理节点上限(仅用于性能保护;与“最大长度不限制”不是一回事)")]
private int maxPhysicsNodes = 120;
private int maxPhysicsNodes = 200;
[SerializeField] private float gravityStrength = 2.0f;
[SerializeField] private float gravityStrength = 6.0f;
[SerializeField, Range(0f, 1f)] private float velocityDampen = 0.95f;
[SerializeField, Range(0.0f, 1.0f), Tooltip("约束修正强度越大越硬。0.6~0.9 常用")]
private float stiffness = 0.8f;
[SerializeField, Range(1, 80), Tooltip("迭代次数。鱼线 10~30 通常够用")]
private int iterations = 20;
[SerializeField, Range(1, 80), Tooltip("迭代次数")]
private int iterations = 10;
[SerializeField, Range(0, 16), Tooltip("主求解后追加的硬长度约束次数。只负责把 poly 拉回到 rest total不改变可变长度逻辑")]
private int hardTightenIterations = 2;
[SerializeField, Range(0, 32), Tooltip("当绳子接近拉直时,按误差自动追加的硬长度约束次数上限")]
private int adaptiveHardTightenMaxIterations = 8;
[SerializeField, Min(0f), Tooltip("单段允许的最大超长误差;超过时继续追加硬长度约束")]
private float hardConstraintTolerance = 0.0005f;
[Header("Length Control (No Min/Max Clamp)")]
[Tooltip("初始总长度(米)。如果为 0则用 physicsSegmentLen*(minPhysicsNodes-1) 作为初始长度")]
[SerializeField, Min(0f)]
@@ -40,7 +46,7 @@ public class Rope : MonoBehaviour
private float lengthSmoothTime = 0.15f;
[Tooltip("当长度在变化时额外把速度压掉一些防抖。0=不额外处理1=变化时几乎清速度(建议只在收线生效)")] [SerializeField, Range(0f, 1f)]
private float lengthChangeVelocityKill = 0.6f;
private float lengthChangeVelocityKill = 0.4f;
[Tooltip("允许的最小松弛余量(避免目标长度刚好等于锚点距离时抖动)")] [SerializeField, Min(0f)]
private float minSlack = 0.002f;
@@ -52,9 +58,9 @@ public class Rope : MonoBehaviour
private float nodeHysteresis = 0.05f;
[Header("Simple Ground/Water Constraint (Cheap)")] [SerializeField]
private bool constrainToGround = true;
private bool constrainToGround = false;
[SerializeField] private LayerMask groundMask = ~0;
[SerializeField] private LayerMask groundMask = 0;
[SerializeField, Min(0f)] private float groundRadius = 0.01f;
[SerializeField, Min(0f)] private float groundCastHeight = 1.0f;
[SerializeField, Min(0.01f)] private float groundCastDistance = 2.5f;
@@ -66,7 +72,7 @@ public class Rope : MonoBehaviour
private bool groundInterpolate = true;
[SerializeField, Range(1, 8), Tooltip("每隔多少次FixedUpdate更新一次地面约束")]
private int groundUpdateEvery = 2;
private int groundUpdateEvery = 1;
[SerializeField, Range(0, 8), Tooltip("地面约束后,再做几次长度约束,减少 poly 被地面抬长")]
private int groundPostConstraintIterations = 2;
@@ -74,7 +80,7 @@ public class Rope : MonoBehaviour
private int _groundFrameCounter;
[Header("Simple Water Float (Cheap)")] [SerializeField, Tooltip("绳子落到水面以下时,是否把节点约束回水面")]
private bool constrainToWaterSurface = true;
private bool constrainToWaterSurface = false;
[SerializeField, Tooltip("静态水面高度;如果你后面接波浪水面,可改成采样函数")]
private float waterLevelY = 0f;
@@ -129,7 +135,7 @@ public class Rope : MonoBehaviour
private float visibilityViewportPadding = 0.08f;
[Header("Air Drag (Stable)")] [SerializeField, Range(0f, 5f), Tooltip("空气阻力Y向指数衰减越大越不飘")]
private float airDrag = 0.9f;
private float airDrag = 0.2f;
[SerializeField, Range(0f, 2f), Tooltip("横向额外阻力XZ指数衰减越大越不左右飘")]
private float airDragXZ = 0.6f;
@@ -173,13 +179,6 @@ public class Rope : MonoBehaviour
private int _tIdleSubdiv = -1;
private int _tMovingSubdiv = -1;
private FRod _rod;
public void Init(FRod rod)
{
_rod = rod;
if (Application.isPlaying)
RefreshVisibilityState(true);
}
// Catmull t caches只缓存 idle/moving 两档,减少每帧重复乘法)
private struct TCaches
@@ -205,12 +204,15 @@ public class Rope : MonoBehaviour
RefreshVisibilityState(true);
}
private void OnValidate()
{
renderSubdivisionsIdle = Mathf.Max(renderSubdivisionsIdle, 1);
renderSubdivisionsMoving = Mathf.Max(renderSubdivisionsMoving, 1);
iterations = Mathf.Clamp(iterations, 1, 80);
hardTightenIterations = Mathf.Clamp(hardTightenIterations, 0, 16);
adaptiveHardTightenMaxIterations = Mathf.Clamp(adaptiveHardTightenMaxIterations, 0, 32);
hardConstraintTolerance = Mathf.Max(0f, hardConstraintTolerance);
groundCastDistance = Mathf.Max(groundCastDistance, 0.01f);
groundCastHeight = Mathf.Max(groundCastHeight, 0f);
lineWidth = Mathf.Max(lineWidth, 0.0001f);
@@ -243,14 +245,6 @@ public class Rope : MonoBehaviour
_endTr = endAnchor ? endAnchor.transform : null;
}
private bool ShouldAlwaysSimulate()
{
if (!localOwnerAlwaysSimulate)
return false;
var owner = _rod?.PlayerItem?.Owner;
return owner == null || owner.IsSelf;
}
private Transform GetActiveCameraTransform()
{
@@ -304,7 +298,7 @@ public class Rope : MonoBehaviour
private void RefreshVisibilityState(bool force = false)
{
if (!cullRemoteRopeWhenInvisible || ShouldAlwaysSimulate())
if (!cullRemoteRopeWhenInvisible)
{
_isCulledByVisibility = false;
if (_lineRenderer)
@@ -532,6 +526,7 @@ public class Rope : MonoBehaviour
}
SolveHardDistanceConstraints(hardTightenIterations);
SolveHardDistanceConstraintsAdaptive();
LockAnchorsHard();
if (constrainToGround)
@@ -572,16 +567,7 @@ public class Rope : MonoBehaviour
EnsureRenderCaches();
int last = _physicsNodes - 1;
Vector3 s = _startTr.position;
Vector3 e = _endTr.position;
_pCurr[0] = s;
_pCurr[last] = e;
// _pPrev[0] = s;
// _pPrev[last] = e;
DrawHighResLine_Fast();
DrawHighResLine_Fast(_startTr.position, _endTr.position, last);
}
private void UpdateLengthSmooth()
@@ -598,9 +584,10 @@ public class Rope : MonoBehaviour
Time.fixedDeltaTime
);
// 长度变化时额外压一点速度,减少收放线时抖动
float delta = Mathf.Abs(_targetLength - _currentLength);
if (delta > 0.0001f && lengthChangeVelocityKill > 0f)
// 仅在收线(目标长度小于当前长度)时额外压速度;
// 放线时不要压速度,否则新增节点下落会出现“顿一下再突然加速”。
float reelInDelta = _currentLength - _targetLength;
if (reelInDelta > 0.0001f && lengthChangeVelocityKill > 0f)
{
float keep = 1f - Mathf.Clamp01(lengthChangeVelocityKill);
for (int i = 1; i < _physicsNodes - 1; i++)
@@ -734,6 +721,21 @@ public class Rope : MonoBehaviour
}
}
private void SolveHardDistanceConstraintsAdaptive()
{
if (adaptiveHardTightenMaxIterations <= 0 || hardConstraintTolerance <= 0f)
return;
for (int it = 0; it < adaptiveHardTightenMaxIterations; it++)
{
if (GetMaxPositiveSegmentDelta() <= hardConstraintTolerance)
break;
LockAnchorsHard();
SolveDistanceConstraints_HeadOnly_Hard();
}
}
private void SolveDistanceConstraints_HeadOnly_Hard()
{
SolveDistanceConstraints_HeadOnly_Bidirectional(1f);
@@ -750,7 +752,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)
{
@@ -787,6 +790,21 @@ public class Rope : MonoBehaviour
}
}
private float GetMaxPositiveSegmentDelta()
{
float maxDelta = 0f;
for (int i = 1; i < _physicsNodes; i++)
{
float rest = (i == 1) ? _headRestLen : physicsSegmentLen;
float segLen = Vector3.Distance(_pCurr[i - 1], _pCurr[i]);
float delta = segLen - rest;
if (delta > maxDelta)
maxDelta = delta;
}
return maxDelta;
}
private void ConstrainToGround()
{
if (groundMask == 0) return;
@@ -938,7 +956,7 @@ public class Rope : MonoBehaviour
}
}
private void DrawHighResLine_Fast()
private void DrawHighResLine_Fast(Vector3 renderStart, Vector3 renderEnd, int last)
{
if (_pCurr == null || _physicsNodes < 2) return;
@@ -949,7 +967,9 @@ public class Rope : MonoBehaviour
if (!smooth)
{
_lineRenderer.positionCount = _physicsNodes;
_lineRenderer.SetPositions(_pCurr);
for (int i = 0; i <= last; i++)
_rPoints[i] = GetRenderPoint(i, last, renderStart, renderEnd);
_lineRenderer.SetPositions(_rPoints);
return;
}
@@ -964,7 +984,6 @@ public class Rope : MonoBehaviour
}
int idx = 0;
int last = _physicsNodes - 1;
for (int seg = 0; seg < last; seg++)
{
@@ -975,10 +994,10 @@ public class Rope : MonoBehaviour
int i3 = seg + 2;
if (i3 > last) i3 = last;
Vector3 p0 = _pCurr[i0];
Vector3 p1 = _pCurr[i1];
Vector3 p2 = _pCurr[i2];
Vector3 p3 = _pCurr[i3];
Vector3 p0 = GetRenderPoint(i0, last, renderStart, renderEnd);
Vector3 p1 = GetRenderPoint(i1, last, renderStart, renderEnd);
Vector3 p2 = GetRenderPoint(i2, last, renderStart, renderEnd);
Vector3 p3 = GetRenderPoint(i3, last, renderStart, renderEnd);
for (int s = 0; s < subdiv; s++)
{
@@ -1001,12 +1020,21 @@ public class Rope : MonoBehaviour
}
}
_rPoints[idx++] = _pCurr[last];
_rPoints[idx++] = renderEnd;
_lineRenderer.positionCount = idx;
_lineRenderer.SetPositions(_rPoints);
}
private Vector3 GetRenderPoint(int index, int last, Vector3 renderStart, Vector3 renderEnd)
{
if (index <= 0)
return renderStart;
if (index >= last)
return renderEnd;
return _pCurr[index];
}
private static float ClampMonotonic(float value, float p0, float p1, float p2, float p3)
{
bool rising = p0 <= p1 && p1 <= p2 && p2 <= p3;
@@ -1066,4 +1094,4 @@ public class Rope : MonoBehaviour
for (int i = 0; i < _physicsNodes; i++)
Gizmos.DrawSphere(_pCurr[i], 0.01f);
}
}
}

View File

@@ -0,0 +1,33 @@
using System.Collections.Generic;
using Fantasy.Async;
using UnityEngine;
namespace NBF
{
public abstract class PlayerItem : MonoBehaviour
{
/// <summary>
/// 配置id
/// </summary>
public int ConfigID;
public List<int> BindItems = new List<int>();
public Player Owner;
public virtual async FTask Init(Player player, int configId, List<int> bindItems)
{
Owner = player;
ConfigID = configId;
BindItems.Clear();
BindItems.AddRange(bindItems);
await OnInit();
}
protected virtual async FTask OnInit()
{
await FTask.CompletedTask;
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: ef008d609b8049ac8416abb496cbec72
timeCreated: 1777451467

View File

@@ -7,7 +7,8 @@ namespace NBF
protected override void OnInit()
{
// transform.position = Rod.lineHandler.LineConnector_1.transform.position;
SetParent(Rod.Line.Bobber.transform);
var endNode = Rod.Line.GetNode(FLineLogicNodeType.Bobber);
SetParent(endNode.transform);
transform.localPosition = Vector3.zero;
// var buoyancy = GetComponentInParent<CapsuleBuoyancyStable>();
// buoyancy.InitBobber();

View File

@@ -18,8 +18,8 @@ namespace NBF
// transform.rotation = Rod.lineHandler.LineConnector_2.transform.rotation; // 确保旋转也同步
// SetParent(Rod.lineHandler.LineConnector_2.transform);
SetParent(Rod.Line.Lure.transform);
var endNode = Rod.Line.GetNode(FLineLogicNodeType.End);
SetParent(endNode.transform);
transform.localPosition = Vector3.zero;
// var target = lineHandler.LineConnector_2.GetComponent<Rigidbody>();

View File

@@ -14,7 +14,8 @@ namespace NBF
// SetParent(Rod.lineHandler.LineConnector_1.transform);
SetParent(Rod.Line.Lure.transform);
var endNode = Rod.Line.GetNode(FLineLogicNodeType.End);
SetParent(endNode.transform);
transform.localPosition = Vector3.zero;
}
}

View File

@@ -13,10 +13,6 @@ namespace NBF
{
public class FRod : FHandItem
{
public PlayerItem PlayerItem;
public override int ConfigId => PlayerItem?.ConfigID ?? 0;
public RodAsset Asset;
public FReel Reel;
@@ -30,6 +26,84 @@ namespace NBF
public Transform GearRoot;
#region Rod专属
private bool _stretchRope = true;
public bool StretchRope
{
get => _stretchRope;
set
{
_stretchRope = value;
// Scene.EventComponent.Publish(new PlayerItemRodLingChangeEvent
// {
// Item = this
// });
}
}
private float _lineLength = 4.2f;
/// <summary>
/// 线长度
/// </summary>
public float LineLength
{
get => _lineLength;
set
{
_lineLength = value;
// Scene.EventComponent.Publish(new PlayerItemRodLingChangeEvent
// {
// Item = this
// });
}
}
private float _floatLength = 0.7f;
/// <summary>
/// 浮漂线长度
/// </summary>
public float FloatLength
{
get => _floatLength;
set
{
_floatLength = value;
// Scene.EventComponent.Publish(new PlayerItemRodLingChangeEvent
// {
// Item = this
// });
}
}
private float _tension;
/// <summary>
/// 拉力
/// </summary>
public float Tension
{
get => _tension;
set
{
if (!Mathf.Approximately(_tension, value))
{
_tension = value;
}
// Scene.EventComponent.Publish(new PlayerItemRodLingChangeEvent
// {
// Item = this
// });
}
}
#endregion
// public FWaterDisplacement LureHookWaterDisplacement;
[HideInInspector] public FFish currentFish;
@@ -49,21 +123,6 @@ namespace NBF
private void Update()
{
BendControl();
// if (Input.GetKeyDown(KeyCode.Alpha0))
// {
// SetLineLength(lineLength);
// }
// else if (Input.GetKeyDown(KeyCode.Plus) || Input.GetKeyDown(KeyCode.Equals))
// {
// lineLength += 0.1f;
// SetLineLength(lineLength);
// }
// else if (Input.GetKeyDown(KeyCode.Minus))
// {
// lineLength -= 0.1f;
// SetLineLength(lineLength);
// }
// SetLineLength();
}
public void SetLineLength()
@@ -72,24 +131,13 @@ namespace NBF
if (Line.LineType == LineType.Spinning)
{
//没有浮漂类型
Line.Lure.SetJointDistance(PlayerItem.LineLength);
if (PlayerItem.StretchRope)
{
// Line.SetTargetLength(PlayerItem.Tension > 0f ? 0f : PlayerItem.LineLength);
Line.SetTargetLength(PlayerItem.LineLength);
}
Line.SetLenght(LineLength);
}
else
{
//有浮漂
Line.Lure.SetJointDistance(PlayerItem.FloatLength);
Line.Bobber.SetJointDistance(PlayerItem.LineLength - PlayerItem.FloatLength);
if (PlayerItem.StretchRope)
{
// Line.SetTargetLength(PlayerItem.Tension > 0f ? 0f : PlayerItem.LineLength - PlayerItem.FloatLength);
Line.SetTargetLength(PlayerItem.LineLength - PlayerItem.FloatLength);
Line.SetLureLength(PlayerItem.FloatLength);
}
Line.SetLenght(LineLength - FloatLength);
Line.SetLenght(FloatLength, FLineLogicNodeType.End);
}
}
@@ -108,33 +156,27 @@ namespace NBF
yield return 1;
}
public async FTask InitRod(PlayerItem playerItem)
protected override async FTask OnInit()
{
PlayerItem = playerItem;
var playerView = playerItem.Owner.GetComponent<PlayerView>();
var playerViewUnity = playerView.Unity;
transform.localPosition = Vector3.zero;
transform.localRotation = Quaternion.identity;
transform.localScale = Vector3.one;
SceneSettings.Instance.GearNode.position = playerViewUnity.transform.position;
await FTask.WaitFrame(playerView.Scene); //等待1帧
Map.Instance.GearsNode.position = transform.position;
await FTask.WaitFrame(Game.Main); //等待1帧
var obj = new GameObject($"rod_{ConfigId}");
obj.transform.SetParent(SceneSettings.Instance.GearNode);
obj.transform.position = playerViewUnity.transform.position;
obj.transform.rotation = playerViewUnity.transform.rotation;
var obj = new GameObject($"rod_{ConfigID}");
obj.transform.SetParent(Map.Instance.GearsNode);
obj.transform.position = transform.position;
obj.transform.rotation = transform.rotation;
obj.transform.localScale = Vector3.one;
GearRoot = obj.transform;
var parent = GearRoot;
CreateFishingHandler();
await FTask.WaitFrame(playerView.Scene); //等待1帧
await FTask.WaitFrame(Game.Main); //等待1帧
// children.Sort();
foreach (var childConfigId in playerItem.BindItems)
foreach (var childConfigId in BindItems)
{
var itemType = childConfigId.GetItemType();
var config = Game.Tables.TbItem.Get(childConfigId);
@@ -180,7 +222,7 @@ namespace NBF
}
}
await FTask.WaitFrame(playerView.Scene); //等待1帧
await FTask.WaitFrame(Game.Main); //等待1帧
SetLineLength();
if (Reel)
{
@@ -216,11 +258,11 @@ namespace NBF
Weight.Init(this);
}
await FTask.WaitFrame(playerView.Scene); //等待1帧
await FTask.WaitFrame(Game.Main); //等待1帧
transform.SetParent(playerViewUnity.ModelAsset.RodRoot);
transform.SetParent(Owner.ModelAsset.RodRoot);
transform.localPosition = Vector3.zero;
transform.rotation = playerViewUnity.ModelAsset.RodRoot.rotation;
transform.rotation = Owner.ModelAsset.RodRoot.rotation;
}
@@ -229,7 +271,7 @@ namespace NBF
if (Line == null)
{
Debug.LogError("创建钓组=====");
var itemConfig = Game.Tables.TbItem.Get(ConfigId);
var itemConfig = Game.Tables.TbItem.Get(ConfigID);
var rodType = (ItemSubType)itemConfig.Type;
if (rodType == ItemSubType.RodTele)
{
@@ -251,7 +293,7 @@ namespace NBF
var solver = Instantiate(lineSolverPrefab, GearRoot);
solver.transform.position = Asset.lineConnector.position;
solver.transform.rotation = Asset.lineConnector.rotation;
var indexNames = new[] { "fishing line float set", "fishing line spinning" };
var indexNames = new[] { "LineHand1", "LineHand1" };
var path =
$"Assets/ResRaw/Prefabs/Line/{indexNames[currentLineTypeIndex]}.prefab";
var prefab = Assets.Load<GameObject>(path);
@@ -325,7 +367,7 @@ namespace NBF
// }
if (Line)
{
value = PlayerItem.Tension / maxRodStrength;
value = Tension / maxRodStrength;
}
return Mathf.Clamp01(value);
@@ -334,51 +376,59 @@ namespace NBF
private void BendControl()
{
var _ccdik = Asset.CCDIK;
// var _ccdik = Asset.CCDIK;
//
// var state = Owner.State;
//
//
// Vector3 vector = Line.EndNode.transform.position;
//
// // 当前物体的朝向与指向 Lure 的方向之间的夹角,在 0完全对齐到 1完全相反之间的一个比例值
// float headingAlignment = Vector3.Angle(base.transform.forward,
// (Line.EndNode.transform.position - transform.position).normalized) / 180f;
// // 经过朝向调制后的有效张力
// var effectiveTension = Mathf.Clamp(CurrentTension01 * headingAlignment, 0f, 1f);
//
// float multiple = 0;
// if (state == PlayerState.Fight)
// {
// multiple = 1;
// }
// else
// {
// multiple = 0.1f;
// }
//
// float targetWeight = effectiveTension * multiple;
// if (targetWeight > 0)
// {
// // Debug.Log($"CurrentTension01={CurrentTension01} LinelenghtDiferent={Line.LinelenghtDiferent} Tension={PlayerItem.Tension} num2={effectiveTension} num3={headingAlignment} num6={multiple}");
// }
//
// if (state == PlayerState.Prepare)
// {
// targetWeight = 0.002f;
// }
//
// float item = Mathf.MoveTowards(_ccdik.solver.IKPositionWeight, targetWeight, Time.deltaTime * bendSmooth);
// previousWeights.RemoveAt(0);
// previousWeights.Add(item);
// float averageWeight = previousWeights.Average();
// if (currentFish)
// {
// averageWeight = Math.Min(averageWeight, 0.01f);
// }
//
// _ccdik.solver.SetIKPosition(vector);
// _ccdik.solver.SetIKPositionWeight(averageWeight);
}
var state = PlayerItem.Owner.State;
#endregion
#region
Vector3 vector = Line.Lure.transform.position;
// 当前物体的朝向与指向 Lure 的方向之间的夹角,在 0完全对齐到 1完全相反之间的一个比例值
float headingAlignment = Vector3.Angle(base.transform.forward,
(Line.Lure.transform.position - transform.position).normalized) / 180f;
// 经过朝向调制后的有效张力
var effectiveTension = Mathf.Clamp(CurrentTension01 * headingAlignment, 0f, 1f);
float multiple = 0;
if (state == PlayerState.Fight)
{
multiple = 1;
}
else
{
multiple = 0.1f;
}
float targetWeight = effectiveTension * multiple;
if (targetWeight > 0)
{
// Debug.Log($"CurrentTension01={CurrentTension01} LinelenghtDiferent={Line.LinelenghtDiferent} Tension={PlayerItem.Tension} num2={effectiveTension} num3={headingAlignment} num6={multiple}");
}
if (state == PlayerState.Prepare)
{
targetWeight = 0.002f;
}
float item = Mathf.MoveTowards(_ccdik.solver.IKPositionWeight, targetWeight, Time.deltaTime * bendSmooth);
previousWeights.RemoveAt(0);
previousWeights.Add(item);
float averageWeight = previousWeights.Average();
if (currentFish)
{
averageWeight = Math.Min(averageWeight, 0.01f);
}
_ccdik.solver.SetIKPosition(vector);
_ccdik.solver.SetIKPositionWeight(averageWeight);
private void BendingRod()
{
}
#endregion

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: c6dfe3235d0347008d10859d322eabd6
timeCreated: 1777447863

View File

@@ -0,0 +1,101 @@
using System.Collections.Generic;
using Enviro;
using Fantasy;
using NBC;
using UnityEngine;
using WaveHarmonic.Crest;
namespace NBF
{
public class Map : SingletonMono<Map>
{
[Header("节点信息")] public WaterRenderer Water;
public Transform Node;
public Transform GearsNode;
[Header("角色参数")] public int MapId;
public string RoomCode;
public readonly List<MapUnitInfo> Units = new List<MapUnitInfo>();
public readonly List<Player> Players = new List<Player>();
public void SetData(int mapId, string code, List<MapUnitInfo> units)
{
MapId = mapId;
RoomCode = code;
Units.AddRange(units);
}
private void Start()
{
EnviroManager.instance.Time.Settings.simulate = true;
}
private void Update()
{
UpdateFPS();
UpdateTimeOfDay();
}
#region FPS
public int FPS;
public float updateInterval = 0.2f; // 更新间隔(秒)
private float accum = 0;
private int frames = 0;
private float timeleft;
void UpdateFPS()
{
timeleft -= Time.deltaTime;
accum += Time.timeScale / Time.deltaTime;
frames++;
if (timeleft <= 0.0f)
{
FPS = (int)(accum / frames);
timeleft = updateInterval;
accum = 0.0f;
frames = 0;
}
}
#endregion
#region
private void UpdateTimeOfDay()
{
var p = GameTimer.GetGameDayProgress();
p = 0.1f;
// Debug.Log(p);
EnviroManager.instance.Time.SetTimeOfDay(p * 24f);
// if(AzureCoreSystem)
// AzureCoreSystem.timeSystem.timeline = 24F * p;
}
#endregion
#region Player
public void InstancePlayers()
{
var playerObject = PrefabsHelper.CreatePlayer(Node);
playerObject.transform.localPosition = new Vector3(484, 1, 422);
var player = playerObject.GetComponent<Player>();
Players.Add(player);
player.IsSelf = true;
if (player.IsSelf)
{
CameraManager.Instance.SetFppLook(player);
}
}
#endregion
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 1f820874d054495abd4d378473a14bcf
timeCreated: 1777438296

View File

@@ -93,9 +93,9 @@ namespace NBF
}
public void OnUseItem(PlayerItemView item)
public void OnUseItem(int configId)
{
var itemType = item.Item.ConfigID.GetItemType();
var itemType = configId.GetItemType();
if (itemType == ItemType.Rod)
{
_isRodLayerEnabled = true;
@@ -155,8 +155,7 @@ namespace NBF
Debug.LogError("OnRodThrowStart");
if (Player.State == PlayerState.Throw)
{
var playerStateView = Player.GetComponent<PlayerStateView>();
if (playerStateView.CurrentStateView is PlayerStageViewThrow playerStateThrow)
if (Player.CurrentStateView is PlayerStageViewThrow playerStateThrow)
{
playerStateThrow.OnRodThrowStart();
}
@@ -171,8 +170,7 @@ namespace NBF
Debug.LogError("OnRodThrownEnd");
if (Player.State == PlayerState.Throw)
{
var playerStateView = Player.GetComponent<PlayerStateView>();
if (playerStateView.CurrentStateView is PlayerStageViewThrow playerStateThrow)
if (Player.CurrentStateView is PlayerStageViewThrow playerStateThrow)
{
playerStateThrow.OnRodThrownEnd();
}

View File

@@ -15,10 +15,10 @@ namespace NBF
if (Player == null) return;
for (int i = 1; i < Player.TrajectoryPoints.Count; i++)
{
Debug.DrawLine(Player.TrajectoryPoints[i - 1], Player.TrajectoryPoints[i], Color.yellow);
}
// for (int i = 1; i < Player.TrajectoryPoints.Count; i++)
// {
// Debug.DrawLine(Player.TrajectoryPoints[i - 1], Player.TrajectoryPoints[i], Color.yellow);
// }
// Debug.DrawRay(Player.TrajectoryPoints[Player.TrajectoryPoints.Count], Vector3.up * 0.3f, Color.cyan);
}

View File

@@ -6,12 +6,14 @@ namespace NBF
{
public Player Player { get; private set; }
public PlayerUnityComponent UnityComponent { get; private set; }
protected void Awake()
{
UnityComponent = GetComponentInParent<PlayerUnityComponent>();
Player = UnityComponent.Player;
Player = GetComponent<Player>();
if (Player == null)
{
Player = GetComponentInParent<Player>();
}
OnAwake();
}

View File

@@ -0,0 +1,25 @@
// using ECM2;
// using ECM2.Examples.FirstPerson;
// using UnityEngine;
//
// namespace NBF
// {
// public class PlayerUnityComponent : MonoBehaviour
// {
// public Player Player { get; set; }
// public Transform Root;
// public Transform Eye;
// public Transform FppLook;
// public Transform IK;
// public PlayerModelAsset ModelAsset;
// public CharacterMovement Character;
// public FirstPersonCharacter FirstPerson;
//
// [Header("视角相关")] public float MouseSensitivity = 0.1f;
// [Space(15f)] public bool invertLook = true;
//
// public float minPitch = -60f;
//
// public float maxPitch = 60f;
// }
// }

View File

@@ -1,25 +0,0 @@
using ECM2;
using ECM2.Examples.FirstPerson;
using UnityEngine;
namespace NBF
{
public class PlayerUnityComponent : MonoBehaviour
{
public Player Player { get; set; }
public Transform Root;
public Transform Eye;
public Transform FppLook;
public Transform IK;
public PlayerModelAsset ModelAsset;
public CharacterMovement Character;
public FirstPersonCharacter FirstPerson;
[Header("视角相关")] public float MouseSensitivity = 0.1f;
[Space(15f)] public bool invertLook = true;
public float minPitch = -60f;
public float maxPitch = 60f;
}
}

View File

@@ -1,29 +0,0 @@
namespace NBF
{
public class PlayerStageViewFight : PlayerStageViewBase
{
protected override void OnEnter()
{
}
protected override void OnExit()
{
}
protected override void OnUpdate()
{
PlayerState ret = PlayerState.None;
RodUpDown();
if (PlayerView.Unity.ModelAsset.PlayerAnimator.FishingUp >= 0.8f)
{
// ret = CheckTackFish();
}
if (ret != PlayerState.None)
{
Player.ChangeState(ret);
}
}
}
}

View File

@@ -1,9 +0,0 @@
using UnityEngine;
namespace NBF
{
public abstract class FHandItem : MonoBehaviour
{
public abstract int ConfigId { get; }
}
}

View File

@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: 5460b0f542fd45e38145b2a4fb12e329
timeCreated: 1766583615

View File

@@ -1,173 +0,0 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using NBC;
// using Obi;
using UnityEngine;
namespace NBF
{
public enum LineType
{
Hand,
HandDouble,
Spinning,
SpinningFloat,
}
public class FLine : FGearBase
{
public LineType LineType;
[SerializeField] private bool isLureConnect;
[SerializeField] private RodLine rodLine;
/// <summary>
/// 主线
/// </summary>
[SerializeField] private Rope fishingRope;
/// <summary>
/// 浮漂和鱼钩线
/// </summary>
[SerializeField] private Rope bobberRope;
public LureController Lure;
public BobberController Bobber;
public JointPinchController PinchController;
public float LinelenghtDiferent;
protected override void OnInit()
{
var tipRb = Rod.Asset.LineConnectorRigidbody;
if (isLureConnect)
{
Lure.SetJoint(tipRb);
Lure.EnableCollision(false);
}
else
{
fishingRope.startAnchor = tipRb;
Bobber.SetJoint(tipRb);
Lure.SetJoint(Bobber.rbody);
Lure.gameObject.SetActive(true);
Lure.EnableCollision(false);
Lure.SetKinematic(false);
}
GetComponentsInChildren<Transform>(includeInactive: true).ToList().ForEach(delegate(Transform i)
{
i.gameObject.SetActive(true);
});
StartCoroutine(LureUseGravity());
if (isLureConnect)
{
fishingRope.Init(Rod);
}
else
{
fishingRope.Init(Rod);
bobberRope.Init(Rod);
}
// rodLine.GenerateLineRendererRope(guides.ToArray(), _LineThickness);
}
public void InitTest(Rigidbody tipRb)
{
if (isLureConnect)
{
Lure.SetJoint(tipRb);
Lure.EnableCollision(false);
}
else
{
fishingRope.startAnchor = tipRb;
Bobber.SetJoint(tipRb);
Lure.SetJoint(Bobber.rbody);
Lure.gameObject.SetActive(true);
Lure.EnableCollision(false);
Lure.SetKinematic(false);
}
GetComponentsInChildren<Transform>(includeInactive: true).ToList().ForEach(delegate(Transform i)
{
i.gameObject.SetActive(true);
});
StartCoroutine(LureUseGravity());
if (isLureConnect)
{
fishingRope.Init(Rod);
}
else
{
fishingRope.Init(Rod);
bobberRope.Init(Rod);
}
}
private IEnumerator LureUseGravity()
{
yield return 1;
Lure.gameObject.SetActive(false);
Lure.gameObject.SetActive(true);
yield return 1;
Lure.RBody.useGravity = true;
}
public void SetTargetLength(float value)
{
Log.Error($"SetObiRopeStretch={value}");
if (value > 3)
{
// value -= 0.2f;
}
fishingRope.SetTargetLength(value);
}
public void SetLureLength(float value)
{
Log.Error($"SetObiRopeStretch={value}");
bobberRope.SetTargetLength(value);
}
private void Update()
{
LinelenghtDiferent = GetLineDistance();
//非钓鱼状态
Rod.PlayerItem.Tension = Mathf.Clamp(LinelenghtDiferent, 0f, 0.05f);
}
#region Tension
private float GetLineDistance()
{
if (!Bobber.JointRb)
{
return 0;
}
// return 0;
//第一个节点到竿稍的位置-第一段鱼线长度
return Vector3.Distance(Bobber.transform.position, Bobber.JointRb.transform.position) -
fishingRope.GetCurrentLength();
}
public float GetTension(float weight)
{
return weight * GetLineDistance();
}
#endregion
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: e599a1ea5e4441f888ed9157dfbd0565
timeCreated: 1777437826

View File

@@ -0,0 +1,84 @@
using System.Collections.Generic;
namespace NBF
{
public partial class Player
{
#region
/// <summary>
/// 上一个状态
/// </summary>
public PlayerState PreviousState;
/// <summary>
/// 当前状态
/// </summary>
public PlayerState State;
/// <summary>
/// 状态参数
/// </summary>
public StateEnterParams StateParams;
private readonly Dictionary<PlayerState, PlayerStageViewBase> _stageViews =
new Dictionary<PlayerState, PlayerStageViewBase>();
private PlayerStageViewBase _currentStateView;
public PlayerStageViewBase CurrentStateView => _currentStateView;
private void InitState()
{
_stageViews.Add(PlayerState.Idle, new PlayerStageViewIdle());
_stageViews.Add(PlayerState.Prepare, new PlayerStageViewPrepare());
_stageViews.Add(PlayerState.Throw, new PlayerStageViewThrow());
_stageViews.Add(PlayerState.Fishing, new PlayerStageViewFishing());
_stageViews.Add(PlayerState.Fight, new PlayerStageViewFight());
foreach (var playerStageView in _stageViews.Values)
{
playerStageView.Init(this);
}
ChangeState(PlayerState.Idle);
}
public void UpdateState()
{
_currentStateView?.Update();
}
/// <summary>
/// 切换状态
/// </summary>
/// <param name="state"></param>
/// <param name="stateParams"></param>
public void ChangeState(PlayerState state, StateEnterParams stateParams = null)
{
if (state == State)
{
return;
}
PreviousState = State;
State = state;
StateParams = stateParams;
OnStageChange();
}
public void OnStageChange()
{
if (_currentStateView != null)
{
_currentStateView.Exit();
}
_currentStateView = _stageViews.GetValueOrDefault(State);
_currentStateView?.Enter(StateParams, PreviousState);
}
#endregion
}
}

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