Unity3D (塔防游戏)射击 之 抛物线运动(模拟炮弹)

这篇博客介绍了如何在Unity3D中实现塔防游戏中炮弹的抛物线运动,通过结合LookAt函数调整朝向,使用Quaternion.Euler进行X轴旋转,以及Translate函数进行平移,模拟出抛物线轨迹。内容涉及到两个分运动的组合,即沿Z轴的平移和绕X轴的旋转,最终形成抛物线射击效果。
摘要由CSDN通过智能技术生成

相信很多人都玩过愤怒的小鸟,也玩过王国保卫战,皇家守卫军,等等一系列优秀的TD,而里面的箭塔的射击 都是使用了 抛物线 的运动 先上代码,然后看下解释

using UnityEngine;
using System.Collections;

public class Radar: 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;
            //朝向目标  (Z轴朝向目标)
            this.transform.LookAt (targetPos);
            //根据距离衰减 角度
            float angle = Mathf.Min (1, Vector3.Distance (this.transform.position, targetPos) / distanceToTarget) * 45;
            //旋转对应的角度(线性插值一定角度,然后每帧绕X轴旋转)
            this.tr
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值