Unity3d用户手册用户攻略运行时实例化预设 (Prefabs)

本文介绍了Unity3d中预设(Prefabs)的概念及其在运行时实例化的优势,包括代码简洁、易于维护和修改。通过实例展示了如何使用预设创建砖墙、火箭发射、角色替换等场景,强调了预设在游戏开发中的灵活性和实用性。
摘要由CSDN通过智能技术生成
运行时实例化预设 (Prefabs)
此刻您应当能够从根本层面上知道预设 (Prefabs) 的概念。它们是预界说游戏目标 (GameObjects) 和组件 (Components) 的调集,可在游戏中重复运用。假如您不知道预设 (Prefab),建议您阅览预设 (Prefabs) 页面,知道更多根本介绍。


在运行时想要实例化杂乱的游戏目标 (GameObjects),能够便利运用预设 (Prefabs)。实例化预设 (Prefabs) 的另一种挑选是运用代码从头开始创立游戏目标 (GameObjects)。比较代替办法,实例化预设 (Prefabs) 有多个优势:


能够运用一行代码实例化预设 (Prefab),并具有完好功用。运用代码创立等效游戏目标 (GameObjects),均匀需求五行代码,还有能够要更多。
可在场景 (Scene) 和检视器 (Inspector) 中轻松疾速设置、测验和修正预设 (Prefab)。
能够更改已实例化的预设 (Prefab),无需更改实例化预设的代码。一个简略的火箭能够更改成超级火箭,但无需更改代码。
通常状况
为阐明预设 (Prefabs) 的强壮,让咱们来看看可用得上预设的一些根本状况:


在不一样位置,多次运用单块“砖”预设 (Prefab) 创立一堵墙。
发射时,火箭发射器实例化一个飞翔的火箭预设 (Prefab)。预设 (Prefab) 包括一个网格 (Mesh)、刚体 (Rigidbody)、碰撞器 (Collider) 和带有自个的拖尾粒子体系 (Particle System) 的子游戏目标 (GameObject)。
机器人爆炸成许多碎片。完好的操作机器人已破坏,替换成一个残缺的机器人预设 (Prefab)。该预设 (Prefab) 包括分成多个有些的机器人,一切有些均设有自个的刚体 (Rigidbodies) 和粒子体系 (Particle Systems)。仅用一行代码,将一个目标替换成预设 (Prefab),该技能就可让您将机器人炸成许多碎片。
创立一堵墙
该示例阐明与运用代码创立目标比较,运用预设 (Prefab) 的优势。


首先,使用代码创建一堵砖墙:

// JavaScript
function Start () {
for (var y = 0; y < 5; y++) {
for (var x = 0; x < 5; x++) {
var cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
cube.AddComponent(Rigidbody);
cube.transform.position = Vector3 (x, y, 0);
        }
    }
}




// C#
public class Instantiation :MonoBehaviour {


	void Start() {
		for (int y = 0; y < 5; y++) {
			for (int x = 0; x < 5; x++) {
				GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
				cube.AddComponent<Rigidbody>();
				cube.transform.position = new Vector3(x, y, 0);
			}
		}
	}
}


要使用上方脚本,只需保存该脚本,然后将其拖到空游戏对象 (GameObject)。
通过游戏对象 (GameObject)->创建空游戏对象 (Create Empty) 创建一个空游戏对象。
进入播放模式 (Play Mode) 后,如果执行该代码,您将看到程序创建整堵砖墙。有两行与每块砖的功能相关:CreatePrimitive() 行和 AddComponent() 行。现在没有那么糟糕,只是每块砖没有纹理。想在砖上执行的每个附加操作,例如更改纹理、摩擦力或刚体质量,都是额外行。


如果创建预设 (Prefab) 并预先设置好&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值