Unity3D的两个坑

来源:互联网 发布:佐治亚州知乎 编辑:程序博客网 时间:2024/05/21 16:57
Unity3d虽然做东西便利,也因此带来两个很大的坑。
其一是因为编辑器很容易关联不同的脚本,如果开发者经验不足,会让脚本之间依赖混乱,最后组织结构如同蜘蛛网,修改起来极其麻烦。 再微博上经常遇到一个问题,很多人吐槽, C#脚本和UnityScript脚本之间不能混用,基本上就是这个问题引起,因为如果保持单向依赖,接口放置再Plugins目录,实现放在SCR目录就不会有任何问题。

解决这个潜在问题的办法是开发者要在心里搞清楚依赖关系,让代码保持单向依赖才行,这个编辑器肯定帮不了开发者。

第二个坑更惨,我本人也陷入。
基于组件的开发模式,很容易惯纵开发者把渲染合逻辑代码混合到一起。因为每个组件都是场景中的一个位置和物体,很容易让开发者用空间关系来划分游戏结构,比如我们之前的游戏设计分为上面显示,中间UI下面操作三分的显示结构。基于直觉代码结构也是分为这三块。感觉很好,但在需求变化时候,比如要去处中间UI部分,我才发现问题的严重性,这样做等于显示和逻辑强耦合近来,泥马,我五一用了一个礼拜去重构(可以说使重写)代码,影响整个游戏70%代码都要重写,甚至到现在还有很大一部分等待重构。这个教训极其惨重,泥马,本质上代码还是要MVC啊,组件只是工具,Unity3d也是工具,工具不能影响本质,只能为本质服务,游戏的逻辑和渲染分离这么最基础的问题我都忘掉,检讨。我建立了一个空的组件书,不带任何渲染只处理逻辑关系。然后渲染放在另外一个渲染树上面去做才好。(用一个有限状态机去做控制部分)。


胜负的关键不是剑而是剑客本身。我个人认为,Unity3D的开发比Cocox2D要简单,但是简单并不代表更容易,但是因为Unity3D的简单,反而让开发者很多时候放弃思考,者带来的问题可能更加严重。保持一个谨慎的心,工具不停在变,但是软件开发的本质,还是那些。莫忘初心,方能始终!
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 养的鱼身上烂了怎么办 婴儿被蚊虫咬了怎么办 在野外被蚂蚁咬怎么办 娱乐之太帅了怎么办 鞋舌头歪没有孔怎么办 万一吃了母猪肉怎么办 我的手机丢了怎么办 欠了赌债还不起怎么办 车库门前被堵了怎么办 别人车停我车位怎么办 怎么办能防止锁眼被堵 别人堵着我车了怎么办 马桶被排骨堵了怎么办 马桶被刷子堵了怎么办 屎太大马桶堵了怎么办 大便硬马桶堵了怎么办 马桶让大便堵了怎么办 出了月子奶水少怎么办 木瓜没熟切开了怎么办 小孩被蚊虫叮咬红肿怎么办 下巴歪导致脸歪怎么办 全民k歌有杂音怎么办 录歌换气声很大怎么办 网易云没有的歌怎么办 qq空间给封了怎么办 酒店住最后一间怎么办 妻子起诉离婚丈夫不离怎么办 老婆对我没感情怎么办 老婆要跟我离婚怎么办 眼睛里进了沙子怎么办 耳塞孔进沙子了怎么办 斜挎包链子长了怎么办 爱上大15岁大叔怎么办 老板不给发工资怎么办 4个月婴儿感冒了怎么办 9个月宝宝感冒了怎么办 婆婆去世了我该怎么办 腰疼得睡不着觉怎么办 长期抱孩子腰疼怎么办 抱孩子累的腰疼怎么办 带孩子带的腰疼怎么办