主页 > 软件开发  > 

日志2025.2.17

日志2025.2.17

日志2025.2.17

1.增加了远程敌人的武器数据 [CreateAssetMenu(fileName = "EnemyWeaponData_Range", menuName = "Scriptable Objects/EnemyWeaponData_Range")] public class EnemyWeaponData_Range : ScriptableObject {     public EnemyWeaponType_Range weaponType;

    public float fireRate = 1f;     public int bulletsPerAttack = 5;     public float weaponCooldowm = 2;

    public float bulletSpeed = 20;     public float weaponSpread = 0.2f;

    //返回连续射击时武器子弹的扩散后的最终方向     public Vector3 ApplySpread(Vector3 originalDrection)     {         float randomValueX = Random.Range(-weaponSpread, weaponSpread);         float randomValueY = Random.Range(-weaponSpread, weaponSpread);         float randomValueZ = Random.Range(-weaponSpread, weaponSpread);

        Quaternion spreadRotation = Quaternion.Euler(randomValueX, randomValueY, randomValueZ);

        return spreadRotation * originalDrection;     }

}

2.增加了远程敌人跑去掩体的状态 using UnityEngine;

public class RunToCoverState_Range : EnemyState {     private Enemy_Range enemy;     private Vector3 destination;

    public RunToCoverState_Range(Enemy enemyBase, EnemyStateMachine stateMachine, string animBoolName) : base(enemyBase, stateMachine, animBoolName)     {         enemy = (Enemy_Range)enemyBase;     }

    public override void Enter()     {         base.Enter();         enemy.agent.speed = enemy.runSpeed;         destination = enemy.coverPoint.position;         enemy.agent.destination = destination;     }

    public override void Exit()     {         base.Exit();     }

    public override void Update()     {         base.Update();         if(Vector3.Distance(enemy.transform.position, destination) <= enemy.agent.stoppingDistance + 0.5f)         {             stateMachine.ChangeState(enemy.battleState);         }

    } }  

标签:

日志2025.2.17由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“日志2025.2.17