Unity 3D 动态创建对象,并渲染贴图,动态添加删除脚本
来源:互联网 发布:linux 驱动开发 编辑:程序博客网 时间:2024/06/05 21:08
初学U3D,贵在坚持和总结,一来对平时的知识巩固,二来可以让自己思路更清晰! 希望与更多的U3D爱好者交流学习。
一、动态为对象添加渲染贴图:
- using UnityEngine;
- using System.Collections;
- public class NewBehaviourScript : MonoBehaviour {
- GameObject obj;
- void OnGUI()
- {
- if(GUILayout.Button("Add",GUILayout.Height(60),GUILayout.Width(110)))
- {
- //创建Cube对象
- obj = GameObject.CreatePrimitive(PrimitiveType.Cube);
- //移动至指定坐标
- obj.transform.position = new Vector3(100,100,100);
- //对象名称
- obj.name = "Andy";
- //材质渲染,(Texture)强制转换
- obj.renderer.material.mainTexture = (Texture)Resources.Load("0");
- }
- if(GUILayout.Button("Del",GUILayout.Height(60),GUILayout.Width(110)))
- {
- //销毁对象
- Destroy(obj);
- }
- }
- }
using UnityEngine;using System.Collections;public class NewBehaviourScript : MonoBehaviour {GameObject obj;void OnGUI(){if(GUILayout.Button("Add",GUILayout.Height(60),GUILayout.Width(110))){//创建Cube对象obj = GameObject.CreatePrimitive(PrimitiveType.Cube);//移动至指定坐标obj.transform.position = new Vector3(100,100,100);//对象名称obj.name = "Andy";//材质渲染,(Texture)强制转换obj.renderer.material.mainTexture = (Texture)Resources.Load("0");}if(GUILayout.Button("Del",GUILayout.Height(60),GUILayout.Width(110))){//销毁对象Destroy(obj);}}}
二、添加和删除脚本:
1、首先创建两个脚本,命名为:“Main.cs”和"CubeScript";
2、然后新建一个Cube ;
3、打开CubeScript.cs脚本,添加代码,使Cube执行旋转操作;
- using UnityEngine;
- using System.Collections;
- public class CubeScript : MonoBehaviour
- {
- void Start ()
- {
- }
- void Update ()
- {
- //定义对象 y轴旋转
- gameObject.transform.Rotate(new Vector3(0,6,0));
- }
- }
using UnityEngine;using System.Collections;public class CubeScript : MonoBehaviour {void Start () {}void Update () {//定义对象 y轴旋转gameObject.transform.Rotate(new Vector3(0,6,0));}}
4、打开Main.cs脚本,写入代码如下:
- using UnityEngine;
- using System.Collections;
- public class Main : MonoBehaviour
- {
- //定义全局游戏对象
- GameObject obj;
- void Start ()
- {
- //获取Cube组件
- obj = GameObject.Find("Cube");
- }
- void OnGUI()
- {
- if(GUILayout.Button("Move"))
- {
- //为Cube对象添加CubeScript脚本
- obj.AddComponent("CubeScript");
- }
- if(GUILayout.Button("ReMove"))
- {
- //必须先定义一个Object对象,获取Cube组件的对应脚本
- Object Script = obj.GetComponent("CubeScript");
- //销毁该脚本
- Destroy(Script);
- }
- }
- void Update ()
- {
- }
- }
using UnityEngine;using System.Collections;public class Main : MonoBehaviour {//定义全局游戏对象GameObject obj;void Start (){//获取Cube组件obj = GameObject.Find("Cube");}void OnGUI() {if(GUILayout.Button("Move")){//为Cube对象添加CubeScript脚本obj.AddComponent("CubeScript");}if(GUILayout.Button("ReMove")){//必须先定义一个Object对象,获取Cube组件的对应脚本Object Script = obj.GetComponent("CubeScript");//销毁该脚本Destroy(Script);}}void Update () {}}
5、将Main.cs脚本,拖拽至摄像机;
效果可见:
- < Unity 3D专栏 >动态创建对象,并渲染贴图,动态添加删除脚本
- Unity 3D 动态创建对象,并渲染贴图,动态添加删除脚本
- Unity 3D 动态创建对象,并渲染贴图,动态添加删除脚本
- 动态创建对象,并渲染贴图,动态添加删除脚本
- unity动态贴图
- json动态创建对象并添加属性,遍历属性
- 动态添加/删除一个对象
- Unity 3D 中动态字体的创建
- 动态创建与删除对象
- JS 动态创建、添加对象
- unity动态添加删除iGUI的控件
- UNITY之动态创建NGUI对象
- 动态添加图片并绑定删除事件
- AngularJS动态添加数据并删除
- 动态创建物体并添加刚体属性
- JdbcTemplate 动态创建表并添加数据
- 动态创建CMFCToolbar并添加按钮
- Js动态添加与删除Option对象
- Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds
- 远程调用服务的设计构思(zookeeper的一种应用实践)
- 安卓客户端与服务器进行连接
- zookeeper错误KeeperErrorCode = ConnectionLoss解决
- 2013华为校园招聘上机题——约瑟夫环
- Unity 3D 动态创建对象,并渲染贴图,动态添加删除脚本
- sql2005/2008 删除过期备份
- 白话经典算法系列之七 堆与堆排序
- 通过Gearman实现MySQL到Redis的数据同步(异步复制)
- $.getJson()在IE中无法使用解决方案
- Android开发 ——线性布局文件、TextView、ListView的基本写法
- ubuntu安装svn全过程
- 【最苦逼的不是你,有人比你更苦逼】
- POJ 1087 网络流 最大流