前言
- 因为最近在学习js前端技术,和自己比较熟悉的u3d进行比较之后发现有很多共通之处
- 现在我来罗列一下
UI
- Unity具有自己的GUI,浏览器的UI是html
- 相同之处在于,他们的控件形式差不多,都是具有text,button,input,image这些
- 两者的UI都要通过代码写出来
- 两者都具有优秀的UI框架,Unity是UGUI,FGUI,html是BootStrap,layUI等多种框架
- 两者都需要针对各自地终端进行适配,html需要针对浏览器进行适配,ugui同样需要针对各式各样的手机类型进行缩放适配
- 两者都是用树状节点的结构来组织UI的,html本身是利用DOM来查找各自UI元素,而Unity则提供了自身的一套UI接口
- 不同之处,htmlUI需要用js语言来控制,UnityUI需要用C#语言来控制
- 渲染模式不同。这个留着再说
- 网页端的UI是
css
来控制整个页面的样式,html
来控制具体的控件和内容。是完全分离的。但是Unity就UGUI来说,他的每一个控件都是把css, html, js
三者完全耦合在一起的。而他的GUI
则是使用一种更诡异的组织形式。 - (不过我想这个可能和项目类型有关,游戏本身的UI在制作出来后,各自的大小颜色是完全确定了,很难再改。但是网页就需要频繁的更换样式,所以才会有分离的需求)
语言比较
- Unity本身使用的语言是C#,而浏览器使用的是js
- 因为js标准每个浏览器实现的标准不同。所以导致要考虑js本身的适配问题。