分享

预设体 unity3D

 failurewyy 2020-03-18

Unity(预设体)

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

#二、使用说明 

生成预设体,比如你创建了一个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);

		}

	}
复制代码

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多