poprawki materialy unity 6, pajaki, podmiana katalogu FSM w AIControlerze, zmiana w Spider 2.0 Behaviours , skopane zycie bylo, ladowalo pajaka z zyciem 2.
This commit is contained in:
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/TriggerSimpleAttack.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vAIAttack.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vAIClearTarget.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vAIFindTargetAction.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -36,6 +36,8 @@ namespace Invector.vCharacterController.AI.FSMBehaviour
|
||||
|
||||
protected virtual void Flee(vIFSMBehaviourController fsmBehaviour)
|
||||
{
|
||||
if (Time.timeScale <= 0f) return;
|
||||
|
||||
// FLEEING FROM DAMAGE SENDER
|
||||
if (fsmBehaviour != null && fsmBehaviour.aiController.receivedDamage.isValid && fsmBehaviour.aiController.receivedDamage.lastSender != null)
|
||||
{
|
||||
@@ -53,7 +55,7 @@ namespace Invector.vCharacterController.AI.FSMBehaviour
|
||||
fleeDir = Quaternion.Euler(0, Random.Range(-(5 * i), 5 * i), 0) * fleeDir.normalized;
|
||||
fleeDir.y = 0f;
|
||||
if (debugFleeDirection) Debug.DrawRay(fsmBehaviour.aiController.transform.position, fleeDir * fleeDistance, Color.yellow, 10f);
|
||||
|
||||
|
||||
fsmBehaviour.aiController.MoveTo(fsmBehaviour.aiController.transform.position + fleeDir * fleeDistance, fleeSpeed);
|
||||
fsmBehaviour.aiController.ForceUpdatePath();
|
||||
}
|
||||
@@ -77,7 +79,7 @@ namespace Invector.vCharacterController.AI.FSMBehaviour
|
||||
var fleeDir = fsmBehaviour.aiController.transform.position - threatPoint;
|
||||
fleeDir = Quaternion.Euler(0, Random.Range(-(5 * i), 5 * i), 0) * fleeDir.normalized;
|
||||
if (debugFleeDirection) Debug.DrawRay(fsmBehaviour.aiController.transform.position, fleeDir * fleeDistance, Color.yellow, 10f);
|
||||
fsmBehaviour.aiController.MoveTo(fsmBehaviour.aiController.transform.position + fleeDir * fleeDistance,fleeSpeed);
|
||||
fsmBehaviour.aiController.MoveTo(fsmBehaviour.aiController.transform.position + fleeDir * fleeDistance, fleeSpeed);
|
||||
fsmBehaviour.aiController.ForceUpdatePath();
|
||||
}
|
||||
}
|
||||
@@ -97,8 +99,8 @@ namespace Invector.vCharacterController.AI.FSMBehaviour
|
||||
if (debugMode) Debug.Log("Fleeing without target or damage sender");
|
||||
var fleeDir = fsmBehaviour.aiController.transform.forward;
|
||||
fleeDir = Quaternion.Euler(0, Random.Range(-(10 * i), 10 * (i)), 0) * fleeDir.normalized;
|
||||
if (debugFleeDirection) Debug.DrawRay(fsmBehaviour.aiController.transform.position, fleeDir * fleeDistance, Color.yellow, 10f);
|
||||
fsmBehaviour.aiController.MoveTo(fsmBehaviour.aiController.transform.position + fleeDir * fleeDistance,fleeSpeed);
|
||||
if (debugFleeDirection) Debug.DrawRay(fsmBehaviour.aiController.transform.position, fleeDir * fleeDistance, Color.yellow, 10f);
|
||||
fsmBehaviour.aiController.MoveTo(fsmBehaviour.aiController.transform.position + fleeDir * fleeDistance, fleeSpeed);
|
||||
fsmBehaviour.aiController.ForceUpdatePath();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vAIFlee.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vAIGetCoverAction.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
namespace Invector.vCharacterController.AI.FSMBehaviour
|
||||
using UnityEngine;
|
||||
|
||||
namespace Invector.vCharacterController.AI.FSMBehaviour
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
[vFSMHelpbox("Requires a AIMessageReceiver attached to your AI Controller - This will send a message to your Controller, so you can triggers custom Events", UnityEditor.MessageType.Info)]
|
||||
[vFSMHelpbox("Requires a vMessageReceiver attached to your AI Controller - This will send a message to your Controller, so you can trigger custom Events", UnityEditor.MessageType.Info)]
|
||||
#endif
|
||||
public class vAISendMessage : vStateAction
|
||||
{
|
||||
@@ -18,11 +20,24 @@
|
||||
{
|
||||
executionType = vFSMComponentExecutionType.OnStateEnter;
|
||||
}
|
||||
|
||||
public string listenerName;
|
||||
public string message;
|
||||
|
||||
public override void DoAction(vIFSMBehaviourController fsmBehaviour, vFSMComponentExecutionType executionType = vFSMComponentExecutionType.OnStateUpdate)
|
||||
{
|
||||
if (fsmBehaviour.messageReceiver) fsmBehaviour.messageReceiver.Send(listenerName, message);
|
||||
// Pobranie komponentu vMessageReceiver
|
||||
var receiver = fsmBehaviour.gameObject.GetComponent<vMessageReceiver>();
|
||||
|
||||
// Jeśli komponent istnieje, wysyła wiadomość
|
||||
if (receiver != null)
|
||||
{
|
||||
receiver.Send(listenerName, message);
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogWarning($"vMessageReceiver not found on {fsmBehaviour.gameObject.name}. Cannot send message.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vAISendMessage.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vAISetDetectionLayer.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vAISetDetectionTags.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vAISetLineOfSight.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vAISetObstaclesLayer.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -23,12 +23,16 @@ namespace Invector.vCharacterController.AI.FSMBehaviour
|
||||
|
||||
[vHelpBox("Use this to ignore attack time")]
|
||||
public bool forceCanAttack;
|
||||
|
||||
[Tooltip("This action will check if aim is enabled using vAnimatorTag with (Upperbody Pose) tag on layer setted")]
|
||||
public int aimLayer = 4;
|
||||
[Tooltip("The shot rountine just will run when Aim angle is in Max Angle To Shot (Inspector of vControlAIShooter>ShooterSettings")]
|
||||
public bool onlyShotWhenInAngle;
|
||||
public bool debug;
|
||||
public override void DoAction(vIFSMBehaviourController fsmBehaviour, vFSMComponentExecutionType executionType = vFSMComponentExecutionType.OnStateUpdate)
|
||||
{
|
||||
if (fsmBehaviour.aiController is vIControlAIShooter)
|
||||
{
|
||||
ControlAttack(fsmBehaviour, fsmBehaviour.aiController as vIControlAIShooter);
|
||||
ControlAttack(fsmBehaviour, fsmBehaviour.aiController as vIControlAIShooter,executionType);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,8 +60,14 @@ namespace Invector.vCharacterController.AI.FSMBehaviour
|
||||
|
||||
protected virtual void HandleAttack(vIFSMBehaviourController fsmBehaviour, vIControlAIShooter combat)
|
||||
{
|
||||
combat.AimToTarget();
|
||||
if (!combat.isAiming) return;
|
||||
combat.AimToTarget(.2f);
|
||||
bool validAimAngle = onlyShotWhenInAngle ? combat.IsInShotAngle : true;
|
||||
if (!validAimAngle || !combat.isAiming || !combat.animatorStateInfos.HasTag("Upperbody Pose") || combat.animator.IsInTransition(aimLayer) || combat.animator.GetCurrentAnimatorStateInfo(aimLayer).normalizedTime < 0.9f) return;
|
||||
if (debug)
|
||||
{
|
||||
Debug.Log("Trigger Shooter Attack");
|
||||
fsmBehaviour.SendDebug("Trigger Shooter Attack", this);
|
||||
}
|
||||
combat.Attack(forceCanAttack: forceCanAttack);
|
||||
}
|
||||
|
||||
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vAIShooterAttack.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
namespace Invector.vCharacterController.AI.FSMBehaviour
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
|
||||
[vFSMHelpbox("Add health to the current HealthController", UnityEditor.MessageType.Info)]
|
||||
#endif
|
||||
public class vAddHealth : vStateAction
|
||||
@@ -22,7 +21,6 @@ namespace Invector.vCharacterController.AI.FSMBehaviour
|
||||
|
||||
[Header("This action won't work with the DecisionTimer")]
|
||||
public float timeToAdd = 1f;
|
||||
|
||||
public int healthToRecovery = 1;
|
||||
|
||||
public override void DoAction(vIFSMBehaviourController fsmBehaviour, vFSMComponentExecutionType executionType = vFSMComponentExecutionType.OnStateUpdate)
|
||||
@@ -37,7 +35,7 @@ namespace Invector.vCharacterController.AI.FSMBehaviour
|
||||
|
||||
if (InTimer(fsmBehaviour, timeToAdd))
|
||||
{
|
||||
fsmBehaviour.aiController.AddHealth(healthToRecovery);
|
||||
fsmBehaviour.aiController.ChangeHealth(healthToRecovery);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vAddHealth.cs
|
||||
uploadId: 601882
|
||||
|
||||
40
Assets/ThirdParty/Invector-AIController/FSM/Scripts/Actions/vAimToTargetAction.cs
vendored
Normal file
40
Assets/ThirdParty/Invector-AIController/FSM/Scripts/Actions/vAimToTargetAction.cs
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Invector.vCharacterController.AI.FSMBehaviour
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
[vFSMHelpbox("This is a vAimToTargetAction Action", UnityEditor.MessageType.Info)]
|
||||
#endif
|
||||
public class vAimToTargetAction : vStateAction
|
||||
{
|
||||
public override string categoryName
|
||||
{
|
||||
get { return "Combat/"; }
|
||||
}
|
||||
public override string defaultName
|
||||
{
|
||||
get { return "Aim To Target"; }
|
||||
}
|
||||
|
||||
public vAimToTargetAction()
|
||||
{
|
||||
executionType = vFSMComponentExecutionType.OnStateUpdate;
|
||||
}
|
||||
public bool onlyIfCanSeeTarget;
|
||||
[Tooltip("This action will check if aim is enabled using vAnimatorTag with (Upperbody Pose) tag on layer setted")]
|
||||
public int aimLayer = 4;
|
||||
public override void DoAction(vIFSMBehaviourController fsmBehaviour, vFSMComponentExecutionType executionType = vFSMComponentExecutionType.OnStateUpdate)
|
||||
{
|
||||
if (fsmBehaviour.aiController is vIControlAIShooter)
|
||||
{
|
||||
ControlAttack(fsmBehaviour, fsmBehaviour.aiController as vIControlAIShooter, executionType);
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual void ControlAttack(vIFSMBehaviourController fsmBehaviour, vIControlAIShooter combat, vFSMComponentExecutionType executionType = vFSMComponentExecutionType.OnStateUpdate)
|
||||
{
|
||||
if(!onlyIfCanSeeTarget|| combat.targetInLineOfSight ) combat.AimToTarget(.1f);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
18
Assets/ThirdParty/Invector-AIController/FSM/Scripts/Actions/vAimToTargetAction.cs.meta
vendored
Normal file
18
Assets/ThirdParty/Invector-AIController/FSM/Scripts/Actions/vAimToTargetAction.cs.meta
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2383bbaa659096e4ca5b556eb6759da5
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vAimToTargetAction.cs
|
||||
uploadId: 601882
|
||||
27
Assets/ThirdParty/Invector-AIController/FSM/Scripts/Actions/vAnimatorSetTrigger.cs
vendored
Normal file
27
Assets/ThirdParty/Invector-AIController/FSM/Scripts/Actions/vAnimatorSetTrigger.cs
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Invector.vCharacterController.AI.FSMBehaviour
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
[vFSMHelpbox("This is a vAnimatorSetTrigger Action", UnityEditor.MessageType.Info)]
|
||||
#endif
|
||||
public class vAnimatorSetTrigger : vStateAction
|
||||
{
|
||||
public override string categoryName
|
||||
{
|
||||
get { return "Animator/"; }
|
||||
}
|
||||
public override string defaultName
|
||||
{
|
||||
get { return "vAnimatorSetTrigger"; }
|
||||
}
|
||||
public string trigger;
|
||||
[vToggleOption("Method","Set","Reset")]
|
||||
public bool reset;
|
||||
public override void DoAction(vIFSMBehaviourController fsmBehaviour, vFSMComponentExecutionType executionType = vFSMComponentExecutionType.OnStateUpdate)
|
||||
{
|
||||
if(reset) fsmBehaviour.aiController.animator.ResetTrigger(trigger);else fsmBehaviour.aiController.animator.SetTrigger(trigger);
|
||||
//TO DO
|
||||
}
|
||||
}
|
||||
}
|
||||
18
Assets/ThirdParty/Invector-AIController/FSM/Scripts/Actions/vAnimatorSetTrigger.cs.meta
vendored
Normal file
18
Assets/ThirdParty/Invector-AIController/FSM/Scripts/Actions/vAnimatorSetTrigger.cs.meta
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a474009c8f87c3144980f0e817fd05eb
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vAnimatorSetTrigger.cs
|
||||
uploadId: 601882
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vFSMChangeBehaviour.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -27,6 +27,7 @@ namespace Invector.vCharacterController.AI.FSMBehaviour
|
||||
|
||||
public virtual void FindTarget(vIControlAI vIControl)
|
||||
{
|
||||
if (vIControl.GetTargetsInRange().Count == 0) vIControl.FindTarget();
|
||||
vIControl.FindSpecificTarget(_detectTags, _detectLayer, checkForObstacles);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vFindSpecificTarget.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vGoToDamageSender.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vGoToFriend.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace Invector.vCharacterController.AI.FSMBehaviour
|
||||
|
||||
public override string categoryName
|
||||
{
|
||||
get { return "Movement/"; }
|
||||
get { return "Movement/Noise/"; }
|
||||
}
|
||||
public override string defaultName
|
||||
{
|
||||
@@ -38,7 +38,7 @@ namespace Invector.vCharacterController.AI.FSMBehaviour
|
||||
if (specificType) noise = noiseListener.GetNearNoiseByTypes(noiseTypes);
|
||||
else noise = noiseListener.GetNearNoise();
|
||||
}
|
||||
else noise = noiseListener.lastListenedNoise;
|
||||
else noise = noiseListener.LastListenedNoise;
|
||||
if (noise != null)
|
||||
{
|
||||
fsmBehaviour.aiController.MoveTo(noise.position,speed);
|
||||
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vGoToNoisePosition.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
}
|
||||
|
||||
public bool useStrafeMovement = false;
|
||||
[vHideInInspector("useStrafeMovement")]
|
||||
public bool updateRotationInStrafe = false;
|
||||
public vAIMovementSpeed speed = vAIMovementSpeed.Walking;
|
||||
|
||||
public override void DoAction(vIFSMBehaviourController fsmBehaviour, vFSMComponentExecutionType executionType = vFSMComponentExecutionType.OnStateUpdate)
|
||||
@@ -23,8 +25,15 @@
|
||||
if (executionType == vFSMComponentExecutionType.OnStateEnter) fsmBehaviour.aiController.ForceUpdatePath(2f);
|
||||
|
||||
if (useStrafeMovement)
|
||||
fsmBehaviour.aiController.StrafeMoveTo(fsmBehaviour.aiController.lastTargetPosition, fsmBehaviour.aiController.lastTargetPosition - fsmBehaviour.transform.position,speed);
|
||||
else fsmBehaviour.aiController.MoveTo(fsmBehaviour.aiController.lastTargetPosition,speed);
|
||||
{
|
||||
if (updateRotationInStrafe)
|
||||
{
|
||||
var dir = fsmBehaviour.aiController.targetInLineOfSight ? fsmBehaviour.aiController.lastTargetPosition - fsmBehaviour.transform.position : fsmBehaviour.aiController.desiredVelocity;
|
||||
fsmBehaviour.aiController.StrafeMoveTo(fsmBehaviour.aiController.lastTargetPosition, dir, speed);
|
||||
}
|
||||
else fsmBehaviour.aiController.StrafeMoveTo(fsmBehaviour.aiController.lastTargetPosition, speed);
|
||||
}
|
||||
else fsmBehaviour.aiController.MoveTo(fsmBehaviour.aiController.lastTargetPosition, speed);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vGoToTarget.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vLookAroundAction.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vLookToDamageSender.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vLookToTargetAction.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -19,6 +19,11 @@ namespace Invector.vCharacterController.AI.FSMBehaviour
|
||||
}
|
||||
|
||||
public vAIMovementSpeed patrolSpeed = vAIMovementSpeed.Walking;
|
||||
|
||||
public bool patrolInStrafe;
|
||||
[vHideInInspector("patrolInStrafe")]
|
||||
public bool updateRotationInStrafe=true;
|
||||
|
||||
public override void DoAction(vIFSMBehaviourController fsmBehaviour, vFSMComponentExecutionType executionType = vFSMComponentExecutionType.OnStateUpdate)
|
||||
{
|
||||
DoPatrolWaypoints(fsmBehaviour);
|
||||
@@ -88,7 +93,14 @@ namespace Invector.vCharacterController.AI.FSMBehaviour
|
||||
else
|
||||
{
|
||||
|
||||
fsmBehaviour.aiController.MoveTo(fsmBehaviour.aiController.targetWaypoint.position, patrolSpeed);
|
||||
if (patrolInStrafe)
|
||||
{
|
||||
if(updateRotationInStrafe) fsmBehaviour.aiController.StrafeMoveTo(fsmBehaviour.aiController.targetWaypoint.position, fsmBehaviour.aiController.desiredVelocity, patrolSpeed);
|
||||
else fsmBehaviour.aiController.StrafeMoveTo(fsmBehaviour.aiController.targetWaypoint.position, patrolSpeed);
|
||||
}
|
||||
|
||||
else
|
||||
fsmBehaviour.aiController.MoveTo(fsmBehaviour.aiController.targetWaypoint.position, patrolSpeed);
|
||||
if (debugMode) Debug.Log("Go to new Waypoint");
|
||||
}
|
||||
}
|
||||
@@ -97,13 +109,25 @@ namespace Invector.vCharacterController.AI.FSMBehaviour
|
||||
{
|
||||
if (fsmBehaviour.debugMode)
|
||||
fsmBehaviour.SendDebug("MoveTo SelfStartPosition", this);
|
||||
fsmBehaviour.aiController.MoveTo(fsmBehaviour.aiController.selfStartPosition, patrolSpeed);
|
||||
if (patrolInStrafe)
|
||||
{
|
||||
if (updateRotationInStrafe) fsmBehaviour.aiController.StrafeMoveTo(fsmBehaviour.aiController.selfStartPosition, fsmBehaviour.aiController.desiredVelocity, patrolSpeed);
|
||||
else fsmBehaviour.aiController.StrafeMoveTo(fsmBehaviour.aiController.selfStartPosition, patrolSpeed);
|
||||
}
|
||||
else
|
||||
fsmBehaviour.aiController.MoveTo(fsmBehaviour.aiController.selfStartPosition, patrolSpeed);
|
||||
}
|
||||
else if (fsmBehaviour.aiController.customStartPoint)
|
||||
{
|
||||
if (fsmBehaviour.debugMode)
|
||||
fsmBehaviour.SendDebug("MoveTo CustomStartPosition", this);
|
||||
fsmBehaviour.aiController.MoveTo(fsmBehaviour.aiController.customStartPosition, patrolSpeed);
|
||||
if (patrolInStrafe)
|
||||
{
|
||||
if (updateRotationInStrafe) fsmBehaviour.aiController.StrafeMoveTo(fsmBehaviour.aiController.customStartPosition, fsmBehaviour.aiController.desiredVelocity, patrolSpeed);
|
||||
else fsmBehaviour.aiController.StrafeMoveTo(fsmBehaviour.aiController.customStartPosition, patrolSpeed);
|
||||
}
|
||||
else
|
||||
fsmBehaviour.aiController.MoveTo(fsmBehaviour.aiController.customStartPosition, patrolSpeed);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vPatrolAction.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace Invector.vCharacterController.AI.FSMBehaviour
|
||||
{
|
||||
public override string categoryName
|
||||
{
|
||||
get { return "Controller/"; }
|
||||
get { return "Animator/"; }
|
||||
}
|
||||
public override string defaultName
|
||||
{
|
||||
@@ -18,7 +18,7 @@ namespace Invector.vCharacterController.AI.FSMBehaviour
|
||||
|
||||
public string _animationState;
|
||||
public int _layer;
|
||||
|
||||
public float crossfade=0.2f;
|
||||
public vPlayAnimationAction()
|
||||
{
|
||||
executionType = vFSMComponentExecutionType.OnStateEnter;
|
||||
@@ -26,7 +26,7 @@ namespace Invector.vCharacterController.AI.FSMBehaviour
|
||||
|
||||
public override void DoAction(vIFSMBehaviourController fsmBehaviour, vFSMComponentExecutionType executionType = vFSMComponentExecutionType.OnStateUpdate)
|
||||
{
|
||||
fsmBehaviour.aiController.animator.Play(_animationState, _layer);
|
||||
fsmBehaviour.aiController.animator.CrossFadeInFixedTime(_animationState,crossfade, _layer);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vPlayAnimationAction.cs
|
||||
uploadId: 601882
|
||||
|
||||
24
Assets/ThirdParty/Invector-AIController/FSM/Scripts/Actions/vRegisterLastPosition.cs
vendored
Normal file
24
Assets/ThirdParty/Invector-AIController/FSM/Scripts/Actions/vRegisterLastPosition.cs
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Invector.vCharacterController.AI.FSMBehaviour
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
[vFSMHelpbox("This is a vRegisterLastPosition Action", UnityEditor.MessageType.Info)]
|
||||
#endif
|
||||
public class vRegisterLastPosition : vStateAction
|
||||
{
|
||||
public override string categoryName
|
||||
{
|
||||
get { return "Movement/"; }
|
||||
}
|
||||
public override string defaultName
|
||||
{
|
||||
get { return "Set Start Position"; }
|
||||
}
|
||||
|
||||
public override void DoAction(vIFSMBehaviourController fsmBehaviour, vFSMComponentExecutionType executionType = vFSMComponentExecutionType.OnStateUpdate)
|
||||
{
|
||||
fsmBehaviour.aiController.selfStartPosition = fsmBehaviour.aiController.transform.position;
|
||||
}
|
||||
}
|
||||
}
|
||||
18
Assets/ThirdParty/Invector-AIController/FSM/Scripts/Actions/vRegisterLastPosition.cs.meta
vendored
Normal file
18
Assets/ThirdParty/Invector-AIController/FSM/Scripts/Actions/vRegisterLastPosition.cs.meta
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b44524182f127484c95dac2cc9c5fc39
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vRegisterLastPosition.cs
|
||||
uploadId: 601882
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vRotateToTargetAction.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vSetDamageSenderAsTarget.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vShooterCombatAction.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -108,7 +108,7 @@ namespace Invector.vCharacterController.AI.FSMBehaviour
|
||||
|
||||
protected virtual void ControlLookPoint(vIControlAICombat controller)
|
||||
{
|
||||
if (controller.currentTarget.transform == null || !controller.currentTarget.hasCollider)
|
||||
if (controller.currentTarget.transform == null || !controller.currentTarget.collider)
|
||||
return;
|
||||
|
||||
var movepoint = (controller.lastTargetPosition);
|
||||
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vSimpleCombatAction.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vTriggerSoundAction.cs
|
||||
uploadId: 601882
|
||||
|
||||
@@ -10,3 +10,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 123618
|
||||
packageName: Invector FSM AI Template
|
||||
packageVersion: 1.1.9a
|
||||
assetPath: Assets/Invector-FSMAIController/FSM/Scripts/Actions/vWanderAction.cs
|
||||
uploadId: 601882
|
||||
|
||||
Reference in New Issue
Block a user