簡體   English   中英

如何在Unity3D中添加回避和追逐行為

[英]How to add avoidance and chase behavior in Unity3D

我想實現一種行為類型,在這種行為中,一群獵物正從這種游戲的掠食者中逃脫

我試圖以這種方式編寫腳本,但是我沒有得到期望的動作,獵物只是向前移動。

public Transform target;

    public float damping;
    public float drivespeed;

    void Update () {
        transform.Translate(Vector3.forward * Time.deltaTime * -drivespeed);

        Quaternion rotation = Quaternion
            .LookRotation(target.position - transform.position);
        transform.rotation = Quaternion
            .Slerp(transform.rotation, rotation, Time.deltaTime * damping);
    }

看起來像你想要的

transform.Translate(transform.forward * Time.deltaTime * -drivespeed);

代替

transform.Translate(Vector3.forward * Time.deltaTime * -drivespeed);

Vector3.forward是世界前向向量,而不是對象的前向向量。)

可能是transform.translate在旋轉邏輯之前被調用,但是很難分辨出這里出了什么問題。

  • 物體是否正確旋轉?
  • 如果是這樣,變換是否在忽略旋轉的情況下向前發展?
  • 驅動速度和阻尼變量!= 0嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM