吃鸡降落伞降落,射线检测,触发销毁降落伞等
程序员文章站
2022-03-21 23:49:54
...
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,调节尺寸.
信号烟雾
上一篇: js监听input输入框值的实时变化实例
下一篇: linux下如何卸载php