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:
szczuras4
2024-12-28 00:03:40 +01:00
parent c596494d77
commit e75b093317
553 changed files with 48087 additions and 68332 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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();
}
}

View File

@@ -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

View File

@@ -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

View File

@@ -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.");
}
}
}
}
}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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);
}

View File

@@ -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

View File

@@ -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);
}
}
}

View File

@@ -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

View 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);
}
}
}

View 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

View 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
}
}
}

View 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

View File

@@ -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

View File

@@ -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);
}
}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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);

View File

@@ -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

View File

@@ -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);
}
}
}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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
{

View File

@@ -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

View File

@@ -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);
}
}
}

View File

@@ -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

View 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;
}
}
}

View 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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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);

View File

@@ -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

View File

@@ -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

View File

@@ -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