提交测试载具配置

main
Liyizhen 2026-03-13 14:40:45 +08:00
parent fd5c8b903d
commit 73ed742987
18 changed files with 1671 additions and 578 deletions

5
.vscode/extensions.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"recommendations": [
"visualstudiotoolsforunity.vstuc"
]
}

10
.vscode/launch.json vendored Normal file
View File

@ -0,0 +1,10 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach to Unity",
"type": "vstuc",
"request": "attach"
}
]
}

60
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,60 @@
{
"files.exclude": {
"**/.DS_Store": true,
"**/.git": true,
"**/.vs": true,
"**/.gitmodules": true,
"**/.vsconfig": true,
"**/*.booproj": true,
"**/*.pidb": true,
"**/*.suo": true,
"**/*.user": true,
"**/*.userprefs": true,
"**/*.unityproj": true,
"**/*.dll": true,
"**/*.exe": true,
"**/*.pdf": true,
"**/*.mid": true,
"**/*.midi": true,
"**/*.wav": true,
"**/*.gif": true,
"**/*.ico": true,
"**/*.jpg": true,
"**/*.jpeg": true,
"**/*.png": true,
"**/*.psd": true,
"**/*.tga": true,
"**/*.tif": true,
"**/*.tiff": true,
"**/*.3ds": true,
"**/*.3DS": true,
"**/*.fbx": true,
"**/*.FBX": true,
"**/*.lxo": true,
"**/*.LXO": true,
"**/*.ma": true,
"**/*.MA": true,
"**/*.obj": true,
"**/*.OBJ": true,
"**/*.asset": true,
"**/*.cubemap": true,
"**/*.flare": true,
"**/*.mat": true,
"**/*.meta": true,
"**/*.prefab": true,
"**/*.unity": true,
"build/": true,
"Build/": true,
"Library/": true,
"library/": true,
"obj/": true,
"Obj/": true,
"Logs/": true,
"logs/": true,
"ProjectSettings/": true,
"UserSettings/": true,
"temp/": true,
"Temp/": true
},
"dotnet.defaultSolution": "ProtypeProject.sln"
}

View File

@ -12,22 +12,14 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 2d31b62ec9d586a4e94389d9071559ca, type: 3}
m_Name: BP_test
m_EditorClassIdentifier:
_serializedGraph: '{"type":"FlowCanvas.FlowScript","nodes":[{"_position":{"x":1182.848,"y":527.3515},"$type":"FlowCanvas.Nodes.StartEvent","$id":"0"},{"_simplexNode":{},"_inputPortValues":{"time":{"$content":3.0,"$type":"System.Single"}},"_position":{"x":1359.517,"y":527.2371},"$type":"FlowCanvas.Nodes.SimplexNodeWrapper`1[[FlowCanvas.Nodes.Wait,
FlowCanvas, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]","$id":"1"},{"_simplexNode":{},"_inputPortValues":{"duration":{"$content":10.0,"$type":"System.Single"}},"_position":{"x":1700.028,"y":565.438},"$type":"FlowCanvas.Nodes.SimplexNodeWrapper`1[[FlowCanvas.Nodes.TweenColor,
FlowCanvas, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]","$id":"2"},{"_method":{"_baseInfo":"UnityEngine.Light|set_color|System.Void","_paramsInfo":"UnityEngine.Color"},"_callable":true,"_position":{"x":1942.048,"y":583.2549},"$type":"FlowCanvas.Nodes.ReflectedMethodNodeWrapper","$id":"3"},{"updateInterval":{},"_position":{"x":1182.888,"y":924.8677},"$type":"FlowCanvas.Nodes.UpdateEvent"},{"value":{"_name":"myColor","_targetVariableID":"6971da02-c1e1-4996-a378-b9dbfe2e5c86"},"_position":{"x":1566.973,"y":694.1188},"$type":"FlowCanvas.Nodes.GetVariable`1[[UnityEngine.Color,
UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]","$id":"5"},{"_selectedInstanceMembers":["color"],"_position":{"x":1531.828,"y":620.4016},"$type":"FlowCanvas.Nodes.ReflectedExtractorNodeWrapper`1[[UnityEngine.Light,
UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]","$id":"6"}],"connections":[{"_sourcePortName":"Once","_targetPortName":"In","_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"1"},"$type":"FlowCanvas.BinderConnection"},{"_sourcePortName":"Done","_targetPortName":"In","_sourceNode":{"$ref":"1"},"_targetNode":{"$ref":"2"},"$type":"FlowCanvas.BinderConnection"},{"_sourcePortName":"Doing","_targetPortName":"
","_sourceNode":{"$ref":"2"},"_targetNode":{"$ref":"3"},"$type":"FlowCanvas.BinderConnection"},{"_sourcePortName":"value","_targetPortName":"value","_sourceNode":{"$ref":"2"},"_targetNode":{"$ref":"3"},"$type":"FlowCanvas.BinderConnection`1[[UnityEngine.Color,
UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},{"_sourcePortName":"Value","_targetPortName":"to","_sourceNode":{"$ref":"5"},"_targetNode":{"$ref":"2"},"$type":"FlowCanvas.BinderConnection`1[[UnityEngine.Color,
UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},{"_sourcePortName":"color","_targetPortName":"from","_sourceNode":{"$ref":"6"},"_targetNode":{"$ref":"2"},"$type":"FlowCanvas.BinderConnection`1[[UnityEngine.Color,
UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}],"canvasGroups":[],"localBlackboard":{"_variables":{"myColor":{"_value":{"r":1.0,"b":0.1459293},"_name":"myColor","_id":"6971da02-c1e1-4996-a378-b9dbfe2e5c86","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.Color,
_serializedGraph: '{"type":"FlowCanvas.FlowScript","nodes":[],"connections":[],"canvasGroups":[],"localBlackboard":{"_variables":{"myColor":{"_value":{"r":1.0,"b":0.1459293},"_name":"myColor","_id":"6971da02-c1e1-4996-a378-b9dbfe2e5c86","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.Color,
UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}}}}'
_objectReferences: []
_graphSource:
_version: 3.33
_category:
_comments:
_translation: {x: -60, y: 149}
_zoomFactor: 1
_translation: {x: -94, y: 912}
_zoomFactor: 0.63286877
_haltSerialization: 0
_externalSerializationFile: {fileID: 0}

View File

@ -125,7 +125,7 @@ AnimatorStateTransition:
m_CanTransitionToSelf: 1
--- !u!1102 &1102803197879693054
AnimatorState:
serializedVersion: 5
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
@ -152,7 +152,7 @@ AnimatorState:
m_TimeParameter:
--- !u!1102 &1102893502852399472
AnimatorState:
serializedVersion: 5
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
@ -179,7 +179,7 @@ AnimatorState:
m_TimeParameter:
--- !u!1107 &1107769487026546180
AnimatorStateMachine:
serializedVersion: 5
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}

View File

@ -0,0 +1,218 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3720939831961387414
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1606037557900104036}
- component: {fileID: 9106682281457513634}
- component: {fileID: 8960639804451054067}
m_Layer: 0
m_Name: InteractCamera
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1606037557900104036
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3720939831961387414}
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: 3658198492868472823}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &9106682281457513634
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3720939831961387414}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3}
m_Name:
m_EditorClassIdentifier:
m_ExcludedPropertiesInInspector:
- m_Script
m_LockStageInInspector:
m_StreamingVersion: 20170927
m_Priority: 20
m_StandbyUpdate: 2
m_LookAt: {fileID: 0}
m_Follow: {fileID: 0}
m_Lens:
FieldOfView: 60
OrthographicSize: 10
NearClipPlane: 0.1
FarClipPlane: 5000
Dutch: 0
ModeOverride: 0
LensShift: {x: 0, y: 0}
GateFit: 2
FocusDistance: 10
m_SensorSize: {x: 1, y: 1}
m_Transitions:
m_BlendHint: 0
m_InheritPosition: 0
m_OnCameraLive:
m_PersistentCalls:
m_Calls: []
m_LegacyBlendHint: 0
m_ComponentOwner: {fileID: 3658198492868472823}
--- !u!114 &8960639804451054067
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3720939831961387414}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e501d18bb52cf8c40b1853ca4904654f, type: 3}
m_Name:
m_EditorClassIdentifier:
m_CollideAgainst:
serializedVersion: 2
m_Bits: 3585
m_IgnoreTag:
m_TransparentLayers:
serializedVersion: 2
m_Bits: 0
m_MinimumDistanceFromTarget: 0.1
m_AvoidObstacles: 1
m_DistanceLimit: 0
m_MinimumOcclusionTime: 0
m_CameraRadius: 0.1
m_Strategy: 1
m_MaximumEffort: 10
m_SmoothingTime: 0.5
m_Damping: 2
m_DampingWhenOccluded: 1
m_OptimalTargetDistance: 0
--- !u!1 &5614258712203332854
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3658198492868472823}
- component: {fileID: 3924313546806115941}
- component: {fileID: 1635541088983345666}
- component: {fileID: 7041199417300915541}
- component: {fileID: 7964560996922851759}
m_Layer: 0
m_Name: cm
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3658198492868472823
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5614258712203332854}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 34, y: -0.72100735, z: 21.893852}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1606037557900104036}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &3924313546806115941
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5614258712203332854}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &1635541088983345666
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5614258712203332854}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fa7155796051b734daa718462081dc5f, type: 3}
m_Name:
m_EditorClassIdentifier:
m_BindingMode: 1
m_FollowOffset: {x: 0, y: 2, z: -6}
m_XDamping: 0
m_YDamping: 0
m_ZDamping: 0.4
m_AngularDampingMode: 1
m_PitchDamping: 3
m_YawDamping: 1
m_RollDamping: 0
m_AngularDamping: 3
--- !u!114 &7041199417300915541
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5614258712203332854}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3}
m_Name:
m_EditorClassIdentifier:
m_TrackedObjectOffset: {x: 0, y: 0, z: 0}
m_LookaheadTime: 0
m_LookaheadSmoothing: 3
m_LookaheadIgnoreY: 1
m_HorizontalDamping: 5
m_VerticalDamping: 0
m_ScreenX: 0.5
m_ScreenY: 0.67
m_DeadZoneWidth: 0
m_DeadZoneHeight: 0
m_SoftZoneWidth: 0
m_SoftZoneHeight: 0
m_BiasX: 0
m_BiasY: 0
m_CenterOnActivate: 1
--- !u!114 &7964560996922851759
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5614258712203332854}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 68bb026fafb42b14791938953eaace77, type: 3}
m_Name:
m_EditorClassIdentifier:
m_NoiseProfile: {fileID: 11400000, guid: a3dacaec0287d7444b4bd276816e1666, type: 2}
m_PivotOffset: {x: 0, y: 0, z: 0}
m_AmplitudeGain: 0.5
m_FrequencyGain: 1
mNoiseOffsets: {x: 0, y: 0, z: 0}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: c8c8b7811eee63d41860d4f760684a77
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -167,17 +167,17 @@ PrefabInstance:
- target: {fileID: 4895846115232909977, guid: cba6236a3ca88a54081cc989c4f0c08a,
type: 3}
propertyPath: SuspensionDamp
value: 5000
value: 4000
objectReference: {fileID: 0}
- target: {fileID: 4895846115232909977, guid: cba6236a3ca88a54081cc989c4f0c08a,
type: 3}
propertyPath: baseStats.Grip
value: 0.97
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4895846115232909977, guid: cba6236a3ca88a54081cc989c4f0c08a,
type: 3}
propertyPath: baseStats.Steer
value: 4
value: 2
objectReference: {fileID: 0}
- target: {fileID: 4895846115232909977, guid: cba6236a3ca88a54081cc989c4f0c08a,
type: 3}
@ -187,7 +187,7 @@ PrefabInstance:
- target: {fileID: 4895846115232909977, guid: cba6236a3ca88a54081cc989c4f0c08a,
type: 3}
propertyPath: SuspensionSpring
value: 70000
value: 8000
objectReference: {fileID: 0}
- target: {fileID: 4895846115232909977, guid: cba6236a3ca88a54081cc989c4f0c08a,
type: 3}
@ -199,6 +199,11 @@ PrefabInstance:
propertyPath: Nozzles.Array.size
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4895846115232909977, guid: cba6236a3ca88a54081cc989c4f0c08a,
type: 3}
propertyPath: baseStats.TopSpeed
value: 25
objectReference: {fileID: 0}
- target: {fileID: 4895846115232909977, guid: cba6236a3ca88a54081cc989c4f0c08a,
type: 3}
propertyPath: DriftVerticalOffset
@ -222,23 +227,33 @@ PrefabInstance:
- target: {fileID: 4895846115232909977, guid: cba6236a3ca88a54081cc989c4f0c08a,
type: 3}
propertyPath: baseStats.Acceleration
value: 7
value: 6
objectReference: {fileID: 0}
- target: {fileID: 4895846115232909977, guid: cba6236a3ca88a54081cc989c4f0c08a,
type: 3}
propertyPath: baseStats.AddedGravity
value: 1.5
objectReference: {fileID: 0}
- target: {fileID: 4895846115232909977, guid: cba6236a3ca88a54081cc989c4f0c08a,
type: 3}
propertyPath: baseStats.CoastingDrag
value: 5
value: 7
objectReference: {fileID: 0}
- target: {fileID: 4895846115232909977, guid: cba6236a3ca88a54081cc989c4f0c08a,
type: 3}
propertyPath: baseStats.ReverseSpeed
value: 10
value: 4
objectReference: {fileID: 0}
- target: {fileID: 4895846115232909977, guid: cba6236a3ca88a54081cc989c4f0c08a,
type: 3}
propertyPath: m_VisualWheels.Array.size
value: 4
objectReference: {fileID: 0}
- target: {fileID: 4895846115232909977, guid: cba6236a3ca88a54081cc989c4f0c08a,
type: 3}
propertyPath: baseStats.AccelerationCurve
value: 0.2
objectReference: {fileID: 0}
- target: {fileID: 4895846115232909977, guid: cba6236a3ca88a54081cc989c4f0c08a,
type: 3}
propertyPath: MinSpeedPercentToFinishDrift
@ -369,11 +384,6 @@ PrefabInstance:
propertyPath: frontRightWheel.wheelTransform
value:
objectReference: {fileID: 5914210770811335419}
- target: {fileID: 4895846115356922113, guid: cba6236a3ca88a54081cc989c4f0c08a,
type: 3}
propertyPath: m_TagString
value: Player
objectReference: {fileID: 0}
- target: {fileID: 4895846115625279569, guid: cba6236a3ca88a54081cc989c4f0c08a,
type: 3}
propertyPath: m_LocalPosition.x

File diff suppressed because it is too large Load Diff

View File

@ -330,6 +330,37 @@ Transform:
type: 3}
m_PrefabInstance: {fileID: 1396237454}
m_PrefabAsset: {fileID: 0}
--- !u!1 &49316182
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 49316183}
m_Layer: 0
m_Name: Featrue
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &49316183
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 49316182}
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: 228786047}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &62682349
PrefabInstance:
m_ObjectHideFlags: 0
@ -1721,6 +1752,108 @@ Transform:
type: 3}
m_PrefabInstance: {fileID: 225879714}
m_PrefabAsset: {fileID: 0}
--- !u!1 &228786043
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 228786047}
- component: {fileID: 228786046}
- component: {fileID: 228786045}
- component: {fileID: 228786044}
m_Layer: 0
m_Name: Interacter
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!135 &228786044
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 228786043}
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: 20
m_Center: {x: 0, y: 0, z: 0}
--- !u!114 &228786045
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 228786043}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b98a6db0b653f764eac834f85857a9dd, type: 3}
m_Name:
m_EditorClassIdentifier:
_parentBlackboard: {fileID: 0}
_serializedBlackboard: '{"_variables":{}}'
_objectReferences: []
_serializedVariables: []
--- !u!114 &228786046
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 228786043}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4b5c3ebb24c97464da319951cafe5a47, type: 3}
m_Name:
m_EditorClassIdentifier:
_serializedExposedParameters: []
_boundGraphSerialization: '{"type":"FlowCanvas.FlowScript","nodes":[],"connections":[],"canvasGroups":[],"localBlackboard":{"_variables":{}}}'
_boundGraphObjectReferences: []
_boundGraphSource:
_version: 3.33
_category:
_comments:
_translation: {x: 0, y: 0}
_zoomFactor: 1
_firstActivation: 0
_enableAction: 0
_disableAction: 0
_lockBoundGraphPrefabOverrides: 1
_preInitializeSubGraphs: 0
_updateMode: 0
_graph: {fileID: 0}
_blackboard: {fileID: 228786045}
--- !u!4 &228786047
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 228786043}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -12.73, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 688660009}
- {fileID: 49316183}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!4 &232587116 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 400000, guid: 92bb9994204d1d44cb6223c53e4f84f8,
@ -2551,7 +2684,7 @@ PrefabInstance:
type: 3}
propertyPath: CollectVFXSpawnPoint
value:
objectReference: {fileID: 1304724376}
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@ -3177,22 +3310,22 @@ PrefabInstance:
- target: {fileID: 6602977218683986153, guid: 06604f26f581c4de08c3f45572924c7d,
type: 3}
propertyPath: m_LocalPosition.x
value: -44.00132
value: -24.000517
objectReference: {fileID: 0}
- target: {fileID: 6602977218683986153, guid: 06604f26f581c4de08c3f45572924c7d,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
value: 0.00000011920929
objectReference: {fileID: 0}
- target: {fileID: 6602977218683986153, guid: 06604f26f581c4de08c3f45572924c7d,
type: 3}
propertyPath: m_LocalPosition.z
value: -23
value: -43
objectReference: {fileID: 0}
- target: {fileID: 6602977218683986153, guid: 06604f26f581c4de08c3f45572924c7d,
type: 3}
propertyPath: m_LocalRotation.w
value: 0.000051766627
value: -0.70707023
objectReference: {fileID: 0}
- target: {fileID: 6602977218683986153, guid: 06604f26f581c4de08c3f45572924c7d,
type: 3}
@ -3202,7 +3335,7 @@ PrefabInstance:
- target: {fileID: 6602977218683986153, guid: 06604f26f581c4de08c3f45572924c7d,
type: 3}
propertyPath: m_LocalRotation.y
value: 1
value: 0.7071434
objectReference: {fileID: 0}
- target: {fileID: 6602977218683986153, guid: 06604f26f581c4de08c3f45572924c7d,
type: 3}
@ -3217,7 +3350,7 @@ PrefabInstance:
- target: {fileID: 6602977218683986153, guid: 06604f26f581c4de08c3f45572924c7d,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 179.994
value: 269.99402
objectReference: {fileID: 0}
- target: {fileID: 6602977218683986153, guid: 06604f26f581c4de08c3f45572924c7d,
type: 3}
@ -4674,6 +4807,111 @@ Transform:
type: 3}
m_PrefabInstance: {fileID: 1117362714}
m_PrefabAsset: {fileID: 0}
--- !u!1 &421737872
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 421737876}
- component: {fileID: 421737875}
- component: {fileID: 421737874}
- component: {fileID: 421737873}
m_Layer: 9
m_Name: Cube
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!65 &421737873
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 421737872}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 3
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!23 &421737874
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 421737872}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!33 &421737875
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 421737872}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!4 &421737876
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 421737872}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0.2164396, w: 0.97629607}
m_LocalPosition: {x: 95.2, y: -2.6, z: -33.192783}
m_LocalScale: {x: 10, y: 10, z: 10}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 25}
--- !u!1001 &426602534
PrefabInstance:
m_ObjectHideFlags: 0
@ -6790,6 +7028,38 @@ Transform:
type: 3}
m_PrefabInstance: {fileID: 679038435}
m_PrefabAsset: {fileID: 0}
--- !u!1 &688660008
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 688660009}
m_Layer: 0
m_Name: Model
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &688660009
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 688660008}
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: 1488902005}
m_Father: {fileID: 228786047}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &695900665
PrefabInstance:
m_ObjectHideFlags: 0
@ -8192,7 +8462,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!4 &822690626
Transform:
m_ObjectHideFlags: 0
@ -8536,17 +8806,17 @@ PrefabInstance:
- target: {fileID: 6691645748356329553, guid: 4366ba6a4d5213d4f9fc7bba3e778799,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
value: 60.28
objectReference: {fileID: 0}
- target: {fileID: 6691645748356329553, guid: 4366ba6a4d5213d4f9fc7bba3e778799,
type: 3}
propertyPath: m_LocalPosition.y
value: 4.5
value: 11.139999
objectReference: {fileID: 0}
- target: {fileID: 6691645748356329553, guid: 4366ba6a4d5213d4f9fc7bba3e778799,
type: 3}
propertyPath: m_LocalPosition.z
value: -8
value: -28.86
objectReference: {fileID: 0}
- target: {fileID: 6691645748356329553, guid: 4366ba6a4d5213d4f9fc7bba3e778799,
type: 3}
@ -9470,7 +9740,7 @@ PrefabInstance:
type: 3}
propertyPath: CollectVFXSpawnPoint
value:
objectReference: {fileID: 1304724376}
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@ -9803,12 +10073,12 @@ PrefabInstance:
- target: {fileID: 6602977218683986153, guid: 06604f26f581c4de08c3f45572924c7d,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
value: 0.0000014007092
objectReference: {fileID: 0}
- target: {fileID: 6602977218683986153, guid: 06604f26f581c4de08c3f45572924c7d,
type: 3}
propertyPath: m_LocalPosition.z
value: 37
value: 36.998524
objectReference: {fileID: 0}
- target: {fileID: 6602977218683986153, guid: 06604f26f581c4de08c3f45572924c7d,
type: 3}
@ -10378,22 +10648,22 @@ PrefabInstance:
- target: {fileID: 6602977218683986153, guid: 06604f26f581c4de08c3f45572924c7d,
type: 3}
propertyPath: m_LocalPosition.x
value: -23.997126
value: -43.993744
objectReference: {fileID: 0}
- target: {fileID: 6602977218683986153, guid: 06604f26f581c4de08c3f45572924c7d,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
value: -0.0000014603138
objectReference: {fileID: 0}
- target: {fileID: 6602977218683986153, guid: 06604f26f581c4de08c3f45572924c7d,
type: 3}
propertyPath: m_LocalPosition.z
value: 57
value: 77.007744
objectReference: {fileID: 0}
- target: {fileID: 6602977218683986153, guid: 06604f26f581c4de08c3f45572924c7d,
type: 3}
propertyPath: m_LocalRotation.w
value: 0.70724404
value: 0.00019352138
objectReference: {fileID: 0}
- target: {fileID: 6602977218683986153, guid: 06604f26f581c4de08c3f45572924c7d,
type: 3}
@ -10403,7 +10673,7 @@ PrefabInstance:
- target: {fileID: 6602977218683986153, guid: 06604f26f581c4de08c3f45572924c7d,
type: 3}
propertyPath: m_LocalRotation.y
value: -0.70696956
value: -1
objectReference: {fileID: 0}
- target: {fileID: 6602977218683986153, guid: 06604f26f581c4de08c3f45572924c7d,
type: 3}
@ -10418,7 +10688,7 @@ PrefabInstance:
- target: {fileID: 6602977218683986153, guid: 06604f26f581c4de08c3f45572924c7d,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: -89.978004
value: -179.978
objectReference: {fileID: 0}
- target: {fileID: 6602977218683986153, guid: 06604f26f581c4de08c3f45572924c7d,
type: 3}
@ -10464,17 +10734,17 @@ PrefabInstance:
- target: {fileID: 4810912518991602692, guid: 3962206e309522b408a61504e3e1ff8a,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
value: 60.28
objectReference: {fileID: 0}
- target: {fileID: 4810912518991602692, guid: 3962206e309522b408a61504e3e1ff8a,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
value: 6.64
objectReference: {fileID: 0}
- target: {fileID: 4810912518991602692, guid: 3962206e309522b408a61504e3e1ff8a,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
value: -20.86
objectReference: {fileID: 0}
- target: {fileID: 4810912518991602692, guid: 3962206e309522b408a61504e3e1ff8a,
type: 3}
@ -10511,11 +10781,6 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7798798854738731139, guid: 3962206e309522b408a61504e3e1ff8a,
type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@ -11940,7 +12205,7 @@ Transform:
m_GameObject: {fileID: 1207105314}
serializedVersion: 2
m_LocalRotation: {x: 0.13306436, y: -5.275419e-15, z: 7.082686e-16, w: 0.9911074}
m_LocalPosition: {x: 0, y: 4.5, z: -8}
m_LocalPosition: {x: 60.28, y: 11.139999, z: -28.86}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@ -12773,99 +13038,6 @@ Transform:
type: 3}
m_PrefabInstance: {fileID: 1562696022}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &1304724375
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 4810912518991602691, guid: 19954de30401f73428254541a9ad156e,
type: 3}
propertyPath: m_Name
value: KartClassic_Player
objectReference: {fileID: 0}
- target: {fileID: 4810912518991602691, guid: 19954de30401f73428254541a9ad156e,
type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4810912518991602692, guid: 19954de30401f73428254541a9ad156e,
type: 3}
propertyPath: m_RootOrder
value: 7
objectReference: {fileID: 0}
- target: {fileID: 4810912518991602692, guid: 19954de30401f73428254541a9ad156e,
type: 3}
propertyPath: m_LocalPosition.x
value: 15.98891
objectReference: {fileID: 0}
- target: {fileID: 4810912518991602692, guid: 19954de30401f73428254541a9ad156e,
type: 3}
propertyPath: m_LocalPosition.y
value: 0.2500009
objectReference: {fileID: 0}
- target: {fileID: 4810912518991602692, guid: 19954de30401f73428254541a9ad156e,
type: 3}
propertyPath: m_LocalPosition.z
value: 3.1055236
objectReference: {fileID: 0}
- target: {fileID: 4810912518991602692, guid: 19954de30401f73428254541a9ad156e,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4810912518991602692, guid: 19954de30401f73428254541a9ad156e,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4810912518991602692, guid: 19954de30401f73428254541a9ad156e,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4810912518991602692, guid: 19954de30401f73428254541a9ad156e,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4810912518991602692, guid: 19954de30401f73428254541a9ad156e,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4810912518991602692, guid: 19954de30401f73428254541a9ad156e,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4810912518991602692, guid: 19954de30401f73428254541a9ad156e,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4810912518991602694, guid: 19954de30401f73428254541a9ad156e,
type: 3}
propertyPath: GroundLayers.m_Bits
value: 32563
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 4810912518991602691, guid: 19954de30401f73428254541a9ad156e,
type: 3}
insertIndex: -1
addedObject: {fileID: 1910917297}
m_SourcePrefab: {fileID: 100100000, guid: 19954de30401f73428254541a9ad156e, type: 3}
--- !u!4 &1304724376 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 4810912518991602692, guid: 19954de30401f73428254541a9ad156e,
type: 3}
m_PrefabInstance: {fileID: 1304724375}
m_PrefabAsset: {fileID: 0}
--- !u!4 &1332395070 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 40299501215355906, guid: 230dd9257fca2c249b555f6edd3c8e14,
@ -14859,6 +15031,69 @@ Transform:
type: 3}
m_PrefabInstance: {fileID: 1485692694}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &1488902004
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 688660009}
m_Modifications:
- target: {fileID: 100064, guid: 6efe54ae207d7bb46a4adca3c0143126, type: 3}
propertyPath: m_Name
value: Player
objectReference: {fileID: 0}
- target: {fileID: 400064, guid: 6efe54ae207d7bb46a4adca3c0143126, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400064, guid: 6efe54ae207d7bb46a4adca3c0143126, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400064, guid: 6efe54ae207d7bb46a4adca3c0143126, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400064, guid: 6efe54ae207d7bb46a4adca3c0143126, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 400064, guid: 6efe54ae207d7bb46a4adca3c0143126, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 400064, guid: 6efe54ae207d7bb46a4adca3c0143126, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 400064, guid: 6efe54ae207d7bb46a4adca3c0143126, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 400064, guid: 6efe54ae207d7bb46a4adca3c0143126, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400064, guid: 6efe54ae207d7bb46a4adca3c0143126, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400064, guid: 6efe54ae207d7bb46a4adca3c0143126, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 6efe54ae207d7bb46a4adca3c0143126, type: 3}
--- !u!4 &1488902005 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 400064, guid: 6efe54ae207d7bb46a4adca3c0143126,
type: 3}
m_PrefabInstance: {fileID: 1488902004}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &1495106826
PrefabInstance:
m_ObjectHideFlags: 0
@ -16111,7 +16346,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: dca6189290e8c16479a364fa6d80b6b8, type: 3}
propertyPath: m_LocalPosition.z
value: -93
value: -99.5
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: dca6189290e8c16479a364fa6d80b6b8, type: 3}
propertyPath: m_LocalRotation.w
@ -17490,7 +17725,7 @@ PrefabInstance:
type: 3}
propertyPath: CollectVFXSpawnPoint
value:
objectReference: {fileID: 1304724376}
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@ -18884,25 +19119,6 @@ Transform:
type: 3}
m_PrefabInstance: {fileID: 943674754}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1910917296 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 4810912518991602691, guid: 19954de30401f73428254541a9ad156e,
type: 3}
m_PrefabInstance: {fileID: 1304724375}
m_PrefabAsset: {fileID: 0}
--- !u!114 &1910917297
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1910917296}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c8534e17a0f90604c9afd4f5c73d829f, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Id: 1e015b90-7713-408c-8d9a-3a4586f0f423
--- !u!1001 &1931383003
PrefabInstance:
m_ObjectHideFlags: 0
@ -20750,7 +20966,6 @@ SceneRoots:
- {fileID: 867987756}
- {fileID: 1370164161}
- {fileID: 1117362714}
- {fileID: 1304724375}
- {fileID: 1043737005}
- {fileID: 2042733063034435450}
- {fileID: 1176067596}
@ -20763,3 +20978,5 @@ SceneRoots:
- {fileID: 294538553}
- {fileID: 1705594713}
- {fileID: 974197868}
- {fileID: 228786047}
- {fileID: 421737876}

View File

@ -10,49 +10,49 @@ namespace KartGame.KartSystems
[System.Serializable]
public class StatPowerup
{
public ArcadeKart.Stats modifiers;
public string PowerUpID;
public float ElapsedTime;
public float MaxTime;
public ArcadeKart.Stats modifiers; // 增益修改器
public string PowerUpID; // 增益ID
public float ElapsedTime; // 已持续时间
public float MaxTime; // 最大持续时间
}
[System.Serializable]
public struct Stats
{
[Header("Movement Settings")]
[Min(0.001f), Tooltip("Top speed attainable when moving forward.")]
[Header("移动设置")]
[Min(0.001f), Tooltip("前进时能达到的最高速度")]
public float TopSpeed;
[Tooltip("How quickly the kart reaches top speed.")]
[Tooltip("达到最高速度的快慢")]
public float Acceleration;
[Min(0.001f), Tooltip("Top speed attainable when moving backward.")]
[Min(0.001f), Tooltip("后退时能达到的最高速度")]
public float ReverseSpeed;
[Tooltip("How quickly the kart reaches top speed, when moving backward.")]
[Tooltip("后退时的加速度")]
public float ReverseAcceleration;
[Tooltip("How quickly the kart starts accelerating from 0. A higher number means it accelerates faster sooner.")]
[Tooltip("从0开始加速的快慢。数值越高起步加速越快")]
[Range(0.2f, 1)]
public float AccelerationCurve;
[Tooltip("How quickly the kart slows down when the brake is applied.")]
[Tooltip("按下刹车时车辆减速的快慢")]
public float Braking;
[Tooltip("How quickly the kart will reach a full stop when no inputs are made.")]
[Tooltip("没有输入时,车辆完全停止的快慢")]
public float CoastingDrag;
[Range(0.0f, 1.0f)]
[Tooltip("The amount of side-to-side friction.")]
[Tooltip("横向摩擦力(抓地力)量")]
public float Grip;
[Tooltip("How tightly the kart can turn left or right.")]
[Tooltip("车辆左右转弯的灵活度")]
public float Steer;
[Tooltip("Additional gravity for when the kart is in the air.")]
[Tooltip("当车辆在空中时的额外重力")]
public float AddedGravity;
// allow for stat adding for powerups.
// 允许增益道具进行数值累加
public static Stats operator +(Stats a, Stats b)
{
return new Stats
@ -73,8 +73,8 @@ namespace KartGame.KartSystems
public Rigidbody Rigidbody { get; private set; }
public InputData Input { get; private set; }
public float AirPercent { get; private set; }
public float GroundPercent { get; private set; }
public float AirPercent { get; private set; } // 腾空百分比
public float GroundPercent { get; private set; } // 着地百分比
public ArcadeKart.Stats baseStats = new ArcadeKart.Stats
{
@ -90,78 +90,78 @@ namespace KartGame.KartSystems
AddedGravity = 1f,
};
[Header("Vehicle Visual")]
public List<GameObject> m_VisualWheels;
[Header("车辆视觉")]
public List<GameObject> m_VisualWheels; // 视觉轮子列表
[Header("Vehicle Physics")]
[Tooltip("The transform that determines the position of the kart's mass.")]
[Header("车辆物理")]
[Tooltip("决定重心位置的变换节点")]
public Transform CenterOfMass;
[Range(0.0f, 20.0f), Tooltip("Coefficient used to reorient the kart in the air. The higher the number, the faster the kart will readjust itself along the horizontal plane.")]
[Range(0.0f, 20.0f), Tooltip("用于在空中重新调整车辆方向的系数。数值越高,车辆在水平面上自矫正越快")]
public float AirborneReorientationCoefficient = 3.0f;
[Header("Drifting")]
[Range(0.01f, 1.0f), Tooltip("The grip value when drifting.")]
[Header("漂移")]
[Range(0.01f, 1.0f), Tooltip("漂移时的抓地力数值")]
public float DriftGrip = 0.4f;
[Range(0.0f, 10.0f), Tooltip("Additional steer when the kart is drifting.")]
[Range(0.0f, 10.0f), Tooltip("漂移时的额外转向力")]
public float DriftAdditionalSteer = 5.0f;
[Range(1.0f, 30.0f), Tooltip("The higher the angle, the easier it is to regain full grip.")]
[Range(1.0f, 30.0f), Tooltip("角度越高,越容易恢复完全抓地力")]
public float MinAngleToFinishDrift = 10.0f;
[Range(0.01f, 0.99f), Tooltip("Mininum speed percentage to switch back to full grip.")]
[Range(0.01f, 0.99f), Tooltip("切换回完全抓地力所需的最低速度百分比")]
public float MinSpeedPercentToFinishDrift = 0.5f;
[Range(1.0f, 20.0f), Tooltip("The higher the value, the easier it is to control the drift steering.")]
[Range(1.0f, 20.0f), Tooltip("数值越高,漂移转向越容易控制")]
public float DriftControl = 10.0f;
[Range(0.0f, 20.0f), Tooltip("The lower the value, the longer the drift will last without trying to control it by steering.")]
[Range(0.0f, 20.0f), Tooltip("数值越低,不操作转向时漂移持续时间越长")]
public float DriftDampening = 10.0f;
[Header("VFX")]
[Tooltip("VFX that will be placed on the wheels when drifting.")]
[Header("视觉特效 (VFX)")]
[Tooltip("漂移时轮子上出现的火花粒子")]
public ParticleSystem DriftSparkVFX;
[Range(0.0f, 0.2f), Tooltip("Offset to displace the VFX to the side.")]
[Range(0.0f, 0.2f), Tooltip("火花粒子侧向偏移量")]
public float DriftSparkHorizontalOffset = 0.1f;
[Range(0.0f, 90.0f), Tooltip("Angle to rotate the VFX.")]
[Range(0.0f, 90.0f), Tooltip("火花粒子旋转角度")]
public float DriftSparkRotation = 17.0f;
[Tooltip("VFX that will be placed on the wheels when drifting.")]
[Tooltip("漂移留下的胎痕预制体")]
public GameObject DriftTrailPrefab;
[Range(-0.1f, 0.1f), Tooltip("Vertical to move the trails up or down and ensure they are above the ground.")]
[Range(-0.1f, 0.1f), Tooltip("胎痕的垂直偏移,确保其在地面上方")]
public float DriftTrailVerticalOffset;
[Tooltip("VFX that will spawn upon landing, after a jump.")]
[Tooltip("跳跃落地时产生的特效")]
public GameObject JumpVFX;
[Tooltip("VFX that is spawn on the nozzles of the kart.")]
[Tooltip("排气管喷火特效")]
public GameObject NozzleVFX;
[Tooltip("List of the kart's nozzles.")]
[Tooltip("排气管位置列表")]
public List<Transform> Nozzles;
[Header("Suspensions")]
[Tooltip("The maximum extension possible between the kart's body and the wheels.")]
[Header("悬挂系统")]
[Tooltip("车身与轮子之间允许的最大伸缩长度")]
[Range(0.0f, 1.0f)]
public float SuspensionHeight = 0.2f;
[Range(10.0f, 100000.0f), Tooltip("The higher the value, the stiffer the suspension will be.")]
[Range(10.0f, 100000.0f), Tooltip("数值越高,悬挂越硬")]
public float SuspensionSpring = 20000.0f;
[Range(0.0f, 5000.0f), Tooltip("The higher the value, the faster the kart will stabilize itself.")]
[Range(0.0f, 5000.0f), Tooltip("数值越高,车辆平衡恢复得越快")]
public float SuspensionDamp = 500.0f;
[Tooltip("Vertical offset to adjust the position of the wheels relative to the kart's body.")]
[Tooltip("调整轮子相对于车身垂直位置的偏移")]
[Range(-1.0f, 1.0f)]
public float WheelsPositionVerticalOffset = 0.0f;
[Header("Physical Wheels")]
[Tooltip("The physical representations of the Kart's wheels.")]
[Header("物理轮轴 (WheelColliders)")]
[Tooltip("轮子的物理碰撞体")]
public WheelCollider FrontLeftWheel;
public WheelCollider FrontRightWheel;
public WheelCollider RearLeftWheel;
public WheelCollider RearRightWheel;
[Tooltip("Which layers the wheels will detect.")]
[Tooltip("轮子射线检测的地面层级")]
public LayerMask GroundLayers = Physics.DefaultRaycastLayers;
// the input sources that can control the kart
// 控制的输入源列表
IInput[] m_Inputs;
const float k_NullInput = 0.01f;
const float k_NullSpeed = 0.01f;
Vector3 m_VerticalReference = Vector3.up;
// Drift params
// 漂移参数
public bool WantsToDrift { get; private set; } = false;
public bool IsDrifting { get; private set; } = false;
float m_CurrentGrip = 1.0f;
@ -170,7 +170,7 @@ namespace KartGame.KartSystems
readonly List<(GameObject trailRoot, WheelCollider wheel, TrailRenderer trail)> m_DriftTrailInstances = new List<(GameObject, WheelCollider, TrailRenderer)>();
readonly List<(WheelCollider wheel, float horizontalOffset, float rotation, ParticleSystem sparks)> m_DriftSparkInstances = new List<(WheelCollider, float, float, ParticleSystem)>();
// can the kart move?
// 车辆是否可移动
bool m_CanMove = true;
List<StatPowerup> m_ActivePowerupList = new List<StatPowerup>();
ArcadeKart.Stats m_FinalStats;
@ -185,27 +185,26 @@ namespace KartGame.KartSystems
public void SetCanMove(bool move) => m_CanMove = move;
public float GetMaxSpeed() => Mathf.Max(m_FinalStats.TopSpeed, m_FinalStats.ReverseSpeed);
// 激活/关闭漂移特效
private void ActivateDriftVFX(bool active)
{
foreach (var vfx in m_DriftSparkInstances)
{
if (active && vfx.wheel.GetGroundHit(out WheelHit hit))
{
if (!vfx.sparks.isPlaying)
vfx.sparks.Play();
if (!vfx.sparks.isPlaying) vfx.sparks.Play();
}
else
{
if (vfx.sparks.isPlaying)
vfx.sparks.Stop(true, ParticleSystemStopBehavior.StopEmitting);
if (vfx.sparks.isPlaying) vfx.sparks.Stop(true, ParticleSystemStopBehavior.StopEmitting);
}
}
foreach (var trail in m_DriftTrailInstances)
trail.Item3.emitting = active && trail.wheel.GetGroundHit(out WheelHit hit);
}
// 更新漂移特效的方向和位置
private void UpdateDriftVFXOrientation()
{
foreach (var vfx in m_DriftSparkInstances)
@ -221,6 +220,7 @@ namespace KartGame.KartSystems
}
}
// 更新轮子的悬挂参数
void UpdateSuspensionParams(WheelCollider wheel)
{
wheel.suspensionDistance = SuspensionHeight;
@ -243,18 +243,21 @@ namespace KartGame.KartSystems
m_CurrentGrip = baseStats.Grip;
// 初始化漂移火花
if (DriftSparkVFX != null)
{
AddSparkToWheel(RearLeftWheel, -DriftSparkHorizontalOffset, -DriftSparkRotation);
AddSparkToWheel(RearRightWheel, DriftSparkHorizontalOffset, DriftSparkRotation);
}
// 初始化胎痕
if (DriftTrailPrefab != null)
{
AddTrailToWheel(RearLeftWheel);
AddTrailToWheel(RearRightWheel);
}
// 生成排气管特效
if (NozzleVFX != null)
{
foreach (var nozzle in Nozzles)
@ -289,27 +292,23 @@ namespace KartGame.KartSystems
GatherInputs();
// apply our powerups to create our finalStats
// 应用增益道具计算最终属性
TickPowerups();
// apply our physics properties
// 更新刚体重心
Rigidbody.centerOfMass = transform.InverseTransformPoint(CenterOfMass.position);
// 检测着地轮数
int groundedCount = 0;
if (FrontLeftWheel.isGrounded && FrontLeftWheel.GetGroundHit(out WheelHit hit))
groundedCount++;
if (FrontRightWheel.isGrounded && FrontRightWheel.GetGroundHit(out hit))
groundedCount++;
if (RearLeftWheel.isGrounded && RearLeftWheel.GetGroundHit(out hit))
groundedCount++;
if (RearRightWheel.isGrounded && RearRightWheel.GetGroundHit(out hit))
groundedCount++;
if (FrontLeftWheel.isGrounded && FrontLeftWheel.GetGroundHit(out WheelHit hit)) groundedCount++;
if (FrontRightWheel.isGrounded && FrontRightWheel.GetGroundHit(out hit)) groundedCount++;
if (RearLeftWheel.isGrounded && RearLeftWheel.GetGroundHit(out hit)) groundedCount++;
if (RearRightWheel.isGrounded && RearRightWheel.GetGroundHit(out hit)) groundedCount++;
// calculate how grounded and airborne we are
// 计算着地百分比
GroundPercent = (float) groundedCount / 4.0f;
AirPercent = 1 - GroundPercent;
// apply vehicle physics
if (m_CanMove)
{
MoveVehicle(Input.Accelerate, Input.Brake, Input.TurnInput);
@ -317,54 +316,43 @@ namespace KartGame.KartSystems
GroundAirbourne();
m_PreviousGroundPercent = GroundPercent;
UpdateDriftVFXOrientation();
}
void GatherInputs()
{
// reset input
Input = new InputData();
WantsToDrift = false;
// gather nonzero input from our sources
// 从输入源获取输入
for (int i = 0; i < m_Inputs.Length; i++)
{
Input = m_Inputs[i].GenerateInput();
// 判定是否想要漂移:按下刹车且正在向前移动
WantsToDrift = Input.Brake && Vector3.Dot(Rigidbody.velocity, transform.forward) > 0.0f;
}
}
void TickPowerups()
{
// remove all elapsed powerups
// 移除过期的增益
m_ActivePowerupList.RemoveAll((p) => { return p.ElapsedTime > p.MaxTime; });
// zero out powerups before we add them all up
var powerups = new Stats();
// add up all our powerups
for (int i = 0; i < m_ActivePowerupList.Count; i++)
{
var p = m_ActivePowerupList[i];
// add elapsed time
p.ElapsedTime += Time.fixedDeltaTime;
// add up the powerups
powerups += p.modifiers;
}
// add powerups to our final stats
m_FinalStats = baseStats + powerups;
// clamp values in finalstats
m_FinalStats.Grip = Mathf.Clamp(m_FinalStats.Grip, 0, 1);
}
void GroundAirbourne()
{
// while in the air, fall faster
// 在空中时下落得更快
if (AirPercent >= 1)
{
Rigidbody.velocity += Physics.gravity * Time.fixedDeltaTime * m_FinalStats.AddedGravity;
@ -378,6 +366,7 @@ namespace KartGame.KartSystems
transform.rotation = Quaternion.Euler(euler);
}
// 获取本地速度比率用于音效或UI
public float LocalSpeed()
{
if (m_CanMove)
@ -392,7 +381,6 @@ namespace KartGame.KartSystems
}
else
{
// use this value to play kart sound when it is waiting the race start countdown.
return Input.Accelerate ? 1.0f : 0.0f;
}
}
@ -413,58 +401,57 @@ namespace KartGame.KartSystems
}
}
// 车辆移动核心逻辑
void MoveVehicle(bool accelerate, bool brake, float turnInput)
{
// 合并加速和刹车输入
float accelInput = (accelerate ? 1.0f : 0.0f) - (brake ? 1.0f : 0.0f);
// manual acceleration curve coefficient scalar
float accelerationCurveCoeff = 5;
Vector3 localVel = transform.InverseTransformVector(Rigidbody.velocity);
bool accelDirectionIsFwd = accelInput >= 0;
bool localVelDirectionIsFwd = localVel.z >= 0;
// use the max speed for the direction we are going--forward or reverse.
// 根据行驶方向确定最高时速和加速度
float maxSpeed = localVelDirectionIsFwd ? m_FinalStats.TopSpeed : m_FinalStats.ReverseSpeed;
float accelPower = accelDirectionIsFwd ? m_FinalStats.Acceleration : m_FinalStats.ReverseAcceleration;
float currentSpeed = Rigidbody.velocity.magnitude;
float accelRampT = currentSpeed / maxSpeed;
float multipliedAccelerationCurve = m_FinalStats.AccelerationCurve * accelerationCurveCoeff;
// 核心加速曲线计算
float accelRamp = Mathf.Lerp(multipliedAccelerationCurve, 1, accelRampT * accelRampT);
// 判定是否正在通过反向输入进行刹车
bool isBraking = (localVelDirectionIsFwd && brake) || (!localVelDirectionIsFwd && accelerate);
// if we are braking (moving reverse to where we are going)
// use the braking accleration instead
float finalAccelPower = isBraking ? m_FinalStats.Braking : accelPower;
float finalAcceleration = finalAccelPower * accelRamp;
// apply inputs to forward/backward
// 应用转向动力:如果是漂移状态使用漂移转向,否则使用正常转向
float turningPower = IsDrifting ? m_DriftTurningPower : turnInput * m_FinalStats.Steer;
Quaternion turnAngle = Quaternion.AngleAxis(turningPower, transform.up);
Vector3 fwd = turnAngle * transform.forward;
// 只有着地或碰撞时才有动力
Vector3 movement = fwd * accelInput * finalAcceleration * ((m_HasCollision || GroundPercent > 0.0f) ? 1.0f : 0.0f);
// forward movement
bool wasOverMaxSpeed = currentSpeed >= maxSpeed;
// if over max speed, cannot accelerate faster.
if (wasOverMaxSpeed && !isBraking)
movement *= 0.0f;
// 如果超速且不在刹车,禁止进一步加速
if (wasOverMaxSpeed && !isBraking) movement *= 0.0f;
Vector3 newVelocity = Rigidbody.velocity + movement * Time.fixedDeltaTime;
newVelocity.y = Rigidbody.velocity.y;
// clamp max speed if we are on ground
// 限制最高速度
if (GroundPercent > 0.0f && !wasOverMaxSpeed)
{
newVelocity = Vector3.ClampMagnitude(newVelocity, maxSpeed);
}
// coasting is when we aren't touching accelerate
// 无输入时的滑行阻力
if (Mathf.Abs(accelInput) < k_NullInput && GroundPercent > 0.0f)
{
newVelocity = Vector3.MoveTowards(newVelocity, new Vector3(0, Rigidbody.velocity.y, 0), Time.fixedDeltaTime * m_FinalStats.CoastingDrag);
@ -472,7 +459,7 @@ namespace KartGame.KartSystems
Rigidbody.velocity = newVelocity;
// Drift
// 漂移与转向物理
if (GroundPercent > 0.0f)
{
if (m_InAir)
@ -481,27 +468,19 @@ namespace KartGame.KartSystems
Instantiate(JumpVFX, transform.position, Quaternion.identity);
}
// manual angular velocity coefficient
float angularVelocitySteering = 0.4f;
float angularVelocitySmoothSpeed = 20f;
// turning is reversed if we're going in reverse and pressing reverse
if (!localVelDirectionIsFwd && !accelDirectionIsFwd)
angularVelocitySteering *= -1.0f;
if (!localVelDirectionIsFwd && !accelDirectionIsFwd) angularVelocitySteering *= -1.0f;
var angularVel = Rigidbody.angularVelocity;
// move the Y angular velocity towards our target
// 更新刚体角速度实现转弯
angularVel.y = Mathf.MoveTowards(angularVel.y, turningPower * angularVelocitySteering, Time.fixedDeltaTime * angularVelocitySmoothSpeed);
// apply the angular velocity
Rigidbody.angularVelocity = angularVel;
// rotate rigidbody's velocity as well to generate immediate velocity redirection
// manual velocity steering coefficient
float velocitySteering = 25f;
// If the karts lands with a forward not in the velocity direction, we start the drift
// 判定着地瞬间是否开始漂移
if (GroundPercent >= 0.0f && m_PreviousGroundPercent < 0.1f)
{
Vector3 flattenVelocity = Vector3.ProjectOnPlane(Rigidbody.velocity, m_VerticalReference).normalized;
@ -513,7 +492,7 @@ namespace KartGame.KartSystems
}
}
// Drift Management
// 漂移启动管理
if (!IsDrifting)
{
if ((WantsToDrift || isBraking) && currentSpeed > maxSpeed * MinSpeedPercentToFinishDrift)
@ -521,41 +500,35 @@ namespace KartGame.KartSystems
IsDrifting = true;
m_DriftTurningPower = turningPower + (Mathf.Sign(turningPower) * DriftAdditionalSteer);
m_CurrentGrip = DriftGrip;
ActivateDriftVFX(true);
}
}
// 漂移状态维护
if (IsDrifting)
{
float turnInputAbs = Mathf.Abs(turnInput);
if (turnInputAbs < k_NullInput)
m_DriftTurningPower = Mathf.MoveTowards(m_DriftTurningPower, 0.0f, Mathf.Clamp01(DriftDampening * Time.fixedDeltaTime));
// Update the turning power based on input
float driftMaxSteerValue = m_FinalStats.Steer + DriftAdditionalSteer;
m_DriftTurningPower = Mathf.Clamp(m_DriftTurningPower + (turnInput * Mathf.Clamp01(DriftControl * Time.fixedDeltaTime)), -driftMaxSteerValue, driftMaxSteerValue);
bool facingVelocity = Vector3.Dot(Rigidbody.velocity.normalized, transform.forward * Mathf.Sign(accelInput)) > Mathf.Cos(MinAngleToFinishDrift * Mathf.Deg2Rad);
bool canEndDrift = true;
if (isBraking)
canEndDrift = false;
else if (!facingVelocity)
canEndDrift = false;
else if (turnInputAbs >= k_NullInput && currentSpeed > maxSpeed * MinSpeedPercentToFinishDrift)
canEndDrift = false;
if (isBraking) canEndDrift = false;
else if (!facingVelocity) canEndDrift = false;
else if (turnInputAbs >= k_NullInput && currentSpeed > maxSpeed * MinSpeedPercentToFinishDrift) canEndDrift = false;
if (canEndDrift || currentSpeed < k_NullSpeed)
{
// No Input, and car aligned with speed direction => Stop the drift
IsDrifting = false;
m_CurrentGrip = m_FinalStats.Grip;
}
}
// rotate our velocity based on current steer value
// 核心:根据转向值旋转速度向量
Rigidbody.velocity = Quaternion.AngleAxis(turningPower * Mathf.Sign(localVel.z) * velocitySteering * m_CurrentGrip * Time.fixedDeltaTime, transform.up) * Rigidbody.velocity;
}
else
@ -563,11 +536,11 @@ namespace KartGame.KartSystems
m_InAir = true;
}
bool validPosition = false;
if (Physics.Raycast(transform.position + (transform.up * 0.1f), -transform.up, out RaycastHit hit, 3.0f, 1 << 9 | 1 << 10 | 1 << 11)) // Layer: ground (9) / Environment(10) / Track (11)
// 矫正车辆在坡道或空中的水平参考面
if (Physics.Raycast(transform.position + (transform.up * 0.1f), -transform.up, out RaycastHit hit, 3.0f, 1 << 9 | 1 << 10 | 1 << 11))
{
Vector3 lerpVector = (m_HasCollision && m_LastCollisionNormal.y > hit.normal.y) ? m_LastCollisionNormal : hit.normal;
m_VerticalReference = Vector3.Slerp(m_VerticalReference, lerpVector, Mathf.Clamp01(AirborneReorientationCoefficient * Time.fixedDeltaTime * (GroundPercent > 0.0f ? 10.0f : 1.0f))); // Blend faster if on ground
m_VerticalReference = Vector3.Slerp(m_VerticalReference, lerpVector, Mathf.Clamp01(AirborneReorientationCoefficient * Time.fixedDeltaTime * (GroundPercent > 0.0f ? 10.0f : 1.0f)));
}
else
{
@ -575,26 +548,18 @@ namespace KartGame.KartSystems
m_VerticalReference = Vector3.Slerp(m_VerticalReference, lerpVector, Mathf.Clamp01(AirborneReorientationCoefficient * Time.fixedDeltaTime));
}
validPosition = GroundPercent > 0.7f && !m_HasCollision && Vector3.Dot(m_VerticalReference, Vector3.up) > 0.9f;
// Airborne / Half on ground management
// 在空中或着地不稳时,自动矫正旋转以防侧翻
if (GroundPercent < 0.7f)
{
Rigidbody.angularVelocity = new Vector3(0.0f, Rigidbody.angularVelocity.y * 0.98f, 0.0f);
Vector3 finalOrientationDirection = Vector3.ProjectOnPlane(transform.forward, m_VerticalReference);
finalOrientationDirection.Normalize();
Vector3 finalOrientationDirection = Vector3.ProjectOnPlane(transform.forward, m_VerticalReference).normalized;
if (finalOrientationDirection.sqrMagnitude > 0.0f)
{
Rigidbody.MoveRotation(Quaternion.Lerp(Rigidbody.rotation, Quaternion.LookRotation(finalOrientationDirection, m_VerticalReference), Mathf.Clamp01(AirborneReorientationCoefficient * Time.fixedDeltaTime)));
}
}
else if (validPosition)
{
m_LastValidPosition = transform.position;
m_LastValidRotation.eulerAngles = new Vector3(0.0f, transform.rotation.y, 0.0f);
}
ActivateDriftVFX(IsDrifting && GroundPercent > 0.0f);
}
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 743 KiB

View File

@ -1,114 +0,0 @@
fileFormatVersion: 2
guid: b3d35caaf2fc83645a289d95e8fdb2c6
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
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: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -12,8 +12,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3}
m_Name: URP-Balanced
m_EditorClassIdentifier:
k_AssetVersion: 9
k_AssetPreviousVersion: 9
k_AssetVersion: 11
k_AssetPreviousVersion: 11
m_RendererType: 1
m_RendererData: {fileID: 0}
m_RendererDataList:
@ -23,10 +23,16 @@ MonoBehaviour:
m_RequireOpaqueTexture: 0
m_OpaqueDownsampling: 1
m_SupportsTerrainHoles: 1
m_StoreActionsOptimization: 0
m_SupportsHDR: 1
m_HDRColorBufferPrecision: 0
m_MSAA: 1
m_RenderScale: 1
m_UpscalingFilter: 0
m_FsrOverrideSharpness: 0
m_FsrSharpness: 0.92
m_EnableLODCrossFade: 1
m_LODCrossFadeDitheringType: 1
m_ShEvalMode: 0
m_MainLightRenderingMode: 1
m_MainLightShadowsSupported: 1
m_MainLightShadowmapResolution: 1024
@ -47,23 +53,62 @@ MonoBehaviour:
m_CascadeBorder: 0.1
m_ShadowDepthBias: 1
m_ShadowNormalBias: 1
m_AnyShadowsSupported: 1
m_SoftShadowsSupported: 1
m_ConservativeEnclosingSphere: 0
m_NumIterationsEnclosingSphere: 64
m_SoftShadowQuality: 2
m_AdditionalLightsCookieResolution: 512
m_AdditionalLightsCookieFormat: 1
m_UseSRPBatcher: 1
m_SupportsDynamicBatching: 0
m_MixedLightingSupported: 1
m_SupportsLightCookies: 1
m_SupportsLightLayers: 0
m_DebugLevel: 0
m_StoreActionsOptimization: 0
m_EnableRenderGraph: 0
m_UseAdaptivePerformance: 1
m_ColorGradingMode: 0
m_ColorGradingLutSize: 32
m_UseFastSRGBLinearConversion: 0
m_SupportDataDrivenLensFlare: 1
m_ShadowType: 1
m_LocalShadowsSupported: 0
m_LocalShadowsAtlasResolution: 256
m_MaxPixelLights: 0
m_ShadowAtlasResolution: 256
m_ShaderVariantLogLevel: 0
m_VolumeFrameworkUpdateMode: 0
m_Textures:
blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3}
bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3}
m_PrefilteringModeMainLightShadows: 1
m_PrefilteringModeAdditionalLight: 4
m_PrefilteringModeAdditionalLightShadows: 1
m_PrefilterXRKeywords: 0
m_PrefilteringModeForwardPlus: 1
m_PrefilteringModeDeferredRendering: 1
m_PrefilteringModeScreenSpaceOcclusion: 1
m_PrefilterDebugKeywords: 0
m_PrefilterWriteRenderingLayers: 0
m_PrefilterHDROutput: 0
m_PrefilterSSAODepthNormals: 0
m_PrefilterSSAOSourceDepthLow: 0
m_PrefilterSSAOSourceDepthMedium: 0
m_PrefilterSSAOSourceDepthHigh: 0
m_PrefilterSSAOInterleaved: 0
m_PrefilterSSAOBlueNoise: 0
m_PrefilterSSAOSampleCountLow: 0
m_PrefilterSSAOSampleCountMedium: 0
m_PrefilterSSAOSampleCountHigh: 0
m_PrefilterDBufferMRT1: 0
m_PrefilterDBufferMRT2: 0
m_PrefilterDBufferMRT3: 0
m_PrefilterSoftShadowsQualityLow: 0
m_PrefilterSoftShadowsQualityMedium: 0
m_PrefilterSoftShadowsQualityHigh: 0
m_PrefilterSoftShadows: 0
m_PrefilterScreenCoord: 0
m_PrefilterNativeRenderPass: 0
m_ShaderVariantLogLevel: 0
m_ShadowCascades: 0

View File

@ -12,8 +12,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3}
m_Name: URP-Performant
m_EditorClassIdentifier:
k_AssetVersion: 9
k_AssetPreviousVersion: 9
k_AssetVersion: 11
k_AssetPreviousVersion: 11
m_RendererType: 1
m_RendererData: {fileID: 0}
m_RendererDataList:
@ -23,10 +23,16 @@ MonoBehaviour:
m_RequireOpaqueTexture: 0
m_OpaqueDownsampling: 1
m_SupportsTerrainHoles: 1
m_StoreActionsOptimization: 0
m_SupportsHDR: 0
m_HDRColorBufferPrecision: 0
m_MSAA: 1
m_RenderScale: 1
m_UpscalingFilter: 0
m_FsrOverrideSharpness: 0
m_FsrSharpness: 0.92
m_EnableLODCrossFade: 1
m_LODCrossFadeDitheringType: 1
m_ShEvalMode: 0
m_MainLightRenderingMode: 1
m_MainLightShadowsSupported: 0
m_MainLightShadowmapResolution: 1024
@ -47,23 +53,62 @@ MonoBehaviour:
m_CascadeBorder: 0.1
m_ShadowDepthBias: 1
m_ShadowNormalBias: 1
m_AnyShadowsSupported: 1
m_SoftShadowsSupported: 0
m_ConservativeEnclosingSphere: 0
m_NumIterationsEnclosingSphere: 64
m_SoftShadowQuality: 2
m_AdditionalLightsCookieResolution: 2048
m_AdditionalLightsCookieFormat: 3
m_UseSRPBatcher: 1
m_SupportsDynamicBatching: 0
m_MixedLightingSupported: 1
m_SupportsLightCookies: 1
m_SupportsLightLayers: 0
m_DebugLevel: 0
m_StoreActionsOptimization: 0
m_EnableRenderGraph: 0
m_UseAdaptivePerformance: 1
m_ColorGradingMode: 0
m_ColorGradingLutSize: 16
m_UseFastSRGBLinearConversion: 0
m_SupportDataDrivenLensFlare: 1
m_ShadowType: 1
m_LocalShadowsSupported: 0
m_LocalShadowsAtlasResolution: 256
m_MaxPixelLights: 0
m_ShadowAtlasResolution: 256
m_ShaderVariantLogLevel: 0
m_VolumeFrameworkUpdateMode: 0
m_Textures:
blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3}
bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3}
m_PrefilteringModeMainLightShadows: 1
m_PrefilteringModeAdditionalLight: 4
m_PrefilteringModeAdditionalLightShadows: 1
m_PrefilterXRKeywords: 0
m_PrefilteringModeForwardPlus: 1
m_PrefilteringModeDeferredRendering: 1
m_PrefilteringModeScreenSpaceOcclusion: 1
m_PrefilterDebugKeywords: 0
m_PrefilterWriteRenderingLayers: 0
m_PrefilterHDROutput: 0
m_PrefilterSSAODepthNormals: 0
m_PrefilterSSAOSourceDepthLow: 0
m_PrefilterSSAOSourceDepthMedium: 0
m_PrefilterSSAOSourceDepthHigh: 0
m_PrefilterSSAOInterleaved: 0
m_PrefilterSSAOBlueNoise: 0
m_PrefilterSSAOSampleCountLow: 0
m_PrefilterSSAOSampleCountMedium: 0
m_PrefilterSSAOSampleCountHigh: 0
m_PrefilterDBufferMRT1: 0
m_PrefilterDBufferMRT2: 0
m_PrefilterDBufferMRT3: 0
m_PrefilterSoftShadowsQualityLow: 0
m_PrefilterSoftShadowsQualityMedium: 0
m_PrefilterSoftShadowsQualityHigh: 0
m_PrefilterSoftShadows: 0
m_PrefilterScreenCoord: 0
m_PrefilterNativeRenderPass: 0
m_ShaderVariantLogLevel: 0
m_ShadowCascades: 0

View File

@ -3,7 +3,7 @@
"com.unity.ai.navigation": "1.1.6",
"com.unity.barracuda": "3.0.0",
"com.unity.burst": "1.8.21",
"com.unity.cinemachine": "2.10.3",
"com.unity.cinemachine": "2.10.6",
"com.unity.collab-proxy": "2.11.2",
"com.unity.connect.share": "4.2.3",
"com.unity.editorcoroutines": "1.0.0",
@ -11,6 +11,7 @@
"com.unity.ide.rider": "3.0.36",
"com.unity.ide.visualstudio": "2.0.22",
"com.unity.ide.vscode": "1.2.5",
"com.unity.inputsystem": "1.14.2",
"com.unity.learn.iet-framework": "3.1.3",
"com.unity.mathematics": "1.2.6",
"com.unity.ml-agents": "2.0.1",

View File

@ -31,7 +31,7 @@
"url": "https://packages.unity.cn"
},
"com.unity.cinemachine": {
"version": "2.10.3",
"version": "2.10.6",
"depth": 0,
"source": "registry",
"dependencies": {
@ -95,6 +95,15 @@
"dependencies": {},
"url": "https://packages.unity.cn"
},
"com.unity.inputsystem": {
"version": "1.14.2",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.modules.uielements": "1.0.0"
},
"url": "https://packages.unity.cn"
},
"com.unity.learn.iet-framework": {
"version": "3.1.3",
"depth": 0,

View File

@ -1,5 +1,21 @@
{
"m_Dictionary": {
"m_DictionaryValues": []
"m_DictionaryValues": [
{
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"key": "createDefaultBuildsFolder",
"value": "{\"m_Value\":true}"
},
{
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"key": "firstTime",
"value": "{\"m_Value\":true}"
},
{
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"key": "autoPublish",
"value": "{\"m_Value\":true}"
}
]
}
}