本文已参与「新人创作礼」活动,一起开启掘金创作之路。
【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);
}