Unity3D学习篇4

该文章描述了如何在Unity3D中使用刚体和碰撞器组件模拟火焰下落并触发碰撞爆炸的效果。通过编写碰撞检测脚本,在火焰与平面接触时生成爆炸对象并销毁火焰。此外,还介绍了一个扩展实验,即通过鼠标左键点击开启火焰的重力属性,实现点击后火焰下落的交互功能。
摘要由CSDN通过智能技术生成

运用刚体组件实现火焰下落碰撞爆炸

要求:运用刚体组件,使火焰在距离平面一定距离高度自由落体,在碰到平面的瞬间发生爆炸。
预备知识:刚体组件,碰撞器组件
刚体组件,是实现物体重力属性的重要组件,有质量、阻力等系列属性值,如图
刚体属性
碰撞器组件,是实现物体碰撞的重要组件,实现要求所用的是球形碰撞器,可以通过改变半径来改变碰撞判定范围,可以从Unity3D中被物体的外表看到一个绿色的球体范围,即碰撞判定范围。
碰撞器
编写碰撞脚本:通过碰撞监视器判断物体是否发生碰撞关系,在发生碰撞瞬间,创建爆炸对象,删除火焰对象。

    //声明预设体
    public GameObject Prefab;
    // Start is called before the first frame update
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {

    }

    //监听发生碰撞
    private void OnCollisionEnter(Collision collision)
    {
        //创造一个爆炸对象
        Instantiate(Prefab, transform.position, Quaternion.identity);
        //销毁火焰
        Destroy(gameObject);
    }

    //持续碰撞中
    private void OnCollisionStay(Collision collision)
    {
        
    }

    //碰撞结束
    private void OnCollisionExit(Collision collision)
    {
        
    }

编写爆炸脚本:通过计时器判断时间大于1s后删除炮炸对象。

    void Update()
    {
        time += Time.deltaTime;
        if (time > 1)
        {
            Destroy(gameObject);
        }
    }

实验完成。
拓展实验:开始程序后火焰悬停空中不动,鼠标点击左键后火焰下落。
编写脚本:程序初始化时关闭火焰重力属性,在识别到鼠标左键点击后打开火焰重力属性。

    //刚体插件
    private Rigidbody body;
    // Start is called before the first frame update
    void Start()
    {
        //获取刚体对象
        body = GetComponent<Rigidbody>();
        //初始化关闭重力
        body.useGravity = false;
    }

    // Update is called once per frame
    void Update()
    {
        //点击鼠标左键,开始掉落
        if (Input.GetMouseButtonDown(0))
        {
            body.useGravity = true;
        }
    }

实验完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值