博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unity(预设体)
阅读量:7002 次
发布时间:2019-06-27

本文共 1186 字,大约阅读时间需要 3 分钟。

#一、描述

预设体就是一个模版,比如可以先设计一个怪物,他皮肤,有技能,有属性,当你之后需要进行生成多个怪物的时候,就可以运用这个预设体进行生成,他们的属性,脚本皮肤都自带着生成出来了

#二、使用说明

生成预设体,比如你创建了一个cube,就可以直接把cube拉到project面板当中,他就会自动成为一个预设体,怎么判断是否是预设体,你看他的图标如果是一个蓝色的方块的话,他就是一个预设体

怎么使用预设体?直接把预设体拉入到界面上去,他就会自动生成了。

当预设体的颜色或者属性更改时,所有根据预设体生成出来的游戏对象,他们的属性都会跟随着预设体进行变化

随便选择一个预设体,他的属性面板的Prefab有3个选项卡可以选择。

1 Select就是选中生成你这个游戏对象的那个预设体,在project面板显示

2 Revert就是当你把此游戏对象的属性自行更改后,会恢复到预设体默认的属性

3 Apply是让此对象的属性作为预设体的基础默认属性

#三、根据预设体动态生成游戏对象

// Update is called once per frame	void Update () {		if (Input.GetKeyDown (KeyCode.P)) {						//生成一个随机的Vector向量			Vector3 vector3 = new Vector3 ();			vector3.y = 0.5f;			vector3.x = Random.Range (-5,5); 			vector3.z = Random.Range (-5, 5);			//生成一个随机的旋转角度			float angle = Random.Range (0, 360);			//运用Instantiate方法动态生成一个游戏对象,返回值为生成后的游戏对象			//1 需要生成的游戏预设体   2 生成后的游戏对象位置坐标   3 是否需要进行旋转或者其他操作			GameObject game = Instantiate (gameobject,vector3,Quaternion.AngleAxis(angle,Vector3.left)) as GameObject;			//根据返回的生成后的游戏对象,设置他的高度缩放为随机1 - 5 			Transform transform =  game.transform;			transform.localScale = new Vector3 (transform.localScale.x, Random.Range (1f, 5f), transform.localScale.z);		}	}复制代码

转载于:https://juejin.im/post/5b3ac6aae51d4555c241b0c3

你可能感兴趣的文章