【Unity开发】随手记:预制体与爆炸力

249 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

【Unity开发】随手记:预制体与爆炸力

写在前面

本系列为笔者实在是不想写作业,来通过写博客勉励自己一下。参考教程为《Unity 3D游戏开发》(中国工信出版集团),大部分代码和注释来源于这个博主,姐妹万岁哈哈哈哈🤣。
文章中只放代码(随缘附少量基础讲解和效果),项目操作可以自行百度or留言,防止太长一篇1~3个案例,案例来源于哈工大(威海)王峥老师布置的作业。

预制体与爆炸力

使用预制体创建10个Cube并爆炸开来。

  • 创建方法:

    • 创建Prefabs文件夹,将其拖进去
    • 创建预制体,将其拖进去
  • 写脚本,挂在至MainCamera上,将rb传入预制体。将爆炸力作用于每一个物体上。

    public GameObject rb;
    private GameObject[] rbb;
    // Start is called before the first frame update
    void Start()
    {
        rbb = new GameObject[10]; 
        for (int i = 0; i < 10; i++)
        {
        	// 实例化10个物体
            rbb[i] = Instantiate(rb);
            rbb[i].transform.position = new Vector3(2, 0.5f, 0); 
            rbb[i].transform.RotateAround(
               new Vector3(0, 0, 0), new Vector3(0, 1, 0), i * 36);
            // 添加爆炸力
            rbb[i].GetComponent<Rigidbody>().AddExplosionForce(
            -1000f, new Vector3(rbb[i].transform.position.x,
            4 * rbb[i].transform.position.y, rbb[i].transform.position.z), 10);
        }
        // rb.SetActive(false);
    }