欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

unity3d 预制体

发布时间:2023/11/30 编程问答 65 豆豆
生活随笔 收集整理的这篇文章主要介绍了 unity3d 预制体 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

首先要说明一下什么是预制体?

在Unity3D里面我们叫它Prefab;我们也可以这样理解:当制作好了游戏组件(场景中的任意一个gameobject

),我们希望将它制作成一个组件模版,用于批量的套用工作,例如说场景中本质上要重复使用的东西,比如:敌人、士兵、子弹或者一个砖块完全相同的墙体。这里说本质是因为默认生成的prefab其实和模版是一模一样的。就像是克隆体,但生成的位置、角度或者一些属性不同(这个就好像c++里边的类一样);

这样看来,Prefab对于我们开发unity3d相当重要。

好了,下边开始介绍如何制作Prefab。

首先创建一个Prefabs文件夹吧。可以将自己制作的Prefab全部放到这个文件夹,这样容易管理。


接着我们在场景中创建一个备选预制件组件,这里就直接创建一个CUBE好了。


这里有2中方法将这个CUBE变为预制体。

1.直接将cube拖拽到Prefabs文件夹里。(真是超级简单)

2.现在Prefabs文件夹里边创建一个预制体。如下图为创建的方法


接着将CUBE拖拽到预制体上。如下图所示:


现在看看场景中的CUBE,可以看到在Inspector面板中看到多了这样一栏,点击select可以

定位到project中预制体的模版“母体”,点击Revert就是还原当前预制体,Apply就是确定当前

预制体了。有兴趣的可以自己试试看看它们的作用。


OK,我们已经创建好了预制体,那么如何使用呢?下面简单介绍一下。

首先创建一个脚本:


写一个公用变量来记录预制体。

//----------------------

//Prefab by cube for spawn

//--------------------------------------

public GameObject  _Pre_Cube;

接着在点击鼠标时创建,我这里创建的位置和旋转都是0

void Update()

{

if(Inpute.GetMouseButtonDown(0))

{

Instantiate(_Pre_Cube,Vector3.zero,Quaternion.identity);
}

}

然后布置一下脚本和变量:


运行点击屏幕



可以注意到创建了很多的克隆体。



总结

以上是生活随笔为你收集整理的unity3d 预制体的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。