创建一个角色到场景的指定坐标,并放到指定目录下
2011-07-26 21:00
363 查看
有时候需要在场景中自动添加一些树木(这些树木的模型已近做成名称为'DemoTrees'的一个Prefab),种在指定的坐标点上,而且树木要放在指定的Tree目录下(即所有的树木都是Tree的子物体)。
<核心代码>
Public void CreateTree(float x, float y, float z){
GameObject tree = (GameObject)Resources.Load(“DemoTrees”, typeof(GameObject)); // 导入这棵树
GameObject aNewTree = GameObject.Instantiate(tree, new Vector3(x, y, z), Quaternion.identity) as GameObject; //把树克隆出来
aNewTree.name = "Tree001"; // 给这棵树起名字
aNewTree.transform.parent = GameObject.Find("某个路径").transform; // 将自己的父物体设置成“某个路径”
aNewTree.transform.position = new Vector3(aNewTree.transform.parent.x, aNewTree.transform.parent.y, aNewTree.transform.parent.z); // 放在父物体的原点(相对坐标)
aNewTree.transform.localScale = new Vector3(100, 100, 100); // 设置这棵树的大小
}
在做游戏的时候,感觉这一系列的操作感觉经常会用到:
比如进入一个新的场景、副本的时候,要初始化玩家的位置。
再比如要把摄像机附给玩家,塞到玩家“体内”,并给相对坐标、旋转角度等等。
这里说到初始旋转角度,需要注明一下,Unity不允许直接设置Rotation中X.Y.Z的值,我们需要这样做才可以:
先来一个Quaternion :
Quaternion quate = Quaternion.identity;
然后设置他的角度:
quate.eulerAngles = new Vector3(45, 0, 0); // 表示设置x轴方向旋转了45度
最后再把quate付给你要操作的Gameobject:
gameobject.transform.rotation = quate;
这样就搞定了。
<核心代码>
Public void CreateTree(float x, float y, float z){
GameObject tree = (GameObject)Resources.Load(“DemoTrees”, typeof(GameObject)); // 导入这棵树
GameObject aNewTree = GameObject.Instantiate(tree, new Vector3(x, y, z), Quaternion.identity) as GameObject; //把树克隆出来
aNewTree.name = "Tree001"; // 给这棵树起名字
aNewTree.transform.parent = GameObject.Find("某个路径").transform; // 将自己的父物体设置成“某个路径”
aNewTree.transform.position = new Vector3(aNewTree.transform.parent.x, aNewTree.transform.parent.y, aNewTree.transform.parent.z); // 放在父物体的原点(相对坐标)
aNewTree.transform.localScale = new Vector3(100, 100, 100); // 设置这棵树的大小
}
在做游戏的时候,感觉这一系列的操作感觉经常会用到:
比如进入一个新的场景、副本的时候,要初始化玩家的位置。
再比如要把摄像机附给玩家,塞到玩家“体内”,并给相对坐标、旋转角度等等。
这里说到初始旋转角度,需要注明一下,Unity不允许直接设置Rotation中X.Y.Z的值,我们需要这样做才可以:
先来一个Quaternion :
Quaternion quate = Quaternion.identity;
然后设置他的角度:
quate.eulerAngles = new Vector3(45, 0, 0); // 表示设置x轴方向旋转了45度
最后再把quate付给你要操作的Gameobject:
gameobject.transform.rotation = quate;
这样就搞定了。
相关文章推荐
- 分享下java 读取目录及子目录下指定文件名的路径 并放到一个List数组里面返回遍历和写到文件里
- Linux上创建一个用户,并给该用户指定目录的权限,修改时区
- [Linux目录文件]在Linux中创建一个指定目录
- 自己写的一个图片上传类,很方便可以指定目录,系统自动创建目录,可以指定名字,类型,大小
- linux 下如何给一个普通用户有在指定目录下有创建文件的权限
- QT http练习——创建一个能够下载URL资源的UI程序,并保存到本地指定目录下
- 在指定目录下创建一个txt文件
- 分享下java 读取目录及子目录下指定文件名的路径 并放到一个List数组里面返回遍历和写到文件里
- 在指定目录下创建一个新目录
- JSP userBean------从指定范围查找id内容,查不到就创建一个放到scope指定的范围里面
- java中如何创建一个指定文件,一个指定的目录
- 1.5.2 添加一个用户lidao指定uid为888 禁止用户登录系统 不创建家目录
- 分享下java 读取目录及子目录下指定文件名的路径 并放到一个List数组里面返回遍历和写
- java 读取目录及子目录下指定文件名的路径 并放到一个List数组里面返回遍历和写到文件里
- 通过find命令寻找文件并拷贝到一个指定目录方法详解
- 创建场景和赛道——挑战:为赛道建立一个新的单元测试
- UE4编程之C++创建一个FPS工程(二)角色网格、动画、HUD、子弹类
- 编写一个Python程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径
- Android 创建目录方法却创建出一个文件的问题
- Cocos2D-X学习3:创建一个新的场景