From:http://blog.163.com/shininglore@126/blog/static/9618418020124129532446/
U3D的免费版和专业版的区别主要在于画面滤镜和底层类库的使用权限,U3D免费版也是能制作完整游戏的,并且可以发布PC,MAC和Web平台的游戏,移动平台(IOS,Android)和次世代游戏机平台(PS3,XBOX360,Wii)则需要另外的授权。
*Unity3D的开发公司和Adobe公司合作之后,从3.5版本起,U3D增加了Flash的发布功能(需另外授权)。
U3D借鉴了虚幻引擎和一些大型三维动画软件的操作理念,因此很容易入门,并且它和其他软件的协作会很便捷。U3D的软件界面布局很完善,用户可以快速的选择一个适合自己开发习惯的窗口排序。
U3D的工程目录作为资源存放的系统文件夹,可随时更新和调用,相对于UDK必须提前导入引擎包的形式,U3D更为人性化。我们可以在U3D的工程目录管理窗口中直接建立文件夹,用来对资源进行存放和分类,例如:scripts(脚本),materials(材质),meshes(网格),scenes(场景),textures(贴图)等。U3D的文件会自动排列,为了保持我们建立的目录次序,我们可以在文件名前加入下划线,如:_ script,_material。
U3D可以建立一些基本的几何体,但是你不能执行建模操作,只能对他们进行一些简单的整体变形,所以多数的图形元素,我们需要从外部导入。虽然U3D中可以创建并绘制地形,不过若非很平坦的地形,对于起伏强烈的山地,使用maya创建会更理想一些,因为涉及到贴图拉伸的问题。
* U3D目前还无法改变模型的轴心点,因此需要在三维软件中事先完成设置。
U3D的场景单位是米,而maya是厘米,因此软件的数值上maya需要设定为100倍,才能和引擎中的场景比例匹配。例如,一个引擎中1.7M高的角色,在maya中的高度应该是170单位(厘米)--也可以在导出FBX文件的时候再设置单位,或者在U3D中调整FBX文件的ScaleFactor属性。当然,用户也可以自行更改maya的默认单位,不过个人不推荐那么做,因为除了动力学方面的影响,建模时的一些默认数值将会变得巨大(例如Bevel倒角功能)。
*U3D虽然单位是米,但是它默认的ScaleFactor参数是0.01,也就是对应的是maya中厘米;如果在Maya中使用了米为单位,导入U3D中时,还需要手动将ScaleFactor设置为1。
当把prefabs预置物放入场景中,会自动形成一个类似maya渲染代理一样的几何体,修改这个几何体的属性后,点击Revert可以返回初始状态;如果点击Apply,会直接应用到工程目录的prefabs中,所有场景中的prefabs都会同时改变,因此要慎用。
Skybox天空盒的创建。游戏中的天空,就是一个包裹场景的几何体贴图。对于游戏引擎,是六张覆盖立方体六个面的无缝天空纹理。U3D的天空盒需要和摄像机或者在渲染设置中进行关联。
*渲染设置中加入天空材质,可以直接在场景中看到效果;摄像机中连接天空盒,只有执行游戏渲染时,才会在特定摄像机中看到。
目前U3D的光照系统和场景构建元素还没有UDK(虚幻引擎开发套件)那么丰富,因此图形的渲染效果上自然没有UDK出众,不过它已经足够用来开发画面强劲的次世代游戏,移动平台和网络游戏更不在话下。
renderPass渲染通道。在U3D中有三种重要的渲染通道,都是基于灯光材质产生的。目前U3D还没有实现类似maya或者UDK那样可对材质着色通道进行纹理动画连接的功能,因此用户需要自行编写材质,这在一定程度上限制了创意的发挥。
U3D支持多种语言编写脚本:C#,JavaScript,Boo。JavaScript脚本较容易上手,常作为初学者或JavaScript编程人员的首选,不过从长远的扩展来看,C#则是用户最佳的选择方案。当然,你也可以在一个游戏设计过程中,同时使用几种语言的脚本进行组合,因为U3D最终都会将这些语言转为它内置的编译语言。
*JavaScript不是Java。
【总结】
Unity3D具有广阔的发展前景:通用的软件操作规范,高效的开发速度,多平台的支持,以及广泛的编程语言的兼容。