吃鸡降落伞降落,射线检测,触发销毁降落伞等

1.导入资源包后,设置飞机动画,选中飞机游戏物体后ctrl+6;新建一个,选择position,然后定义第一帧和最后一帧,调节速度,即可,动画循环播放勾掉.
2.降落伞处理,挂载脚本xialuo;

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class xialuo : MonoBehaviour {
    Rigidbody rb;//定义一个刚体
    GameObject obj1;//定义一个游戏物体
    GameObject obj2;
    GameObject obj3;
    GameObject obj4;
    // Use this for initialization
    void Start () {
        obj1 = GameObject.Find("CarePaKage_01");//找到游戏物体
        obj2 = GameObject.Find("ParachuteCare");
        obj3 = GameObject.Find("Camera");
        obj4 = GameObject.Find("Particle System");//粒子系统
        obj1.GetComponent<MeshRenderer>().enabled = false;//取消组件渲染,必须要先写false再写true才能行,手动勾掉没有用;
        obj2.GetComponent<MeshRenderer>().enabled = false;
        obj4.SetActive(false);

        rb = GetComponent<Rigidbody>();//赋值组件
        rb.useGravity = false;
    }
    void OnTriggerEnter(Collider other)//碰撞触发
    {
        Destroy(obj3);
        //obj4.GetComponent<Camera>().enabled = true;
        rb.useGravity = true;//重力勾选
        obj1.GetComponent<MeshRenderer>().enabled = true;//激活渲染
    }

    // Update is called once per frame
    void Update () {
        Ray myRay = new Ray(transform.position, Vector3.down );//射线 (位置,方向)
        RaycastHit hit;
        if (Physics.Raycast(myRay, out hit, 30))//射线触发,射线长度30
        {
            if (hit.collider.gameObject.tag == "ground")//如果射线触到标签为ground的物体
            {
                obj2.GetComponent<MeshRenderer>().enabled = true;
                rb.drag = 6;//游戏物体阻力变为6;减速
                if (this.transform.position.y < 2.0f)
                {
                    obj4.SetActive(true);
                    obj2.GetComponent<MeshRenderer>().enabled = false;
                }
            }
        }
    }

}

最后在摄像机上挂跟随脚本,可以导入characters,然后添加脚本Smooth Follow在摄像机上,或者挂下边的代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class shexiangjigensui : MonoBehaviour {

    //把摄像机相对于物体的距离写死
private Vector3 distance;
public GameObject player;//我们要跟随的物体
void Start()
{
//计算摄像机和要跟随物体之间的距离
distance = player.transform.position - transform.position;
//因为距离被写死了,所以中间距离不会变化。
}
void Update()
{
//现在我们要确定自身的位置  用跟随的物体坐标减去中间距离
    transform.position = player.transform.position - distance;
}
}

摄像机切换

先在飞机上挂个子物体摄像机;Depth大于空投上的的摄像机值,这样就先显示飞机飞动,等两物体相遇触发时消除飞机的摄像机,这样就实现了摄像机镜头的切换.

粒子系统模拟烟尘和红色信号烟

落地烟尘

新建粒子系统在空投上,Rotation X调整为-90,这样方向向上.然后Shape形状调为Circle,Start Delay延时发射调为零,Start Lifetime调为2;Start Speed调为4,Emission点开,点加号,爆发,最小50最大80;Color overLifetime调节颜色,透明度;Size over Lifetime,调节尺寸.

信号烟雾

这里写图片描述
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值