unity3d 初学者注意事项
2015-03-31 11:30
99 查看
1、改变物体材质
gameObject.Find("objB_05").renderer.material= OverMatier;
等号右边如果是材质面板中的一个材质,会报错说 overmatier not identid。解决办法在script定义个变量,名字就是他了,然后在面板中拖拽一个给他。
注意材质包括:shader和纹理两部分。
问题2 总是提示找不到(没有) renderer
解决过程: 本来是装的4.5.2,然后重装4.6.3后没这个问题了,但是if语句不起作用,然后干脆卸载干净,再重装4.5.3. 一切就好了
3、获取子物体的左右组件(http://game.ceeger.com/Script/GameObject/GameObject.GetComponentsInChildren.html)
// 使这个游戏物体及其子物体上的所有HingeJoints上的spring不可用.
var hingeJoints : HingeJoint[];
hingeJoints = gameObject.GetComponentsInChildren(HingeJoint); // 注意中间s
for (var joint : HingeJoint in hingeJoints) {
joint.useSpring = false;
}
问题4 Camera.main.WorldToScreenPoint(transform...)提示没有实体关联的错。
解决过程:问题使用Camera来使用WorldToScreenPoint是静态,要用find().camer.WorldToScreenPoint(...) 就ok了
下面一段代码是在网上找到一种解决方法,我式了一下,没能解决我的问题。
****************************************************************************************************
Camera.main.WorldToScreenPoint(transform.position)只能在与场景运行相关的代码块中使用
//错误
Vector3 drawPos = Camera.main.WorldToScreenPoint(transform.position);
//正确
Vector3drawPos ;
// 先在外面定义
// 然后要在Update()方法块中进行定义,否定会系统会报错
void Update () {
drawPos= Camera.main.WorldToScreenPoint(transform.position);
drawPos.y = Camera.main.pixelHeight -drawPos.y;
}
*****************************************************************************************************
5、 build 的时候identification填写注意
Bundle Identifier com.mycompany.room3 com.XXXX.工程名
gameObject.Find("objB_05").renderer.material= OverMatier;
等号右边如果是材质面板中的一个材质,会报错说 overmatier not identid。解决办法在script定义个变量,名字就是他了,然后在面板中拖拽一个给他。
注意材质包括:shader和纹理两部分。
问题2 总是提示找不到(没有) renderer
解决过程: 本来是装的4.5.2,然后重装4.6.3后没这个问题了,但是if语句不起作用,然后干脆卸载干净,再重装4.5.3. 一切就好了
3、获取子物体的左右组件(http://game.ceeger.com/Script/GameObject/GameObject.GetComponentsInChildren.html)
// 使这个游戏物体及其子物体上的所有HingeJoints上的spring不可用.
var hingeJoints : HingeJoint[];
hingeJoints = gameObject.GetComponentsInChildren(HingeJoint); // 注意中间s
for (var joint : HingeJoint in hingeJoints) {
joint.useSpring = false;
}
问题4 Camera.main.WorldToScreenPoint(transform...)提示没有实体关联的错。
解决过程:问题使用Camera来使用WorldToScreenPoint是静态,要用find().camer.WorldToScreenPoint(...) 就ok了
下面一段代码是在网上找到一种解决方法,我式了一下,没能解决我的问题。
****************************************************************************************************
Camera.main.WorldToScreenPoint(transform.position)只能在与场景运行相关的代码块中使用
//错误
Vector3 drawPos = Camera.main.WorldToScreenPoint(transform.position);
//正确
Vector3drawPos ;
// 先在外面定义
// 然后要在Update()方法块中进行定义,否定会系统会报错
void Update () {
drawPos= Camera.main.WorldToScreenPoint(transform.position);
drawPos.y = Camera.main.pixelHeight -drawPos.y;
}
*****************************************************************************************************
5、 build 的时候identification填写注意
Bundle Identifier com.mycompany.room3 com.XXXX.工程名
相关文章推荐
- 【Unity3d】Animator和Animation组件使用注意事项
- unity3d 资源文件从MAX或者MAYA中导出的注意事项
- Unity3D 关于各种坐标的注意事项
- java 初学者各种注意事项
- Unity3d编辑器内部拖拽类操作的注意事项
- Android Stuido导出AAR 给Unity3D调用注意事项
- Unity3D开发注意事项
- Unity3D 多进程注意事项
- 嵌入式初学者注意事项
- unity3d中资源文件从MAX或者MAYA中导出的注意事项
- unity3d关于IOS的AOT编译注意事项 ( AOT Exception Patterns and Hacks )
- 3DS导出到Unity3D的注意事项
- unity基础开发----Unity3D的uniSWF注意事项
- 羽毛球初学者注意事项
- unity3d 阴影效果图——在制作过程中的注意事项
- 3DS导出到Unity3D的注意事项
- (初学者)安装hadoop集群注意事项
- 兄弟连LinuxStudyNote(4)-给Linux初学者的建议-服务器管理和运维建议(三)服务器注意事项
- 初学者在使用MySQL时必须了解的注意事项
- Unity3D碰撞检测及Trigger触发器的使用及注意事项