From 179740f4bf5381d650dea737ef7d166b55cfb35d Mon Sep 17 00:00:00 2001 From: Glence Date: Tue, 21 Mar 2023 17:55:19 +0800 Subject: [PATCH] updated scene and added traj --- Assets/Scenes/Level1.shade | 45 ++++++++++++++----- Assets/Scenes/Level2.shade | 33 +++++++++++--- Assets/Scenes/Level3.shade | 35 ++++++++++++--- .../Gameplay/Player/SC_PickAndThrow.cs | 37 ++++++++++----- .../SHTrajectoryRenderingSubSystem.cpp | 2 - 5 files changed, 115 insertions(+), 37 deletions(-) diff --git a/Assets/Scenes/Level1.shade b/Assets/Scenes/Level1.shade index 2a70a118..2c87996e 100644 --- a/Assets/Scenes/Level1.shade +++ b/Assets/Scenes/Level1.shade @@ -2419,7 +2419,7 @@ Components: Transform Component: Translate: {x: 0, y: 0, z: 0} - Rotate: {x: -1.48352981, y: 1.39999998, z: -3.50001717} + Rotate: {x: 0, y: 0, z: 0} Scale: {x: 1, y: 1, z: 1} IsActive: true Renderable Component: @@ -7207,11 +7207,11 @@ - Is Trigger: true Collision Tag: 0 Type: Box - Half Extents: {x: 1.79999995, y: 1, z: 1} + Half Extents: {x: 4, y: 1, z: 4} Friction: 0.400000006 Bounciness: 0 Density: 1 - Position Offset: {x: 0, y: 0, z: 0} + Position Offset: {x: -1, y: -1.5, z: 1.5} Rotation Offset: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -7270,11 +7270,11 @@ - Is Trigger: true Collision Tag: 0 Type: Box - Half Extents: {x: 1, y: 1, z: 0.200000003} + Half Extents: {x: 4, y: 1, z: 4} Friction: 0.400000006 Bounciness: 0 Density: 1 - Position Offset: {x: 0, y: 0, z: 0} + Position Offset: {x: 0, y: -1.5, z: -2} Rotation Offset: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -7333,11 +7333,11 @@ - Is Trigger: true Collision Tag: 0 Type: Box - Half Extents: {x: 1.79999995, y: 1, z: 1} + Half Extents: {x: 4, y: 1, z: 4} Friction: 0.400000006 Bounciness: 0 Density: 1 - Position Offset: {x: 0, y: 0, z: 0} + Position Offset: {x: 1, y: -1.5, z: 1.5} Rotation Offset: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -7396,11 +7396,11 @@ - Is Trigger: true Collision Tag: 0 Type: Box - Half Extents: {x: 1, y: 1, z: 1.79999995} + Half Extents: {x: 4, y: 1, z: 4} Friction: 0.400000006 Bounciness: 0 Density: 1 - Position Offset: {x: 0, y: 0, z: 0} + Position Offset: {x: 1.5, y: -1.5, z: -1} Rotation Offset: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -7459,11 +7459,11 @@ - Is Trigger: true Collision Tag: 0 Type: Box - Half Extents: {x: 1, y: 1, z: 1.79999995} + Half Extents: {x: 4, y: 1, z: 4} Friction: 0.400000006 Bounciness: 0 Density: 1 - Position Offset: {x: 0, y: 0, z: 0} + Position Offset: {x: 1.5, y: -1.5, z: 1} Rotation Offset: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -7501,7 +7501,7 @@ - EID: 65775 Name: Player IsActive: true - NumberOfChildren: 5 + NumberOfChildren: 6 Components: Transform Component: Translate: {x: -8, y: 0.899999976, z: -4} @@ -7577,6 +7577,8 @@ lerpPickUpDuration: 0.75 tweenAimDuration: 0.300000012 aimingFOV: 15 + trajMaxSteps: 50 + trajTimeSteps: 0.0160000008 - Type: StateMachine Enabled: true currentStateName: Idle State @@ -7702,6 +7704,25 @@ AnimationController: 0 IsActive: true Scripts: ~ +- EID: 522 + Name: Tracjectory + IsActive: true + NumberOfChildren: 0 + Components: + Transform Component: + Translate: {x: 0, y: 0, z: 0} + Rotate: {x: 0, y: 0, z: 0} + Scale: {x: 0.200000003, y: 0.200000003, z: 0.200000003} + IsActive: true + Trajectory Renderer Component: + Mesh: 134305891 + Start Color: {x: 0.625550628, y: 1, z: 0} + Start Alpha: 1 + End Color: {x: 1, y: 0.898678422, z: 0} + End Alpha: 1 + "Color Eval Rate ": 0.5 + IsActive: true + Scripts: ~ - EID: 65732 Name: RespawnPoint IsActive: true diff --git a/Assets/Scenes/Level2.shade b/Assets/Scenes/Level2.shade index 1cae00e9..50344e57 100644 --- a/Assets/Scenes/Level2.shade +++ b/Assets/Scenes/Level2.shade @@ -2767,11 +2767,11 @@ - Is Trigger: true Collision Tag: 0 Type: Box - Half Extents: {x: 1.79999995, y: 1, z: 1} + Half Extents: {x: 5, y: 1, z: 4} Friction: 0.400000006 Bounciness: 0 Density: 1 - Position Offset: {x: 0, y: 0, z: 0} + Position Offset: {x: 0, y: -1.5, z: 1.5} Rotation Offset: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -2830,11 +2830,11 @@ - Is Trigger: true Collision Tag: 0 Type: Box - Half Extents: {x: 1, y: 1, z: 0.200000003} + Half Extents: {x: 4, y: 1, z: 4} Friction: 0.400000006 Bounciness: 0 Density: 1 - Position Offset: {x: 0, y: 0, z: 0} + Position Offset: {x: 0, y: -1.5, z: -2} Rotation Offset: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -2899,7 +2899,7 @@ - EID: 2 Name: Player IsActive: true - NumberOfChildren: 5 + NumberOfChildren: 6 Components: Transform Component: Translate: {x: 2.35245037, y: 0.0613552481, z: 7.10571432} @@ -2975,6 +2975,8 @@ lerpPickUpDuration: 0.75 tweenAimDuration: 0.300000012 aimingFOV: 15 + trajMaxSteps: 50 + trajTimeSteps: 0.0166999996 - Type: PlayerAnimations Enabled: true playerIdleClip: 227450439 @@ -3096,6 +3098,25 @@ AnimationController: 0 IsActive: true Scripts: ~ +- EID: 569 + Name: Trajectory + IsActive: true + NumberOfChildren: 0 + Components: + Transform Component: + Translate: {x: 2.35245013, y: -0.0613552481, z: 7.10571909} + Rotate: {x: 0, y: -3.14159274, z: 0} + Scale: {x: 0.200000033, y: 0.200000003, z: 0.200000033} + IsActive: true + Trajectory Renderer Component: + Mesh: 134305891 + Start Color: {x: 0.627451003, y: 1, z: 0} + Start Alpha: 1 + End Color: {x: 1, y: 0.898039222, z: 0} + End Alpha: 1 + "Color Eval Rate ": 0.5 + IsActive: true + Scripts: ~ - EID: 239 Name: RespawnPoint IsActive: true @@ -5461,7 +5482,7 @@ Components: Transform Component: Translate: {x: 0, y: -300, z: 0} - Rotate: {x: -1.48352981, y: 0.5, z: 0.399993658} + Rotate: {x: 0.5, y: 2.82014489, z: 0.5} Scale: {x: 400, y: 100, z: 500} IsActive: true Renderable Component: diff --git a/Assets/Scenes/Level3.shade b/Assets/Scenes/Level3.shade index 7b3c8319..620aafbc 100644 --- a/Assets/Scenes/Level3.shade +++ b/Assets/Scenes/Level3.shade @@ -8877,11 +8877,11 @@ - Is Trigger: true Collision Tag: 0 Type: Box - Half Extents: {x: 1, y: 1, z: 1.79999995} + Half Extents: {x: 5, y: 1, z: 5} Friction: 0.400000006 Bounciness: 0 Density: 1 - Position Offset: {x: 0, y: 0, z: 0} + Position Offset: {x: -1.89999998, y: -1.5, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -8940,11 +8940,11 @@ - Is Trigger: true Collision Tag: 0 Type: Box - Half Extents: {x: 0.5, y: 1, z: 1} + Half Extents: {x: 4, y: 1, z: 4} Friction: 0.400000006 Bounciness: 0 Density: 1 - Position Offset: {x: 0, y: 0, z: 0} + Position Offset: {x: -1.89999998, y: -1.5, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -9003,11 +9003,11 @@ - Is Trigger: true Collision Tag: 0 Type: Box - Half Extents: {x: 1.79999995, y: 1, z: 1} + Half Extents: {x: 4, y: 0.5, z: 4} Friction: 0.400000006 Bounciness: 0 Density: 1 - Position Offset: {x: 0, y: 0, z: 0} + Position Offset: {x: 0, y: -1, z: -1.60000002} Rotation Offset: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -11964,7 +11964,7 @@ - EID: 65775 Name: Player IsActive: true - NumberOfChildren: 5 + NumberOfChildren: 6 Components: Transform Component: Translate: {x: 5.5, y: 0.171148509, z: 10} @@ -12040,6 +12040,8 @@ lerpPickUpDuration: 0.75 tweenAimDuration: 0.300000012 aimingFOV: 15 + trajMaxSteps: 50 + trajTimeSteps: 0.0160000008 - Type: PlayerAnimations Enabled: true playerIdleClip: 227450439 @@ -12161,6 +12163,25 @@ AnimationController: 0 IsActive: true Scripts: ~ +- EID: 600 + Name: Trajectory + IsActive: true + NumberOfChildren: 0 + Components: + Transform Component: + Translate: {x: 2.35245013, y: -0.0613552481, z: 7.10571909} + Rotate: {x: 0, y: -3.14159274, z: 0} + Scale: {x: 0.200000033, y: 0.200000003, z: 0.200000033} + IsActive: true + Trajectory Renderer Component: + Mesh: 134305891 + Start Color: {x: 0.627451003, y: 1, z: 0} + Start Alpha: 1 + End Color: {x: 1, y: 0.898039222, z: 0} + End Alpha: 1 + "Color Eval Rate ": 0.5 + IsActive: true + Scripts: ~ - EID: 66065 Name: RespawnPoint IsActive: true diff --git a/Assets/Scripts/Gameplay/Player/SC_PickAndThrow.cs b/Assets/Scripts/Gameplay/Player/SC_PickAndThrow.cs index b5bcf179..c0de6235 100644 --- a/Assets/Scripts/Gameplay/Player/SC_PickAndThrow.cs +++ b/Assets/Scripts/Gameplay/Player/SC_PickAndThrow.cs @@ -50,6 +50,14 @@ public class PickAndThrow : Script public float aimingFOV = 15.0f; + private TrajectoryRenderable trajComp; + private Vector3 currThrowForce; + private float currentItemMass; + + public uint trajMaxSteps = 50; + public float trajTimeSteps = 0.03f; + + protected override void awake() { pc = GetScript(); @@ -67,6 +75,10 @@ public class PickAndThrow : Script AudioHandler.audioClipHandlers["SFXThrow"] = Audio.CreateAudioClip("event:/Raccoon/raccoon_throw"); timer = delayTimer; + + trajComp = GetComponentInChildren(); + if(!trajComp) + Debug.LogError("TrajectoryRenderable MISSING"); } protected override void start() @@ -161,6 +173,19 @@ public class PickAndThrow : Script PlayPickUpAnimation(); } } + + if (pc.isAiming && itemScript) + { + if (itemScript.currCategory == ItemCategory.LIGHT) + currThrowForce = new Vector3(throwForce.x * lastXDir, throwForce.y + (throwForce.y * GetPitchRatioRange()), throwForce.z * lastZDir) * 0.2f; + else if (itemScript.currCategory == ItemCategory.MEDIUM) + currThrowForce = new Vector3(throwForce.x * lastXDir, throwForce.y + (throwForce.y * GetPitchRatioRange()), throwForce.z * lastZDir) * 0.75f; + else + currThrowForce = new Vector3(throwForce.x * lastXDir, throwForce.y + (throwForce.y * GetPitchRatioRange()), throwForce.z * lastZDir); + + if (pc.holdItem && trajComp) + trajComp.SimulateTrajectory(item.EntityId, currentItemMass, currThrowForce, trajTimeSteps, trajMaxSteps); + } } protected override void fixedUpdate() @@ -172,16 +197,7 @@ public class PickAndThrow : Script if (throwItem && itemRidigBody && pc) { - if (itemScript) - { - Vector3 vec = new Vector3(throwForce.x * lastXDir, throwForce.y + (throwForce.y * GetPitchRatioRange()), throwForce.z * lastZDir); - if (itemScript.currCategory == ItemCategory.LIGHT) - itemRidigBody.AddForce(vec * 0.2f); - if (itemScript.currCategory == ItemCategory.MEDIUM) - itemRidigBody.AddForce(vec * 0.75f); - if (itemScript.currCategory == ItemCategory.HEAVY) - itemRidigBody.AddForce(vec); - } + itemRidigBody.AddForce(currThrowForce); itemRidigBody.LinearVelocity += pc.rb.LinearVelocity; throwItem = false; ResetItemObject(); @@ -207,6 +223,7 @@ public class PickAndThrow : Script Debug.Log("Item rb EMPTY"); else { + currentItemMass = itemRidigBody.Mass; itemRidigBody.IsGravityEnabled = false; } diff --git a/SHADE_Engine/src/Graphics/MiddleEnd/TrajectoryRendering/SHTrajectoryRenderingSubSystem.cpp b/SHADE_Engine/src/Graphics/MiddleEnd/TrajectoryRendering/SHTrajectoryRenderingSubSystem.cpp index dab94c5d..fd8fad2a 100644 --- a/SHADE_Engine/src/Graphics/MiddleEnd/TrajectoryRendering/SHTrajectoryRenderingSubSystem.cpp +++ b/SHADE_Engine/src/Graphics/MiddleEnd/TrajectoryRendering/SHTrajectoryRenderingSubSystem.cpp @@ -115,8 +115,6 @@ namespace SHADE comp.ResetSimulationInfo(); - std::cout << positions.size() << std::endl; - // If has positions, feed data to buffer. if (!positions.empty()) {