From d8052bc9aea036717aee6e7d0c9e0cbf1717f09f Mon Sep 17 00:00:00 2001 From: Henry <henrytshotwell@gmail.com> Date: Mon, 25 Mar 2024 09:09:32 -0400 Subject: [PATCH] NPC pushing --- Assets/Prefabs/AI/NPC 1.prefab | 27 +++++++++++++++++++++++---- Assets/Prefabs/AI/NPC 2.prefab | 19 ++++++++++++++++++- Assets/Prefabs/AI/NPC 3.prefab | 19 ++++++++++++++++++- Assets/Scripts/ForwardForce.cs | 7 ++++++- 4 files changed, 65 insertions(+), 7 deletions(-) diff --git a/Assets/Prefabs/AI/NPC 1.prefab b/Assets/Prefabs/AI/NPC 1.prefab index 996ba3f..f5eb15d 100644 --- a/Assets/Prefabs/AI/NPC 1.prefab +++ b/Assets/Prefabs/AI/NPC 1.prefab @@ -17,7 +17,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!4 &712423834733934715 Transform: m_ObjectHideFlags: 0 @@ -29,7 +29,7 @@ Transform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0.979, y: -0.031, z: 0.046} m_LocalScale: {x: 0.14285713, y: 0.22142856, z: 0.14285713} - m_ConstrainProportionsScale: 0 + m_ConstrainProportionsScale: 1 m_Children: [] m_Father: {fileID: 2995449609234728289} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -69,6 +69,7 @@ MonoBehaviour: pushForce: 10 maxPushSpeed: 50 hitPlayerOnly: 0 + alwaysForward: 1 --- !u!1 &3348912526455645254 GameObject: m_ObjectHideFlags: 0 @@ -86,7 +87,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!4 &8782229919021776781 Transform: m_ObjectHideFlags: 0 @@ -138,6 +139,7 @@ MonoBehaviour: pushForce: 10 maxPushSpeed: 50 hitPlayerOnly: 0 + alwaysForward: 1 --- !u!1 &5658441142458656065 GameObject: m_ObjectHideFlags: 0 @@ -156,6 +158,7 @@ GameObject: - component: {fileID: 243170557641564750} - component: {fileID: 7965035332020113104} - component: {fileID: -7990753800821053889} + - component: {fileID: 7880103912608975021} m_Layer: 7 m_Name: NPC 1 m_TagString: Enemy @@ -246,7 +249,7 @@ CapsuleCollider: serializedVersion: 2 m_Bits: 0 m_LayerOverridePriority: 0 - m_IsTrigger: 0 + m_IsTrigger: 1 m_ProvidesContacts: 0 m_Enabled: 1 serializedVersion: 2 @@ -378,6 +381,22 @@ Animator: m_AllowConstantClipSamplingOptimization: 1 m_KeepAnimatorStateOnDisable: 0 m_WriteDefaultValuesOnDisable: 0 +--- !u!114 &7880103912608975021 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5658441142458656065} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7e5ffcbc7c8737a4cac9b74fc5b99d21, type: 3} + m_Name: + m_EditorClassIdentifier: + pushForce: 420 + maxPushSpeed: 666 + hitPlayerOnly: 1 + alwaysForward: 0 --- !u!1001 &1441980424123720664 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Prefabs/AI/NPC 2.prefab b/Assets/Prefabs/AI/NPC 2.prefab index 16f9209..e40a1da 100644 --- a/Assets/Prefabs/AI/NPC 2.prefab +++ b/Assets/Prefabs/AI/NPC 2.prefab @@ -16,6 +16,7 @@ GameObject: - component: {fileID: 2049893970982147999} - component: {fileID: 9182111825969937333} - component: {fileID: 243170557641564750} + - component: {fileID: 2478272072351461182} m_Layer: 7 m_Name: NPC 2 m_TagString: Enemy @@ -104,7 +105,7 @@ CapsuleCollider: serializedVersion: 2 m_Bits: 0 m_LayerOverridePriority: 0 - m_IsTrigger: 0 + m_IsTrigger: 1 m_ProvidesContacts: 0 m_Enabled: 1 serializedVersion: 2 @@ -200,6 +201,22 @@ MonoBehaviour: waypoints: [] wp: 1 agent: {fileID: 5608018017884145433} +--- !u!114 &2478272072351461182 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5658441142458656065} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7e5ffcbc7c8737a4cac9b74fc5b99d21, type: 3} + m_Name: + m_EditorClassIdentifier: + pushForce: 420 + maxPushSpeed: 666 + hitPlayerOnly: 1 + alwaysForward: 0 --- !u!1001 &2523971600483105361 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Prefabs/AI/NPC 3.prefab b/Assets/Prefabs/AI/NPC 3.prefab index de3353f..c9f17ee 100644 --- a/Assets/Prefabs/AI/NPC 3.prefab +++ b/Assets/Prefabs/AI/NPC 3.prefab @@ -16,6 +16,7 @@ GameObject: - component: {fileID: 2049893970982147999} - component: {fileID: 9182111825969937333} - component: {fileID: 243170557641564750} + - component: {fileID: 1665830565768452642} m_Layer: 7 m_Name: NPC 3 m_TagString: Enemy @@ -104,7 +105,7 @@ CapsuleCollider: serializedVersion: 2 m_Bits: 0 m_LayerOverridePriority: 0 - m_IsTrigger: 0 + m_IsTrigger: 1 m_ProvidesContacts: 0 m_Enabled: 1 serializedVersion: 2 @@ -200,6 +201,22 @@ MonoBehaviour: waypoints: [] wp: 1 agent: {fileID: 5608018017884145433} +--- !u!114 &1665830565768452642 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5658441142458656065} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7e5ffcbc7c8737a4cac9b74fc5b99d21, type: 3} + m_Name: + m_EditorClassIdentifier: + pushForce: 420 + maxPushSpeed: 666 + hitPlayerOnly: 1 + alwaysForward: 0 --- !u!1001 &2966689206945586981 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/ForwardForce.cs b/Assets/Scripts/ForwardForce.cs index 51a00f0..1400420 100644 --- a/Assets/Scripts/ForwardForce.cs +++ b/Assets/Scripts/ForwardForce.cs @@ -10,6 +10,8 @@ public class ForwardForce : MonoBehaviour public bool hitPlayerOnly = false; + public bool alwaysForward = true; + // Start is called before the first frame update void Start() { @@ -34,7 +36,10 @@ void OnTriggerStay(Collider col) if (canLaunch) { - bod.AddForce(pushForce * transform.forward); + var dir = transform.forward; + if (!alwaysForward) { dir = -(transform.position - col.transform.position).normalized; dir.y *= -1; } + + bod.AddForce(pushForce * dir); var roller = col.GetComponent<Roll>(); if (roller) -- GitLab