Compare commits
4 Commits
66ab541897
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f71ba6f5fe | ||
|
|
92f9ef731b | ||
|
|
59ab310615 | ||
|
|
bbb735c9c1 |
@@ -12,7 +12,7 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
version: 9
|
version: 10
|
||||||
--- !u!21 &2100000
|
--- !u!21 &2100000
|
||||||
Material:
|
Material:
|
||||||
serializedVersion: 8
|
serializedVersion: 8
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -12,13 +12,13 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 7a686a47eee2fa44cb0a34b5d86e4d5e, type: 3}
|
m_Script: {fileID: 11500000, guid: 7a686a47eee2fa44cb0a34b5d86e4d5e, type: 3}
|
||||||
m_Name: GroundedCheckBT
|
m_Name: GroundedCheckBT
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
_serializedGraph: '{"type":"NodeCanvas.BehaviourTrees.BehaviourTree","nodes":[{"repeaterMode":2,"repeatTimes":{"_value":1},"_position":{"x":476.0,"y":327.0},"$type":"NodeCanvas.BehaviourTrees.Repeater","$id":"0"},{"_position":{"x":550.0,"y":433.0},"$type":"NodeCanvas.BehaviourTrees.Sequencer","$id":"1"},{"_condition":{"valueA":{"_name":"isGrounded","_targetVariableID":"09b3259f-8b50-439a-ab86-ea3d8a4916f1"},"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"},"_position":{"x":458.0,"y":521.0},"$type":"NodeCanvas.BehaviourTrees.WaitUntil","$id":"2"},{"_position":{"x":522.0,"y":632.0},"$type":"NodeCanvas.BehaviourTrees.Sequencer","$id":"3"},{"_action":{"airMoveDirection":{"_name":"airMoveDirection","_targetVariableID":"2fc91db6-09dd-4a1f-9195-426a0c44de31"},"inputVector3":{"_name":"groundMoveDirection","_targetVariableID":"a2c4fe25-9549-4bdd-8cec-2dbfc4a8856f"},"$type":"NodeCanvas.Tasks.Actions.SetAirMovement"},"_position":{"x":399.0,"y":775.0},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"4"},{"_action":{"airMoveDirection":{"_name":"groundMoveDirection","_targetVariableID":"a2c4fe25-9549-4bdd-8cec-2dbfc4a8856f"},"inputVector3":{},"$type":"NodeCanvas.Tasks.Actions.SetAirMovement"},"_position":{"x":576.0,"y":776.0},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"5"},{"_condition":{"valueA":{"_name":"isGrounded","_targetVariableID":"09b3259f-8b50-439a-ab86-ea3d8a4916f1"},"valueB":{"_value":true},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"},"_position":{"x":715.0,"y":523.0},"$type":"NodeCanvas.BehaviourTrees.WaitUntil","$id":"6"}],"connections":[{"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"1"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"1"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"1"},"_targetNode":{"$ref":"6"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"2"},"_targetNode":{"$ref":"3"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"3"},"_targetNode":{"$ref":"4"},"_isDisabled":true,"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"3"},"_targetNode":{"$ref":"5"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"}],"canvasGroups":[],"localBlackboard":{"_variables":{}},"derivedData":{"repeat":true,"$type":"NodeCanvas.BehaviourTrees.BehaviourTree+DerivedSerializationData"}}'
|
_serializedGraph: '{"type":"NodeCanvas.BehaviourTrees.BehaviourTree","nodes":[{"repeaterMode":2,"repeatTimes":{"_value":1},"_position":{"x":476.0,"y":327.0},"$type":"NodeCanvas.BehaviourTrees.Repeater","$id":"0"},{"_position":{"x":550.0,"y":433.0},"$type":"NodeCanvas.BehaviourTrees.Sequencer","$id":"1"},{"_condition":{"valueA":{"_name":"isGrounded","_targetVariableID":"09b3259f-8b50-439a-ab86-ea3d8a4916f1"},"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"},"_position":{"x":458.0,"y":522.0},"$type":"NodeCanvas.BehaviourTrees.WaitUntil","$id":"2"},{"_action":{"airMoveDirection":{"_name":"airMoveDirection","_targetVariableID":"2fc91db6-09dd-4a1f-9195-426a0c44de31"},"inputVector3":{"_name":"groundMoveDirection","_targetVariableID":"a2c4fe25-9549-4bdd-8cec-2dbfc4a8856f"},"$type":"NodeCanvas.Tasks.Actions.SetAirMovement"},"_position":{"x":396.0,"y":655.0},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"3"},{"_condition":{"valueA":{"_name":"isGrounded","_targetVariableID":"09b3259f-8b50-439a-ab86-ea3d8a4916f1"},"valueB":{"_value":true},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"},"_position":{"x":715.0,"y":523.0},"$type":"NodeCanvas.BehaviourTrees.WaitUntil","$id":"4"}],"connections":[{"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"1"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"1"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"1"},"_targetNode":{"$ref":"4"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"2"},"_targetNode":{"$ref":"3"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"}],"canvasGroups":[],"localBlackboard":{"_variables":{}},"derivedData":{"repeat":true,"$type":"NodeCanvas.BehaviourTrees.BehaviourTree+DerivedSerializationData"}}'
|
||||||
_objectReferences: []
|
_objectReferences: []
|
||||||
_graphSource:
|
_graphSource:
|
||||||
_version: 3.31
|
_version: 3.31
|
||||||
_category:
|
_category:
|
||||||
_comments:
|
_comments:
|
||||||
_translation: {x: 444, y: -12}
|
_translation: {x: 150, y: -43}
|
||||||
_zoomFactor: 1
|
_zoomFactor: 1
|
||||||
_haltSerialization: 0
|
_haltSerialization: 0
|
||||||
_externalSerializationFile: {fileID: 0}
|
_externalSerializationFile: {fileID: 0}
|
||||||
|
|||||||
@@ -12,22 +12,16 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: f945e777233a59f4aba40aeca29093a6, type: 3}
|
m_Script: {fileID: 11500000, guid: f945e777233a59f4aba40aeca29093a6, type: 3}
|
||||||
m_Name: PlayerLocomotionFSM
|
m_Name: PlayerLocomotionFSM
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
_serializedGraph: '{"type":"NodeCanvas.StateMachines.FSM","nodes":[{"_position":{"x":253.0,"y":608.0},"$type":"NodeCanvas.StateMachines.EmptyState","$id":"0"},{"_onEnterList":{"executionMode":1,"actions":[{"valueA":{"_name":"facingDirection","_targetVariableID":"c713d622-aafb-43e7-ae0e-ac0b86a85a37"},"valueB":{"_value":1},"$type":"NodeCanvas.Tasks.Actions.SetVariable`1[[Reset.Player.Movement.PlayerFacingDirection,
|
_serializedGraph: '{"type":"NodeCanvas.StateMachines.FSM","nodes":[{"_actionList":{"executionMode":1,"actions":[{"moveSpeed":{"_value":10.0},"moveDirection":{"_name":"groundMoveDirection","_targetVariableID":"16ae5ce4-097a-4c21-94a5-2c5d9ce73eb6"},"$type":"NodeCanvas.Tasks.Actions.CalculateGroundedLocomotion"},{"valueA":{"_name":"rotationSpeed","_targetVariableID":"d888730f-97df-4288-bb99-1f6c8a34a7c5"},"valueB":{"_value":0.3},"$type":"NodeCanvas.Tasks.Actions.SetFloat"}]},"_repeatStateActions":true,"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_position":{"x":559.9924,"y":711.7622},"$type":"NodeCanvas.StateMachines.ActionState","$id":"0"},{"_actionList":{"executionMode":1,"actions":[{"moveSpeed":{"_value":15.0},"moveDirection":{"_name":"groundMoveDirection","_targetVariableID":"16ae5ce4-097a-4c21-94a5-2c5d9ce73eb6"},"$type":"NodeCanvas.Tasks.Actions.CalculateGroundedLocomotion"},{"valueA":{"_name":"rotationSpeed","_targetVariableID":"d888730f-97df-4288-bb99-1f6c8a34a7c5"},"valueB":{"_value":0.2},"$type":"NodeCanvas.Tasks.Actions.SetFloat"}]},"_repeatStateActions":true,"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_position":{"x":1161.288,"y":522.152},"$type":"NodeCanvas.StateMachines.ActionState","$id":"1"},{"_position":{"x":430.6569,"y":381.1322},"$type":"NodeCanvas.StateMachines.AnyState","$id":"2"},{"_position":{"x":465.0,"y":561.0},"$type":"NodeCanvas.StateMachines.EmptyState","$id":"3"}],"connections":[{"_condition":{"actionName":{"_value":"Sprint"},"actionValue":{"_value":""},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"1"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"desiredVector3":{"_value":{"z":1.0}},"tolerance":{"_value":0.5},"negate":{},"$type":"NodeCanvas.Tasks.Conditions.GetMovementInputDotProduct"},"_sourceNode":{"$ref":"1"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"valueA":{"_name":"isGrounded","_targetVariableID":"321e55c7-f93e-4667-a0dc-559eb61c6898"},"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"},"_sourceNode":{"$ref":"2"},"_targetNode":{"$ref":"3"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"valueA":{"_name":"isGrounded","_targetVariableID":"321e55c7-f93e-4667-a0dc-559eb61c6898"},"valueB":{"_value":true},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"},"_sourceNode":{"$ref":"3"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"}],"canvasGroups":[],"localBlackboard":{"_variables":{"isGrounded":{"_propertyPath":"UnityEngine.CharacterController.isGrounded","_name":"isGrounded","_id":"321e55c7-f93e-4667-a0dc-559eb61c6898","$type":"NodeCanvas.Framework.Variable`1[[System.Boolean,
|
||||||
Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}]},"_onUpdateList":{"executionMode":1,"actions":[{"moveSpeed":{"_value":12.0},"moveDirection":{"_name":"groundMoveDirection","_targetVariableID":"16ae5ce4-097a-4c21-94a5-2c5d9ce73eb6"},"$type":"NodeCanvas.Tasks.Actions.CalculateGroundedLocomotion"},{"valueA":{"_name":"rotationSpeed","_targetVariableID":"d888730f-97df-4288-bb99-1f6c8a34a7c5"},"valueB":{"_value":10.0},"$type":"NodeCanvas.Tasks.Actions.SetFloat"}]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"foldUpdate":true,"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_position":{"x":535.0,"y":768.0},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"1"},{"_actionList":{"executionMode":1,"actions":[{"moveSpeed":{"_value":30.0},"moveDirection":{"_name":"groundMoveDirection","_targetVariableID":"16ae5ce4-097a-4c21-94a5-2c5d9ce73eb6"},"$type":"NodeCanvas.Tasks.Actions.CalculateGroundedLocomotion"},{"valueA":{"_name":"rotationSpeed","_targetVariableID":"d888730f-97df-4288-bb99-1f6c8a34a7c5"},"valueB":{"_value":1.0},"$type":"NodeCanvas.Tasks.Actions.SetFloat"},{"valueA":{"_name":"facingDirection","_targetVariableID":"c713d622-aafb-43e7-ae0e-ac0b86a85a37"},"valueB":{"_value":2},"$type":"NodeCanvas.Tasks.Actions.SetVariable`1[[Reset.Player.Movement.PlayerFacingDirection,
|
|
||||||
Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}]},"_repeatStateActions":true,"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_position":{"x":916.0607,"y":852.7302},"$type":"NodeCanvas.StateMachines.ActionState","$id":"2"},{"_actionList":{"executionMode":1,"actions":[{"moveSpeed":{"_value":20.0},"moveDirection":{"_name":"groundMoveDirection","_targetVariableID":"16ae5ce4-097a-4c21-94a5-2c5d9ce73eb6"},"$type":"NodeCanvas.Tasks.Actions.CalculateGroundedLocomotion"},{"valueA":{"_name":"rotationSpeed","_targetVariableID":"d888730f-97df-4288-bb99-1f6c8a34a7c5"},"valueB":{"_value":2.0},"$type":"NodeCanvas.Tasks.Actions.SetFloat"}]},"_repeatStateActions":true,"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_position":{"x":1161.288,"y":522.152},"$type":"NodeCanvas.StateMachines.ActionState","$id":"3"},{"_actionList":{"executionMode":1,"actions":[{"moveSpeed":{"_value":12.0},"moveDirection":{"_name":"groundMoveDirection","_targetVariableID":"16ae5ce4-097a-4c21-94a5-2c5d9ce73eb6"},"$type":"NodeCanvas.Tasks.Actions.CalculateGroundedLocomotion"},{"valueA":{"_name":"rotationSpeed","_targetVariableID":"d888730f-97df-4288-bb99-1f6c8a34a7c5"},"valueB":{"_value":10.0},"$type":"NodeCanvas.Tasks.Actions.SetFloat"},{"valueA":{"_name":"facingDirection","_targetVariableID":"c713d622-aafb-43e7-ae0e-ac0b86a85a37"},"valueB":{"_value":1},"$type":"NodeCanvas.Tasks.Actions.SetVariable`1[[Reset.Player.Movement.PlayerFacingDirection,
|
|
||||||
Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}]},"_repeatStateActions":true,"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_position":{"x":389.9924,"y":1029.762},"$type":"NodeCanvas.StateMachines.ActionState"},{"_position":{"x":218.6569,"y":475.1322},"$type":"NodeCanvas.StateMachines.AnyState","$id":"5"},{"_actionList":{"executionMode":1,"actions":[{"moveSpeed":{"_value":5.0},"moveDirection":{"_name":"groundMoveDirection","_targetVariableID":"16ae5ce4-097a-4c21-94a5-2c5d9ce73eb6"},"$type":"NodeCanvas.Tasks.Actions.CalculateGroundedLocomotion"}]},"_repeatStateActions":true,"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_position":{"x":602.0,"y":269.0},"$type":"NodeCanvas.StateMachines.ActionState","$id":"6"},{"_actionList":{"executionMode":1,"actions":[{"moveSpeed":{},"moveDirection":{"_name":"groundMoveDirection","_targetVariableID":"16ae5ce4-097a-4c21-94a5-2c5d9ce73eb6"},"$type":"NodeCanvas.Tasks.Actions.CalculateGroundedLocomotion"}]},"_repeatStateActions":true,"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_position":{"x":402.0,"y":177.0},"$type":"NodeCanvas.StateMachines.ActionState","$id":"7"}],"connections":[{"_condition":{"valueA":{"_name":"isGrounded","_targetVariableID":"321e55c7-f93e-4667-a0dc-559eb61c6898"},"valueB":{"_value":true},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"1"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"actionName":{"_value":"Sprint"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_sourceNode":{"$ref":"1"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"timeout":{"_value":0.1},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},"_sourceNode":{"$ref":"2"},"_targetNode":{"$ref":"3"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"checkAgainst":2,"checkAgainstValue":{"_value":{"z":1.0}},"desiredValue":{"_value":1.0},"tolerance":{"_value":0.32},"considerCameraRotation":{},"negate":{},"$type":"NodeCanvas.Tasks.Conditions.GetMovementInputDotProduct"},"_sourceNode":{"$ref":"3"},"_targetNode":{"$ref":"1"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"valueA":{"_name":"isGrounded","_targetVariableID":"321e55c7-f93e-4667-a0dc-559eb61c6898"},"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"},"_sourceNode":{"$ref":"5"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Grapple
|
|
||||||
Aimed"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent"},"_sourceNode":{"$ref":"5"},"_targetNode":{"$ref":"6"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Grapple
|
|
||||||
Confirmed"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent"},"_sourceNode":{"$ref":"5"},"_targetNode":{"$ref":"7"},"$type":"NodeCanvas.StateMachines.FSMConnection"}],"canvasGroups":[],"localBlackboard":{"_variables":{"isGrounded":{"_propertyPath":"UnityEngine.CharacterController.isGrounded","_name":"isGrounded","_id":"321e55c7-f93e-4667-a0dc-559eb61c6898","$type":"NodeCanvas.Framework.Variable`1[[System.Boolean,
|
|
||||||
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"},"groundMoveDirection":{"_name":"groundMoveDirection","_id":"16ae5ce4-097a-4c21-94a5-2c5d9ce73eb6","_isPublic":true,"$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.Vector3,
|
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"},"groundMoveDirection":{"_name":"groundMoveDirection","_id":"16ae5ce4-097a-4c21-94a5-2c5d9ce73eb6","_isPublic":true,"$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.Vector3,
|
||||||
UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"rotationSpeed":{"_name":"rotationSpeed","_id":"d888730f-97df-4288-bb99-1f6c8a34a7c5","_isPublic":true,"$type":"NodeCanvas.Framework.Variable`1[[System.Single,
|
UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"rotationSpeed":{"_name":"rotationSpeed","_id":"d888730f-97df-4288-bb99-1f6c8a34a7c5","_isPublic":true,"$type":"NodeCanvas.Framework.Variable`1[[System.Single,
|
||||||
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"},"facingDirection":{"_name":"facingDirection","_id":"c713d622-aafb-43e7-ae0e-ac0b86a85a37","_isPublic":true,"$type":"NodeCanvas.Framework.Variable`1[[Reset.Player.Movement.PlayerFacingDirection,
|
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}}}}'
|
||||||
Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}}}}'
|
|
||||||
_objectReferences: []
|
_objectReferences: []
|
||||||
_graphSource:
|
_graphSource:
|
||||||
_version: 3.31
|
_version: 3.31
|
||||||
_category:
|
_category:
|
||||||
_comments:
|
_comments:
|
||||||
_translation: {x: 81, y: -24}
|
_translation: {x: 1, y: -175}
|
||||||
_zoomFactor: 0.977278
|
_zoomFactor: 0.9967056
|
||||||
_haltSerialization: 0
|
_haltSerialization: 0
|
||||||
_externalSerializationFile: {fileID: 0}
|
_externalSerializationFile: {fileID: 0}
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!114 &11400000
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
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: 1726182683, guid: a4865f1ab4504ed8a368670db22f409c, type: 3}
|
|
||||||
m_Name: AOTGenerationConfig
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
automateBeforeBuilds: 0
|
|
||||||
deleteDllAfterBuilds: 1
|
|
||||||
AutomateForAllAOTPlatforms: 1
|
|
||||||
automateForPlatforms: 0900000014000000
|
|
||||||
supportSerializedTypes: []
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 516c69467762d38429c69cc7107c0555
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 11400000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,136 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!114 &11400000
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
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: 772478971, guid: a4865f1ab4504ed8a368670db22f409c, type: 3}
|
|
||||||
m_Name: ColorPaletteManager
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
colorPalettes:
|
|
||||||
- name: Country
|
|
||||||
showAlpha: 0
|
|
||||||
colors:
|
|
||||||
- {r: 0.776, g: 0.651, b: 0.349, a: 1}
|
|
||||||
- {r: 0.863, g: 0.761, b: 0.631, a: 1}
|
|
||||||
- {r: 0.91, g: 0.831, b: 0.686, a: 1}
|
|
||||||
- {r: 0.961, g: 0.902, b: 0.788, a: 1}
|
|
||||||
- {r: 0.753, g: 0.714, b: 0.667, a: 1}
|
|
||||||
- {r: 0.478, g: 0.573, b: 0.431, a: 1}
|
|
||||||
- {r: 0.314, g: 0.427, b: 0.31, a: 1}
|
|
||||||
- {r: 0.596, g: 0.345, b: 0.235, a: 1}
|
|
||||||
- {r: 0.545, g: 0.329, b: 0.318, a: 1}
|
|
||||||
- {r: 0.647, g: 0.204, b: 0.227, a: 1}
|
|
||||||
- {r: 0.435, g: 0.161, b: 0.063, a: 1}
|
|
||||||
- {r: 0.357, g: 0.333, b: 0.278, a: 1}
|
|
||||||
- {r: 0.976, g: 0.98, b: 0.961, a: 1}
|
|
||||||
- {r: 0.165, g: 0.271, b: 0.11, a: 1}
|
|
||||||
- name: Beach
|
|
||||||
showAlpha: 0
|
|
||||||
colors:
|
|
||||||
- {r: 0.996, g: 0.906, b: 0.459, a: 1}
|
|
||||||
- {r: 0.314, g: 0.592, b: 0.035, a: 1}
|
|
||||||
- {r: 0.486, g: 0.953, b: 0.875, a: 1}
|
|
||||||
- {r: 0.996, g: 0.82, b: 0.212, a: 1}
|
|
||||||
- {r: 1, g: 0.769, b: 0.165, a: 1}
|
|
||||||
- {r: 0.804, g: 0.835, b: 0.753, a: 1}
|
|
||||||
- {r: 1, g: 0.769, b: 0.165, a: 1}
|
|
||||||
- {r: 1, g: 0.702, b: 0.063, a: 1}
|
|
||||||
- {r: 1, g: 0.898, b: 0.569, a: 1}
|
|
||||||
- name: Fall
|
|
||||||
showAlpha: 0
|
|
||||||
colors:
|
|
||||||
- {r: 0.82, g: 0.722, b: 0.318, a: 1}
|
|
||||||
- {r: 0.537, g: 0.192, b: 0.153, a: 1}
|
|
||||||
- {r: 0.996, g: 0.812, b: 0.012, a: 1}
|
|
||||||
- {r: 1, g: 0.431, b: 0.02, a: 1}
|
|
||||||
- {r: 0.937, g: 0.267, b: 0.094, a: 1}
|
|
||||||
- {r: 0.42, g: 0.212, b: 0.18, a: 1}
|
|
||||||
- {r: 0.992, g: 0.651, b: 0.004, a: 1}
|
|
||||||
- {r: 0.89, g: 0.353, b: 0.086, a: 1}
|
|
||||||
- {r: 1, g: 0.443, b: 0.004, a: 1}
|
|
||||||
- {r: 0.682, g: 0.275, b: 0.137, a: 1}
|
|
||||||
- {r: 0.306, g: 0.231, b: 0.114, a: 1}
|
|
||||||
- {r: 0.384, g: 0.416, b: 0.082, a: 1}
|
|
||||||
- {r: 0.165, g: 0.157, b: 0.008, a: 1}
|
|
||||||
- {r: 0.906, g: 0.635, b: 0.227, a: 1}
|
|
||||||
- {r: 0.82, g: 0.722, b: 0.318, a: 1}
|
|
||||||
- {r: 0.745, g: 0.435, b: 0.031, a: 1}
|
|
||||||
- {r: 0.765, g: 0.682, b: 0.569, a: 1}
|
|
||||||
- {r: 0.18, g: 0.149, b: 0.075, a: 1}
|
|
||||||
- {r: 0.702, g: 0.451, b: 0.059, a: 1}
|
|
||||||
- name: Passion
|
|
||||||
showAlpha: 0
|
|
||||||
colors:
|
|
||||||
- {r: 0.925, g: 0.682, b: 0.624, a: 1}
|
|
||||||
- {r: 0.188, g: 0.114, b: 0.224, a: 1}
|
|
||||||
- {r: 0.349, g: 0.11, b: 0.231, a: 1}
|
|
||||||
- {r: 0.435, g: 0.267, b: 0.357, a: 1}
|
|
||||||
- name: Sepia
|
|
||||||
showAlpha: 0
|
|
||||||
colors:
|
|
||||||
- {r: 0.353, g: 0.098, b: 0.02, a: 1}
|
|
||||||
- {r: 0.663, g: 0.188, b: 0.114, a: 1}
|
|
||||||
- {r: 0.906, g: 0.643, b: 0.082, a: 1}
|
|
||||||
- {r: 0.996, g: 0.839, b: 0.322, a: 1}
|
|
||||||
- {r: 0.486, g: 0.392, b: 0.02, a: 1}
|
|
||||||
- {r: 0.294, g: 0.235, b: 0.012, a: 1}
|
|
||||||
- name: Floral
|
|
||||||
showAlpha: 0
|
|
||||||
colors:
|
|
||||||
- {r: 0.855, g: 0.518, b: 0.412, a: 1}
|
|
||||||
- {r: 0.827, g: 0.294, b: 0.333, a: 1}
|
|
||||||
- {r: 0.737, g: 0.118, b: 0.208, a: 1}
|
|
||||||
- {r: 0.549, g: 0.149, b: 0.235, a: 1}
|
|
||||||
- {r: 0.949, g: 0.925, b: 0.784, a: 1}
|
|
||||||
- {r: 0.945, g: 0.882, b: 0.69, a: 1}
|
|
||||||
- {r: 0.871, g: 0.812, b: 0.698, a: 1}
|
|
||||||
- {r: 0.4, g: 0.196, b: 0.243, a: 1}
|
|
||||||
- {r: 0.271, g: 0.157, b: 0.227, a: 1}
|
|
||||||
- name: Underwater
|
|
||||||
showAlpha: 0
|
|
||||||
colors:
|
|
||||||
- {r: 0.663, g: 0.416, b: 0.733, a: 1}
|
|
||||||
- {r: 0.2, g: 0.6, b: 0.698, a: 1}
|
|
||||||
- {r: 0.11, g: 0.49, b: 0.698, a: 1}
|
|
||||||
- {r: 0.439, g: 0.627, b: 0.227, a: 1}
|
|
||||||
- {r: 0, g: 0.357, b: 0.604, a: 1}
|
|
||||||
- {r: 0.067, g: 0.271, b: 0.353, a: 1}
|
|
||||||
- name: Breeze
|
|
||||||
showAlpha: 0
|
|
||||||
colors:
|
|
||||||
- {r: 0.706, g: 1, b: 0, a: 1}
|
|
||||||
- {r: 0.651, g: 1, b: 0.404, a: 1}
|
|
||||||
- {r: 0.122, g: 1, b: 0.514, a: 1}
|
|
||||||
- {r: 0.216, g: 0.894, b: 0.961, a: 1}
|
|
||||||
- {r: 0.4, g: 1, b: 0.882, a: 1}
|
|
||||||
- {r: 0.027, g: 0.792, b: 0.8, a: 1}
|
|
||||||
- name: Clovers
|
|
||||||
showAlpha: 0
|
|
||||||
colors:
|
|
||||||
- {r: 0.431, g: 0.549, b: 0.102, a: 1}
|
|
||||||
- {r: 0.671, g: 0.714, b: 0.071, a: 1}
|
|
||||||
- {r: 0.969, g: 0.949, b: 0.831, a: 1}
|
|
||||||
- {r: 0.886, g: 0.902, b: 0.702, a: 1}
|
|
||||||
- {r: 0.753, g: 0.824, b: 0.627, a: 1}
|
|
||||||
- {r: 0.404, g: 0.6, b: 0.4, a: 1}
|
|
||||||
- name: Tropical
|
|
||||||
showAlpha: 0
|
|
||||||
colors:
|
|
||||||
- {r: 0.953, g: 0.647, b: 0.804, a: 1}
|
|
||||||
- {r: 0.965, g: 0.741, b: 0.871, a: 1}
|
|
||||||
- {r: 0.949, g: 0.549, b: 0.643, a: 1}
|
|
||||||
- {r: 0.992, g: 0.659, b: 0.498, a: 1}
|
|
||||||
- {r: 0.976, g: 0.792, b: 0.729, a: 1}
|
|
||||||
- {r: 0.984, g: 0.855, b: 0.725, a: 1}
|
|
||||||
- {r: 0.259, g: 0.882, b: 0.663, a: 1}
|
|
||||||
- {r: 0.349, g: 0.753, b: 0.78, a: 1}
|
|
||||||
- {r: 0.725, g: 0.976, b: 0.91, a: 1}
|
|
||||||
- {r: 0.647, g: 0.745, b: 0.957, a: 1}
|
|
||||||
- {r: 0.725, g: 0.863, b: 0.973, a: 1}
|
|
||||||
- {r: 0.89, g: 0.945, b: 0.996, a: 1}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!114 &11400000
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
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: 188390376, guid: a4865f1ab4504ed8a368670db22f409c, type: 3}
|
|
||||||
m_Name: ImportSettingsConfig
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
automateBeforeBuild: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: f6e0f897646bbb54b8306b7d6c6d955d
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 11400000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!114 &11400000
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
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: b8d78c77b27bcee4792dedf004b44012, type: 3}
|
|
||||||
m_Name: InputSignal
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
_parameters:
|
|
||||||
- _ID: e1c42702-42ed-4f84-b52d-4e72b42a7de5
|
|
||||||
_name: action
|
|
||||||
_type: UnityEngine.InputSystem.InputAction
|
|
||||||
- _ID: 95540415-c9c3-4b53-87b6-97dcfb13cf6e
|
|
||||||
_name: phase
|
|
||||||
_type: UnityEngine.InputSystem.InputActionPhase
|
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@@ -1,14 +1,14 @@
|
|||||||
using System;
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
public class GenericLockOnTarget : MonoBehaviour, ILockOnTarget{
|
public class GenericLockOnTarget : MonoBehaviour, ILockOnTarget{
|
||||||
public float lockonTargetRadius{ get; set; } = 1f;
|
public float lockonTargetRadius{ get; set; } = 1f;
|
||||||
|
|
||||||
public void OnTargetDelete(){
|
// Start is called once before the first execution of Update after the MonoBehaviour is created
|
||||||
GetComponent<ILockOnTarget>().SafelyDeleteTarget();
|
void Start(){
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnDestroy(){
|
void Update(){
|
||||||
OnTargetDelete();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,21 +10,19 @@ using Reset.Player.Movement;
|
|||||||
namespace NodeCanvas.Tasks.Actions {
|
namespace NodeCanvas.Tasks.Actions {
|
||||||
[Category("Reset/Movement")]
|
[Category("Reset/Movement")]
|
||||||
public class AddJump : ActionTask<CharacterController> {
|
public class AddJump : ActionTask<CharacterController> {
|
||||||
public BBParameter<Vector3> airMoveDirection;
|
|
||||||
public BBParameter<float> jumpPower;
|
|
||||||
|
|
||||||
[Space(5)]
|
|
||||||
public BBParameter<float> jumpStrength;
|
public BBParameter<float> jumpStrength;
|
||||||
|
public BBParameter<Vector3> airMoveDirection;
|
||||||
|
|
||||||
|
public BBParameter<PlayerFacingDirection> playerFacingDirection;
|
||||||
|
|
||||||
[SliderField(0, 1)]
|
[Range(0f, 1f)]
|
||||||
public BBParameter<float> standStillJumpStrength;
|
public BBParameter<float> standStillJumpStrength;
|
||||||
|
|
||||||
|
public BBParameter<float> jumpPower;
|
||||||
[Tooltip("Determines how much current movement vectors into jump direction")]
|
[Tooltip("Determines how much current movement vectors into jump direction")]
|
||||||
[SliderField(0, 1)]
|
|
||||||
public BBParameter<float> currentVelocityInheritence;
|
public BBParameter<float> currentVelocityInheritence;
|
||||||
public BBParameter<Vector3> directionalForce;
|
public BBParameter<Vector3> directionalForce;
|
||||||
|
|
||||||
[SliderField(0, 1)]
|
|
||||||
public BBParameter<float> directionalForceStrength;
|
public BBParameter<float> directionalForceStrength;
|
||||||
|
|
||||||
protected override string info {
|
protected override string info {
|
||||||
@@ -74,12 +72,9 @@ namespace NodeCanvas.Tasks.Actions {
|
|||||||
// Check threshold of current XZ velocity- if it's too close to zero, use the jumpStrength for jumping velocity. If it's not, use the current velocity
|
// Check threshold of current XZ velocity- if it's too close to zero, use the jumpStrength for jumping velocity. If it's not, use the current velocity
|
||||||
float velocityThreshold = 4f;
|
float velocityThreshold = 4f;
|
||||||
float magnitudeZeroDifference = Mathf.Clamp(currentVelocityVector3.magnitude - velocityThreshold, 0f, Mathf.Infinity) / velocityThreshold; // Divided by maximum to return a 0-1 value. Clamping not required.
|
float magnitudeZeroDifference = Mathf.Clamp(currentVelocityVector3.magnitude - velocityThreshold, 0f, Mathf.Infinity) / velocityThreshold; // Divided by maximum to return a 0-1 value. Clamping not required.
|
||||||
float outputHoritontalVelocity = Mathf.Lerp(jumpStrength.value, currentVelocityVector3.magnitude, Math.Clamp(magnitudeZeroDifference, 0f, 1f));
|
float outputVelocity = Mathf.Lerp(jumpStrength.value, currentVelocityVector3.magnitude, Math.Clamp(magnitudeZeroDifference, 0f, 1f));
|
||||||
|
|
||||||
outputHoritontalVelocity = Mathf.Min(outputHoritontalVelocity, Mathf.Lerp(standStillJumpStrength.value * jumpStrength.value, jumpStrength.value * .4f, magnitudeZeroDifference));
|
|
||||||
|
|
||||||
// Do the same for directional jump strength
|
outputVelocity = Mathf.Min(outputVelocity, Mathf.Lerp(standStillJumpStrength.value * jumpStrength.value, jumpStrength.value * .4f, magnitudeZeroDifference));
|
||||||
outputHoritontalVelocity = Mathf.Lerp(outputHoritontalVelocity, jumpStrength.value, directionalForceStrength.value);
|
|
||||||
|
|
||||||
// Remap the dot to set -1 (opposing direction) to -.5f, and 1 (same direciton) to 1.2f
|
// Remap the dot to set -1 (opposing direction) to -.5f, and 1 (same direciton) to 1.2f
|
||||||
// This is done to allow some sideways jumping direction change, but none backwards, and all forwards
|
// This is done to allow some sideways jumping direction change, but none backwards, and all forwards
|
||||||
@@ -99,7 +94,7 @@ namespace NodeCanvas.Tasks.Actions {
|
|||||||
outputDirection = Camera.main.transform.rotation.Flatten(0, null, 0) * outputDirection;
|
outputDirection = Camera.main.transform.rotation.Flatten(0, null, 0) * outputDirection;
|
||||||
|
|
||||||
// Set air move direction
|
// Set air move direction
|
||||||
airMoveDirection.value += outputDirection * outputHoritontalVelocity;
|
airMoveDirection.value += outputDirection * outputVelocity;
|
||||||
}
|
}
|
||||||
EndAction(true);
|
EndAction(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,13 +3,16 @@ using ParadoxNotion.Design;
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using Reset.Player.Movement;
|
using Reset.Player.Movement;
|
||||||
|
|
||||||
|
|
||||||
namespace NodeCanvas.Tasks.Actions {
|
namespace NodeCanvas.Tasks.Actions {
|
||||||
|
|
||||||
[Category("Reset/Movement")]
|
[Category("Reset/Movement")]
|
||||||
public class CalculateAirMovement : ActionTask<Transform>{
|
public class CalculateAirMovement : ActionTask<Transform>{
|
||||||
public BBParameter<Vector3> airMoveDirection;
|
public BBParameter<Vector3> airMoveDirection;
|
||||||
public BBParameter<Vector3> groundMoveDirection; // Unused on 7/29/25, delete if still unusued later
|
public BBParameter<Vector3> groundMoveDirection;
|
||||||
|
|
||||||
|
public BBParameter<PlayerFacingDirection> playerFacingDirection;
|
||||||
|
|
||||||
private float airControlPower = 1f;
|
private float airControlPower = 1f;
|
||||||
|
|
||||||
//Use for initialization. This is called only once in the lifetime of the task.
|
//Use for initialization. This is called only once in the lifetime of the task.
|
||||||
@@ -22,7 +25,7 @@ namespace NodeCanvas.Tasks.Actions {
|
|||||||
//Call EndAction() to mark the action as finished, either in success or failure.
|
//Call EndAction() to mark the action as finished, either in success or failure.
|
||||||
//EndAction can be called from anywhere.
|
//EndAction can be called from anywhere.
|
||||||
protected override void OnExecute(){
|
protected override void OnExecute(){
|
||||||
airControlPower = 1f;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//Called once per frame while the action is active.
|
//Called once per frame while the action is active.
|
||||||
@@ -31,7 +34,7 @@ namespace NodeCanvas.Tasks.Actions {
|
|||||||
airMoveDirection.value = Vector3.Lerp(airMoveDirection.value, Vector3.zero, .7f * Time.deltaTime);
|
airMoveDirection.value = Vector3.Lerp(airMoveDirection.value, Vector3.zero, .7f * Time.deltaTime);
|
||||||
|
|
||||||
// Decay Air Control power
|
// Decay Air Control power
|
||||||
airControlPower = Mathf.Lerp(airControlPower, 0f, 2f * Time.deltaTime);
|
airControlPower = Mathf.Lerp(airControlPower, 0f, 3f * Time.deltaTime);
|
||||||
|
|
||||||
// Add air control
|
// Add air control
|
||||||
Vector3 inputVector3 = new(agent.GetComponent<PlayerControls>().rawMoveInput.x, 0f, agent.GetComponent<PlayerControls>().rawMoveInput.y);
|
Vector3 inputVector3 = new(agent.GetComponent<PlayerControls>().rawMoveInput.x, 0f, agent.GetComponent<PlayerControls>().rawMoveInput.y);
|
||||||
@@ -44,7 +47,7 @@ namespace NodeCanvas.Tasks.Actions {
|
|||||||
|
|
||||||
//Called when the task is disabled.
|
//Called when the task is disabled.
|
||||||
protected override void OnStop() {
|
protected override void OnStop() {
|
||||||
// groundMoveDirection.value = agent.GetComponent<CharacterController>().velocity;
|
groundMoveDirection.value = agent.GetComponent<CharacterController>().velocity;
|
||||||
EndAction(true);
|
EndAction(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
47
Assets/Scripts/Core/Graph Tasks/CalculateInputDotProduct.cs
Normal file
47
Assets/Scripts/Core/Graph Tasks/CalculateInputDotProduct.cs
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
using NodeCanvas.Framework;
|
||||||
|
using ParadoxNotion.Design;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace NodeCanvas.Tasks.Conditions {
|
||||||
|
|
||||||
|
[Category("Core/Input")]
|
||||||
|
[Description("Returns a float from two Vector3s")]
|
||||||
|
public class GetMovementInputDotProduct : ConditionTask<PlayerControls>{
|
||||||
|
[SliderField(0f,1f)]
|
||||||
|
public BBParameter<Vector3> desiredVector3;
|
||||||
|
public BBParameter<float> tolerance;
|
||||||
|
public BBParameter<bool> negate;
|
||||||
|
|
||||||
|
//Use for initialization. This is called only once in the lifetime of the task.
|
||||||
|
//Return null if init was successfull. Return an error string otherwise
|
||||||
|
protected override string OnInit(){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
//This is called once each time the task is enabled.
|
||||||
|
//Call EndAction() to mark the action as finished, either in success or failure.
|
||||||
|
//EndAction can be called from anywhere.
|
||||||
|
protected override bool OnCheck(){
|
||||||
|
Vector3 rawInputVector3 = new(agent.rawMoveInput.x, 0f, agent.rawMoveInput.y);
|
||||||
|
float dotProduct = Vector3.Dot(desiredVector3.value, rawInputVector3);
|
||||||
|
|
||||||
|
//Debug.Log(dotProduct);
|
||||||
|
|
||||||
|
if (dotProduct < tolerance.value) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Called when the task is disabled.
|
||||||
|
protected override void OnEnable() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//Called when the task is paused.
|
||||||
|
protected override void OnDisable() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,121 +0,0 @@
|
|||||||
using System;
|
|
||||||
using NodeCanvas.Framework;
|
|
||||||
using ParadoxNotion.Design;
|
|
||||||
using ParadoxNotion.Serialization.FullSerializer;
|
|
||||||
using Sirenix.OdinInspector;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
namespace NodeCanvas.Tasks.Actions {
|
|
||||||
|
|
||||||
[Category("Reset")]
|
|
||||||
[Description("Update the agent's position and rotation (scale too, sure whynot) either instantly or over time.")]
|
|
||||||
public class ChangeAgentTransform : ActionTask<CharacterController>{
|
|
||||||
public enum TransformProperty{
|
|
||||||
Position,
|
|
||||||
Rotation,
|
|
||||||
Scale
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override string info {
|
|
||||||
get{
|
|
||||||
string basicText = string.Format($"Player {targetProperty.ToString()} to {(targetValue.isPresumedDynamic ? targetValue.name : targetValue.value)}");
|
|
||||||
basicText += relativeToSelf.value ? ", relative to Self" : "";
|
|
||||||
|
|
||||||
return basicText;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public TransformProperty targetProperty;
|
|
||||||
|
|
||||||
[ParadoxNotion.Design.ShowIf("targetProperty", 1), Space(5)]
|
|
||||||
public BBParameter<bool> forcePositionChange;
|
|
||||||
|
|
||||||
public BBParameter<Vector3> targetValue;
|
|
||||||
|
|
||||||
public BBParameter<bool> relativeToSelf;
|
|
||||||
|
|
||||||
[Tooltip("Set this to the current position if you're trying to rotate by 'this much'. Keep it zero for world space values.")]
|
|
||||||
public BBParameter<Vector3> relativeValue;
|
|
||||||
|
|
||||||
public BBParameter<bool> changeInstantly;
|
|
||||||
public BBParameter<float> smoothing;
|
|
||||||
|
|
||||||
private Vector3 currentVel;
|
|
||||||
|
|
||||||
|
|
||||||
//Use for initialization. This is called only once in the lifetime of the task.
|
|
||||||
//Return null if init was successfull. Return an error string otherwise
|
|
||||||
protected override string OnInit() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
//This is called once each time the task is enabled.
|
|
||||||
//Call EndAction() to mark the action as finished, either in success or failure.
|
|
||||||
//EndAction can be called from anywhere.
|
|
||||||
protected override void OnExecute() {
|
|
||||||
switch (targetProperty) {
|
|
||||||
case TransformProperty.Position:
|
|
||||||
Vector3 relativeUseValue = relativeValue.value;
|
|
||||||
if (relativeToSelf.value) {
|
|
||||||
relativeUseValue = agent.transform.position;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (changeInstantly.value) {
|
|
||||||
agent.Move(agent.transform.position.DirectionTo(relativeUseValue + targetValue.value));
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
case TransformProperty.Rotation:
|
|
||||||
agent.transform.rotation = Quaternion.LookRotation(relativeValue.value) * Quaternion.Euler(targetValue.value);
|
|
||||||
break;
|
|
||||||
case TransformProperty.Scale:
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
throw new ArgumentOutOfRangeException();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (changeInstantly.value) {
|
|
||||||
EndAction(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Called once per frame while the action is active.
|
|
||||||
protected override void OnUpdate() {
|
|
||||||
switch (targetProperty) {
|
|
||||||
case TransformProperty.Position:
|
|
||||||
Vector3 relativeUseValue = relativeValue.value;
|
|
||||||
if (relativeToSelf.value) {
|
|
||||||
relativeUseValue = agent.transform.position;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!changeInstantly.value) {
|
|
||||||
Vector3 targetPosition = relativeUseValue + targetValue.value;
|
|
||||||
// agent.transform.position = Vector3.SmoothDamp(agent.transform.position, targetPosition,
|
|
||||||
// ref currentVel, smoothing.value * Time.deltaTime);
|
|
||||||
|
|
||||||
agent.Move((agent.transform.position.DirectionTo(targetPosition)).normalized * .5f * Mathf.Lerp(0, 1, Vector3.Distance(agent.transform.position, targetPosition)) * smoothing.value * Time.deltaTime);
|
|
||||||
EndAction();
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
case TransformProperty.Rotation:
|
|
||||||
agent.transform.rotation = Quaternion.Euler(relativeValue.value) * Quaternion.Euler(targetValue.value);
|
|
||||||
break;
|
|
||||||
case TransformProperty.Scale:
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
throw new ArgumentOutOfRangeException();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Called when the task is disabled.
|
|
||||||
protected override void OnStop() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//Called when the task is paused.
|
|
||||||
protected override void OnPause() {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: b77e2b9ac9aad644480508d5a86f4006
|
|
||||||
@@ -5,7 +5,7 @@ using UnityEditor;
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
// Individual bool setting for each ring. Three of these will be used.
|
// Individual bool setting for each ring. Three of these will be used.
|
||||||
public struct OrbitalFollowValueGroup : ICameraValueGroup{
|
public struct OrbitalFollowValueGroup{
|
||||||
public string label;
|
public string label;
|
||||||
|
|
||||||
public CameraSettingsToggle changeHeight;
|
public CameraSettingsToggle changeHeight;
|
||||||
@@ -36,14 +36,9 @@ public enum CameraSettingsToggle{
|
|||||||
NoChange,
|
NoChange,
|
||||||
NewValue,
|
NewValue,
|
||||||
ResetValue,
|
ResetValue,
|
||||||
RelativeValue, // Placeholder for using as altering existing value
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface ICameraValueGroup{
|
public struct Vector3CameraValueGroup{
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public struct Vector3CameraValueGroup : ICameraValueGroup{
|
|
||||||
public string label;
|
public string label;
|
||||||
public Vector3 newValue;
|
public Vector3 newValue;
|
||||||
|
|
||||||
@@ -61,7 +56,7 @@ public struct Vector3CameraValueGroup : ICameraValueGroup{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct Vector2CameraValueGroup : ICameraValueGroup{
|
public struct Vector2CameraValueGroup{
|
||||||
public string label;
|
public string label;
|
||||||
public Vector2 newValue;
|
public Vector2 newValue;
|
||||||
|
|
||||||
@@ -77,7 +72,7 @@ public struct Vector2CameraValueGroup : ICameraValueGroup{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct FloatCameraValueGroup : ICameraValueGroup{
|
public struct FloatCameraValueGroup{
|
||||||
public string label;
|
public string label;
|
||||||
public float value;
|
public float value;
|
||||||
|
|
||||||
@@ -90,63 +85,7 @@ public struct FloatCameraValueGroup : ICameraValueGroup{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct BoolCameraValueGroup : ICameraValueGroup{
|
|
||||||
public string label;
|
|
||||||
public bool value;
|
|
||||||
|
|
||||||
public CameraSettingsToggle changeValue;
|
|
||||||
|
|
||||||
public BoolCameraValueGroup(string newLabel){
|
|
||||||
label = newLabel;
|
|
||||||
value = true;
|
|
||||||
changeValue = CameraSettingsToggle.NoChange;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#if UNITY_EDITOR
|
#if UNITY_EDITOR
|
||||||
public class BoolCameraValueGroupDrawer : ObjectDrawer<BoolCameraValueGroup> {
|
|
||||||
public override BoolCameraValueGroup OnGUI(GUIContent content, BoolCameraValueGroup _instance){
|
|
||||||
// Remove label for floats
|
|
||||||
EditorGUIUtility.labelWidth = 50;
|
|
||||||
|
|
||||||
// Set layout options for the label and the float fields
|
|
||||||
GUILayoutOption[] floatOptions = new GUILayoutOption[] {
|
|
||||||
GUILayout.Width(80.0f),
|
|
||||||
GUILayout.MinWidth(20.0f),
|
|
||||||
GUILayout.ExpandWidth(true),
|
|
||||||
};
|
|
||||||
|
|
||||||
GUILayoutOption[] labelOptions = new GUILayoutOption[]{
|
|
||||||
GUILayout.Width(200.0f),
|
|
||||||
};
|
|
||||||
|
|
||||||
// Start the Vertical layout then add the label before adding a horizontal so the label will be on top of side-by-side options
|
|
||||||
GUILayout.BeginVertical();
|
|
||||||
GUILayout.Label(_instance.label, labelOptions);
|
|
||||||
GUILayout.BeginHorizontal();
|
|
||||||
|
|
||||||
// Create the x settings enum
|
|
||||||
_instance.changeValue = (CameraSettingsToggle)EditorGUILayout.EnumPopup("", instance.changeValue);
|
|
||||||
|
|
||||||
// Create the value/disabled information field
|
|
||||||
if (_instance.changeValue == CameraSettingsToggle.NewValue){
|
|
||||||
_instance.value = EditorGUILayout.Toggle(_instance.value, floatOptions);
|
|
||||||
} else {
|
|
||||||
EditorGUI.BeginDisabledGroup(true);
|
|
||||||
EditorGUILayout.TextField(_instance.changeValue == CameraSettingsToggle.NoChange ? "Unchanged" : "Reset", floatOptions);
|
|
||||||
EditorGUI.EndDisabledGroup();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Close this line up
|
|
||||||
GUILayout.EndHorizontal();
|
|
||||||
GUILayout.EndVertical();
|
|
||||||
|
|
||||||
// Reset to default so the rest of things don't get messed up
|
|
||||||
EditorGUIUtility.labelWidth = 0;
|
|
||||||
return _instance;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public class FloatCameraValueGroupDrawer : ObjectDrawer<FloatCameraValueGroup> {
|
public class FloatCameraValueGroupDrawer : ObjectDrawer<FloatCameraValueGroup> {
|
||||||
public override FloatCameraValueGroup OnGUI(GUIContent _content, FloatCameraValueGroup _instance){
|
public override FloatCameraValueGroup OnGUI(GUIContent _content, FloatCameraValueGroup _instance){
|
||||||
// Remove label for floats
|
// Remove label for floats
|
||||||
@@ -165,7 +104,7 @@ public class FloatCameraValueGroupDrawer : ObjectDrawer<FloatCameraValueGroup>
|
|||||||
|
|
||||||
// Start the Vertical layout then add the label before adding a horizontal so the label will be on top of side-by-side options
|
// Start the Vertical layout then add the label before adding a horizontal so the label will be on top of side-by-side options
|
||||||
GUILayout.BeginVertical();
|
GUILayout.BeginVertical();
|
||||||
GUILayout.Label(_instance.label, labelOptions);
|
GUILayout.Label(_instance.ToString(), labelOptions);
|
||||||
GUILayout.BeginHorizontal();
|
GUILayout.BeginHorizontal();
|
||||||
|
|
||||||
// Create the x settings enum
|
// Create the x settings enum
|
||||||
@@ -208,7 +147,7 @@ public class Vector3CameraValueGroupDrawer : ObjectDrawer<Vector3CameraValueGrou
|
|||||||
|
|
||||||
// Start the Vertical layout then add the label before adding a horizontal so the label will be on top of side-by-side options
|
// Start the Vertical layout then add the label before adding a horizontal so the label will be on top of side-by-side options
|
||||||
GUILayout.BeginVertical();
|
GUILayout.BeginVertical();
|
||||||
GUILayout.Label(_instance.label, labelOptions);
|
GUILayout.Label(_instance.ToString(), labelOptions);
|
||||||
GUILayout.BeginHorizontal();
|
GUILayout.BeginHorizontal();
|
||||||
|
|
||||||
// Create the x settings enum
|
// Create the x settings enum
|
||||||
@@ -281,7 +220,7 @@ public class Vector2CameraValueGroupDrawer : ObjectDrawer<Vector2CameraValueGrou
|
|||||||
|
|
||||||
// Start the Vertical layout then add the label before adding a horizontal so the label will be on top of side-by-side options
|
// Start the Vertical layout then add the label before adding a horizontal so the label will be on top of side-by-side options
|
||||||
GUILayout.BeginVertical();
|
GUILayout.BeginVertical();
|
||||||
GUILayout.Label(_instance.label, labelOptions);
|
GUILayout.Label(_instance.ToString(), labelOptions);
|
||||||
GUILayout.BeginHorizontal();
|
GUILayout.BeginHorizontal();
|
||||||
|
|
||||||
// Create the x settings enum
|
// Create the x settings enum
|
||||||
@@ -387,26 +326,17 @@ namespace NodeCanvas.Tasks.Actions {
|
|||||||
public class ChangeCameraSettings : ActionTask{
|
public class ChangeCameraSettings : ActionTask{
|
||||||
[ParadoxNotion.Design.Header("Main Settings")]
|
[ParadoxNotion.Design.Header("Main Settings")]
|
||||||
public FloatCameraValueGroup fieldOfView = new (newLabel: "FOV");
|
public FloatCameraValueGroup fieldOfView = new (newLabel: "FOV");
|
||||||
|
|
||||||
[ParadoxNotion.Design.Header("Orbit Follow Ring Settings"), Space (5)]
|
|
||||||
public Vector3CameraValueGroup orbitTargetOffset = new(newLabel: "Target Offset");
|
|
||||||
[Space(5)]public Vector3CameraValueGroup orbitPositionDamping = new(newLabel: "Position Damping");
|
|
||||||
|
|
||||||
|
[ParadoxNotion.Design.Header("Orbit Follow Ring Settings")]
|
||||||
public OrbitalFollowValueGroup orbitFollowTop = new (newLabel: "Top");
|
public OrbitalFollowValueGroup orbitFollowTop = new (newLabel: "Top");
|
||||||
public OrbitalFollowValueGroup orbitFollowCenter = new (newLabel: "Center");
|
public OrbitalFollowValueGroup orbitFollowCenter = new (newLabel: "Center");
|
||||||
public OrbitalFollowValueGroup orbitFollowBottom = new (newLabel: "Bottom");
|
public OrbitalFollowValueGroup orbitFollowBottom = new (newLabel: "Bottom");
|
||||||
|
|
||||||
public BoolCameraValueGroup enableXAxis = new (newLabel: "Input Axis X Enabled");
|
|
||||||
public BoolCameraValueGroup enableYAxis = new (newLabel: "Input Axis Y Enabled");
|
|
||||||
|
|
||||||
public FloatCameraValueGroup axisLookXGain = new (newLabel: "Look Orbit X Gain");
|
|
||||||
public FloatCameraValueGroup axisLookYGain = new (newLabel: "Look Orbit Y Gain");
|
|
||||||
|
|
||||||
[ParadoxNotion.Design.Header("Rotation Composer Settings")]
|
[ParadoxNotion.Design.Header("Rotation Composer Settings")]
|
||||||
public Vector2CameraValueGroup screenPosition = new (newLabel: "Screen Position");
|
public Vector2CameraValueGroup screenPosition = new (newLabel: "Screen Position");
|
||||||
|
|
||||||
[ParadoxNotion.Design.Header("Camera Offset Settings")]
|
[ParadoxNotion.Design.Header("Camera Offset Settings")]
|
||||||
public Vector3CameraValueGroup cameraOffset = new (newLabel: "Offset");
|
public Vector3CameraValueGroup cameraOffset = new (newLabel: "Screen Position");
|
||||||
|
|
||||||
//Use for initialization. This is called only once in the lifetime of the task.
|
//Use for initialization. This is called only once in the lifetime of the task.
|
||||||
//Return null if init was successfull. Return an error string otherwise
|
//Return null if init was successfull. Return an error string otherwise
|
||||||
@@ -418,119 +348,122 @@ namespace NodeCanvas.Tasks.Actions {
|
|||||||
//Call EndAction() to mark the action as finished, either in success or failure.
|
//Call EndAction() to mark the action as finished, either in success or failure.
|
||||||
//EndAction can be called from anywhere.
|
//EndAction can be called from anywhere.
|
||||||
protected override void OnExecute(){
|
protected override void OnExecute(){
|
||||||
UpdateOrbitFollowValue(orbitFollowTop, ref CameraSettingsProcessor.values.orbitFollowTopHeight, ref CameraSettingsProcessor.values.orbitFollowTopRadius);
|
// Switch case farm for checking if values should be changed and what to
|
||||||
UpdateOrbitFollowValue(orbitFollowCenter, ref CameraSettingsProcessor.values.orbitFollowCenterHeight, ref CameraSettingsProcessor.values.orbitFollowCenterRadius);
|
// Field of view
|
||||||
UpdateOrbitFollowValue(orbitFollowBottom, ref CameraSettingsProcessor.values.orbitFollowBottomHeight, ref CameraSettingsProcessor.values.orbitFollowBottomRadius);
|
switch (fieldOfView.changeValue) {
|
||||||
|
case CameraSettingsToggle.NewValue:
|
||||||
|
CameraSettingsProcessor.values.mainFieldOfView.targetValue = fieldOfView.value;
|
||||||
|
break;
|
||||||
|
case CameraSettingsToggle.ResetValue:
|
||||||
|
CameraSettingsProcessor.values.mainFieldOfView.Reset();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
UpdateVector3Value(cameraOffset, ref CameraSettingsProcessor.values.cameraOffsetOffset);
|
// Orbit follow rings
|
||||||
|
switch (orbitFollowTop.changeHeight) {
|
||||||
|
case CameraSettingsToggle.NewValue:
|
||||||
|
CameraSettingsProcessor.values.orbitFollowTopHeight.targetValue = orbitFollowTop.height;
|
||||||
|
break;
|
||||||
|
case CameraSettingsToggle.ResetValue:
|
||||||
|
CameraSettingsProcessor.values.orbitFollowTopHeight.Reset();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
UpdateVector3Value(orbitPositionDamping, ref CameraSettingsProcessor.values.orbitPositionDamping);
|
switch (orbitFollowTop.changeRadius) {
|
||||||
UpdateVector3Value(orbitTargetOffset, ref CameraSettingsProcessor.values.orbitTargetOffset);
|
case CameraSettingsToggle.NewValue:
|
||||||
|
CameraSettingsProcessor.values.orbitFollowTopRadius.targetValue = orbitFollowTop.radius;
|
||||||
|
break;
|
||||||
|
case CameraSettingsToggle.ResetValue:
|
||||||
|
CameraSettingsProcessor.values.orbitFollowTopRadius.Reset();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
UpdateVector2Value(screenPosition, ref CameraSettingsProcessor.values.rotationComposerScreenPos);
|
switch (orbitFollowCenter.changeHeight) {
|
||||||
UpdateFloatValue(fieldOfView, ref CameraSettingsProcessor.values.mainFieldOfView);
|
case CameraSettingsToggle.NewValue:
|
||||||
|
CameraSettingsProcessor.values.orbitFollowCenterHeight.targetValue = orbitFollowCenter.height;
|
||||||
|
break;
|
||||||
|
case CameraSettingsToggle.ResetValue:
|
||||||
|
CameraSettingsProcessor.values.orbitFollowCenterHeight.Reset();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
UpdateFloatValue(axisLookXGain, ref CameraSettingsProcessor.values.axisLookGainX);
|
switch (orbitFollowCenter.changeRadius) {
|
||||||
UpdateFloatValue(axisLookYGain, ref CameraSettingsProcessor.values.axisLookGainY);
|
case CameraSettingsToggle.NewValue:
|
||||||
|
CameraSettingsProcessor.values.orbitFollowCenterRadius.targetValue = orbitFollowCenter.radius;
|
||||||
|
break;
|
||||||
|
case CameraSettingsToggle.ResetValue:
|
||||||
|
CameraSettingsProcessor.values.orbitFollowCenterRadius.Reset();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
UpdateBoolValue(enableXAxis, ref CameraSettingsProcessor.values.axisLookEnabledX);
|
switch (orbitFollowBottom.changeHeight) {
|
||||||
UpdateBoolValue(enableYAxis, ref CameraSettingsProcessor.values.axisLookEnabledY);
|
case CameraSettingsToggle.NewValue:
|
||||||
|
CameraSettingsProcessor.values.orbitFollowBottomHeight.targetValue = orbitFollowBottom.height;
|
||||||
|
break;
|
||||||
|
case CameraSettingsToggle.ResetValue:
|
||||||
|
CameraSettingsProcessor.values.orbitFollowBottomHeight.Reset();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (orbitFollowBottom.changeRadius) {
|
||||||
|
case CameraSettingsToggle.NewValue:
|
||||||
|
CameraSettingsProcessor.values.orbitFollowBottomRadius.targetValue = orbitFollowBottom.radius;
|
||||||
|
break;
|
||||||
|
case CameraSettingsToggle.ResetValue:
|
||||||
|
CameraSettingsProcessor.values.orbitFollowBottomRadius.Reset();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Screen Position
|
||||||
|
switch (screenPosition.changeX) {
|
||||||
|
case CameraSettingsToggle.NewValue:
|
||||||
|
CameraSettingsProcessor.values.rotationComposerScreenPos.targetValue.x = screenPosition.newValue.x;
|
||||||
|
break;
|
||||||
|
case CameraSettingsToggle.ResetValue:
|
||||||
|
CameraSettingsProcessor.values.rotationComposerScreenPos.targetValue.x = CameraSettingsProcessor.values.rotationComposerScreenPos.originalValue.x;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (screenPosition.changeY) {
|
||||||
|
case CameraSettingsToggle.NewValue:
|
||||||
|
CameraSettingsProcessor.values.rotationComposerScreenPos.targetValue.y = screenPosition.newValue.y;
|
||||||
|
break;
|
||||||
|
case CameraSettingsToggle.ResetValue:
|
||||||
|
CameraSettingsProcessor.values.rotationComposerScreenPos.targetValue.y = CameraSettingsProcessor.values.rotationComposerScreenPos.originalValue.y;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Camera Offset
|
||||||
|
switch (cameraOffset.changeX) {
|
||||||
|
case CameraSettingsToggle.NewValue:
|
||||||
|
CameraSettingsProcessor.values.cameraOffsetOffset.targetValue.x = cameraOffset.newValue.x;
|
||||||
|
break;
|
||||||
|
case CameraSettingsToggle.ResetValue:
|
||||||
|
CameraSettingsProcessor.values.cameraOffsetOffset.targetValue.x = CameraSettingsProcessor.values.cameraOffsetOffset.originalValue.x;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (cameraOffset.changeY) {
|
||||||
|
case CameraSettingsToggle.NewValue:
|
||||||
|
CameraSettingsProcessor.values.cameraOffsetOffset.targetValue.y = cameraOffset.newValue.y;
|
||||||
|
break;
|
||||||
|
case CameraSettingsToggle.ResetValue:
|
||||||
|
CameraSettingsProcessor.values.cameraOffsetOffset.targetValue.y = CameraSettingsProcessor.values.cameraOffsetOffset.originalValue.y;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (cameraOffset.changeZ) {
|
||||||
|
case CameraSettingsToggle.NewValue:
|
||||||
|
CameraSettingsProcessor.values.cameraOffsetOffset.targetValue.z = cameraOffset.newValue.z;
|
||||||
|
break;
|
||||||
|
case CameraSettingsToggle.ResetValue:
|
||||||
|
CameraSettingsProcessor.values.cameraOffsetOffset.targetValue.z = CameraSettingsProcessor.values.cameraOffsetOffset.originalValue.z;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
EndAction(true);
|
EndAction(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void UpdateVector3Value(Vector3CameraValueGroup valueGroup, ref CameraSettingSingleValue<Vector3> targetProperty){
|
|
||||||
switch (valueGroup.changeX) {
|
|
||||||
case CameraSettingsToggle.NewValue:
|
|
||||||
targetProperty.targetValue.x = valueGroup.newValue.x;
|
|
||||||
break;
|
|
||||||
case CameraSettingsToggle.ResetValue:
|
|
||||||
targetProperty.targetValue.x = targetProperty.originalValue.x;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (valueGroup.changeY) {
|
|
||||||
case CameraSettingsToggle.NewValue:
|
|
||||||
targetProperty.targetValue.y = valueGroup.newValue.y;
|
|
||||||
break;
|
|
||||||
case CameraSettingsToggle.ResetValue:
|
|
||||||
targetProperty.targetValue.y = targetProperty.originalValue.y;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (valueGroup.changeZ) {
|
|
||||||
case CameraSettingsToggle.NewValue:
|
|
||||||
targetProperty.targetValue.z = valueGroup.newValue.z;
|
|
||||||
break;
|
|
||||||
case CameraSettingsToggle.ResetValue:
|
|
||||||
targetProperty.targetValue.z = targetProperty.originalValue.z;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateVector2Value(Vector2CameraValueGroup valueGroup, ref CameraSettingSingleValue<Vector2> targetProperty){
|
|
||||||
switch (valueGroup.changeX) {
|
|
||||||
case CameraSettingsToggle.NewValue:
|
|
||||||
targetProperty.targetValue.x = valueGroup.newValue.x;
|
|
||||||
break;
|
|
||||||
case CameraSettingsToggle.ResetValue:
|
|
||||||
targetProperty.targetValue.x = targetProperty.originalValue.x;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (valueGroup.changeY) {
|
|
||||||
case CameraSettingsToggle.NewValue:
|
|
||||||
targetProperty.targetValue.y = valueGroup.newValue.y;
|
|
||||||
break;
|
|
||||||
case CameraSettingsToggle.ResetValue:
|
|
||||||
targetProperty.targetValue.y = targetProperty.originalValue.y;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateOrbitFollowValue(OrbitalFollowValueGroup valueGroup, ref CameraSettingSingleValue<float> targetHeight, ref CameraSettingSingleValue<float> targetRadius){
|
|
||||||
switch (valueGroup.changeHeight) {
|
|
||||||
case CameraSettingsToggle.NewValue:
|
|
||||||
targetHeight.targetValue = valueGroup.height;
|
|
||||||
break;
|
|
||||||
case CameraSettingsToggle.ResetValue:
|
|
||||||
targetHeight.targetValue = targetHeight.originalValue;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (valueGroup.changeRadius) {
|
|
||||||
case CameraSettingsToggle.NewValue:
|
|
||||||
targetRadius.targetValue = valueGroup.radius;
|
|
||||||
break;
|
|
||||||
case CameraSettingsToggle.ResetValue:
|
|
||||||
targetRadius.targetValue = targetRadius.originalValue;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateBoolValue(BoolCameraValueGroup valueGroup, ref CameraSettingSingleValue<bool> targetProperty){
|
|
||||||
switch (valueGroup.changeValue) {
|
|
||||||
case CameraSettingsToggle.NewValue:
|
|
||||||
targetProperty.targetValue = valueGroup.value;
|
|
||||||
break;
|
|
||||||
case CameraSettingsToggle.ResetValue:
|
|
||||||
targetProperty.targetValue = targetProperty.originalValue;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateFloatValue(FloatCameraValueGroup valueGroup, ref CameraSettingSingleValue<float> targetProperty){
|
|
||||||
switch (valueGroup.changeValue) {
|
|
||||||
case CameraSettingsToggle.NewValue:
|
|
||||||
targetProperty.targetValue = valueGroup.value;
|
|
||||||
break;
|
|
||||||
case CameraSettingsToggle.ResetValue:
|
|
||||||
targetProperty.targetValue = targetProperty.originalValue;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Called once per frame while the action is active.
|
//Called once per frame while the action is active.
|
||||||
protected override void OnUpdate() {
|
protected override void OnUpdate() {
|
||||||
|
|
||||||
|
|||||||
@@ -1,60 +0,0 @@
|
|||||||
using NodeCanvas.Framework;
|
|
||||||
using ParadoxNotion.Design;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
namespace NodeCanvas.Tasks.Conditions {
|
|
||||||
[Category("Reset")]
|
|
||||||
public class CheckEnvironmentObserver : ConditionTask<PlayerEnvironmentManager>{
|
|
||||||
|
|
||||||
public BBParameter<string> observerLabel;
|
|
||||||
public BBParameter<RaycastHit> outputHitTo;
|
|
||||||
|
|
||||||
protected override string info{
|
|
||||||
get {
|
|
||||||
return $"Check Environment Observer, [\"{observerLabel.value}\"]";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Use for initialization. This is called only once in the lifetime of the task.
|
|
||||||
//Return null if init was successfull. Return an error string otherwise
|
|
||||||
protected override string OnInit(){
|
|
||||||
var observer = agent.FindObserverFromString(observerLabel.value);
|
|
||||||
if (observer == null) {
|
|
||||||
return $"An environment observer couldn't be found under the name {observerLabel.value}. Check your spelling and if it exists??";
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Called whenever the condition gets enabled.
|
|
||||||
protected override void OnEnable() {
|
|
||||||
agent.FindObserverFromString(observerLabel.value).active = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Called whenever the condition gets disabled.
|
|
||||||
protected override void OnDisable() {
|
|
||||||
agent.FindObserverFromString(observerLabel.value).active = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Called once per frame while the condition is active.
|
|
||||||
//Return whether the condition is success or failure.
|
|
||||||
protected override bool OnCheck(){
|
|
||||||
if (agent.EvaluateFromString(observerLabel.value) == true) {
|
|
||||||
if (outputHitTo.isDefined) {
|
|
||||||
EnvironmentObserver hitObserver = agent.FindObserverFromString(observerLabel.value, agent.observers);
|
|
||||||
|
|
||||||
if (hitObserver.hit.Equals(default(RaycastHit))) {
|
|
||||||
Debug.LogError("You just tried to pull a RaycastHit for later use from an environment observer, but no RaycastHit is available. Don't forget that CastType.Box and CastType.Sphere CANNOT spit one out!");
|
|
||||||
} else {
|
|
||||||
outputHitTo.value = hitObserver.hit;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 95ad4bd047d9654478597c68a81b01a0
|
|
||||||
@@ -1,113 +0,0 @@
|
|||||||
using System.Drawing;
|
|
||||||
using NodeCanvas.Framework;
|
|
||||||
using ParadoxNotion.Design;
|
|
||||||
using UnityEngine;
|
|
||||||
using System;
|
|
||||||
using System.Collections;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
#if UNITY_EDITOR
|
|
||||||
using NodeCanvas.Editor;
|
|
||||||
#endif
|
|
||||||
using UnityEditor;
|
|
||||||
|
|
||||||
namespace Reset {
|
|
||||||
[Category("Reset")]
|
|
||||||
[Description("Creates an environment observer unattached from the player, such as for checking from the Camera or another arbitray location.")]
|
|
||||||
public class CheckGenericObserver : ConditionTask<Transform>{
|
|
||||||
[Space(5)]
|
|
||||||
public BBParameter<EnvironmentObserver.CastType> castType;
|
|
||||||
|
|
||||||
public BBParameter<float> length;
|
|
||||||
public BBParameter<Vector3> direction;
|
|
||||||
public BBParameter<Vector3> offset;
|
|
||||||
public BBParameter<LayerMask> ignoreLayers;
|
|
||||||
|
|
||||||
public BBParameter<float> width;
|
|
||||||
|
|
||||||
public BBParameter<Vector3> size;
|
|
||||||
|
|
||||||
public BBParameter<Vector3> rotation;
|
|
||||||
|
|
||||||
public bool drawGizmos;
|
|
||||||
public bool drawGizmosOnlyWhenActive;
|
|
||||||
|
|
||||||
private EnvironmentObserver observer;
|
|
||||||
|
|
||||||
public BBParameter<RaycastHit> outputHit;
|
|
||||||
|
|
||||||
#if UNITY_EDITOR
|
|
||||||
protected override void OnTaskInspectorGUI(){
|
|
||||||
BBParameterEditor.ParameterField("Cast Type", castType);
|
|
||||||
|
|
||||||
BBParameterEditor.ParameterField("Length", length);
|
|
||||||
BBParameterEditor.ParameterField("Direction", direction);
|
|
||||||
BBParameterEditor.ParameterField("Offset", offset);
|
|
||||||
BBParameterEditor.ParameterField("Ignore Layers", ignoreLayers);
|
|
||||||
|
|
||||||
if (castType.value == EnvironmentObserver.CastType.SphereCast || castType.value == EnvironmentObserver.CastType.SphereOverlap) {
|
|
||||||
BBParameterEditor.ParameterField("Width", width);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (castType.value == EnvironmentObserver.CastType.BoxCast || castType.value == EnvironmentObserver.CastType.BoxOverlap) {
|
|
||||||
BBParameterEditor.ParameterField("Size", size);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (castType.value != EnvironmentObserver.CastType.Ray) {
|
|
||||||
BBParameterEditor.ParameterField("Rotation", rotation);
|
|
||||||
}
|
|
||||||
|
|
||||||
drawGizmos = EditorGUILayout.Toggle("Draw Gizmos", drawGizmos);
|
|
||||||
|
|
||||||
if (drawGizmos) {
|
|
||||||
drawGizmosOnlyWhenActive = EditorGUILayout.Toggle("Draw Gizmos Only When Active", drawGizmosOnlyWhenActive);
|
|
||||||
}
|
|
||||||
|
|
||||||
BBParameterEditor.ParameterField("Output Hit", outputHit);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//Return null if init was successfull. Return an error string otherwise
|
|
||||||
protected override string OnInit(){
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Called whenever the condition gets enabled.
|
|
||||||
protected override void OnEnable() {
|
|
||||||
observer = new EnvironmentObserver(){
|
|
||||||
castType = castType.value,
|
|
||||||
active = true,
|
|
||||||
|
|
||||||
length = length.value,
|
|
||||||
direction = direction.value,
|
|
||||||
offset = offset.value,
|
|
||||||
ignoreLayers = ignoreLayers.value,
|
|
||||||
|
|
||||||
width = width.value,
|
|
||||||
|
|
||||||
size = size.value,
|
|
||||||
rotation = rotation.value
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
//Called whenever the condition gets disabled.
|
|
||||||
protected override void OnDisable() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//Called once per frame while the condition is active.
|
|
||||||
//Return whether the condition is success or failure.
|
|
||||||
protected override bool OnCheck() {
|
|
||||||
bool check = observer.Evaluate(agent.gameObject);
|
|
||||||
|
|
||||||
if (drawGizmos) {
|
|
||||||
observer.DrawObserverGizmo(agent.gameObject, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (check && !outputHit.isNoneOrNull) {
|
|
||||||
outputHit.value = observer.hit;
|
|
||||||
}
|
|
||||||
return check;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: fb4b5bf056649ca48b1b14dbe499de46
|
|
||||||
@@ -1,54 +1,49 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using NodeCanvas.Framework;
|
using NodeCanvas.Framework;
|
||||||
using ParadoxNotion;
|
|
||||||
using ParadoxNotion.Design;
|
using ParadoxNotion.Design;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.InputSystem;
|
using UnityEngine.InputSystem;
|
||||||
|
|
||||||
namespace NodeCanvas.Tasks.Conditions {
|
namespace NodeCanvas.Tasks.Conditions {
|
||||||
|
|
||||||
[Category("Reset/Input")]
|
[Category("Reset/Input")]
|
||||||
[Description("Check if input condition was matched this frame by phase.")]
|
[Description("Check if input condition was matched this frame")]
|
||||||
public class CheckInput : ConditionTask<Transform>{
|
public class CheckInput : ConditionTask<Transform>{
|
||||||
public BBParameter<string> actionName;
|
public BBParameter<string> actionName;
|
||||||
public BBParameter<InputActionPhase> actionPhase;
|
public BBParameter<string> actionValue;
|
||||||
|
|
||||||
private SignalDefinition signalDefinition;
|
|
||||||
protected override string info {
|
protected override string info {
|
||||||
get { return $"Input <b>{actionName.value}</b> was <b>{actionPhase.value}</b>"; }
|
get { return "Player Input"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private InputAction action;
|
||||||
|
|
||||||
|
//Use for initialization. This is called only once in the lifetime of the task.
|
||||||
|
//Return null if init was successfull. Return an error string otherwise
|
||||||
protected override string OnInit(){
|
protected override string OnInit(){
|
||||||
try {
|
|
||||||
signalDefinition = Resources.Load<SignalDefinition>("InputSignal");
|
|
||||||
} catch (Exception e) {
|
|
||||||
Debug.LogError($"Error finding the Input Signal defintion: {e.Message}");
|
|
||||||
throw;
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnEnable() {
|
//Called whenever the condition gets enabled.
|
||||||
signalDefinition.onInvoke -= OnSignalInvoke;
|
protected override void OnEnable(){
|
||||||
signalDefinition.onInvoke += OnSignalInvoke;
|
action = agent.GetComponent<PlayerInput>().actions.FindAction(actionName.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Called whenever the condition gets disabled.
|
||||||
protected override void OnDisable() {
|
protected override void OnDisable() {
|
||||||
signalDefinition.onInvoke -= OnSignalInvoke;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnSignalInvoke(Transform sender, Transform receiver, bool isGlobal, params object[] args){
|
//Called once per frame while the condition is active.
|
||||||
// Take the input arguments as objects and convert them to InputAction & Phases
|
//Return whether the condition is success or failure.
|
||||||
InputAction thisAction = (InputAction)args[0];
|
protected override bool OnCheck() {
|
||||||
InputActionPhase thisActionPhase = (InputActionPhase)args[1];
|
// if (action.type == InputActionType.Button){
|
||||||
|
if (action.WasPressedThisFrame()) { return true; }
|
||||||
if (actionName.value == thisAction.name && actionPhase.value == thisActionPhase) {
|
// } else if (action.type == InputActionType.Value) {
|
||||||
YieldReturn(true);
|
//
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override bool OnCheck() { return false; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,42 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using NodeCanvas.Framework;
|
|
||||||
using ParadoxNotion;
|
|
||||||
using ParadoxNotion.Design;
|
|
||||||
using UnityEngine;
|
|
||||||
using UnityEngine.InputSystem;
|
|
||||||
|
|
||||||
namespace NodeCanvas.Tasks.Actions {
|
|
||||||
[Category("Reset/Input")]
|
|
||||||
[Description("Check if input condition was matched this frame by phase.")]
|
|
||||||
public class CheckInputValue<T> : ActionTask<PlayerInput> where T : struct{
|
|
||||||
public BBParameter<string> actionName;
|
|
||||||
public BBParameter<T> outputTo;
|
|
||||||
|
|
||||||
private T value;
|
|
||||||
|
|
||||||
private SignalDefinition signalDefinition;
|
|
||||||
protected override string info {
|
|
||||||
get { return $"Get Value of <b>Input:</b> \"{actionName.value}\""; }
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override string OnInit(){
|
|
||||||
try {
|
|
||||||
signalDefinition = Resources.Load<SignalDefinition>("InputSignal");
|
|
||||||
} catch (Exception e) {
|
|
||||||
Debug.LogError($"Error finding the Input Signal defintion: {e.Message}");
|
|
||||||
throw;
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void OnExecute(){
|
|
||||||
// Debug.Log($"{outputTo.value}, {agent.actions[actionName.value].ReadValue<T>()}");
|
|
||||||
|
|
||||||
outputTo.value = agent.actions[actionName.value].ReadValue<T>();
|
|
||||||
EndAction();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 055df0fbf696a3149a2d49a8a5392aba
|
|
||||||
@@ -1,60 +0,0 @@
|
|||||||
using NodeCanvas.Framework;
|
|
||||||
using ParadoxNotion.Design;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
|
|
||||||
namespace NodeCanvas.Tasks.Actions {
|
|
||||||
|
|
||||||
[Category("Reset")]
|
|
||||||
[Description("Breaks down an incoming RaycastHit into it's constituent parts for later use.")]
|
|
||||||
public class DecomposeRaycastHit : ActionTask{
|
|
||||||
public BBParameter<RaycastHit> raycastHit;
|
|
||||||
|
|
||||||
public BBParameter<Transform> transform;
|
|
||||||
public BBParameter<Collider> collider;
|
|
||||||
public BBParameter<GameObject> gameObject;
|
|
||||||
public BBParameter<float> distance;
|
|
||||||
public BBParameter<Vector3> normal;
|
|
||||||
public BBParameter<Vector3> point;
|
|
||||||
|
|
||||||
//Use for initialization. This is called only once in the lifetime of the task.
|
|
||||||
//Return null if init was successfull. Return an error string otherwise
|
|
||||||
|
|
||||||
protected override string info{
|
|
||||||
get{ return $"Decompose RaycastHit <b>{raycastHit}</b>"; }
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override string OnInit() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
//This is called once each time the task is enabled.
|
|
||||||
//Call EndAction() to mark the action as finished, either in success or failure.
|
|
||||||
//EndAction can be called from anywhere.
|
|
||||||
protected override void OnExecute(){
|
|
||||||
if (transform.isDefined){ transform.value = raycastHit.value.transform; }
|
|
||||||
if (collider.isDefined){ collider.value = raycastHit.value.collider; }
|
|
||||||
if (gameObject.isDefined){ gameObject.value = raycastHit.value.transform.gameObject; }
|
|
||||||
if (distance.isDefined){ distance.value = raycastHit.value.distance; }
|
|
||||||
if (normal.isDefined){ normal.value = raycastHit.value.normal; }
|
|
||||||
if (point.isDefined){ point.value = raycastHit.value.point; }
|
|
||||||
|
|
||||||
EndAction(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
//Called once per frame while the action is active.
|
|
||||||
protected override void OnUpdate() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//Called when the task is disabled.
|
|
||||||
protected override void OnStop() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//Called when the task is paused.
|
|
||||||
protected override void OnPause() {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 79f7cbb75d876f84b8edfae676ba324c
|
|
||||||
@@ -1,85 +0,0 @@
|
|||||||
using System;
|
|
||||||
using NodeCanvas.Framework;
|
|
||||||
using NUnit.Framework.Constraints;
|
|
||||||
using ParadoxNotion.Design;
|
|
||||||
using ParadoxNotion.Serialization.FullSerializer;
|
|
||||||
using Sirenix.OdinInspector;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
namespace NodeCanvas.Tasks.Conditions {
|
|
||||||
|
|
||||||
[Category("Reset/Input")]
|
|
||||||
[Description("Returns a float from two Vector3s")]
|
|
||||||
public class GetMovementInputDotProduct : ConditionTask<PlayerControls>{
|
|
||||||
enum CheckDotProductAgainst{
|
|
||||||
ForwardDirection,
|
|
||||||
CameraDirection,
|
|
||||||
InputVector3
|
|
||||||
}
|
|
||||||
|
|
||||||
[ExposeField, fsSerializeAs] CheckDotProductAgainst checkAgainst;
|
|
||||||
[ParadoxNotion.Design.ShowIf("checkAgainst", 2)] public BBParameter<Vector3> checkAgainstValue;
|
|
||||||
[SliderField(-1f, 1f)] public BBParameter<float> desiredValue;
|
|
||||||
public BBParameter<float> tolerance;
|
|
||||||
|
|
||||||
public BBParameter<bool> considerCameraRotation;
|
|
||||||
public BBParameter<bool> negate;
|
|
||||||
|
|
||||||
//Use for initialization. This is called only once in the lifetime of the task.
|
|
||||||
//Return null if init was successfull. Return an error string otherwise
|
|
||||||
protected override string OnInit(){
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
//This is called once each time the task is enabled.
|
|
||||||
//Call EndAction() to mark the action as finished, either in success or failure.
|
|
||||||
//EndAction can be called from anywhere.
|
|
||||||
protected override bool OnCheck(){
|
|
||||||
// Switch what the dot product is checked against
|
|
||||||
Vector3 valueToCheck;
|
|
||||||
|
|
||||||
switch (checkAgainst) {
|
|
||||||
case CheckDotProductAgainst.ForwardDirection:
|
|
||||||
Debug.Log(agent.transform.forward);
|
|
||||||
valueToCheck = agent.transform.forward;
|
|
||||||
break;
|
|
||||||
case CheckDotProductAgainst.CameraDirection:
|
|
||||||
valueToCheck = Camera.main.transform.forward;
|
|
||||||
break;
|
|
||||||
case CheckDotProductAgainst.InputVector3:
|
|
||||||
valueToCheck = checkAgainstValue.value.normalized;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
throw new ArgumentOutOfRangeException();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get the input as a Vector3
|
|
||||||
Vector3 rawInputVector3 = new Vector3(agent.rawMoveInput.x, 0f, agent.rawMoveInput.y);
|
|
||||||
if (considerCameraRotation.value) {
|
|
||||||
rawInputVector3 = Camera.main.transform.rotation * rawInputVector3;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Calculate dor product
|
|
||||||
float dotProduct = Vector3.Dot(valueToCheck, rawInputVector3);
|
|
||||||
|
|
||||||
Debug.Log(dotProduct);
|
|
||||||
|
|
||||||
// Compare against the desired tolerance and output result
|
|
||||||
if (tolerance.value > Mathf.Abs(dotProduct - tolerance.value)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Called when the task is disabled.
|
|
||||||
protected override void OnEnable() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//Called when the task is paused.
|
|
||||||
protected override void OnDisable() {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -12,8 +12,7 @@ namespace Reset.Player.Movement{
|
|||||||
public enum PlayerFacingDirection{
|
public enum PlayerFacingDirection{
|
||||||
Target = 0,
|
Target = 0,
|
||||||
Movement,
|
Movement,
|
||||||
MatchCamera,
|
MatchCamera
|
||||||
Static
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,7 +43,6 @@ namespace NodeCanvas.Tasks.Actions {
|
|||||||
private float currentRotSpeed;
|
private float currentRotSpeed;
|
||||||
private float lastLookMagnitude;
|
private float lastLookMagnitude;
|
||||||
private Quaternion targetRotation;
|
private Quaternion targetRotation;
|
||||||
private Vector3 currentMoveDir;
|
|
||||||
|
|
||||||
// References
|
// References
|
||||||
private PlayerControls controls;
|
private PlayerControls controls;
|
||||||
@@ -57,7 +55,7 @@ namespace NodeCanvas.Tasks.Actions {
|
|||||||
// Append the late update method to actually happen on late update
|
// Append the late update method to actually happen on late update
|
||||||
MonoManager.current.onLateUpdate += LateUpdate;
|
MonoManager.current.onLateUpdate += LateUpdate;
|
||||||
|
|
||||||
// Set ingitial rotation power
|
// What
|
||||||
currentRotSpeed = rotationSpeed.value;
|
currentRotSpeed = rotationSpeed.value;
|
||||||
|
|
||||||
// Reference to controls
|
// Reference to controls
|
||||||
@@ -69,8 +67,8 @@ namespace NodeCanvas.Tasks.Actions {
|
|||||||
//This is called once each time the task is enabled.
|
//This is called once each time the task is enabled.
|
||||||
//Call EndAction() to mark the action as finished, either in success or failure.
|
//Call EndAction() to mark the action as finished, either in success or failure.
|
||||||
//EndAction can be called from anywhere.
|
//EndAction can be called from anywhere.
|
||||||
protected override void OnExecute(){
|
protected override void OnExecute() {
|
||||||
currentMoveDir = groundMoveDirection.value;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//Called once per frame while the action is active.
|
//Called once per frame while the action is active.
|
||||||
@@ -90,39 +88,26 @@ namespace NodeCanvas.Tasks.Actions {
|
|||||||
break;
|
break;
|
||||||
case PlayerFacingDirection.Movement:
|
case PlayerFacingDirection.Movement:
|
||||||
// Check magnitude to avoid the "Look rotation viewing vector is zero" debug
|
// Check magnitude to avoid the "Look rotation viewing vector is zero" debug
|
||||||
|
if (controls.rawMoveInput.magnitude == 0) { break; }
|
||||||
|
|
||||||
// Set desired rotation to input direction, with respect to camera rotation
|
// Set desired rotation to input direction, with respect to camera rotation
|
||||||
if (agent.isGrounded){
|
targetRotation = Quaternion.LookRotation(new Vector3(controls.rawMoveInput.x, 0, controls.rawMoveInput.y)) *
|
||||||
if (controls.rawMoveInput.magnitude == 0) { break; }
|
Quaternion.Euler(Camera.main.transform.rotation.eulerAngles.Flatten(0f, null, 0f));
|
||||||
|
|
||||||
targetRotation = Quaternion.LookRotation(currentMoveDir) *
|
|
||||||
Quaternion.Euler(Camera.main.transform.rotation.eulerAngles.Flatten(0f, null, 0f));
|
|
||||||
} else {
|
|
||||||
if (airMoveDirection.value.magnitude == 0) { break; }
|
|
||||||
|
|
||||||
targetRotation = Quaternion.LookRotation(airMoveDirection.value);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case PlayerFacingDirection.MatchCamera:
|
case PlayerFacingDirection.MatchCamera:
|
||||||
// Craft a new rotation that flattens the camera's rotation to the ground
|
// Craft a new rotation that flattens the camera's rotation to the ground
|
||||||
// Needed to keep the character from inheriting the camera's height-rotation
|
// Needed to keep the character from inheriting the camera's height-rotation
|
||||||
targetRotation = Quaternion.Euler(Camera.main.transform.rotation.eulerAngles.Flatten(0, null, 0));
|
targetRotation = Quaternion.Euler(Camera.main.transform.rotation.eulerAngles.Flatten(0, null, 0));
|
||||||
break;
|
break;
|
||||||
case PlayerFacingDirection.Static:
|
|
||||||
targetRotation = agent.transform.rotation;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Construct move direction
|
// Construct move direction
|
||||||
Vector3 finalMoveDir = Vector3.zero;
|
Vector3 finalMoveDir = Vector3.zero;
|
||||||
Vector3 gravityMoveDirection;
|
Vector3 gravityMoveDirection;
|
||||||
|
|
||||||
// Change how input is managed based on facing state
|
|
||||||
currentMoveDir = Vector3.Slerp(currentMoveDir, groundMoveDirection.value, currentRotSpeed * Time.deltaTime);
|
|
||||||
|
|
||||||
// Add input movement
|
// Add input movement
|
||||||
if (agent.isGrounded){
|
if (agent.isGrounded){
|
||||||
finalMoveDir += currentMoveDir + Vector3.down * .03f;
|
finalMoveDir += groundMoveDirection.value + Vector3.down * .03f;
|
||||||
gravityMoveDirection = new(0f, jumpPower.value + (Physics.gravity.y *.3f), 0f);
|
gravityMoveDirection = new(0f, jumpPower.value + (Physics.gravity.y *.3f), 0f);
|
||||||
} else {
|
} else {
|
||||||
finalMoveDir += airMoveDirection.value;
|
finalMoveDir += airMoveDirection.value;
|
||||||
@@ -142,7 +127,7 @@ namespace NodeCanvas.Tasks.Actions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Set final rotation
|
// Set final rotation
|
||||||
agent.transform.rotation = Quaternion.Lerp(agent.transform.rotation, targetRotation, 10f * Time.deltaTime).Flatten(0, null, 0);
|
agent.transform.rotation = Quaternion.Lerp(agent.transform.rotation, targetRotation, 10f * Time.deltaTime);
|
||||||
|
|
||||||
// ???? Moved this above but don't remember if this needs to be here still
|
// ???? Moved this above but don't remember if this needs to be here still
|
||||||
if (agent.isGrounded) {
|
if (agent.isGrounded) {
|
||||||
|
|||||||
@@ -1,71 +0,0 @@
|
|||||||
using System;
|
|
||||||
using NodeCanvas.Framework;
|
|
||||||
using ParadoxNotion.Design;
|
|
||||||
using Reset.Player.Movement;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
namespace NodeCanvas.Tasks.Actions {
|
|
||||||
|
|
||||||
[Category("Reset/Movement")]
|
|
||||||
[Description("Launch the agent towards a specific point with respect to distance.")]
|
|
||||||
public class StartLaunchJump : ActionTask<CharacterController>{
|
|
||||||
public BBParameter<Vector3> airDirection;
|
|
||||||
public BBParameter<float> jumpPower;
|
|
||||||
|
|
||||||
public BBParameter<Vector3> targetLocation;
|
|
||||||
public BBParameter<Vector3> offset;
|
|
||||||
|
|
||||||
public BBParameter<Vector3> relativeRotation;
|
|
||||||
|
|
||||||
public BBParameter<PlayerFacingDirection> launchRelativeTo;
|
|
||||||
|
|
||||||
|
|
||||||
public BBParameter<bool> useRelativeForce;
|
|
||||||
[ShowIf("useRelativeForce", 1)] public BBParameter<float> minimumForce;
|
|
||||||
[ShowIf("useRelativeForce", 1)] public BBParameter<float> maximumForce;
|
|
||||||
[ShowIf("useRelativeForce", 1)] public BBParameter<float> forceRelativeToDistance;
|
|
||||||
public BBParameter<float> force;
|
|
||||||
|
|
||||||
//Use for initialization. This is called only once in the lifetime of the task.
|
|
||||||
//Return null if init was successfull. Return an error string otherwise
|
|
||||||
protected override string OnInit() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
//This is called once each time the task is enabled.
|
|
||||||
//Call EndAction() to mark the action as finished, either in success or failure.
|
|
||||||
//EndAction can be called from anywhere.
|
|
||||||
protected override void OnExecute(){
|
|
||||||
Vector3 launchDir = agent.transform.position.DirectionTo(targetLocation.value).normalized;
|
|
||||||
launchDir = Quaternion.Euler(relativeRotation.value) * launchDir;
|
|
||||||
|
|
||||||
Debug.Log(launchDir);
|
|
||||||
|
|
||||||
float distanceToTarget = Vector3.Distance(agent.transform.position, targetLocation.value);
|
|
||||||
|
|
||||||
float outputForce = (useRelativeForce.value ? distanceToTarget * forceRelativeToDistance.value : force.value);
|
|
||||||
|
|
||||||
outputForce = Mathf.Clamp(outputForce, minimumForce.value, maximumForce.value);
|
|
||||||
jumpPower.value = outputForce;
|
|
||||||
|
|
||||||
airDirection.value = (launchDir * outputForce);
|
|
||||||
|
|
||||||
EndAction(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
//Called once per frame while the action is active.
|
|
||||||
protected override void OnUpdate() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//Called when the task is disabled.
|
|
||||||
protected override void OnStop() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//Called when the task is paused.
|
|
||||||
protected override void OnPause() {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 8f32fe451feb2ca4e8159d4aa8919cd2
|
|
||||||
@@ -1,65 +0,0 @@
|
|||||||
using NodeCanvas.Framework;
|
|
||||||
using ParadoxNotion.Design;
|
|
||||||
using ParadoxNotion.Serialization.FullSerializer;
|
|
||||||
using UnityEngine;
|
|
||||||
using Logger = ParadoxNotion.Services.Logger;
|
|
||||||
|
|
||||||
namespace NodeCanvas.Tasks.Actions {
|
|
||||||
[Category("Reset")]
|
|
||||||
public class UpdateObjectCameraTracking : ActionTask<LockOnManager> {
|
|
||||||
|
|
||||||
public BBParameter<GameObject> relatedObject;
|
|
||||||
|
|
||||||
enum CameraTrackingTaskAction{
|
|
||||||
AddOrUpdate,
|
|
||||||
Remove
|
|
||||||
}
|
|
||||||
|
|
||||||
[ExposeField, fsSerializeAs, Space(5)]
|
|
||||||
CameraTrackingTaskAction action;
|
|
||||||
|
|
||||||
[ParadoxNotion.Design.ShowIf("action", 0)]
|
|
||||||
public BBParameter<float> weight;
|
|
||||||
|
|
||||||
[ParadoxNotion.Design.ShowIf("action", 0)]
|
|
||||||
public BBParameter<bool> isMain;
|
|
||||||
|
|
||||||
//Return null if init was successfull. Return an error string otherwise
|
|
||||||
protected override string OnInit() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
//This is called once each time the task is enabled.
|
|
||||||
//Call EndAction() to mark the action as finished, either in success or failure.
|
|
||||||
//EndAction can be called from anywhere.
|
|
||||||
protected override void OnExecute() {
|
|
||||||
if (relatedObject.isNull) {
|
|
||||||
Logger.LogError("There is no object for the camera to add to tracking. May have forgotten a reference/object probably destroyed?");
|
|
||||||
EndAction(false);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (action == CameraTrackingTaskAction.AddOrUpdate) {
|
|
||||||
agent.AddNewTarget(relatedObject.value, weight.value, isMain.value);
|
|
||||||
} else {
|
|
||||||
agent.QueueTargetRemoval(relatedObject.value);
|
|
||||||
}
|
|
||||||
EndAction(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
//Called once per frame while the action is active.
|
|
||||||
protected override void OnUpdate() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//Called when the task is disabled.
|
|
||||||
protected override void OnStop() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//Called when the task is paused.
|
|
||||||
protected override void OnPause() {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: c187e5f8e4ad16b42b10c10ea9fb8fd4
|
|
||||||
@@ -5,169 +5,91 @@ using System.Numerics;
|
|||||||
using Sirenix.OdinInspector;
|
using Sirenix.OdinInspector;
|
||||||
using Unity.Cinemachine;
|
using Unity.Cinemachine;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.Serialization;
|
|
||||||
using UnityEngine.UIElements;
|
using UnityEngine.UIElements;
|
||||||
using Vector2 = UnityEngine.Vector2;
|
using Vector2 = UnityEngine.Vector2;
|
||||||
using Vector3 = UnityEngine.Vector3;
|
using Vector3 = UnityEngine.Vector3;
|
||||||
|
|
||||||
public class LockOnManager : MonoBehaviour{
|
public class LockOnManager : MonoBehaviour{
|
||||||
public class ActiveLockOnTarget{
|
|
||||||
public GameObject gameObject;
|
|
||||||
public float targetWeight;
|
|
||||||
public float refVelocity;
|
|
||||||
public CinemachineTargetGroup.Target cinemachineTarget;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static LockOnManager Instance;
|
private CinemachineTargetGroup.Target playerTarget;
|
||||||
|
|
||||||
// Lock On settings
|
// Lock On settings
|
||||||
[Space(5)] public float lockOnRange = 40f;
|
[Space(5)]
|
||||||
|
public float lockOnRange = 40f;
|
||||||
public float lockOnMaxAngle = 70f;
|
public float lockOnMaxAngle = 70f;
|
||||||
[Range(0,1)] public float mainTargetWeight = .15f;
|
|
||||||
[FormerlySerializedAs("smoothing")] public float smoothTime = 1f;
|
|
||||||
|
|
||||||
// Lock On Tracking
|
// Lock On Tracking
|
||||||
[Space(10)]
|
[Space(10)] public GameObject lockonGameObject; // Needed because nulling the Target below doesn't actually empty it out
|
||||||
|
|
||||||
[ShowInInspector]
|
|
||||||
ActiveLockOnTarget mainTarget;
|
|
||||||
|
|
||||||
public List<ActiveLockOnTarget> activeTargets = new List<ActiveLockOnTarget>();
|
|
||||||
|
|
||||||
[ReadOnly] public CinemachineTargetGroup.Target lockonTarget;
|
[ReadOnly] public CinemachineTargetGroup.Target lockonTarget;
|
||||||
public CinemachineTargetGroup targetGroup;
|
public CinemachineTargetGroup targetGroup;
|
||||||
|
|
||||||
private List<GameObject> acceptedTargets = new List<GameObject>();
|
[Space(5)]
|
||||||
|
public List<GameObject> lockOnTargets = new List<GameObject>();
|
||||||
|
|
||||||
// UI
|
// UI
|
||||||
[ShowInInspector] public UIDocument lockOnDocument;
|
[ShowInInspector]
|
||||||
|
public UIDocument lockOnDocument;
|
||||||
private Label elementLabelName;
|
private Label elementLabelName;
|
||||||
private VisualElement elementRoot;
|
private VisualElement elementRoot;
|
||||||
|
|
||||||
// Start is called once before the first execution of Update after the MonoBehaviour is created
|
// Start is called once before the first execution of Update after the MonoBehaviour is created
|
||||||
void Start(){
|
void Start(){
|
||||||
// Register as singleton
|
// Save the player target object to track later
|
||||||
if (Instance == null) {
|
playerTarget = targetGroup.Targets[0];
|
||||||
Instance = this;
|
|
||||||
} else {
|
|
||||||
this.enabled = false;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Quick check for things in lock-on target that aren't lock-onable
|
// Quick check for things in lock-on target that aren't lock-onable
|
||||||
if (mainTarget != null && mainTarget.gameObject.GetComponent<ILockOnTarget>() == null) {
|
if (lockonGameObject != null && lockonTarget.Object.GetComponent<ILockOnTarget>() == null) {
|
||||||
mainTarget.gameObject.AddComponent<GenericLockOnTarget>();
|
Debug.LogError($"Game Object {lockonTarget.Object.name} does not implement the ILockOnTarget interface!");
|
||||||
Debug.LogWarning($"The object <b>{mainTarget.gameObject.name}</b> has no ILockOnTarget interface. This isn't hyper critical, but adding one as a GenericLockOnTarget anyways.");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
elementRoot = lockOnDocument.rootVisualElement.Query<VisualElement>("LockOnGroup");
|
elementRoot = lockOnDocument.rootVisualElement.Query<VisualElement>("LockOnGroup");
|
||||||
elementLabelName = lockOnDocument.rootVisualElement.Query<Label>("LockOnName").First();
|
elementLabelName = lockOnDocument.rootVisualElement.Query<Label>("LockOnName").First();
|
||||||
|
|
||||||
// Add all nearby game objects to lock-on eligible list
|
// Add all nearby game objects to lock-on eligible list
|
||||||
GameObject[] allGameObjects = GameObject.FindObjectsByType<GameObject>(0, 0);
|
GameObject[] allGameObjects = GameObject.FindObjectsByType<GameObject>(0, 0);
|
||||||
|
|
||||||
foreach (GameObject thisObject in allGameObjects) {
|
foreach (GameObject thisObject in allGameObjects)
|
||||||
if (thisObject.GetComponent<ILockOnTarget>() != null) {
|
{
|
||||||
acceptedTargets.Add(thisObject);
|
if (Vector3.Distance(transform.position, thisObject.transform.position) < lockOnRange) {
|
||||||
|
if (thisObject.GetComponent<ILockOnTarget>() != null) {
|
||||||
|
lockOnTargets.Add(thisObject);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Update(){
|
void Update(){
|
||||||
if (mainTarget != null && mainTarget.gameObject.GetComponent<ILockOnTarget>() == null) {
|
if (lockonGameObject && lockonTarget.Object.GetComponent<ILockOnTarget>() == null) {
|
||||||
mainTarget.gameObject.AddComponent<GenericLockOnTarget>();
|
Debug.LogError($"Game Object {lockonTarget.Object.name} does not implement the ILockOnTarget interface!");
|
||||||
Debug.LogWarning($"The object <b>{mainTarget.gameObject.name}</b> has no ILockOnTarget interface. This isn't hyper critical, but adding one as a GenericLockOnTarget anyways.");
|
}
|
||||||
|
|
||||||
|
// Find the current lock-on target and increase it's weight to the .15f max slowly
|
||||||
|
// They start at 0 weight when the lock-on adds them to the group
|
||||||
|
if (lockonGameObject) {
|
||||||
|
CinemachineTargetGroup.Target currentTarget = targetGroup.Targets.Find(target => target == lockonTarget);
|
||||||
|
currentTarget.Weight = Mathf.MoveTowards(currentTarget.Weight, .15f, .5f * Time.deltaTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Iterate through targets, pushing their Target Group weight towards their goal weight, or removing them if they get too low.
|
// If a target is not the current lock on target, lower their targeting weight. When low enough to not cause a sharp jitter, remove them.
|
||||||
for (int i = 0; i < activeTargets.Count; i++) {
|
for (int i = 1; i < targetGroup.Targets.Count; i++) {
|
||||||
if (activeTargets[i].gameObject == this.gameObject) {
|
if (targetGroup.Targets[i] == lockonTarget || targetGroup.Targets[i] == playerTarget){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (targetGroup.Targets[i].Weight < 0.001f) {
|
||||||
|
StartCoroutine(RemoveFromTargetAtFrameEnd(targetGroup.Targets[i]));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
activeTargets[i].cinemachineTarget.Weight =
|
targetGroup.Targets[i].Weight = Mathf.MoveTowards(targetGroup.Targets[i].Weight, 0f, 1f * Time.deltaTime);
|
||||||
Mathf.SmoothDamp(
|
|
||||||
activeTargets[i].cinemachineTarget.Weight,
|
|
||||||
activeTargets[i].targetWeight,
|
|
||||||
ref activeTargets[i].refVelocity,
|
|
||||||
smoothTime * Time.deltaTime);
|
|
||||||
|
|
||||||
if (activeTargets[i].cinemachineTarget.Weight < 0.0001f) {
|
|
||||||
StartCoroutine(RemoveFromTargetAtFrameEnd(activeTargets[i]));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
IEnumerator RemoveFromTargetAtFrameEnd(ActiveLockOnTarget target){
|
IEnumerator RemoveFromTargetAtFrameEnd(CinemachineTargetGroup.Target indexOf){
|
||||||
yield return new WaitForEndOfFrame();
|
yield return new WaitForEndOfFrame();
|
||||||
|
targetGroup.Targets.Remove(indexOf);
|
||||||
activeTargets.Remove(target);
|
|
||||||
targetGroup.Targets.Remove(target.cinemachineTarget);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddNewTarget(GameObject targetObject, float targetWeight, bool isMain = false){
|
|
||||||
// Check that the target doesn't already exist- if it does, just change it's weight/make it main
|
|
||||||
foreach (ActiveLockOnTarget target in activeTargets) {
|
|
||||||
if (target.gameObject == targetObject) {
|
|
||||||
target.targetWeight = targetWeight;
|
|
||||||
|
|
||||||
if (isMain) {
|
|
||||||
mainTarget = target;
|
|
||||||
}
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// If it doesn't exist in the list of targets, add it
|
|
||||||
ActiveLockOnTarget newTarget = new ActiveLockOnTarget{
|
|
||||||
gameObject = targetObject,
|
|
||||||
targetWeight = mainTargetWeight,
|
|
||||||
cinemachineTarget = new CinemachineTargetGroup.Target{
|
|
||||||
Object = targetObject.transform,
|
|
||||||
Radius = 1f,
|
|
||||||
Weight = 0f
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
//Set as main
|
|
||||||
if (isMain) {
|
|
||||||
mainTarget = newTarget;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Finalize
|
|
||||||
activeTargets.Add(newTarget);
|
|
||||||
targetGroup.Targets.Add(newTarget.cinemachineTarget);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void QueueTargetRemoval(GameObject targetObject, bool deleteAfterRemoved = false){
|
|
||||||
// Ostensibly removes targest by setting their target weight to 0. Update loop finds targets with no weight and reduces their impact on the camera
|
|
||||||
// After it smooths their current weight to 0, it removes them
|
|
||||||
activeTargets.Find(target => target.gameObject == targetObject).targetWeight = 0f;
|
|
||||||
|
|
||||||
if (deleteAfterRemoved) {
|
|
||||||
StartCoroutine(DeleteGameObjectPostRemoval(targetObject));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Remove as main target if it is
|
|
||||||
if (mainTarget == activeTargets.Find(target => target.gameObject == targetObject)) {
|
|
||||||
mainTarget = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
IEnumerator DeleteGameObjectPostRemoval(GameObject targetObject){
|
|
||||||
ActiveLockOnTarget thisTarget = activeTargets.Find(target => target.gameObject == targetObject);
|
|
||||||
|
|
||||||
yield return new WaitForEndOfFrame();
|
|
||||||
|
|
||||||
while (activeTargets.Contains(thisTarget)) {
|
|
||||||
yield return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
Destroy(thisTarget.gameObject);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ChangeLockOnTarget(){
|
public void ChangeLockOnTarget(){
|
||||||
Transform cameraTransform = Camera.main.transform;
|
Transform cameraTransform = Camera.main.transform;
|
||||||
|
|
||||||
@@ -175,9 +97,9 @@ public class LockOnManager : MonoBehaviour{
|
|||||||
GameObject closestTarget = null;
|
GameObject closestTarget = null;
|
||||||
float lowestDistanceToCenter = Mathf.Infinity;
|
float lowestDistanceToCenter = Mathf.Infinity;
|
||||||
|
|
||||||
foreach (GameObject target in acceptedTargets) {
|
foreach (GameObject target in lockOnTargets) {
|
||||||
// Skip the current target if one exists
|
// Skip the current target if one exists
|
||||||
if (mainTarget != null && mainTarget.gameObject == target) {
|
if (lockonGameObject != null && lockonTarget.Object.gameObject == target) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -188,12 +110,7 @@ public class LockOnManager : MonoBehaviour{
|
|||||||
if (hit.transform != target.transform) {
|
if (hit.transform != target.transform) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Skips targets too far
|
|
||||||
if (Vector3.Distance(transform.position, target.transform.position) > lockOnRange) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Skip targets outside lock on angle
|
// Skip targets outside lock on angle
|
||||||
float angleFromCameraForward = Vector3.Angle(cameraTransform.forward, cameraTransform.position.DirectionTo(target.transform.position));
|
float angleFromCameraForward = Vector3.Angle(cameraTransform.forward, cameraTransform.position.DirectionTo(target.transform.position));
|
||||||
if (angleFromCameraForward > lockOnMaxAngle) {
|
if (angleFromCameraForward > lockOnMaxAngle) {
|
||||||
@@ -220,32 +137,37 @@ public class LockOnManager : MonoBehaviour{
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remove the main target that currently exists, if there is one.
|
// Create a new Target for the Target Group
|
||||||
if (mainTarget != null) {
|
var newTarget = new CinemachineTargetGroup.Target{
|
||||||
QueueTargetRemoval(mainTarget.gameObject);
|
Object = closestTarget.transform,
|
||||||
}
|
Radius = 1f,
|
||||||
|
Weight = 0f
|
||||||
|
};
|
||||||
|
|
||||||
// Begin tracking target, set as main
|
// Set the new target variables
|
||||||
AddNewTarget(closestTarget.gameObject, mainTargetWeight, true);
|
lockonTarget = newTarget;
|
||||||
|
lockonGameObject = closestTarget.gameObject;
|
||||||
|
|
||||||
|
targetGroup.Targets.Add(newTarget);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Used by outside sources such as input to cancel lock-on.
|
public void RemoveLockOnTarget(){
|
||||||
public void RemoveMainTarget(){
|
lockonTarget = null;
|
||||||
QueueTargetRemoval(mainTarget.gameObject);
|
lockonGameObject = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
void LateUpdate(){
|
void LateUpdate(){
|
||||||
if (mainTarget != null) {
|
if (lockonGameObject) {
|
||||||
// This is just test logic to get an image above a lock on.
|
// This is just test logic to get an image above a lock on.
|
||||||
// TODO: Replace with something less silly
|
// TODO: Replace with something less silly
|
||||||
Vector2 screenPos = RuntimePanelUtils.CameraTransformWorldToPanel(
|
Vector2 screenPos = RuntimePanelUtils.CameraTransformWorldToPanel(
|
||||||
lockOnDocument.rootVisualElement.panel,
|
lockOnDocument.rootVisualElement.panel,
|
||||||
mainTarget.gameObject.GetComponent<ILockOnTarget>().GetReticlePosition(),
|
lockonTarget.Object.GetComponent<ILockOnTarget>().GetReticlePosition(),
|
||||||
Camera.main
|
Camera.main
|
||||||
);
|
);
|
||||||
|
|
||||||
// Set name
|
// Set name
|
||||||
elementLabelName.text = mainTarget.gameObject.name;
|
elementLabelName.text = lockonTarget.Object.name;
|
||||||
|
|
||||||
// Set position (add the width/height of the element)
|
// Set position (add the width/height of the element)
|
||||||
elementRoot.style.top = new StyleLength(screenPos.y - 25f); // Was elementRoot.resolvedStyle.height * .7f
|
elementRoot.style.top = new StyleLength(screenPos.y - 25f); // Was elementRoot.resolvedStyle.height * .7f
|
||||||
|
|||||||
@@ -13,7 +13,4 @@ public static class MathExtensions{
|
|||||||
return (to - origin).normalized;
|
return (to - origin).normalized;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Color Alpha(this Color input, float newAlpha){
|
|
||||||
return new Color(input.r, input.g, input.b, newAlpha);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ public struct CameraSettingSingleValue<T>{
|
|||||||
public Vector2 velocityRefV2;
|
public Vector2 velocityRefV2;
|
||||||
public Vector3 velocityRefV3;
|
public Vector3 velocityRefV3;
|
||||||
|
|
||||||
public CameraSettingSingleValue(float defaultSmoothing = .2f, T original = default(T)){
|
public CameraSettingSingleValue(float defaultSmoothing, T original = default(T)){
|
||||||
originalValue = original;
|
originalValue = original;
|
||||||
targetValue = original;
|
targetValue = original;
|
||||||
smoothing = defaultSmoothing;
|
smoothing = defaultSmoothing;
|
||||||
@@ -28,15 +28,6 @@ public struct CameraSettingSingleValue<T>{
|
|||||||
|
|
||||||
public struct CameraSettingValues{
|
public struct CameraSettingValues{
|
||||||
public CameraSettingSingleValue<float> mainFieldOfView;
|
public CameraSettingSingleValue<float> mainFieldOfView;
|
||||||
|
|
||||||
public CameraSettingSingleValue<Vector3> orbitPositionDamping;
|
|
||||||
public CameraSettingSingleValue<Vector3> orbitTargetOffset;
|
|
||||||
|
|
||||||
public CameraSettingSingleValue<bool> axisLookEnabledX;
|
|
||||||
public CameraSettingSingleValue<bool> axisLookEnabledY;
|
|
||||||
|
|
||||||
public CameraSettingSingleValue<float> axisLookGainX;
|
|
||||||
public CameraSettingSingleValue<float> axisLookGainY;
|
|
||||||
|
|
||||||
public CameraSettingSingleValue<float> orbitFollowTopHeight;
|
public CameraSettingSingleValue<float> orbitFollowTopHeight;
|
||||||
public CameraSettingSingleValue<float> orbitFollowTopRadius;
|
public CameraSettingSingleValue<float> orbitFollowTopRadius;
|
||||||
@@ -52,15 +43,6 @@ public struct CameraSettingValues{
|
|||||||
public CameraSettingValues(float defaultSmoothing){
|
public CameraSettingValues(float defaultSmoothing){
|
||||||
mainFieldOfView = new CameraSettingSingleValue<float>(defaultSmoothing);
|
mainFieldOfView = new CameraSettingSingleValue<float>(defaultSmoothing);
|
||||||
|
|
||||||
orbitPositionDamping = new CameraSettingSingleValue<Vector3>(defaultSmoothing);
|
|
||||||
orbitTargetOffset = new CameraSettingSingleValue<Vector3>(defaultSmoothing);
|
|
||||||
|
|
||||||
axisLookEnabledX = new CameraSettingSingleValue<bool>();
|
|
||||||
axisLookEnabledY = new CameraSettingSingleValue<bool>();
|
|
||||||
|
|
||||||
axisLookGainX = new CameraSettingSingleValue<float>(defaultSmoothing);
|
|
||||||
axisLookGainY = new CameraSettingSingleValue<float>(defaultSmoothing);
|
|
||||||
|
|
||||||
orbitFollowTopHeight = new CameraSettingSingleValue<float>(defaultSmoothing);
|
orbitFollowTopHeight = new CameraSettingSingleValue<float>(defaultSmoothing);
|
||||||
orbitFollowTopRadius = new CameraSettingSingleValue<float>(defaultSmoothing);
|
orbitFollowTopRadius = new CameraSettingSingleValue<float>(defaultSmoothing);
|
||||||
orbitFollowCenterHeight = new CameraSettingSingleValue<float>(defaultSmoothing);
|
orbitFollowCenterHeight = new CameraSettingSingleValue<float>(defaultSmoothing);
|
||||||
@@ -84,7 +66,6 @@ public class CameraSettingsProcessor : MonoBehaviour{
|
|||||||
private CinemachineOrbitalFollow orbit;
|
private CinemachineOrbitalFollow orbit;
|
||||||
private CinemachineRotationComposer rotComp;
|
private CinemachineRotationComposer rotComp;
|
||||||
private CinemachineCameraOffset offset;
|
private CinemachineCameraOffset offset;
|
||||||
private CinemachineInputAxisController axisCont;
|
|
||||||
|
|
||||||
public void Awake(){
|
public void Awake(){
|
||||||
// Singleton management
|
// Singleton management
|
||||||
@@ -100,18 +81,11 @@ public class CameraSettingsProcessor : MonoBehaviour{
|
|||||||
orbit = mainCamera.GetComponent<CinemachineOrbitalFollow>();
|
orbit = mainCamera.GetComponent<CinemachineOrbitalFollow>();
|
||||||
rotComp = mainCamera.GetComponent<CinemachineRotationComposer>();
|
rotComp = mainCamera.GetComponent<CinemachineRotationComposer>();
|
||||||
offset = mainCamera.GetComponent<CinemachineCameraOffset>();
|
offset = mainCamera.GetComponent<CinemachineCameraOffset>();
|
||||||
axisCont = mainCamera.GetComponent<CinemachineInputAxisController>();
|
|
||||||
|
|
||||||
// Initialize camera settings values
|
// Initialize camera settings values
|
||||||
values = new CameraSettingValues{
|
values = new CameraSettingValues{
|
||||||
cameraOffsetOffset = new CameraSettingSingleValue<Vector3>(defaultSmoothing: .2f, offset.Offset),
|
cameraOffsetOffset = new CameraSettingSingleValue<Vector3>(defaultSmoothing: .2f, offset.Offset),
|
||||||
mainFieldOfView = new CameraSettingSingleValue<float>(defaultSmoothing: .2f, main.Lens.FieldOfView),
|
mainFieldOfView = new CameraSettingSingleValue<float>(defaultSmoothing: .2f, main.Lens.FieldOfView),
|
||||||
axisLookEnabledX = new CameraSettingSingleValue<bool>(0, axisCont.Controllers[0].Enabled),
|
|
||||||
axisLookEnabledY = new CameraSettingSingleValue<bool>(0, axisCont.Controllers[1].Enabled),
|
|
||||||
axisLookGainX = new CameraSettingSingleValue<float>(defaultSmoothing: .2f, axisCont.Controllers[0].Input.Gain),
|
|
||||||
axisLookGainY = new CameraSettingSingleValue<float>(defaultSmoothing: .2f, axisCont.Controllers[1].Input.Gain),
|
|
||||||
orbitPositionDamping = new CameraSettingSingleValue<Vector3>(defaultSmoothing: .2f, orbit.TrackerSettings.PositionDamping),
|
|
||||||
orbitTargetOffset = new CameraSettingSingleValue<Vector3>(defaultSmoothing: .1f, orbit.TargetOffset),
|
|
||||||
orbitFollowTopHeight = new CameraSettingSingleValue<float>(defaultSmoothing: .2f, orbit.Orbits.Top.Height),
|
orbitFollowTopHeight = new CameraSettingSingleValue<float>(defaultSmoothing: .2f, orbit.Orbits.Top.Height),
|
||||||
orbitFollowTopRadius = new CameraSettingSingleValue<float>(defaultSmoothing: .2f, orbit.Orbits.Top.Radius),
|
orbitFollowTopRadius = new CameraSettingSingleValue<float>(defaultSmoothing: .2f, orbit.Orbits.Top.Radius),
|
||||||
orbitFollowCenterHeight = new CameraSettingSingleValue<float>(defaultSmoothing: .2f, orbit.Orbits.Center.Height),
|
orbitFollowCenterHeight = new CameraSettingSingleValue<float>(defaultSmoothing: .2f, orbit.Orbits.Center.Height),
|
||||||
@@ -126,26 +100,6 @@ public class CameraSettingsProcessor : MonoBehaviour{
|
|||||||
main.Lens.FieldOfView = Mathf.SmoothDamp(main.Lens.FieldOfView,
|
main.Lens.FieldOfView = Mathf.SmoothDamp(main.Lens.FieldOfView,
|
||||||
values.mainFieldOfView.targetValue, ref values.mainFieldOfView.velocityRef,
|
values.mainFieldOfView.targetValue, ref values.mainFieldOfView.velocityRef,
|
||||||
values.mainFieldOfView.smoothing);
|
values.mainFieldOfView.smoothing);
|
||||||
|
|
||||||
axisCont.Controllers[0].Enabled = values.axisLookEnabledX.targetValue;
|
|
||||||
|
|
||||||
axisCont.Controllers[1].Enabled = values.axisLookEnabledY.targetValue;
|
|
||||||
|
|
||||||
axisCont.Controllers[0].Input.Gain = Mathf.SmoothDamp(axisCont.Controllers[0].Input.Gain,
|
|
||||||
values.axisLookGainX.targetValue, ref values.axisLookGainX.velocityRef,
|
|
||||||
values.axisLookGainX.smoothing);
|
|
||||||
|
|
||||||
axisCont.Controllers[1].Input.Gain = Mathf.SmoothDamp(axisCont.Controllers[1].Input.Gain,
|
|
||||||
values.axisLookGainY.targetValue, ref values.axisLookGainY.velocityRef,
|
|
||||||
values.axisLookGainY.smoothing);
|
|
||||||
|
|
||||||
orbit.TargetOffset = Vector3.SmoothDamp(orbit.TargetOffset,
|
|
||||||
values.orbitTargetOffset.targetValue, ref values.orbitTargetOffset.velocityRefV3,
|
|
||||||
values.orbitTargetOffset.smoothing);
|
|
||||||
|
|
||||||
orbit.TrackerSettings.PositionDamping = Vector3.SmoothDamp(orbit.TrackerSettings.PositionDamping,
|
|
||||||
values.orbitPositionDamping.targetValue, ref values.orbitPositionDamping.velocityRefV3,
|
|
||||||
values.orbitPositionDamping.smoothing);
|
|
||||||
|
|
||||||
orbit.Orbits.Top.Height = Mathf.SmoothDamp(orbit.Orbits.Top.Height,
|
orbit.Orbits.Top.Height = Mathf.SmoothDamp(orbit.Orbits.Top.Height,
|
||||||
values.orbitFollowTopHeight.targetValue, ref values.orbitFollowTopHeight.velocityRef,
|
values.orbitFollowTopHeight.targetValue, ref values.orbitFollowTopHeight.velocityRef,
|
||||||
@@ -178,8 +132,6 @@ public class CameraSettingsProcessor : MonoBehaviour{
|
|||||||
offset.Offset = Vector3.SmoothDamp(offset.Offset,
|
offset.Offset = Vector3.SmoothDamp(offset.Offset,
|
||||||
values.cameraOffsetOffset.targetValue, ref values.cameraOffsetOffset.velocityRefV3,
|
values.cameraOffsetOffset.targetValue, ref values.cameraOffsetOffset.velocityRefV3,
|
||||||
values.cameraOffsetOffset.smoothing);
|
values.cameraOffsetOffset.smoothing);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Update(){
|
void Update(){
|
||||||
|
|||||||
@@ -6,43 +6,14 @@ public interface ILockOnTarget {
|
|||||||
|
|
||||||
Transform transform {get;}
|
Transform transform {get;}
|
||||||
GameObject gameObject{ get; }
|
GameObject gameObject{ get; }
|
||||||
|
|
||||||
abstract void OnTargetDelete();
|
|
||||||
|
|
||||||
void Help(){
|
|
||||||
SafelyDeleteTarget();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Vector3 GetReticlePosition(){
|
public Vector3 GetReticlePosition(){
|
||||||
float upValue = 0f;
|
Bounds objectBounds = gameObject.GetComponent<Renderer>().bounds;
|
||||||
|
|
||||||
if (gameObject.GetComponent<Renderer>()){
|
|
||||||
Bounds objectBounds = gameObject.GetComponent<Renderer>().bounds;
|
|
||||||
upValue = objectBounds.size.y;
|
|
||||||
}
|
|
||||||
|
|
||||||
Vector3 reticlePosition = new Vector3(transform.position.x, transform.position.y + upValue, transform.position.z);
|
Vector3 reticlePosition = new Vector3(transform.position.x, transform.position.y + objectBounds.size.y, transform.position.z);
|
||||||
|
|
||||||
return reticlePosition;
|
return reticlePosition;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnEnable(){
|
|
||||||
Debug.Log("hewwo");
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SafelyDeleteTarget(){
|
|
||||||
// gameObject.
|
|
||||||
foreach (LockOnManager.ActiveLockOnTarget target in LockOnManager.Instance.activeTargets) {
|
|
||||||
if (target.gameObject == this.gameObject) {
|
|
||||||
GameObject clone = new GameObject{name = $"Target Clone of {gameObject.name}", transform = { position = transform.position}};
|
|
||||||
|
|
||||||
target.gameObject = clone;
|
|
||||||
target.cinemachineTarget.Object = clone.transform;
|
|
||||||
|
|
||||||
LockOnManager.Instance.QueueTargetRemoval(clone, true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class PlayerCamera : MonoBehaviour{
|
public class PlayerCamera : MonoBehaviour{
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
|
||||||
using UnityEditor;
|
using UnityEditor;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.InputSystem;
|
using UnityEngine.InputSystem;
|
||||||
@@ -7,15 +6,11 @@ using UnityEngine.UIElements;
|
|||||||
using NodeCanvas;
|
using NodeCanvas;
|
||||||
using NodeCanvas.Framework;
|
using NodeCanvas.Framework;
|
||||||
using ParadoxNotion;
|
using ParadoxNotion;
|
||||||
using Sirenix.OdinInspector;
|
|
||||||
|
|
||||||
public class PlayerControls : MonoBehaviour{
|
public class PlayerControls : MonoBehaviour{
|
||||||
// References
|
// References
|
||||||
private Player thisPlayer;
|
private Player thisPlayer;
|
||||||
|
|
||||||
private PlayerInput input;
|
|
||||||
public SignalDefinition inputSignal;
|
|
||||||
|
|
||||||
// TODO: Turn these into accessors
|
// TODO: Turn these into accessors
|
||||||
public Vector2 rawMoveInput;
|
public Vector2 rawMoveInput;
|
||||||
public Vector2 rawLookInput;
|
public Vector2 rawLookInput;
|
||||||
@@ -25,31 +20,6 @@ public class PlayerControls : MonoBehaviour{
|
|||||||
void Awake(){
|
void Awake(){
|
||||||
thisPlayer = GetComponent<Player>();
|
thisPlayer = GetComponent<Player>();
|
||||||
graph = GetComponent<GraphOwner>();
|
graph = GetComponent<GraphOwner>();
|
||||||
input = GetComponent<PlayerInput>();
|
|
||||||
|
|
||||||
// Add the delegates for each method
|
|
||||||
foreach (InputAction action in input.actions) {
|
|
||||||
action.started += SendToGraph;
|
|
||||||
action.canceled += SendToGraph;
|
|
||||||
action.performed += SendToGraph;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Remove the delegates for each method
|
|
||||||
void OnDisable(){
|
|
||||||
foreach (InputAction action in input.actions) {
|
|
||||||
action.started -= SendToGraph;
|
|
||||||
action.canceled -= SendToGraph;
|
|
||||||
action.performed -= SendToGraph;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// This will call the OnSignalInvoke for this type of Signal Defintion. CheckInput is the recieving end.
|
|
||||||
public void SendToGraph(InputAction.CallbackContext ctx){
|
|
||||||
inputSignal.Invoke(transform, transform, false, new object[]{
|
|
||||||
ctx.action,
|
|
||||||
ctx.phase
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnMove(InputValue value){
|
public void OnMove(InputValue value){
|
||||||
@@ -76,7 +46,7 @@ public class PlayerControls : MonoBehaviour{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void OnCancelLockOn(){
|
public void OnCancelLockOn(){
|
||||||
GetComponent<LockOnManager>().RemoveMainTarget();
|
GetComponent<LockOnManager>().RemoveLockOnTarget();
|
||||||
graph.SendEvent<string>("InputEvent", "CancelLockOn", null);
|
graph.SendEvent<string>("InputEvent", "CancelLockOn", null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,356 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using UnityEngine;
|
|
||||||
using Drawing;
|
|
||||||
using Sirenix.OdinInspector;
|
|
||||||
using Sirenix.Serialization;
|
|
||||||
using Unity.Mathematics;
|
|
||||||
using UnityEngine.Serialization;
|
|
||||||
|
|
||||||
[Serializable]
|
|
||||||
public class EnvironmentObserver{
|
|
||||||
enum LabelDrawingLocation{
|
|
||||||
PlayerOffset,
|
|
||||||
HitLocation,
|
|
||||||
IntersectingLength,
|
|
||||||
}
|
|
||||||
|
|
||||||
enum ObserverGizmoDrawingCondition{
|
|
||||||
Always,
|
|
||||||
OnlyActive,
|
|
||||||
Never
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum CastType{
|
|
||||||
Ray,
|
|
||||||
BoxOverlap,
|
|
||||||
SphereOverlap,
|
|
||||||
BoxCast,
|
|
||||||
SphereCast
|
|
||||||
}
|
|
||||||
|
|
||||||
[PropertySpace(0, 5), LabelWidth(60)]
|
|
||||||
public string label;
|
|
||||||
[PropertySpace(0, 10), LabelWidth(60)]
|
|
||||||
public CastType castType;
|
|
||||||
|
|
||||||
[Button(ButtonSizes.Large), GUIColor("@GetObserverStatusColorStatic(active, hit)"), PropertyOrder(-1), PropertySpace(5, 5)]
|
|
||||||
public void Active(){
|
|
||||||
active = !active;
|
|
||||||
}
|
|
||||||
|
|
||||||
[HideInInspector]
|
|
||||||
public bool active;
|
|
||||||
|
|
||||||
// Parameters for Cast cast types
|
|
||||||
[FoldoutGroup("Settings")] public float length;
|
|
||||||
[FoldoutGroup("Settings")] public Vector3 direction;
|
|
||||||
[FoldoutGroup("Settings")] public Vector3 offset;
|
|
||||||
[PropertySpace(0, 5), FoldoutGroup("Settings")] public LayerMask ignoreLayers = ~0;
|
|
||||||
|
|
||||||
[ShowIfGroup("Settings/CastsOnly", VisibleIf = "@castType == CastType.SphereCast || castType == CastType.SphereOverlap")]
|
|
||||||
[FoldoutGroup("Settings")] public float width;
|
|
||||||
|
|
||||||
// Parameters for Overlap cast types
|
|
||||||
[ShowIfGroup("Settings/3DOnly", VisibleIf = "@castType == CastType.BoxCast && castType != CastType.BoxOverlap")] [FoldoutGroup("Settings")]
|
|
||||||
public Vector3 size;
|
|
||||||
|
|
||||||
[ShowIfGroup("Settings/3DOnly")]
|
|
||||||
public Vector3 rotation;
|
|
||||||
|
|
||||||
[HideInInspector]
|
|
||||||
public RaycastHit hit;
|
|
||||||
|
|
||||||
[HideInInspector]
|
|
||||||
public Collider[] overlapHits;
|
|
||||||
|
|
||||||
[FoldoutGroup("Text")]
|
|
||||||
[BoxGroup("Text/Label")] public bool drawLabel;
|
|
||||||
[ShowInInspector, SerializeField] [BoxGroup("Text/Label")] LabelDrawingLocation labelTextLocation;
|
|
||||||
[BoxGroup("Text/Label")] public float labelSize;
|
|
||||||
[BoxGroup("Text/Label")] public Vector3 labelLocationOffset;
|
|
||||||
[BoxGroup("Text/Label")] public Vector3 labelRotationOffset;
|
|
||||||
|
|
||||||
[BoxGroup("Text/Hit")] public bool drawHitName;
|
|
||||||
[ShowInInspector, SerializeField] [BoxGroup("Text/Hit")] LabelDrawingLocation hitTextLocation;
|
|
||||||
[BoxGroup("Text/Hit")] public float hitTextSize;
|
|
||||||
[BoxGroup("Text/Hit")] public Vector3 hitLocationOffset;
|
|
||||||
[BoxGroup("Text/Hit")] public Vector3 hitRotationOffset;
|
|
||||||
[FoldoutGroup("Text"), SerializeField, ShowInInspector] ObserverGizmoDrawingCondition gizmoDrawingCondition;
|
|
||||||
|
|
||||||
[SerializeReference, PropertySpace(5, 5)]
|
|
||||||
public List<EnvironmentObserver> children;
|
|
||||||
|
|
||||||
// NOTE: I had a ref for a RaycastHit here that would correspond to hit but idk if it's needed.
|
|
||||||
public bool Evaluate(GameObject source){
|
|
||||||
if (active) {
|
|
||||||
// Remove player's layer from LayerMask.
|
|
||||||
ignoreLayers -= source.layer;
|
|
||||||
|
|
||||||
// Set some of the variables used later during casting
|
|
||||||
Vector3 relativeStart = source.transform.position + offset;
|
|
||||||
Vector3 relativeStartWithRotation = source.transform.position + source.transform.rotation * offset ;
|
|
||||||
|
|
||||||
switch (castType) {
|
|
||||||
case CastType.Ray:
|
|
||||||
Physics.Raycast(relativeStart, source.transform.rotation * direction, out hit, length, ignoreLayers);
|
|
||||||
break;
|
|
||||||
case CastType.BoxOverlap:
|
|
||||||
overlapHits = Physics.OverlapBox(relativeStartWithRotation, size / 2f,
|
|
||||||
source.transform.rotation * Quaternion.Euler(rotation), ignoreLayers);
|
|
||||||
|
|
||||||
if (overlapHits.Length > 0) {
|
|
||||||
return true;
|
|
||||||
};
|
|
||||||
|
|
||||||
break;
|
|
||||||
case CastType.SphereOverlap:
|
|
||||||
break;
|
|
||||||
case CastType.BoxCast:
|
|
||||||
// TODO: Make this not an if statement. Check that it works with NodeCanvas first
|
|
||||||
if (Physics.BoxCast(relativeStartWithRotation, size / 2f,
|
|
||||||
source.transform.rotation * Quaternion.Euler(rotation) * direction,
|
|
||||||
out hit, source.transform.rotation * Quaternion.Euler(rotation), length,
|
|
||||||
ignoreLayers)
|
|
||||||
) {
|
|
||||||
};
|
|
||||||
break;
|
|
||||||
case CastType.SphereCast:
|
|
||||||
// TODO: Make this not an if statement. Check that it works with NodeCanvas first
|
|
||||||
if (Physics.SphereCast(relativeStartWithRotation, width / 2f,
|
|
||||||
source.transform.rotation * Quaternion.Euler(rotation) * direction,
|
|
||||||
out hit, length,
|
|
||||||
ignoreLayers)
|
|
||||||
) {
|
|
||||||
};
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (hit.transform != null) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void DrawObserverGizmo(GameObject source, bool drawAnyways = false){
|
|
||||||
if (!drawAnyways){
|
|
||||||
if (gizmoDrawingCondition == ObserverGizmoDrawingCondition.Never || (gizmoDrawingCondition == ObserverGizmoDrawingCondition.OnlyActive ! & active)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Vector3 relativeStart = source.transform.position + offset;
|
|
||||||
Vector3 relativeStartWithRotation = source.transform.position + source.transform.rotation * (offset);
|
|
||||||
|
|
||||||
// Setup the variables for boxcast, spherecast, etc
|
|
||||||
// Create an offset start point for the center of the wirebox, since gizmos are drawn with their pivot in the center.
|
|
||||||
Vector3 offsetWithRotationAndLength = (Quaternion.LookRotation(direction) * Quaternion.Euler(rotation)) * (Vector3.forward * (length / 2));
|
|
||||||
Vector3 offsetFromCenter = relativeStartWithRotation + source.transform.rotation * offsetWithRotationAndLength;
|
|
||||||
|
|
||||||
// Also create a rotation for use with the gizmos. Mainly just to shorten the lines
|
|
||||||
Quaternion gizmosRotation = source.transform.rotation * Quaternion.LookRotation(direction) * Quaternion.Euler(rotation);
|
|
||||||
Vector3 firstBoxOffset = gizmosRotation * (Vector3.forward * size.z);
|
|
||||||
|
|
||||||
Color gizmoColor = Evaluate(source) ? Color.green : Color.red;
|
|
||||||
gizmoColor = active ? gizmoColor : Color.gray;
|
|
||||||
|
|
||||||
using (Draw.ingame.WithColor(gizmoColor)){
|
|
||||||
switch (castType) {
|
|
||||||
case CastType.Ray:
|
|
||||||
Draw.ingame.Line(relativeStart, relativeStart + (source.transform.rotation * direction.normalized) * length);
|
|
||||||
break;
|
|
||||||
case CastType.BoxOverlap:
|
|
||||||
Draw.ingame.WireBox(relativeStartWithRotation, source.transform.rotation * Quaternion.Euler(rotation), size);
|
|
||||||
break;
|
|
||||||
case CastType.SphereCast:
|
|
||||||
Draw.ingame.SolidCircle(relativeStartWithRotation, relativeStartWithRotation - Camera.main.transform.position, width * 1, gizmoColor.Alpha(.5f));
|
|
||||||
Draw.ingame.WireCapsule(relativeStartWithRotation, relativeStartWithRotation + gizmosRotation * (Vector3.forward * (length - width / 2)), width);
|
|
||||||
break;
|
|
||||||
case CastType.BoxCast:
|
|
||||||
// Draw the gizmos for the boxcast
|
|
||||||
Draw.ingame.WireBox(offsetFromCenter, gizmosRotation, new float3(size.x, size.y, length));
|
|
||||||
Draw.ingame.SolidBox(relativeStartWithRotation, gizmosRotation, size, gizmoColor.Alpha(.1f));
|
|
||||||
|
|
||||||
Draw.ingame.WireBox(relativeStartWithRotation, gizmosRotation, size);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
throw new ArgumentOutOfRangeException();
|
|
||||||
}
|
|
||||||
|
|
||||||
Draw.ingame.SolidCircle(relativeStartWithRotation, relativeStartWithRotation - Camera.main.transform.position, .4f);
|
|
||||||
Draw.ingame.SolidCircle(hit.point, hit.point - Camera.main.transform.position, .4f);
|
|
||||||
|
|
||||||
// Set up variables for label (not hit name)
|
|
||||||
Vector3 labelStartPos = Vector3.zero;
|
|
||||||
switch (labelTextLocation) {
|
|
||||||
case LabelDrawingLocation.PlayerOffset:
|
|
||||||
labelStartPos = source.transform.position;
|
|
||||||
break;
|
|
||||||
case LabelDrawingLocation.IntersectingLength:
|
|
||||||
labelStartPos = offsetFromCenter;
|
|
||||||
break;
|
|
||||||
case LabelDrawingLocation.HitLocation:{
|
|
||||||
if (hit.transform != null) {
|
|
||||||
labelStartPos = hit.point;
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Draw label
|
|
||||||
if (drawLabel) {
|
|
||||||
Draw.ingame.Label3D(
|
|
||||||
labelStartPos + labelLocationOffset,
|
|
||||||
gizmosRotation * Quaternion.Euler(labelRotationOffset),
|
|
||||||
label,
|
|
||||||
labelSize,
|
|
||||||
LabelAlignment.MiddleLeft,
|
|
||||||
gizmoColor
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set up variables for hit name
|
|
||||||
// Since the label is already drawn just use the previous startPos
|
|
||||||
switch (labelTextLocation) {
|
|
||||||
case LabelDrawingLocation.PlayerOffset:
|
|
||||||
labelStartPos = source.transform.position;
|
|
||||||
break;
|
|
||||||
case LabelDrawingLocation.IntersectingLength:
|
|
||||||
labelStartPos = offsetFromCenter;
|
|
||||||
break;
|
|
||||||
case LabelDrawingLocation.HitLocation:{
|
|
||||||
if (hit.transform != null) {
|
|
||||||
labelStartPos = hit.point;
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Draw hitname
|
|
||||||
if (drawLabel) {
|
|
||||||
Draw.ingame.Label3D(
|
|
||||||
labelStartPos + labelLocationOffset,
|
|
||||||
gizmosRotation * Quaternion.Euler(labelRotationOffset),
|
|
||||||
label,
|
|
||||||
hitTextSize,
|
|
||||||
LabelAlignment.MiddleLeft,
|
|
||||||
gizmoColor
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static Color GetObserverStatusColorStatic(bool active, RaycastHit hit){
|
|
||||||
if (active) {
|
|
||||||
if (hit.Equals(default(RaycastHit))) {
|
|
||||||
return Color.green;
|
|
||||||
}
|
|
||||||
|
|
||||||
return Color.red;
|
|
||||||
}
|
|
||||||
|
|
||||||
return Color.gray;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public class PlayerEnvironmentManager : MonoBehaviour{
|
|
||||||
[OdinSerialize]
|
|
||||||
public List<EnvironmentObserver> observers;
|
|
||||||
|
|
||||||
void Start(){
|
|
||||||
CheckDuplicateLabels(observers);
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: Not working.
|
|
||||||
void CheckDuplicateLabels(List<EnvironmentObserver> sourceList){
|
|
||||||
foreach (EnvironmentObserver sourceObserver in observers) {
|
|
||||||
foreach (EnvironmentObserver observer in sourceList) {
|
|
||||||
if (sourceObserver == observer) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (sourceObserver.label == observer.label) {
|
|
||||||
Debug.LogError($"Duplicate label found in observer: {observer.label} is in use multiple times");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (observer.children != null && observer.children.Count > 0) {
|
|
||||||
CheckDuplicateLabels(observer.children);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool EvaluateFromString(string searchLabel, List<EnvironmentObserver> observerList = null){
|
|
||||||
List<EnvironmentObserver> listToUse = observers;
|
|
||||||
|
|
||||||
if (observerList != null) {
|
|
||||||
listToUse = observerList;
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (EnvironmentObserver observer in listToUse) {
|
|
||||||
if (observer.label == searchLabel) {
|
|
||||||
return observer.Evaluate(gameObject);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (observer.children != null && observer.children.Count > 0) {
|
|
||||||
foreach (EnvironmentObserver childObserver in observer.children) {
|
|
||||||
EvaluateFromString(searchLabel, childObserver.children);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public EnvironmentObserver FindObserverFromString(string searchLabel, List<EnvironmentObserver> observerList = null){
|
|
||||||
List<EnvironmentObserver> listToUse = observers;
|
|
||||||
|
|
||||||
if (observerList != null) {
|
|
||||||
listToUse = observerList;
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (EnvironmentObserver observer in listToUse) {
|
|
||||||
if (observer.label == searchLabel) {
|
|
||||||
return observer;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (observer.children != null && observer.children.Count > 0) {
|
|
||||||
foreach (EnvironmentObserver childObserver in observer.children) {
|
|
||||||
FindObserverFromString(searchLabel, childObserver.children);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Update(){
|
|
||||||
}
|
|
||||||
|
|
||||||
void LateUpdate(){
|
|
||||||
// Draw Gizmos
|
|
||||||
foreach (EnvironmentObserver observer in observers) {
|
|
||||||
observer.DrawObserverGizmo(gameObject);
|
|
||||||
|
|
||||||
if (observer.children != null && observer.children.Count > 0) {
|
|
||||||
foreach (EnvironmentObserver childObserver in observer.children) {
|
|
||||||
childObserver.DrawObserverGizmo(gameObject);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Clear hit
|
|
||||||
foreach (EnvironmentObserver observer in observers) {
|
|
||||||
observer.hit = default;
|
|
||||||
|
|
||||||
if (observer.children != null && observer.children.Count > 0) {
|
|
||||||
foreach (EnvironmentObserver childObserver in observer.children) {
|
|
||||||
childObserver.hit = default;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 7a8c0593fef54844383c2f154cf8806c
|
|
||||||
@@ -15,42 +15,42 @@ public class PlayerMovement : MonoBehaviour
|
|||||||
thisPlayer = GetComponent<Player>();
|
thisPlayer = GetComponent<Player>();
|
||||||
}
|
}
|
||||||
|
|
||||||
// void Update(){
|
void Update(){
|
||||||
// // Create Ray Colors
|
// Create Ray Colors
|
||||||
// Color forwardRayStatus = Color.red;
|
Color forwardRayStatus = Color.red;
|
||||||
// Color leftRayStatus = Color.red;
|
Color leftRayStatus = Color.red;
|
||||||
// Color rightRayStatus = Color.red;
|
Color rightRayStatus = Color.red;
|
||||||
//
|
|
||||||
// if (forwardRay.collider&& forwardRay.transform.gameObject.layer == LayerMask.NameToLayer("Environment")){ forwardRayStatus = Color.green;}
|
if (forwardRay.collider&& forwardRay.transform.gameObject.layer == LayerMask.NameToLayer("Environment")){ forwardRayStatus = Color.green;}
|
||||||
// if (leftRay.collider&& leftRay.transform.gameObject.layer == LayerMask.NameToLayer("Environment")){ leftRayStatus = Color.green;}
|
if (leftRay.collider&& leftRay.transform.gameObject.layer == LayerMask.NameToLayer("Environment")){ leftRayStatus = Color.green;}
|
||||||
// if (rightRay.collider&& rightRay.transform.gameObject.layer == LayerMask.NameToLayer("Environment")){ rightRayStatus = Color.green;}
|
if (rightRay.collider&& rightRay.transform.gameObject.layer == LayerMask.NameToLayer("Environment")){ rightRayStatus = Color.green;}
|
||||||
//
|
|
||||||
// using (Draw.WithColor(forwardRayStatus)) {
|
using (Draw.WithColor(forwardRayStatus)) {
|
||||||
// Draw.Line(transform.position + transform.up, transform.position + transform.forward * 2.5f + transform.up);
|
Draw.Line(transform.position + transform.up, transform.position + transform.forward * 2.5f + transform.up);
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// using (Draw.WithColor(leftRayStatus)) {
|
|
||||||
// Draw.Line(transform.position + transform.up, transform.position + -transform.right * 2f + transform.up);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// using (Draw.WithColor(rightRayStatus)) {
|
|
||||||
// Draw.Line(transform.position + transform.up, transform.position + transform.right * 2f + transform.up);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// void FixedUpdate(){
|
using (Draw.WithColor(leftRayStatus)) {
|
||||||
// LayerMask environmentLayer = LayerMask.NameToLayer("Environment");
|
Draw.Line(transform.position + transform.up, transform.position + -transform.right * 2f + transform.up);
|
||||||
//
|
}
|
||||||
// if (Physics.Raycast(transform.position + Vector3.up, transform.forward, out forwardRay, 2.5f, ~environmentLayer)){
|
|
||||||
// thisPlayer.controls.graph.SendEvent("ForwardRay", true, null);
|
using (Draw.WithColor(rightRayStatus)) {
|
||||||
// }
|
Draw.Line(transform.position + transform.up, transform.position + transform.right * 2f + transform.up);
|
||||||
//
|
}
|
||||||
// if (Physics.Raycast(transform.position + Vector3.up, transform.position + Vector3.left, out leftRay, maxDistance: 2f, ~environmentLayer )) {
|
}
|
||||||
// thisPlayer.controls.graph.SendEvent("LeftRay", true, null);
|
|
||||||
// }
|
void FixedUpdate(){
|
||||||
//
|
LayerMask environmentLayer = LayerMask.NameToLayer("Environment");
|
||||||
// if (Physics.Raycast(transform.position + Vector3.up, transform.position + Vector3.right, out rightRay, maxDistance: 2f, ~environmentLayer )) {
|
|
||||||
// thisPlayer.controls.graph.SendEvent("RightRay", true, null);
|
if (Physics.Raycast(transform.position + Vector3.up, transform.forward, out forwardRay, 2.5f, ~environmentLayer)){
|
||||||
// }
|
thisPlayer.controls.graph.SendEvent("ForwardRay", true, null);
|
||||||
// }
|
}
|
||||||
|
|
||||||
|
if (Physics.Raycast(transform.position + Vector3.up, transform.position + Vector3.left, out leftRay, maxDistance: 2f, ~environmentLayer )) {
|
||||||
|
thisPlayer.controls.graph.SendEvent("LeftRay", true, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Physics.Raycast(transform.position + Vector3.up, transform.position + Vector3.right, out rightRay, maxDistance: 2f, ~environmentLayer )) {
|
||||||
|
thisPlayer.controls.graph.SendEvent("RightRay", true, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
"GUID:de4e6084e6d474788bb8c799d6b461ec",
|
"GUID:de4e6084e6d474788bb8c799d6b461ec",
|
||||||
"GUID:d8b63aba1907145bea998dd612889d6b",
|
"GUID:d8b63aba1907145bea998dd612889d6b",
|
||||||
"GUID:4307f53044263cf4b835bd812fc161a4",
|
"GUID:4307f53044263cf4b835bd812fc161a4",
|
||||||
"GUID:e0cd26848372d4e5c891c569017e11f1",
|
"GUID:4099e5319e98558428028d54bc62664e",
|
||||||
"GUID:1826c0224c0d048b88112c79bbb0cd85"
|
"GUID:1826c0224c0d048b88112c79bbb0cd85"
|
||||||
],
|
],
|
||||||
"includePlatforms": [],
|
"includePlatforms": [],
|
||||||
|
|||||||
@@ -1,116 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using UnityEngine;
|
|
||||||
using Sirenix.OdinInspector;
|
|
||||||
using UnityEngine.ProBuilder;
|
|
||||||
using UnityEngine.ProBuilder.MeshOperations;
|
|
||||||
using Random = UnityEngine.Random;
|
|
||||||
|
|
||||||
public class WorldGenerator : MonoBehaviour{
|
|
||||||
public Vector2 worldSize;
|
|
||||||
|
|
||||||
public int platformCount;
|
|
||||||
|
|
||||||
[MinMaxSlider(1f, 100f)]
|
|
||||||
public Vector2 platformHeightRange;
|
|
||||||
[MinMaxSlider(25f, 300f)]
|
|
||||||
public Vector2 platformWidthRange;
|
|
||||||
|
|
||||||
[Header("Mega Platforms")]
|
|
||||||
public int megaPlatformCount;
|
|
||||||
[MinMaxSlider(30f, 100f)]
|
|
||||||
public Vector2 megaPlatformtHeightRange = new Vector2(20, 20);
|
|
||||||
[MinMaxSlider(250f, 500f)]
|
|
||||||
public Vector2 megaPlatformWidthRange = new Vector2(50, 50);
|
|
||||||
|
|
||||||
private List<GameObject> allPlatforms = new List<GameObject>();
|
|
||||||
private List<GameObject> megaPlatforms = new List<GameObject>();
|
|
||||||
|
|
||||||
void Start(){
|
|
||||||
GenerateWorld();
|
|
||||||
}
|
|
||||||
|
|
||||||
[Button]
|
|
||||||
public void RegenerateWorld(){
|
|
||||||
ClearWorld();
|
|
||||||
GenerateWorld();
|
|
||||||
}
|
|
||||||
|
|
||||||
void ClearWorld(){
|
|
||||||
allPlatforms.ForEach(Destroy);
|
|
||||||
}
|
|
||||||
|
|
||||||
void GenerateWorld(){
|
|
||||||
GenerateMegaPlatforms();
|
|
||||||
GenerateStandardPlatforms();
|
|
||||||
}
|
|
||||||
|
|
||||||
void GenerateMegaPlatforms(){
|
|
||||||
for (int i = 0; i < megaPlatformCount; i++) {
|
|
||||||
Vector3 newPlatformSize = new Vector3(
|
|
||||||
Random.Range(megaPlatformWidthRange.x, megaPlatformWidthRange.y),
|
|
||||||
Random.Range(megaPlatformtHeightRange.x, megaPlatformtHeightRange.y),
|
|
||||||
Random.Range(megaPlatformWidthRange.x, megaPlatformWidthRange.y)
|
|
||||||
);
|
|
||||||
|
|
||||||
var newPlatform = ShapeGenerator.GenerateCube(PivotLocation.Center, newPlatformSize);
|
|
||||||
|
|
||||||
newPlatform.SetMaterial(newPlatform.faces, BuiltinMaterials.defaultMaterial);
|
|
||||||
newPlatform.gameObject.AddComponent<BoxCollider>();
|
|
||||||
|
|
||||||
newPlatform.transform.position = new Vector3(
|
|
||||||
Random.Range(-worldSize.x, worldSize.x),
|
|
||||||
newPlatformSize.y / 2f,
|
|
||||||
Random.Range(-worldSize.y, worldSize.y)
|
|
||||||
);
|
|
||||||
|
|
||||||
newPlatform.gameObject.name = "Megaplatform";
|
|
||||||
|
|
||||||
megaPlatforms.Add(newPlatform.gameObject);
|
|
||||||
allPlatforms.Add(newPlatform.gameObject);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void GenerateStandardPlatforms(){
|
|
||||||
for (int i = 0; i < platformCount; i++) {
|
|
||||||
Vector3 newPlatformSize = new Vector3(
|
|
||||||
Random.Range(platformWidthRange.x, platformWidthRange.y),
|
|
||||||
Random.Range(platformHeightRange.x, platformHeightRange.y),
|
|
||||||
Random.Range(platformWidthRange.x, platformWidthRange.y)
|
|
||||||
);
|
|
||||||
|
|
||||||
var newPlatform = ShapeGenerator.GenerateCube(PivotLocation.Center, newPlatformSize);
|
|
||||||
newPlatform.gameObject.layer = 2;
|
|
||||||
|
|
||||||
newPlatform.SetMaterial(newPlatform.faces, BuiltinMaterials.defaultMaterial);
|
|
||||||
|
|
||||||
Vector3 newPlatformPosXZ = new Vector3(
|
|
||||||
Random.Range(-worldSize.x, worldSize.x),
|
|
||||||
350f,
|
|
||||||
Random.Range(-worldSize.y, worldSize.y)
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
Physics.Raycast(newPlatformPosXZ, Vector3.down, out RaycastHit hit, Mathf.Infinity, LayerMask.GetMask("Default"));
|
|
||||||
|
|
||||||
Debug.Log(hit.collider.name);
|
|
||||||
|
|
||||||
newPlatform.transform.position = new Vector3(
|
|
||||||
newPlatformPosXZ.x,
|
|
||||||
hit.point.y + newPlatformSize.y /2f,
|
|
||||||
newPlatformPosXZ.z
|
|
||||||
);
|
|
||||||
|
|
||||||
newPlatform.gameObject.name = "Platform";
|
|
||||||
|
|
||||||
// newPlatform.gameObject.AddComponent<BoxCollider>();
|
|
||||||
allPlatforms.Add(newPlatform.gameObject);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update is called once per frame
|
|
||||||
void Update()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: f48f68f001ea2ca4b89207ff5b4960a9
|
|
||||||
@@ -342,9 +342,6 @@ MonoBehaviour:
|
|||||||
skyOcclusionIntensityMultiplier:
|
skyOcclusionIntensityMultiplier:
|
||||||
m_OverrideState: 1
|
m_OverrideState: 1
|
||||||
m_Value: 1
|
m_Value: 1
|
||||||
worldOffset:
|
|
||||||
m_OverrideState: 1
|
|
||||||
m_Value: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!114 &-1216621516061285780
|
--- !u!114 &-1216621516061285780
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 3
|
m_ObjectHideFlags: 3
|
||||||
@@ -465,6 +462,8 @@ MonoBehaviour:
|
|||||||
- {fileID: -6288072647309666549}
|
- {fileID: -6288072647309666549}
|
||||||
- {fileID: 7518938298396184218}
|
- {fileID: 7518938298396184218}
|
||||||
- {fileID: -1410297666881709256}
|
- {fileID: -1410297666881709256}
|
||||||
|
- {fileID: -7750755424749557576}
|
||||||
|
- {fileID: -5139089513906902183}
|
||||||
--- !u!114 &853819529557874667
|
--- !u!114 &853819529557874667
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 3
|
m_ObjectHideFlags: 3
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ MonoBehaviour:
|
|||||||
lineOpacity: 1
|
lineOpacity: 1
|
||||||
solidOpacity: 0.55
|
solidOpacity: 0.55
|
||||||
textOpacity: 1
|
textOpacity: 1
|
||||||
lineOpacityBehindObjects: 0.3186
|
lineOpacityBehindObjects: 0.12
|
||||||
solidOpacityBehindObjects: 0.1286
|
solidOpacityBehindObjects: 0.45
|
||||||
textOpacityBehindObjects: 0.0881
|
textOpacityBehindObjects: 0.9
|
||||||
curveResolution: 1
|
curveResolution: 1
|
||||||
|
|||||||
@@ -54,18 +54,16 @@ MonoBehaviour:
|
|||||||
- rid: 6852985685364965394
|
- rid: 6852985685364965394
|
||||||
- rid: 8712630790384254976
|
- rid: 8712630790384254976
|
||||||
- rid: 1219305102947385344
|
- rid: 1219305102947385344
|
||||||
|
- rid: 2028245633001062400
|
||||||
|
- rid: 2028245633001062401
|
||||||
|
- rid: 2028245633001062402
|
||||||
|
- rid: 2028245633001062403
|
||||||
|
- rid: 2028245633001062404
|
||||||
|
- rid: 2028245633001062405
|
||||||
|
- rid: 2028245633001062406
|
||||||
|
- rid: 2028245633001062407
|
||||||
m_RuntimeSettings:
|
m_RuntimeSettings:
|
||||||
m_List:
|
m_List: []
|
||||||
- rid: 6852985685364965378
|
|
||||||
- rid: 6852985685364965379
|
|
||||||
- rid: 6852985685364965380
|
|
||||||
- rid: 6852985685364965381
|
|
||||||
- rid: 6852985685364965384
|
|
||||||
- rid: 6852985685364965385
|
|
||||||
- rid: 6852985685364965392
|
|
||||||
- rid: 6852985685364965394
|
|
||||||
- rid: 8712630790384254976
|
|
||||||
- rid: 1219305102947385344
|
|
||||||
m_AssetVersion: 8
|
m_AssetVersion: 8
|
||||||
m_ObsoleteDefaultVolumeProfile: {fileID: 0}
|
m_ObsoleteDefaultVolumeProfile: {fileID: 0}
|
||||||
m_RenderingLayerNames:
|
m_RenderingLayerNames:
|
||||||
@@ -102,6 +100,133 @@ MonoBehaviour:
|
|||||||
m_xrOcclusionMeshPS: {fileID: 4800000, guid: 4431b1f1f743fbf4eb310a967890cbea, type: 3}
|
m_xrOcclusionMeshPS: {fileID: 4800000, guid: 4431b1f1f743fbf4eb310a967890cbea, type: 3}
|
||||||
m_xrMirrorViewPS: {fileID: 4800000, guid: d5a307c014552314b9f560906d708772, type: 3}
|
m_xrMirrorViewPS: {fileID: 4800000, guid: d5a307c014552314b9f560906d708772, type: 3}
|
||||||
m_xrMotionVector: {fileID: 4800000, guid: f89aac1e4f84468418fe30e611dff395, type: 3}
|
m_xrMotionVector: {fileID: 4800000, guid: f89aac1e4f84468418fe30e611dff395, type: 3}
|
||||||
|
- rid: 2028245633001062400
|
||||||
|
type: {class: PostProcessData/ShaderResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||||
|
data:
|
||||||
|
stopNanPS: {fileID: 4800000, guid: 1121bb4e615ca3c48b214e79e841e823, type: 3}
|
||||||
|
subpixelMorphologicalAntialiasingPS: {fileID: 4800000, guid: 63eaba0ebfb82cc43bde059b4a8c65f6, type: 3}
|
||||||
|
gaussianDepthOfFieldPS: {fileID: 4800000, guid: 5e7134d6e63e0bc47a1dd2669cedb379, type: 3}
|
||||||
|
bokehDepthOfFieldPS: {fileID: 4800000, guid: 2aed67ad60045d54ba3a00c91e2d2631, type: 3}
|
||||||
|
cameraMotionBlurPS: {fileID: 4800000, guid: 1edcd131364091c46a17cbff0b1de97a, type: 3}
|
||||||
|
paniniProjectionPS: {fileID: 4800000, guid: a15b78cf8ca26ca4fb2090293153c62c, type: 3}
|
||||||
|
lutBuilderLdrPS: {fileID: 4800000, guid: 65df88701913c224d95fc554db28381a, type: 3}
|
||||||
|
lutBuilderHdrPS: {fileID: 4800000, guid: ec9fec698a3456d4fb18cf8bacb7a2bc, type: 3}
|
||||||
|
bloomPS: {fileID: 4800000, guid: 5f1864addb451f54bae8c86d230f736e, type: 3}
|
||||||
|
temporalAntialiasingPS: {fileID: 4800000, guid: 9c70c1a35ff15f340b38ea84842358bf, type: 3}
|
||||||
|
LensFlareDataDrivenPS: {fileID: 4800000, guid: 6cda457ac28612740adb23da5d39ea92, type: 3}
|
||||||
|
LensFlareScreenSpacePS: {fileID: 4800000, guid: 701880fecb344ea4c9cd0db3407ab287, type: 3}
|
||||||
|
scalingSetupPS: {fileID: 4800000, guid: e8ee25143a34b8c4388709ea947055d1, type: 3}
|
||||||
|
easuPS: {fileID: 4800000, guid: 562b7ae4f629f144aa97780546fce7c6, type: 3}
|
||||||
|
uberPostPS: {fileID: 4800000, guid: e7857e9d0c934dc4f83f270f8447b006, type: 3}
|
||||||
|
finalPostPassPS: {fileID: 4800000, guid: c49e63ed1bbcb334780a3bd19dfed403, type: 3}
|
||||||
|
m_ShaderResourcesVersion: 0
|
||||||
|
- rid: 2028245633001062401
|
||||||
|
type: {class: ScreenSpaceAmbientOcclusionPersistentResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||||
|
data:
|
||||||
|
m_Shader: {fileID: 4800000, guid: 0849e84e3d62649e8882e9d6f056a017, type: 3}
|
||||||
|
m_Version: 0
|
||||||
|
- rid: 2028245633001062402
|
||||||
|
type: {class: UniversalRenderPipelineEditorAssets, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||||
|
data:
|
||||||
|
m_DefaultSettingsVolumeProfile: {fileID: 11400000, guid: eda47df5b85f4f249abf7abd73db2cb2, type: 2}
|
||||||
|
- rid: 2028245633001062403
|
||||||
|
type: {class: ScreenSpaceAmbientOcclusionDynamicResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||||
|
data:
|
||||||
|
m_BlueNoise256Textures:
|
||||||
|
- {fileID: 2800000, guid: 36f118343fc974119bee3d09e2111500, type: 3}
|
||||||
|
- {fileID: 2800000, guid: 4b7b083e6b6734e8bb2838b0b50a0bc8, type: 3}
|
||||||
|
- {fileID: 2800000, guid: c06cc21c692f94f5fb5206247191eeee, type: 3}
|
||||||
|
- {fileID: 2800000, guid: cb76dd40fa7654f9587f6a344f125c9a, type: 3}
|
||||||
|
- {fileID: 2800000, guid: e32226222ff144b24bf3a5a451de54bc, type: 3}
|
||||||
|
- {fileID: 2800000, guid: 3302065f671a8450b82c9ddf07426f3a, type: 3}
|
||||||
|
- {fileID: 2800000, guid: 56a77a3e8d64f47b6afe9e3c95cb57d5, type: 3}
|
||||||
|
m_Version: 0
|
||||||
|
- rid: 2028245633001062404
|
||||||
|
type: {class: PostProcessData/TextureResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||||
|
data:
|
||||||
|
blueNoise16LTex:
|
||||||
|
- {fileID: 2800000, guid: 81200413a40918d4d8702e94db29911c, type: 3}
|
||||||
|
- {fileID: 2800000, guid: d50c5e07c9911a74982bddf7f3075e7b, type: 3}
|
||||||
|
- {fileID: 2800000, guid: 1134690bf9216164dbc75050e35b7900, type: 3}
|
||||||
|
- {fileID: 2800000, guid: 7ce2118f74614a94aa8a0cdf2e6062c3, type: 3}
|
||||||
|
- {fileID: 2800000, guid: 2ca97df9d1801e84a8a8f2c53cb744f0, type: 3}
|
||||||
|
- {fileID: 2800000, guid: e63eef8f54aa9dc4da9a5ac094b503b5, type: 3}
|
||||||
|
- {fileID: 2800000, guid: 39451254daebd6d40b52899c1f1c0c1b, type: 3}
|
||||||
|
- {fileID: 2800000, guid: c94ad916058dff743b0f1c969ddbe660, type: 3}
|
||||||
|
- {fileID: 2800000, guid: ed5ea7ce59ca8ec4f9f14bf470a30f35, type: 3}
|
||||||
|
- {fileID: 2800000, guid: 071e954febf155243a6c81e48f452644, type: 3}
|
||||||
|
- {fileID: 2800000, guid: 96aaab9cc247d0b4c98132159688c1af, type: 3}
|
||||||
|
- {fileID: 2800000, guid: fc3fa8f108657e14486697c9a84ccfc5, type: 3}
|
||||||
|
- {fileID: 2800000, guid: bfed3e498947fcb4890b7f40f54d85b9, type: 3}
|
||||||
|
- {fileID: 2800000, guid: d512512f4af60a442ab3458489412954, type: 3}
|
||||||
|
- {fileID: 2800000, guid: 47a45908f6db0cb44a0d5e961143afec, type: 3}
|
||||||
|
- {fileID: 2800000, guid: 4dcc0502f8586f941b5c4a66717205e8, type: 3}
|
||||||
|
- {fileID: 2800000, guid: 9d92991794bb5864c8085468b97aa067, type: 3}
|
||||||
|
- {fileID: 2800000, guid: 14381521ff11cb74abe3fe65401c23be, type: 3}
|
||||||
|
- {fileID: 2800000, guid: d36f0fe53425e08499a2333cf423634c, type: 3}
|
||||||
|
- {fileID: 2800000, guid: d4044ea2490d63b43aa1765f8efbf8a9, type: 3}
|
||||||
|
- {fileID: 2800000, guid: c9bd74624d8070f429e3f46d161f9204, type: 3}
|
||||||
|
- {fileID: 2800000, guid: d5c9b274310e5524ebe32a4e4da3df1f, type: 3}
|
||||||
|
- {fileID: 2800000, guid: f69770e54f2823f43badf77916acad83, type: 3}
|
||||||
|
- {fileID: 2800000, guid: 10b6c6d22e73dea46a8ab36b6eebd629, type: 3}
|
||||||
|
- {fileID: 2800000, guid: a2ec5cbf5a9b64345ad3fab0912ddf7b, type: 3}
|
||||||
|
- {fileID: 2800000, guid: 1c3c6d69a645b804fa232004b96b7ad3, type: 3}
|
||||||
|
- {fileID: 2800000, guid: d18a24d7b4ed50f4387993566d9d3ae2, type: 3}
|
||||||
|
- {fileID: 2800000, guid: c989e1ed85cf7154caa922fec53e6af6, type: 3}
|
||||||
|
- {fileID: 2800000, guid: ff47e5a0f105eb34883b973e51f4db62, type: 3}
|
||||||
|
- {fileID: 2800000, guid: fa042edbfc40fbd4bad0ab9d505b1223, type: 3}
|
||||||
|
- {fileID: 2800000, guid: 896d9004736809c4fb5973b7c12eb8b9, type: 3}
|
||||||
|
- {fileID: 2800000, guid: 179f794063d2a66478e6e726f84a65bc, type: 3}
|
||||||
|
filmGrainTex:
|
||||||
|
- {fileID: 2800000, guid: 654c582f7f8a5a14dbd7d119cbde215d, type: 3}
|
||||||
|
- {fileID: 2800000, guid: dd77ffd079630404e879388999033049, type: 3}
|
||||||
|
- {fileID: 2800000, guid: 1097e90e1306e26439701489f391a6c0, type: 3}
|
||||||
|
- {fileID: 2800000, guid: f0b67500f7fad3b4c9f2b13e8f41ba6e, type: 3}
|
||||||
|
- {fileID: 2800000, guid: 9930fb4528622b34687b00bbe6883de7, type: 3}
|
||||||
|
- {fileID: 2800000, guid: bd9e8c758250ef449a4b4bfaad7a2133, type: 3}
|
||||||
|
- {fileID: 2800000, guid: 510a2f57334933e4a8dbabe4c30204e4, type: 3}
|
||||||
|
- {fileID: 2800000, guid: b4db8180660810945bf8d55ab44352ad, type: 3}
|
||||||
|
- {fileID: 2800000, guid: fd2fd78b392986e42a12df2177d3b89c, type: 3}
|
||||||
|
- {fileID: 2800000, guid: 5cdee82a77d13994f83b8fdabed7c301, type: 3}
|
||||||
|
smaaAreaTex: {fileID: 2800000, guid: d1f1048909d55cd4fa1126ab998f617e, type: 3}
|
||||||
|
smaaSearchTex: {fileID: 2800000, guid: 51eee22c2a633ef4aada830eed57c3fd, type: 3}
|
||||||
|
m_TexturesResourcesVersion: 0
|
||||||
|
- rid: 2028245633001062405
|
||||||
|
type: {class: RenderingDebuggerRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||||
|
data:
|
||||||
|
m_version: 0
|
||||||
|
- rid: 2028245633001062406
|
||||||
|
type: {class: VrsRenderPipelineRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||||
|
data:
|
||||||
|
m_TextureComputeShader: {fileID: 7200000, guid: cacb30de6c40c7444bbc78cb0a81fd2a, type: 3}
|
||||||
|
m_VisualizationShader: {fileID: 4800000, guid: 620b55b8040a88d468e94abe55bed5ba, type: 3}
|
||||||
|
m_VisualizationLookupTable:
|
||||||
|
m_Data:
|
||||||
|
- {r: 1, g: 0, b: 0, a: 1}
|
||||||
|
- {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
|
||||||
|
- {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
- {r: 0, g: 1, b: 0, a: 1}
|
||||||
|
- {r: 0.75, g: 0.75, b: 0, a: 1}
|
||||||
|
- {r: 0, g: 0.75, b: 0.55, a: 1}
|
||||||
|
- {r: 0.5, g: 0, b: 0.5, a: 1}
|
||||||
|
- {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||||
|
- {r: 0, g: 0, b: 1, a: 1}
|
||||||
|
m_ConversionLookupTable:
|
||||||
|
m_Data:
|
||||||
|
- {r: 1, g: 0, b: 0, a: 1}
|
||||||
|
- {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
|
||||||
|
- {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
- {r: 0, g: 1, b: 0, a: 1}
|
||||||
|
- {r: 0.75, g: 0.75, b: 0, a: 1}
|
||||||
|
- {r: 0, g: 0.75, b: 0.55, a: 1}
|
||||||
|
- {r: 0.5, g: 0, b: 0.5, a: 1}
|
||||||
|
- {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||||
|
- {r: 0, g: 0, b: 1, a: 1}
|
||||||
|
- rid: 2028245633001062407
|
||||||
|
type: {class: LightmapSamplingSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||||
|
data:
|
||||||
|
m_Version: 1
|
||||||
|
m_UseBicubicLightmapSampling: 0
|
||||||
- rid: 6852985685364965376
|
- rid: 6852985685364965376
|
||||||
type: {class: URPShaderStrippingSetting, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
type: {class: URPShaderStrippingSetting, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||||
data:
|
data:
|
||||||
@@ -115,9 +240,6 @@ MonoBehaviour:
|
|||||||
m_AutodeskInteractive: {fileID: 4800000, guid: 0e9d5a909a1f7e84882a534d0d11e49f, type: 3}
|
m_AutodeskInteractive: {fileID: 4800000, guid: 0e9d5a909a1f7e84882a534d0d11e49f, type: 3}
|
||||||
m_AutodeskInteractiveTransparent: {fileID: 4800000, guid: 5c81372d981403744adbdda4433c9c11, type: 3}
|
m_AutodeskInteractiveTransparent: {fileID: 4800000, guid: 5c81372d981403744adbdda4433c9c11, type: 3}
|
||||||
m_AutodeskInteractiveMasked: {fileID: 4800000, guid: 80aa867ac363ac043847b06ad71604cd, type: 3}
|
m_AutodeskInteractiveMasked: {fileID: 4800000, guid: 80aa867ac363ac043847b06ad71604cd, type: 3}
|
||||||
m_TerrainDetailLit: {fileID: 4800000, guid: f6783ab646d374f94b199774402a5144, type: 3}
|
|
||||||
m_TerrainDetailGrassBillboard: {fileID: 4800000, guid: 29868e73b638e48ca99a19ea58c48d90, type: 3}
|
|
||||||
m_TerrainDetailGrass: {fileID: 4800000, guid: e507fdfead5ca47e8b9a768b51c291a1, type: 3}
|
|
||||||
m_DefaultSpeedTree7Shader: {fileID: 4800000, guid: 0f4122b9a743b744abe2fb6a0a88868b, type: 3}
|
m_DefaultSpeedTree7Shader: {fileID: 4800000, guid: 0f4122b9a743b744abe2fb6a0a88868b, type: 3}
|
||||||
m_DefaultSpeedTree8Shader: {fileID: -6465566751694194690, guid: 9920c1f1781549a46ba081a2a15a16ec, type: 3}
|
m_DefaultSpeedTree8Shader: {fileID: -6465566751694194690, guid: 9920c1f1781549a46ba081a2a15a16ec, type: 3}
|
||||||
m_DefaultSpeedTree9Shader: {fileID: -6465566751694194690, guid: cbd3e1cc4ae141c42a30e33b4d666a61, type: 3}
|
m_DefaultSpeedTree9Shader: {fileID: -6465566751694194690, guid: cbd3e1cc4ae141c42a30e33b4d666a61, type: 3}
|
||||||
@@ -128,6 +250,8 @@ MonoBehaviour:
|
|||||||
m_CopyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
|
m_CopyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
|
||||||
m_CameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf, type: 3}
|
m_CameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf, type: 3}
|
||||||
m_StencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3}
|
m_StencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3}
|
||||||
|
m_ClusterDeferred: {fileID: 4800000, guid: 222cce62363a44a380c36bf03b392608, type: 3}
|
||||||
|
m_StencilDitherMaskSeedPS: {fileID: 4800000, guid: 8c3ee818f2efa514c889881ccb2e95a2, type: 3}
|
||||||
m_DBufferClear: {fileID: 4800000, guid: f056d8bd2a1c7e44e9729144b4c70395, type: 3}
|
m_DBufferClear: {fileID: 4800000, guid: f056d8bd2a1c7e44e9729144b4c70395, type: 3}
|
||||||
- rid: 6852985685364965379
|
- rid: 6852985685364965379
|
||||||
type: {class: UniversalRenderPipelineDebugShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
type: {class: UniversalRenderPipelineDebugShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||||
@@ -144,6 +268,9 @@ MonoBehaviour:
|
|||||||
m_CoreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3}
|
m_CoreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3}
|
||||||
m_CoreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b, type: 3}
|
m_CoreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b, type: 3}
|
||||||
m_SamplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3}
|
m_SamplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3}
|
||||||
|
m_TerrainDetailLit: {fileID: 4800000, guid: f6783ab646d374f94b199774402a5144, type: 3}
|
||||||
|
m_TerrainDetailGrassBillboard: {fileID: 4800000, guid: 29868e73b638e48ca99a19ea58c48d90, type: 3}
|
||||||
|
m_TerrainDetailGrass: {fileID: 4800000, guid: e507fdfead5ca47e8b9a768b51c291a1, type: 3}
|
||||||
- rid: 6852985685364965381
|
- rid: 6852985685364965381
|
||||||
type: {class: UniversalRenderPipelineRuntimeTextures, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
type: {class: UniversalRenderPipelineRuntimeTextures, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||||
data:
|
data:
|
||||||
@@ -174,6 +301,7 @@ MonoBehaviour:
|
|||||||
m_DefaultLineMaterial: {fileID: 2100000, guid: e823cd5b5d27c0f4b8256e7c12ee3e6d, type: 2}
|
m_DefaultLineMaterial: {fileID: 2100000, guid: e823cd5b5d27c0f4b8256e7c12ee3e6d, type: 2}
|
||||||
m_DefaultTerrainMaterial: {fileID: 2100000, guid: 594ea882c5a793440b60ff72d896021e, type: 2}
|
m_DefaultTerrainMaterial: {fileID: 2100000, guid: 594ea882c5a793440b60ff72d896021e, type: 2}
|
||||||
m_DefaultDecalMaterial: {fileID: 2100000, guid: 31d0dcc6f2dd4e4408d18036a2c93862, type: 2}
|
m_DefaultDecalMaterial: {fileID: 2100000, guid: 31d0dcc6f2dd4e4408d18036a2c93862, type: 2}
|
||||||
|
m_DefaultSpriteMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
|
||||||
- rid: 6852985685364965384
|
- rid: 6852985685364965384
|
||||||
type: {class: URPDefaultVolumeProfileSettings, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
type: {class: URPDefaultVolumeProfileSettings, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||||
data:
|
data:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 09610894297ae74449b37191945069ff
|
guid: 8cf4e72d60c563f44b838b832e931b33
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 69b5f370da7b862439a366000ea6e230
|
guid: e2c435e76ec72da4d9ee1f6d45f8374b
|
||||||
NativeFormatImporter:
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
mainObjectFileID: 11400000
|
|
||||||
userData:
|
userData:
|
||||||
assetBundleName:
|
assetBundleName:
|
||||||
assetBundleVariant:
|
assetBundleVariant:
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: d6a3216c4fd1c1a499b50f354c57f048
|
guid: 15e2cde26c94921429fb7c3b52aa1a2a
|
||||||
NativeFormatImporter:
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
mainObjectFileID: 11400000
|
|
||||||
userData:
|
userData:
|
||||||
assetBundleName:
|
assetBundleName:
|
||||||
assetBundleVariant:
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,252 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!29 &1
|
||||||
|
OcclusionCullingSettings:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_OcclusionBakeSettings:
|
||||||
|
smallestOccluder: 5
|
||||||
|
smallestHole: 0.25
|
||||||
|
backfaceThreshold: 100
|
||||||
|
m_SceneGUID: 00000000000000000000000000000000
|
||||||
|
m_OcclusionCullingData: {fileID: 0}
|
||||||
|
--- !u!104 &2
|
||||||
|
RenderSettings:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 9
|
||||||
|
m_Fog: 0
|
||||||
|
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||||
|
m_FogMode: 3
|
||||||
|
m_FogDensity: 0.01
|
||||||
|
m_LinearFogStart: 0
|
||||||
|
m_LinearFogEnd: 300
|
||||||
|
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
|
||||||
|
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
|
||||||
|
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
|
||||||
|
m_AmbientIntensity: 1
|
||||||
|
m_AmbientMode: 3
|
||||||
|
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||||
|
m_SkyboxMaterial: {fileID: 0}
|
||||||
|
m_HaloStrength: 0.5
|
||||||
|
m_FlareStrength: 1
|
||||||
|
m_FlareFadeSpeed: 3
|
||||||
|
m_HaloTexture: {fileID: 0}
|
||||||
|
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
|
m_DefaultReflectionMode: 0
|
||||||
|
m_DefaultReflectionResolution: 128
|
||||||
|
m_ReflectionBounces: 1
|
||||||
|
m_ReflectionIntensity: 1
|
||||||
|
m_CustomReflection: {fileID: 0}
|
||||||
|
m_Sun: {fileID: 0}
|
||||||
|
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
m_UseRadianceAmbientProbe: 0
|
||||||
|
--- !u!157 &3
|
||||||
|
LightmapSettings:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 11
|
||||||
|
m_GIWorkflowMode: 1
|
||||||
|
m_GISettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_BounceScale: 1
|
||||||
|
m_IndirectOutputScale: 1
|
||||||
|
m_AlbedoBoost: 1
|
||||||
|
m_EnvironmentLightingMode: 0
|
||||||
|
m_EnableBakedLightmaps: 0
|
||||||
|
m_EnableRealtimeLightmaps: 0
|
||||||
|
m_LightmapEditorSettings:
|
||||||
|
serializedVersion: 12
|
||||||
|
m_Resolution: 2
|
||||||
|
m_BakeResolution: 40
|
||||||
|
m_AtlasSize: 1024
|
||||||
|
m_AO: 0
|
||||||
|
m_AOMaxDistance: 1
|
||||||
|
m_CompAOExponent: 1
|
||||||
|
m_CompAOExponentDirect: 0
|
||||||
|
m_ExtractAmbientOcclusion: 0
|
||||||
|
m_Padding: 2
|
||||||
|
m_LightmapParameters: {fileID: 0}
|
||||||
|
m_LightmapsBakeMode: 1
|
||||||
|
m_TextureCompression: 1
|
||||||
|
m_FinalGather: 0
|
||||||
|
m_FinalGatherFiltering: 1
|
||||||
|
m_FinalGatherRayCount: 256
|
||||||
|
m_ReflectionCompression: 2
|
||||||
|
m_MixedBakeMode: 2
|
||||||
|
m_BakeBackend: 1
|
||||||
|
m_PVRSampling: 1
|
||||||
|
m_PVRDirectSampleCount: 32
|
||||||
|
m_PVRSampleCount: 512
|
||||||
|
m_PVRBounces: 2
|
||||||
|
m_PVREnvironmentSampleCount: 256
|
||||||
|
m_PVREnvironmentReferencePointCount: 2048
|
||||||
|
m_PVRFilteringMode: 1
|
||||||
|
m_PVRDenoiserTypeDirect: 1
|
||||||
|
m_PVRDenoiserTypeIndirect: 1
|
||||||
|
m_PVRDenoiserTypeAO: 1
|
||||||
|
m_PVRFilterTypeDirect: 0
|
||||||
|
m_PVRFilterTypeIndirect: 0
|
||||||
|
m_PVRFilterTypeAO: 0
|
||||||
|
m_PVREnvironmentMIS: 1
|
||||||
|
m_PVRCulling: 1
|
||||||
|
m_PVRFilteringGaussRadiusDirect: 1
|
||||||
|
m_PVRFilteringGaussRadiusIndirect: 5
|
||||||
|
m_PVRFilteringGaussRadiusAO: 2
|
||||||
|
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||||
|
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||||
|
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||||
|
m_ExportTrainingData: 0
|
||||||
|
m_TrainingDataDestination: TrainingData
|
||||||
|
m_LightProbeSampleCountMultiplier: 4
|
||||||
|
m_LightingDataAsset: {fileID: 0}
|
||||||
|
m_UseShadowmask: 1
|
||||||
|
--- !u!196 &4
|
||||||
|
NavMeshSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_BuildSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
agentTypeID: 0
|
||||||
|
agentRadius: 0.5
|
||||||
|
agentHeight: 2
|
||||||
|
agentSlope: 45
|
||||||
|
agentClimb: 0.4
|
||||||
|
ledgeDropHeight: 0
|
||||||
|
maxJumpAcrossDistance: 0
|
||||||
|
minRegionArea: 2
|
||||||
|
manualCellSize: 0
|
||||||
|
cellSize: 0.16666667
|
||||||
|
manualTileSize: 0
|
||||||
|
tileSize: 256
|
||||||
|
accuratePlacement: 0
|
||||||
|
debug:
|
||||||
|
m_Flags: 0
|
||||||
|
m_NavMeshData: {fileID: 0}
|
||||||
|
--- !u!1 &869075708
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 869075710}
|
||||||
|
- component: {fileID: 869075709}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: Example
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!114 &869075709
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 869075708}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: f0f4fc589d3160f4197a6ec70bab0925, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
info: Hover over slider to see tooltip
|
||||||
|
floatTest: {x: 2, y: 8}
|
||||||
|
intTest: {x: 0, y: 0}
|
||||||
|
--- !u!4 &869075710
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 869075708}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_RootOrder: 1
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1 &1410662703
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1410662706}
|
||||||
|
- component: {fileID: 1410662705}
|
||||||
|
- component: {fileID: 1410662704}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: Main Camera
|
||||||
|
m_TagString: MainCamera
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!81 &1410662704
|
||||||
|
AudioListener:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1410662703}
|
||||||
|
m_Enabled: 1
|
||||||
|
--- !u!20 &1410662705
|
||||||
|
Camera:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1410662703}
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 2
|
||||||
|
m_ClearFlags: 1
|
||||||
|
m_BackGroundColor: {r: 0.58219117, g: 0.8396226, b: 0.82838553, a: 0}
|
||||||
|
m_projectionMatrixMode: 1
|
||||||
|
m_GateFitMode: 2
|
||||||
|
m_FOVAxisMode: 0
|
||||||
|
m_SensorSize: {x: 36, y: 24}
|
||||||
|
m_LensShift: {x: 0, y: 0}
|
||||||
|
m_FocalLength: 50
|
||||||
|
m_NormalizedViewPortRect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 0
|
||||||
|
y: 0
|
||||||
|
width: 1
|
||||||
|
height: 1
|
||||||
|
near clip plane: 0.3
|
||||||
|
far clip plane: 1000
|
||||||
|
field of view: 60
|
||||||
|
orthographic: 1
|
||||||
|
orthographic size: 5
|
||||||
|
m_Depth: -1
|
||||||
|
m_CullingMask:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 4294967295
|
||||||
|
m_RenderingPath: -1
|
||||||
|
m_TargetTexture: {fileID: 0}
|
||||||
|
m_TargetDisplay: 0
|
||||||
|
m_TargetEye: 3
|
||||||
|
m_HDR: 1
|
||||||
|
m_AllowMSAA: 1
|
||||||
|
m_AllowDynamicResolution: 0
|
||||||
|
m_ForceIntoRT: 0
|
||||||
|
m_OcclusionCulling: 1
|
||||||
|
m_StereoConvergence: 10
|
||||||
|
m_StereoSeparation: 0.022
|
||||||
|
--- !u!4 &1410662706
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1410662703}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: -10}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 59b93f2adad13734a8942e8d5a1ad672
|
guid: a821f9bc27797d940b5963e05313b936
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
8
Assets/SimpleMinMaxSlider/Scripts.meta
Normal file
8
Assets/SimpleMinMaxSlider/Scripts.meta
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f4be9f6fb652f19488b46fbc9bac8be5
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
8
Assets/SimpleMinMaxSlider/Scripts/Editor.meta
Normal file
8
Assets/SimpleMinMaxSlider/Scripts/Editor.meta
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b58f02022de16354ba42b835bcc79d57
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
108
Assets/SimpleMinMaxSlider/Scripts/Editor/MinMaxSliderDrawer.cs
Normal file
108
Assets/SimpleMinMaxSlider/Scripts/Editor/MinMaxSliderDrawer.cs
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
using UnityEditor;
|
||||||
|
using GD.MinMaxSlider;
|
||||||
|
|
||||||
|
[CustomPropertyDrawer(typeof(MinMaxSliderAttribute))]
|
||||||
|
public class MinMaxSliderDrawer : PropertyDrawer {
|
||||||
|
|
||||||
|
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label){
|
||||||
|
|
||||||
|
var minMaxAttribute = (MinMaxSliderAttribute)attribute;
|
||||||
|
var propertyType = property.propertyType;
|
||||||
|
|
||||||
|
label.tooltip = minMaxAttribute.min.ToString("F2") + " to " + minMaxAttribute.max.ToString("F2");
|
||||||
|
|
||||||
|
//PrefixLabel returns the rect of the right part of the control. It leaves out the label section. We don't have to worry about it. Nice!
|
||||||
|
Rect controlRect = EditorGUI.PrefixLabel(position, label);
|
||||||
|
|
||||||
|
Rect[] splittedRect = SplitRect(controlRect,3);
|
||||||
|
|
||||||
|
if(propertyType == SerializedPropertyType.Vector2){
|
||||||
|
|
||||||
|
EditorGUI.BeginChangeCheck();
|
||||||
|
|
||||||
|
Vector2 vector = property.vector2Value;
|
||||||
|
float minVal = vector.x;
|
||||||
|
float maxVal = vector.y;
|
||||||
|
|
||||||
|
//F2 limits the float to two decimal places (0.00).
|
||||||
|
minVal = EditorGUI.FloatField(splittedRect[0], float.Parse(minVal.ToString("F2")));
|
||||||
|
maxVal = EditorGUI.FloatField(splittedRect[2], float.Parse(maxVal.ToString("F2")));
|
||||||
|
|
||||||
|
EditorGUI.MinMaxSlider(splittedRect[1], ref minVal, ref maxVal,
|
||||||
|
minMaxAttribute.min,minMaxAttribute.max);
|
||||||
|
|
||||||
|
if(minVal < minMaxAttribute.min){
|
||||||
|
minVal = minMaxAttribute.min;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(maxVal > minMaxAttribute.max){
|
||||||
|
maxVal = minMaxAttribute.max;
|
||||||
|
}
|
||||||
|
|
||||||
|
vector = new Vector2(minVal > maxVal ? maxVal : minVal, maxVal);
|
||||||
|
|
||||||
|
if(EditorGUI.EndChangeCheck()){
|
||||||
|
property.vector2Value = vector;
|
||||||
|
}
|
||||||
|
|
||||||
|
}else if(propertyType == SerializedPropertyType.Vector2Int){
|
||||||
|
|
||||||
|
EditorGUI.BeginChangeCheck();
|
||||||
|
|
||||||
|
Vector2Int vector = property.vector2IntValue;
|
||||||
|
float minVal = vector.x;
|
||||||
|
float maxVal = vector.y;
|
||||||
|
|
||||||
|
minVal = EditorGUI.FloatField(splittedRect[0], minVal);
|
||||||
|
maxVal = EditorGUI.FloatField(splittedRect[2], maxVal);
|
||||||
|
|
||||||
|
EditorGUI.MinMaxSlider(splittedRect[1], ref minVal, ref maxVal,
|
||||||
|
minMaxAttribute.min,minMaxAttribute.max);
|
||||||
|
|
||||||
|
if(minVal < minMaxAttribute.min){
|
||||||
|
maxVal = minMaxAttribute.min;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(minVal > minMaxAttribute.max){
|
||||||
|
maxVal = minMaxAttribute.max;
|
||||||
|
}
|
||||||
|
|
||||||
|
vector = new Vector2Int(Mathf.FloorToInt(minVal > maxVal ? maxVal : minVal), Mathf.FloorToInt(maxVal));
|
||||||
|
|
||||||
|
if(EditorGUI.EndChangeCheck()){
|
||||||
|
property.vector2IntValue = vector;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
Rect[] SplitRect(Rect rectToSplit, int n){
|
||||||
|
|
||||||
|
|
||||||
|
Rect[] rects = new Rect[n];
|
||||||
|
|
||||||
|
for(int i = 0; i < n; i++){
|
||||||
|
|
||||||
|
rects[i] = new Rect(rectToSplit.position.x + (i * rectToSplit.width / n), rectToSplit.position.y, rectToSplit.width / n, rectToSplit.height);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
int padding = (int)rects[0].width - 40;
|
||||||
|
int space = 5;
|
||||||
|
|
||||||
|
rects[0].width -= padding + space;
|
||||||
|
rects[2].width -= padding + space;
|
||||||
|
|
||||||
|
rects[1].x -= padding;
|
||||||
|
rects[1].width += padding * 2;
|
||||||
|
|
||||||
|
rects[2].x += padding + space;
|
||||||
|
|
||||||
|
|
||||||
|
return rects;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e6b53f69308943e499e344adc5adee79
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
16
Assets/SimpleMinMaxSlider/Scripts/MinMaxSliderAttribute.cs
Normal file
16
Assets/SimpleMinMaxSlider/Scripts/MinMaxSliderAttribute.cs
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
namespace GD.MinMaxSlider
|
||||||
|
{
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class MinMaxSliderAttribute : PropertyAttribute{
|
||||||
|
|
||||||
|
public float min;
|
||||||
|
public float max;
|
||||||
|
|
||||||
|
public MinMaxSliderAttribute(float min, float max)
|
||||||
|
{
|
||||||
|
this.min = min;
|
||||||
|
this.max = max;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a090d8b694abe7141af9c000b8cf42ec
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
16
Assets/SimpleMinMaxSlider/Scripts/MinMaxSliderExample.cs
Normal file
16
Assets/SimpleMinMaxSlider/Scripts/MinMaxSliderExample.cs
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
using GD.MinMaxSlider;
|
||||||
|
|
||||||
|
public class MinMaxSliderExample : MonoBehaviour
|
||||||
|
{
|
||||||
|
|
||||||
|
public string info = "Hover over a slider to see a tooltip";
|
||||||
|
|
||||||
|
[MinMaxSlider(0,10)]
|
||||||
|
public Vector2 floatRange = new Vector2(2,8);
|
||||||
|
[MinMaxSlider(0,10)]
|
||||||
|
public Vector2Int intRange = new Vector2Int(1,5);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 212a7a761531d4b48ae374e583db2389
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
3
Assets/SimpleMinMaxSlider/SimpleMinMaxSlider.asmdef
Normal file
3
Assets/SimpleMinMaxSlider/SimpleMinMaxSlider.asmdef
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"name": "SimpleMinMaxSlider"
|
||||||
|
}
|
||||||
7
Assets/SimpleMinMaxSlider/SimpleMinMaxSlider.asmdef.meta
Normal file
7
Assets/SimpleMinMaxSlider/SimpleMinMaxSlider.asmdef.meta
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4099e5319e98558428028d54bc62664e
|
||||||
|
AssemblyDefinitionImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
23
Assets/SimpleMinMaxSlider/package.json
Normal file
23
Assets/SimpleMinMaxSlider/package.json
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"name": "com.guciodevs.simple-min-max-slider",
|
||||||
|
"displayName": "Simple MinMax Slider",
|
||||||
|
"description": "Handy small package that adds a simple MinMaxSlider attribute.",
|
||||||
|
"version": "1.1.2",
|
||||||
|
"unity": "2018.3",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
},
|
||||||
|
|
||||||
|
"samples": [
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
"displayName": "Example Scene",
|
||||||
|
|
||||||
|
"description": "",
|
||||||
|
|
||||||
|
"path": "Samples~/SimpleMinMaxSlider Example"
|
||||||
|
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
7
Assets/SimpleMinMaxSlider/package.json.meta
Normal file
7
Assets/SimpleMinMaxSlider/package.json.meta
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 783853a57374ff540b56fa85ce900da7
|
||||||
|
TextScriptImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
|
|
||||||
public class SinMovement : MonoBehaviour{
|
|
||||||
private float originalY;
|
|
||||||
|
|
||||||
public float speed;
|
|
||||||
public float scale;
|
|
||||||
|
|
||||||
public float offset;
|
|
||||||
|
|
||||||
void Start(){
|
|
||||||
originalY = transform.position.y;
|
|
||||||
offset += Random.Range(-1, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update is called once per frame
|
|
||||||
void Update(){
|
|
||||||
transform.position = transform.position.Flatten(null, originalY + Mathf.Sin((Time.time + offset) * speed) * scale, null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: e33277577aa379a41a747f01aade9c96
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
|
|
||||||
public class SwayMovement : MonoBehaviour{
|
|
||||||
Vector3 originalRot;
|
|
||||||
public Vector3 swayAmount;
|
|
||||||
public Vector3 swaySpeed;
|
|
||||||
|
|
||||||
private Vector3 offset;
|
|
||||||
|
|
||||||
void Start(){
|
|
||||||
originalRot = transform.rotation.eulerAngles;
|
|
||||||
offset = new Vector3(Random.Range(-5, 1), Random.Range(-1, 5), Random.Range(-3, 1));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update is called once per frame
|
|
||||||
void Update(){
|
|
||||||
Vector3 sway = new Vector3(
|
|
||||||
originalRot.x + Mathf.Sin((Time.time + offset.x) * swaySpeed.x) * swayAmount.x,
|
|
||||||
originalRot.y + Mathf.Sin((Time.time + offset.y) * swaySpeed.y) * swayAmount.y,
|
|
||||||
originalRot.z + Mathf.Sin((Time.time + offset.z) * swaySpeed.z) * swayAmount.z
|
|
||||||
);
|
|
||||||
|
|
||||||
transform.rotation = Quaternion.Euler(sway);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 57870c7b66535c74688188df7e771ce7
|
|
||||||
Binary file not shown.
@@ -1,21 +1,21 @@
|
|||||||
{
|
{
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.unity.ai.navigation": "2.0.4",
|
"com.unity.ai.navigation": "2.0.8",
|
||||||
"com.unity.cinemachine": "3.1.2",
|
"com.unity.cinemachine": "3.1.2",
|
||||||
"com.unity.collab-proxy": "2.5.2",
|
"com.unity.collab-proxy": "2.8.2",
|
||||||
"com.unity.ide.rider": "3.0.34",
|
"com.unity.ide.rider": "3.0.36",
|
||||||
"com.unity.ide.visualstudio": "2.0.22",
|
"com.unity.ide.visualstudio": "2.0.23",
|
||||||
"com.unity.inputsystem": "1.11.2",
|
"com.unity.inputsystem": "1.14.2",
|
||||||
"com.unity.multiplayer.center": "1.0.0",
|
"com.unity.multiplayer.center": "1.0.0",
|
||||||
"com.unity.multiplayer.tools": "2.2.1",
|
"com.unity.multiplayer.tools": "2.2.5",
|
||||||
"com.unity.netcode.gameobjects": "2.1.1",
|
"com.unity.netcode.gameobjects": "2.1.1",
|
||||||
"com.unity.probuilder": "6.0.4",
|
"com.unity.probuilder": "6.0.6",
|
||||||
"com.unity.render-pipelines.universal": "17.0.3",
|
"com.unity.render-pipelines.universal": "17.2.0",
|
||||||
"com.unity.services.multiplayer": "1.0.2",
|
"com.unity.services.multiplayer": "1.1.0",
|
||||||
"com.unity.test-framework": "1.4.5",
|
"com.unity.test-framework": "1.5.1",
|
||||||
"com.unity.timeline": "1.8.7",
|
"com.unity.timeline": "1.8.9",
|
||||||
"com.unity.ugui": "2.0.0",
|
"com.unity.ugui": "2.0.0",
|
||||||
"com.unity.visualscripting": "1.9.5",
|
"com.unity.visualscripting": "1.9.7",
|
||||||
"com.unity.modules.accessibility": "1.0.0",
|
"com.unity.modules.accessibility": "1.0.0",
|
||||||
"com.unity.modules.ai": "1.0.0",
|
"com.unity.modules.ai": "1.0.0",
|
||||||
"com.unity.modules.androidjni": "1.0.0",
|
"com.unity.modules.androidjni": "1.0.0",
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.unity.ai.navigation": {
|
"com.unity.ai.navigation": {
|
||||||
"version": "2.0.4",
|
"version": "2.0.8",
|
||||||
"depth": 0,
|
"depth": 0,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.burst": {
|
"com.unity.burst": {
|
||||||
"version": "1.8.18",
|
"version": "1.8.24",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -52,20 +52,21 @@
|
|||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.collab-proxy": {
|
"com.unity.collab-proxy": {
|
||||||
"version": "2.5.2",
|
"version": "2.8.2",
|
||||||
"depth": 0,
|
"depth": 0,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.collections": {
|
"com.unity.collections": {
|
||||||
"version": "2.5.1",
|
"version": "2.5.7",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.unity.burst": "1.8.17",
|
"com.unity.burst": "1.8.19",
|
||||||
"com.unity.test-framework": "1.4.5",
|
"com.unity.mathematics": "1.3.2",
|
||||||
"com.unity.nuget.mono-cecil": "1.11.4",
|
"com.unity.test-framework": "1.4.6",
|
||||||
|
"com.unity.nuget.mono-cecil": "1.11.5",
|
||||||
"com.unity.test-framework.performance": "3.0.3"
|
"com.unity.test-framework.performance": "3.0.3"
|
||||||
},
|
},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
@@ -73,12 +74,11 @@
|
|||||||
"com.unity.ext.nunit": {
|
"com.unity.ext.nunit": {
|
||||||
"version": "2.0.5",
|
"version": "2.0.5",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
"source": "registry",
|
"source": "builtin",
|
||||||
"dependencies": {},
|
"dependencies": {}
|
||||||
"url": "https://packages.unity.com"
|
|
||||||
},
|
},
|
||||||
"com.unity.ide.rider": {
|
"com.unity.ide.rider": {
|
||||||
"version": "3.0.34",
|
"version": "3.0.36",
|
||||||
"depth": 0,
|
"depth": 0,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -87,7 +87,7 @@
|
|||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.ide.visualstudio": {
|
"com.unity.ide.visualstudio": {
|
||||||
"version": "2.0.22",
|
"version": "2.0.23",
|
||||||
"depth": 0,
|
"depth": 0,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -96,7 +96,7 @@
|
|||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.inputsystem": {
|
"com.unity.inputsystem": {
|
||||||
"version": "1.11.2",
|
"version": "1.14.2",
|
||||||
"depth": 0,
|
"depth": 0,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -120,13 +120,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.unity.multiplayer.tools": {
|
"com.unity.multiplayer.tools": {
|
||||||
"version": "2.2.1",
|
"version": "2.2.5",
|
||||||
"depth": 0,
|
"depth": 0,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.unity.burst": "1.8.17",
|
"com.unity.burst": "1.8.18",
|
||||||
"com.unity.collections": "2.4.0",
|
"com.unity.collections": "2.5.1",
|
||||||
"com.unity.mathematics": "1.3.1",
|
"com.unity.mathematics": "1.3.2",
|
||||||
"com.unity.profiling.core": "1.0.2",
|
"com.unity.profiling.core": "1.0.2",
|
||||||
"com.unity.nuget.mono-cecil": "1.11.4",
|
"com.unity.nuget.mono-cecil": "1.11.4",
|
||||||
"com.unity.modules.uielements": "1.0.0",
|
"com.unity.modules.uielements": "1.0.0",
|
||||||
@@ -145,7 +145,7 @@
|
|||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.nuget.mono-cecil": {
|
"com.unity.nuget.mono-cecil": {
|
||||||
"version": "1.11.4",
|
"version": "1.11.5",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
@@ -159,11 +159,11 @@
|
|||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.probuilder": {
|
"com.unity.probuilder": {
|
||||||
"version": "6.0.4",
|
"version": "6.0.6",
|
||||||
"depth": 0,
|
"depth": 0,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.unity.shadergraph": "17.0.2",
|
"com.unity.shadergraph": "17.0.3",
|
||||||
"com.unity.modules.imgui": "1.0.0",
|
"com.unity.modules.imgui": "1.0.0",
|
||||||
"com.unity.modules.physics": "1.0.0",
|
"com.unity.modules.physics": "1.0.0",
|
||||||
"com.unity.settings-manager": "1.0.3"
|
"com.unity.settings-manager": "1.0.3"
|
||||||
@@ -178,7 +178,7 @@
|
|||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.render-pipelines.core": {
|
"com.unity.render-pipelines.core": {
|
||||||
"version": "17.0.3",
|
"version": "17.2.0",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
"source": "builtin",
|
"source": "builtin",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -193,12 +193,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.unity.render-pipelines.universal": {
|
"com.unity.render-pipelines.universal": {
|
||||||
"version": "17.0.3",
|
"version": "17.2.0",
|
||||||
"depth": 0,
|
"depth": 0,
|
||||||
"source": "builtin",
|
"source": "builtin",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.unity.render-pipelines.core": "17.0.3",
|
"com.unity.render-pipelines.core": "17.2.0",
|
||||||
"com.unity.shadergraph": "17.0.3",
|
"com.unity.shadergraph": "17.2.0",
|
||||||
"com.unity.render-pipelines.universal-config": "17.0.3"
|
"com.unity.render-pipelines.universal-config": "17.0.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -221,26 +221,26 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.unity.searcher": {
|
"com.unity.searcher": {
|
||||||
"version": "4.9.2",
|
"version": "4.9.3",
|
||||||
"depth": 2,
|
"depth": 2,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.services.authentication": {
|
"com.unity.services.authentication": {
|
||||||
"version": "3.3.3",
|
"version": "3.4.1",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.unity.ugui": "1.0.0",
|
"com.unity.ugui": "1.0.0",
|
||||||
"com.unity.services.core": "1.13.0",
|
"com.unity.services.core": "1.14.0",
|
||||||
"com.unity.nuget.newtonsoft-json": "3.2.1",
|
"com.unity.nuget.newtonsoft-json": "3.2.1",
|
||||||
"com.unity.modules.unitywebrequest": "1.0.0"
|
"com.unity.modules.unitywebrequest": "1.0.0"
|
||||||
},
|
},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.services.core": {
|
"com.unity.services.core": {
|
||||||
"version": "1.13.0",
|
"version": "1.14.0",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -251,24 +251,24 @@
|
|||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.services.deployment": {
|
"com.unity.services.deployment": {
|
||||||
"version": "1.3.0",
|
"version": "1.4.1",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.unity.services.core": "1.12.0",
|
"com.unity.services.core": "1.12.0",
|
||||||
"com.unity.services.deployment.api": "1.0.0"
|
"com.unity.services.deployment.api": "1.1.2"
|
||||||
},
|
},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.services.deployment.api": {
|
"com.unity.services.deployment.api": {
|
||||||
"version": "1.0.0",
|
"version": "1.1.2",
|
||||||
"depth": 2,
|
"depth": 2,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.services.multiplayer": {
|
"com.unity.services.multiplayer": {
|
||||||
"version": "1.0.2",
|
"version": "1.1.0",
|
||||||
"depth": 0,
|
"depth": 0,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -298,7 +298,7 @@
|
|||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.services.wire": {
|
"com.unity.services.wire": {
|
||||||
"version": "1.2.7",
|
"version": "1.4.0",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -309,55 +309,54 @@
|
|||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.settings-manager": {
|
"com.unity.settings-manager": {
|
||||||
"version": "2.0.1",
|
"version": "2.1.0",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.shadergraph": {
|
"com.unity.shadergraph": {
|
||||||
"version": "17.0.3",
|
"version": "17.2.0",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
"source": "builtin",
|
"source": "builtin",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.unity.render-pipelines.core": "17.0.3",
|
"com.unity.render-pipelines.core": "17.2.0",
|
||||||
"com.unity.searcher": "4.9.2"
|
"com.unity.searcher": "4.9.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.unity.splines": {
|
"com.unity.splines": {
|
||||||
"version": "2.6.1",
|
"version": "2.8.1",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.unity.ugui": "1.0.0",
|
|
||||||
"com.unity.mathematics": "1.2.1",
|
"com.unity.mathematics": "1.2.1",
|
||||||
|
"com.unity.modules.imgui": "1.0.0",
|
||||||
"com.unity.settings-manager": "1.0.3"
|
"com.unity.settings-manager": "1.0.3"
|
||||||
},
|
},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.test-framework": {
|
"com.unity.test-framework": {
|
||||||
"version": "1.4.5",
|
"version": "1.5.1",
|
||||||
"depth": 0,
|
"depth": 0,
|
||||||
"source": "registry",
|
"source": "builtin",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.unity.ext.nunit": "2.0.3",
|
"com.unity.ext.nunit": "2.0.3",
|
||||||
"com.unity.modules.imgui": "1.0.0",
|
"com.unity.modules.imgui": "1.0.0",
|
||||||
"com.unity.modules.jsonserialize": "1.0.0"
|
"com.unity.modules.jsonserialize": "1.0.0"
|
||||||
},
|
}
|
||||||
"url": "https://packages.unity.com"
|
|
||||||
},
|
},
|
||||||
"com.unity.test-framework.performance": {
|
"com.unity.test-framework.performance": {
|
||||||
"version": "3.0.3",
|
"version": "3.1.0",
|
||||||
"depth": 2,
|
"depth": 2,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.unity.test-framework": "1.1.31",
|
"com.unity.test-framework": "1.1.33",
|
||||||
"com.unity.modules.jsonserialize": "1.0.0"
|
"com.unity.modules.jsonserialize": "1.0.0"
|
||||||
},
|
},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.timeline": {
|
"com.unity.timeline": {
|
||||||
"version": "1.8.7",
|
"version": "1.8.9",
|
||||||
"depth": 0,
|
"depth": 0,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -369,7 +368,7 @@
|
|||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.transport": {
|
"com.unity.transport": {
|
||||||
"version": "2.4.0",
|
"version": "2.5.3",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -389,7 +388,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.unity.visualscripting": {
|
"com.unity.visualscripting": {
|
||||||
"version": "1.9.5",
|
"version": "1.9.7",
|
||||||
"depth": 0,
|
"depth": 0,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -546,7 +545,8 @@
|
|||||||
"com.unity.modules.ui": "1.0.0",
|
"com.unity.modules.ui": "1.0.0",
|
||||||
"com.unity.modules.imgui": "1.0.0",
|
"com.unity.modules.imgui": "1.0.0",
|
||||||
"com.unity.modules.jsonserialize": "1.0.0",
|
"com.unity.modules.jsonserialize": "1.0.0",
|
||||||
"com.unity.modules.hierarchycore": "1.0.0"
|
"com.unity.modules.hierarchycore": "1.0.0",
|
||||||
|
"com.unity.modules.physics": "1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.unity.modules.umbra": {
|
"com.unity.modules.umbra": {
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &1
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 53
|
||||||
|
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: 6762c37d3236e2a4382cd018dcdf221e, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Unity.Multiplayer.Tools.Common::Unity.Multiplayer.Tools.Common.Visualization.CustomColorSettings
|
||||||
|
colors:
|
||||||
|
m_Keys:
|
||||||
|
m_Values: []
|
||||||
@@ -16,15 +16,20 @@
|
|||||||
"key": "log.path",
|
"key": "log.path",
|
||||||
"value": "{\"m_Value\":\"ProBuilderLog.txt\"}"
|
"value": "{\"m_Value\":\"ProBuilderLog.txt\"}"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
|
||||||
|
"key": "editor.materialPalettePath",
|
||||||
|
"value": "{\"m_Value\":\"Assets/ProBuilder Data/Default Material Palette.asset\"}"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "UnityEngine.ProBuilder.SemVer, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
"type": "UnityEngine.ProBuilder.SemVer, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
||||||
"key": "about.identifier",
|
"key": "about.identifier",
|
||||||
"value": "{\"m_Value\":{\"m_Major\":6,\"m_Minor\":0,\"m_Patch\":4,\"m_Build\":-1,\"m_Type\":\"\",\"m_Metadata\":\"\",\"m_Date\":\"\"}}"
|
"value": "{\"m_Value\":{\"m_Major\":6,\"m_Minor\":0,\"m_Patch\":6,\"m_Build\":-1,\"m_Type\":\"\",\"m_Metadata\":\"\",\"m_Date\":\"\"}}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "UnityEngine.ProBuilder.SemVer, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
"type": "UnityEngine.ProBuilder.SemVer, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
||||||
"key": "preferences.version",
|
"key": "preferences.version",
|
||||||
"value": "{\"m_Value\":{\"m_Major\":6,\"m_Minor\":0,\"m_Patch\":4,\"m_Build\":-1,\"m_Type\":\"\",\"m_Metadata\":\"\",\"m_Date\":\"\"}}"
|
"value": "{\"m_Value\":{\"m_Major\":6,\"m_Minor\":0,\"m_Patch\":6,\"m_Build\":-1,\"m_Type\":\"\",\"m_Metadata\":\"\",\"m_Date\":\"\"}}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
|
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
|
||||||
@@ -54,7 +59,7 @@
|
|||||||
{
|
{
|
||||||
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
|
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
|
||||||
"key": "ShapeComponent.SettingsEnabled",
|
"key": "ShapeComponent.SettingsEnabled",
|
||||||
"value": "{\"m_Value\":true}"
|
"value": "{\"m_Value\":false}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
|
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
|
||||||
@@ -91,16 +96,6 @@
|
|||||||
"key": "CollapseVertices.collapseToFirst",
|
"key": "CollapseVertices.collapseToFirst",
|
||||||
"value": "{\"m_Value\":false}"
|
"value": "{\"m_Value\":false}"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
|
|
||||||
"key": "SubdivideEdges.rangeExpanded",
|
|
||||||
"value": "{\"m_Value\":false}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
|
|
||||||
"key": "SelectEdgeLoop.selectIterative",
|
|
||||||
"value": "{\"m_Value\":false}"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"type": "UnityEngine.Rendering.ShadowCastingMode, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
"type": "UnityEngine.Rendering.ShadowCastingMode, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
||||||
"key": "mesh.shadowCastingMode",
|
"key": "mesh.shadowCastingMode",
|
||||||
@@ -129,62 +124,17 @@
|
|||||||
{
|
{
|
||||||
"type": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
|
"type": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
|
||||||
"key": "ShapeBuilder.ActiveShapeIndex",
|
"key": "ShapeBuilder.ActiveShapeIndex",
|
||||||
"value": "{\"m_Value\":1}"
|
"value": "{\"m_Value\":6}"
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
|
|
||||||
"key": "SubdivideEdges.subdivisions",
|
|
||||||
"value": "{\"m_Value\":1}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
|
|
||||||
"key": "SubdivideEdges.subdivisionsUIMin",
|
|
||||||
"value": "{\"m_Value\":1}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
|
|
||||||
"key": "SubdivideEdges.subdivisionsUIMax",
|
|
||||||
"value": "{\"m_Value\":32}"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
"type": "UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
||||||
"key": "ShapeBuilder.LastSize.Cube",
|
"key": "ShapeBuilder.LastSize.Cube",
|
||||||
"value": "{\"m_Value\":{\"x\":2.0,\"y\":14.0,\"z\":-9.0}}"
|
"value": "{\"m_Value\":{\"x\":20.036033630371095,\"y\":1.0208016633987427,\"z\":-17.9393310546875}}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
"type": "UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
||||||
"key": "ShapeBuilder.LastSize.Stairs",
|
"key": "ShapeBuilder.LastSize.Stairs",
|
||||||
"value": "{\"m_Value\":{\"x\":-3.000000476837158,\"y\":14.000001907348633,\"z\":19.0}}"
|
"value": "{\"m_Value\":{\"x\":-7.032182693481445,\"y\":2.840894937515259,\"z\":-7.309409141540527}}"
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "ShapeBuilder.LastSize.Door",
|
|
||||||
"value": "{\"m_Value\":{\"x\":22.0,\"y\":13.0,\"z\":-16.0}}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "ShapeBuilder.LastSize.Plane",
|
|
||||||
"value": "{\"m_Value\":{\"x\":16.0,\"y\":0.0,\"z\":-7.0}}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "ShapeBuilder.LastSize.Cylinder",
|
|
||||||
"value": "{\"m_Value\":{\"x\":16.0,\"y\":53.0,\"z\":-16.0}}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "ShapeBuilder.LastSize.Arch",
|
|
||||||
"value": "{\"m_Value\":{\"x\":18.0,\"y\":13.0,\"z\":-8.0}}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "ShapeBuilder.LastSize.Sphere",
|
|
||||||
"value": "{\"m_Value\":{\"x\":16.0,\"y\":16.0,\"z\":-16.0}}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "ShapeBuilder.LastSize.Cone",
|
|
||||||
"value": "{\"m_Value\":{\"x\":9.0,\"y\":4.0,\"z\":-11.0}}"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "UnityEngine.Quaternion, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
"type": "UnityEngine.Quaternion, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
||||||
@@ -196,76 +146,16 @@
|
|||||||
"key": "ShapeBuilder.LastRotation.Stairs",
|
"key": "ShapeBuilder.LastRotation.Stairs",
|
||||||
"value": "{\"m_Value\":{\"x\":0.0,\"y\":0.0,\"z\":0.0,\"w\":1.0}}"
|
"value": "{\"m_Value\":{\"x\":0.0,\"y\":0.0,\"z\":0.0,\"w\":1.0}}"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"type": "UnityEngine.Quaternion, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "ShapeBuilder.LastRotation.Door",
|
|
||||||
"value": "{\"m_Value\":{\"x\":0.0,\"y\":0.0,\"z\":0.0,\"w\":1.0}}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "UnityEngine.Quaternion, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "ShapeBuilder.LastRotation.Plane",
|
|
||||||
"value": "{\"m_Value\":{\"x\":0.0,\"y\":0.0,\"z\":0.0,\"w\":1.0}}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "UnityEngine.Quaternion, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "ShapeBuilder.LastRotation.Cylinder",
|
|
||||||
"value": "{\"m_Value\":{\"x\":0.0,\"y\":0.0,\"z\":0.0,\"w\":1.0}}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "UnityEngine.Quaternion, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "ShapeBuilder.LastRotation.Arch",
|
|
||||||
"value": "{\"m_Value\":{\"x\":0.0,\"y\":0.0,\"z\":0.0,\"w\":1.0}}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "UnityEngine.Quaternion, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "ShapeBuilder.LastRotation.Sphere",
|
|
||||||
"value": "{\"m_Value\":{\"x\":0.0,\"y\":0.0,\"z\":0.0,\"w\":1.0}}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "UnityEngine.Quaternion, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "ShapeBuilder.LastRotation.Cone",
|
|
||||||
"value": "{\"m_Value\":{\"x\":0.0,\"y\":0.0,\"z\":0.0,\"w\":1.0}}"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"type": "UnityEngine.ProBuilder.PivotLocation, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
"type": "UnityEngine.ProBuilder.PivotLocation, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
||||||
"key": "ShapeBuilder.PivotLocation.Cube",
|
"key": "ShapeBuilder.PivotLocation.Cube",
|
||||||
"value": "{\"m_Value\":1}"
|
"value": "{\"m_Value\":0}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "UnityEngine.ProBuilder.PivotLocation, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
"type": "UnityEngine.ProBuilder.PivotLocation, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
||||||
"key": "ShapeBuilder.PivotLocation.Stairs",
|
"key": "ShapeBuilder.PivotLocation.Stairs",
|
||||||
"value": "{\"m_Value\":0}"
|
"value": "{\"m_Value\":0}"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"type": "UnityEngine.ProBuilder.PivotLocation, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "ShapeBuilder.PivotLocation.Door",
|
|
||||||
"value": "{\"m_Value\":0}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "UnityEngine.ProBuilder.PivotLocation, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "ShapeBuilder.PivotLocation.Plane",
|
|
||||||
"value": "{\"m_Value\":0}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "UnityEngine.ProBuilder.PivotLocation, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "ShapeBuilder.PivotLocation.Cylinder",
|
|
||||||
"value": "{\"m_Value\":0}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "UnityEngine.ProBuilder.PivotLocation, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "ShapeBuilder.PivotLocation.Arch",
|
|
||||||
"value": "{\"m_Value\":0}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "UnityEngine.ProBuilder.PivotLocation, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "ShapeBuilder.PivotLocation.Sphere",
|
|
||||||
"value": "{\"m_Value\":0}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "UnityEngine.ProBuilder.PivotLocation, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "ShapeBuilder.PivotLocation.Cone",
|
|
||||||
"value": "{\"m_Value\":0}"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"type": "UnityEngine.ProBuilder.Shapes.Shape, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
"type": "UnityEngine.ProBuilder.Shapes.Shape, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
||||||
"key": "ShapeBuilder.Cube",
|
"key": "ShapeBuilder.Cube",
|
||||||
@@ -276,40 +166,10 @@
|
|||||||
"key": "ShapeBuilder.Stairs",
|
"key": "ShapeBuilder.Stairs",
|
||||||
"value": "{}"
|
"value": "{}"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"type": "UnityEngine.ProBuilder.Shapes.Shape, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "ShapeBuilder.Door",
|
|
||||||
"value": "{}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "UnityEngine.ProBuilder.Shapes.Shape, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "ShapeBuilder.Cylinder",
|
|
||||||
"value": "{}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "UnityEngine.ProBuilder.Shapes.Shape, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "ShapeBuilder.Arch",
|
|
||||||
"value": "{}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "UnityEngine.ProBuilder.Shapes.Shape, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "ShapeBuilder.Sphere",
|
|
||||||
"value": "{}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "UnityEngine.ProBuilder.Shapes.Shape, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "ShapeBuilder.Cone",
|
|
||||||
"value": "{}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "UnityEngine.ProBuilder.Shapes.Shape, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "ShapeBuilder.Plane",
|
|
||||||
"value": "{}"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"type": "UnityEngine.ProBuilder.SelectMode, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
"type": "UnityEngine.ProBuilder.SelectMode, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
||||||
"key": "s_SelectMode",
|
"key": "s_SelectMode",
|
||||||
"value": "{\"m_Value\":4}"
|
"value": "{\"m_Value\":1}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "UnityEngine.ProBuilder.RectSelectMode, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
"type": "UnityEngine.ProBuilder.RectSelectMode, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
||||||
@@ -325,16 +185,6 @@
|
|||||||
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
|
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
|
||||||
"key": "uv.uvEditorGridSnapIncrement",
|
"key": "uv.uvEditorGridSnapIncrement",
|
||||||
"value": "{\"m_Value\":0.125}"
|
"value": "{\"m_Value\":0.125}"
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
|
|
||||||
"key": "ExtrudeFaces.distance",
|
|
||||||
"value": "{\"m_Value\":0.5}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "UnityEngine.ProBuilder.ExtrudeMethod, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
|
||||||
"key": "editor.extrudeMethod",
|
|
||||||
"value": "{\"m_Value\":2}"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,12 +16,12 @@ PlayerSettings:
|
|||||||
productName: Project Reset
|
productName: Project Reset
|
||||||
defaultCursor: {fileID: 0}
|
defaultCursor: {fileID: 0}
|
||||||
cursorHotspot: {x: 0, y: 0}
|
cursorHotspot: {x: 0, y: 0}
|
||||||
m_SplashScreenBackgroundColor: {r: 0.8, g: 0.8, b: 0.8, a: 1}
|
m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}
|
||||||
m_ShowUnitySplashScreen: 1
|
m_ShowUnitySplashScreen: 1
|
||||||
m_ShowUnitySplashLogo: 1
|
m_ShowUnitySplashLogo: 1
|
||||||
m_SplashScreenOverlayOpacity: 1
|
m_SplashScreenOverlayOpacity: 1
|
||||||
m_SplashScreenAnimation: 1
|
m_SplashScreenAnimation: 1
|
||||||
m_SplashScreenLogoStyle: 0
|
m_SplashScreenLogoStyle: 1
|
||||||
m_SplashScreenDrawMode: 0
|
m_SplashScreenDrawMode: 0
|
||||||
m_SplashScreenBackgroundAnimationZoom: 1
|
m_SplashScreenBackgroundAnimationZoom: 1
|
||||||
m_SplashScreenLogoAnimationZoom: 1
|
m_SplashScreenLogoAnimationZoom: 1
|
||||||
@@ -132,6 +132,7 @@ PlayerSettings:
|
|||||||
switchNVNMaxPublicSamplerIDCount: 0
|
switchNVNMaxPublicSamplerIDCount: 0
|
||||||
switchMaxWorkerMultiple: 8
|
switchMaxWorkerMultiple: 8
|
||||||
switchNVNGraphicsFirmwareMemory: 32
|
switchNVNGraphicsFirmwareMemory: 32
|
||||||
|
switchGraphicsJobsSyncAfterKick: 1
|
||||||
vulkanNumSwapchainBuffers: 3
|
vulkanNumSwapchainBuffers: 3
|
||||||
vulkanEnableSetSRGBWrite: 0
|
vulkanEnableSetSRGBWrite: 0
|
||||||
vulkanEnablePreTransform: 1
|
vulkanEnablePreTransform: 1
|
||||||
@@ -140,7 +141,7 @@ PlayerSettings:
|
|||||||
loadStoreDebugModeEnabled: 0
|
loadStoreDebugModeEnabled: 0
|
||||||
visionOSBundleVersion: 1.0
|
visionOSBundleVersion: 1.0
|
||||||
tvOSBundleVersion: 1.0
|
tvOSBundleVersion: 1.0
|
||||||
bundleVersion: 0.2.0
|
bundleVersion: 0.1.0
|
||||||
preloadedAssets:
|
preloadedAssets:
|
||||||
- {fileID: 11400000, guid: 8e19eb4aa4fac2a409e792d0d3e5f944, type: 2}
|
- {fileID: 11400000, guid: 8e19eb4aa4fac2a409e792d0d3e5f944, type: 2}
|
||||||
metroInputSource: 0
|
metroInputSource: 0
|
||||||
@@ -274,6 +275,9 @@ PlayerSettings:
|
|||||||
AndroidBuildApkPerCpuArchitecture: 0
|
AndroidBuildApkPerCpuArchitecture: 0
|
||||||
AndroidTVCompatibility: 0
|
AndroidTVCompatibility: 0
|
||||||
AndroidIsGame: 1
|
AndroidIsGame: 1
|
||||||
|
androidAppCategory: 3
|
||||||
|
useAndroidAppCategory: 1
|
||||||
|
androidAppCategoryOther:
|
||||||
AndroidEnableTango: 0
|
AndroidEnableTango: 0
|
||||||
androidEnableBanner: 1
|
androidEnableBanner: 1
|
||||||
androidUseLowAccuracyLocation: 0
|
androidUseLowAccuracyLocation: 0
|
||||||
@@ -528,6 +532,9 @@ PlayerSettings:
|
|||||||
- m_BuildTarget: AndroidPlayer
|
- m_BuildTarget: AndroidPlayer
|
||||||
m_APIs: 150000000b000000
|
m_APIs: 150000000b000000
|
||||||
m_Automatic: 0
|
m_Automatic: 0
|
||||||
|
- m_BuildTarget: WindowsStandaloneSupport
|
||||||
|
m_APIs: 0200000012000000
|
||||||
|
m_Automatic: 0
|
||||||
m_BuildTargetVRSettings: []
|
m_BuildTargetVRSettings: []
|
||||||
m_DefaultShaderChunkSizeInMB: 16
|
m_DefaultShaderChunkSizeInMB: 16
|
||||||
m_DefaultShaderChunkCount: 0
|
m_DefaultShaderChunkCount: 0
|
||||||
@@ -543,6 +550,7 @@ PlayerSettings:
|
|||||||
- serializedVersion: 2
|
- serializedVersion: 2
|
||||||
m_BuildTarget: Android
|
m_BuildTarget: Android
|
||||||
m_EncodingQuality: 1
|
m_EncodingQuality: 1
|
||||||
|
m_BuildTargetGroupHDRCubemapEncodingQuality: []
|
||||||
m_BuildTargetGroupLightmapSettings: []
|
m_BuildTargetGroupLightmapSettings: []
|
||||||
m_BuildTargetGroupLoadStoreDebugModeSettings: []
|
m_BuildTargetGroupLoadStoreDebugModeSettings: []
|
||||||
m_BuildTargetNormalMapEncoding:
|
m_BuildTargetNormalMapEncoding:
|
||||||
@@ -811,12 +819,12 @@ PlayerSettings:
|
|||||||
webGLMemoryLinearGrowthStep: 16
|
webGLMemoryLinearGrowthStep: 16
|
||||||
webGLMemoryGeometricGrowthStep: 0.2
|
webGLMemoryGeometricGrowthStep: 0.2
|
||||||
webGLMemoryGeometricGrowthCap: 96
|
webGLMemoryGeometricGrowthCap: 96
|
||||||
webGLEnableWebGPU: 0
|
|
||||||
webGLPowerPreference: 2
|
webGLPowerPreference: 2
|
||||||
webGLWebAssemblyTable: 0
|
webGLWebAssemblyTable: 0
|
||||||
webGLWebAssemblyBigInt: 0
|
webGLWebAssemblyBigInt: 0
|
||||||
webGLCloseOnQuit: 0
|
webGLCloseOnQuit: 0
|
||||||
webWasm2023: 0
|
webWasm2023: 0
|
||||||
|
webEnableSubmoduleStrippingCompatibility: 0
|
||||||
scriptingDefineSymbols:
|
scriptingDefineSymbols:
|
||||||
Standalone: ODIN_INSPECTOR;ODIN_INSPECTOR_3;ODIN_INSPECTOR_3_1;ODIN_INSPECTOR_3_2;ODIN_INSPECTOR_3_3;NODECANVAS
|
Standalone: ODIN_INSPECTOR;ODIN_INSPECTOR_3;ODIN_INSPECTOR_3_1;ODIN_INSPECTOR_3_2;ODIN_INSPECTOR_3_3;NODECANVAS
|
||||||
additionalCompilerArguments: {}
|
additionalCompilerArguments: {}
|
||||||
@@ -945,3 +953,4 @@ PlayerSettings:
|
|||||||
insecureHttpOption: 0
|
insecureHttpOption: 0
|
||||||
androidVulkanDenyFilterList: []
|
androidVulkanDenyFilterList: []
|
||||||
androidVulkanAllowFilterList: []
|
androidVulkanAllowFilterList: []
|
||||||
|
androidVulkanDeviceFilterListAsset: {fileID: 0}
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
m_EditorVersion: 6000.0.28f1
|
m_EditorVersion: 6000.2.1f1
|
||||||
m_EditorVersionWithRevision: 6000.0.28f1 (f336aca0cab5)
|
m_EditorVersionWithRevision: 6000.2.1f1 (55300504c302)
|
||||||
|
|||||||
@@ -12,4 +12,4 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 247994e1f5a72c2419c26a37e9334c01, type: 3}
|
m_Script: {fileID: 11500000, guid: 247994e1f5a72c2419c26a37e9334c01, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_LastMaterialVersion: 9
|
m_LastMaterialVersion: 10
|
||||||
|
|||||||
Reference in New Issue
Block a user