unity3d 抛物线(炮弹轨迹)
2014-06-27 19:24
525 查看
using UnityEngine;
using System.Collections;
public class ProjectileTest : 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;
}
}
}
using System.Collections;
public class ProjectileTest : 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;
}
}
}
相关文章推荐
- unity3d 抛物线(炮弹轨迹)
- 关于手机游戏中的炮弹轨迹——抛物线
- Unity3D (塔防游戏)射击 之 抛物线运动(模拟炮弹)
- 小折腾:JavaScript与元素间的抛物线轨迹运动
- JS小球抛物线轨迹运动的两种实现方法详解
- 模拟抛物线的轨迹
- Unity3D角色攻击+攻击轨迹(初版)
- Unity3D运动轨迹拖动效果(Trail Render)实现
- Unity3D之MeleeWeaponTrail武器轨迹插件的使用
- Unity3D研究之与根据动态的两个轨迹点绘制面详解
- unity3d抛物线的脚本
- unity3d抛物线的脚本
- Unity3D 抛物线实现
- 已知起点和终点求炮弹轨迹
- 小折腾:JavaScript与元素间的抛物线轨迹运动
- 多项式轨迹--直线和抛物线轨迹
- unity抛物线,平均速度下的运动轨迹
- 抛物线、导弹线轨迹计算
- JavaScript与元素间的抛物线轨迹运动
- 【UE4】【C++】生成子弹、炮弹 (左键射出、抛物线)