U3D关于抛物线的轨迹的做法

来源:互联网 发布:无影和黑武士数据对比 编辑:程序博客网 时间:2024/04/28 20:25

添加两个cube ,把这个脚本附在一个cube上面,把另外一个cube弄到脚本的target对象上,点击运行就可以了

using UnityEngine;using System.Collections;public class joi : MonoBehaviour {public GameObject target;public float speed = 10;private float distanceToTarget;private bool move = true;void Start (){distanceToTarget = Vector3.Distance (this.transform.position, target.transform.position);StartCoroutine (Shoot ());}IEnumerator Shoot (){while (move) {Vector3 targetPos = target.transform.position;this.transform.LookAt (targetPos);float angle = Mathf.Min (1, Vector3.Distance (this.transform.position, targetPos) / distanceToTarget) * 45;this.transform.rotation = this.transform.rotation * Quaternion.Euler (Mathf.Clamp (-angle, -42, 42), 0, 0);float currentDist = Vector3.Distance (this.transform.position, target.transform.position);print ("currentDist" + currentDist);if (currentDist < 0.5f)move = false;this.transform.Translate (Vector3.forward * Mathf.Min (speed * Time.deltaTime, currentDist));yield return null;}}}


0 0
原创粉丝点击