位置: 编程技术 - 正文
推荐整理分享unity3d中的坑和解决方案(unity3d总结),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:unity3d知乎,unity怎么做坑,unity3ds,unity3d unity,unity3d gui,unity3d缺点,unity3d gui,unity怎么做坑,内容如对您有帮助,希望把文章链接给更多的朋友!
unity3d中的坑和解决方案
unity3d是一个很牛x的引擎,当然其也有一些东西是不太好或者说不习惯的,下面列举一些:
1、制作特效时,使用animation记录的位置是相对位置,如果直接放到别的节点下会出问题;
解决方法:在特效根节点的上一层加上一个transform是(0,0,0) (0,0,0)(1,1,1)的父节点,之后再使用和处理父节点
2、使用NGUI制作界面时,ui特效会有位置对不上的问题(美术不会用ngui,使用原始的模型材质贴图的形式来做特效)
解决方法:让美术将特效直接做到ui上面
3、美术制作的特效导出时丢失材质和贴图
解决方案:要求美术在建模时不准挂材质,所有的材质不使用自动生成的,而是在unity里面新建、挂接,程序也可以提供删掉默认材质的编辑器扩展插件 (assetImporter as ModelImporter).importMaterials = false;
4、多人间合作时的文件共享和版本控制
解决方案:1》Edit->Project Settings->Editor 打开 meta files 2》meta文件和原始文件一起同步 3》checkout时 按住 左边的alt键或option键
5、文本化场景文件
解决方案:edit----project setting ----editr 将Asset Serialization 的 mode 设置成Force Text
6、ngui的界面元素无法响应
解决方案:制作ui时注意设置摄像机的eventReceiverMask的层为对应的层
7、摄像机看不到ui
解决方案:将ui的层设置为摄像机对应的渲染的层
8、脚本中start和update等函数不能继承
解决方案:将这几个函数内的逻辑抽象成函数,之后子类中继承这些函数
9、脚本调用时因为空引用而崩溃
解决方案:所有初始化工作写在start中,所有功能写到update中,如果仅执行一次,可以加个bool型的开关 、等待某个特效播完
解决方案:可以使用coroutine来等待
、跨平台动态加载贴图、音频
解决方案:使用www
、周期性的活动,如每4拍换一个舞步
解决方案:当前时间/周期 减去整数部分,与0.5比较
、换装重新组织SkinnedMeshRenderer的sharedMesh时骨骼对不上
解决方案:所有avatar的部件的骨架设置要一模一样
、减少动作文件的大小
解决方案:游戏开始时动态的将animation加到mesh上面
、全局功能需要多处调用
解决方案:将全局功能直接挂到程序节点ProgramRoot上,使用时直接 GameObject.Find("ProgramRoot").GetComponentInChildren
、GameObject.Find找不到隐藏的节点
解决方案:定义public GameObject 属性,之后在编辑器里面拖拽
、各个界面间数据的共享
解决方案:创建单独的GameWorld等数据模型模块,并统一实现序列化和反序列化
、分时的状态逻辑 解决方案:coroutine加配置表
、灵活的object的属性
解决方案:Dictionary<string, string> propsTable;
、灵活的事件响应回调
解决方案:统一继承BaseCallBack,里面写具体的逻辑
、渲染暂停时实现动态效果
解决方案:Time.timeScale = 0f; 程序通过 Time.realtimeSinceStartup来手动实现特效效果
、炫酷的显示得分
解决方案:每一位数字用一张数字的贴图来实现
、ui特效阻碍ui的响应
解决方案:调整z,使特效在ui的后面
、特殊的运动轨迹和手感 解决方案:用animation编辑器做成动画来播放
引用地址
SURF特征提取与匹配实践 上回说到,最近看了点算法,也实践了FAST关键点的提取,近来事多了些,所以今天才又有点成果。依然是C#实现,在Unity3d里面做的,先上J,哦不,上图
C# List多字段排序 根据符文的品质和战斗力排序,当品质一致的按战斗力排序;intSortRunesInfoByQualityAndfightPower(FuWenShowVOobj1,FuWenShowVOobj2){intres=0;if((null==obj1)(null==obj2))return0;else
unity脚本的一些笔记(三) Transform场景变换一、坐标系1.变量a.Right、Up和Forward分别表示表示物体本身坐标系(localspace)的x,y和z方向向量2.函数a.TransformPoint()把物体localspace坐标转
标签: unity3d总结
本文链接地址:https://www.jiuchutong.com/biancheng/375715.html 转载请保留说明!上一篇:删除丢失脚本(脚本被删除)
友情链接: 武汉网站建设