:::: 菜单 ::::
日志标签:3D

3D对象投射到2D视图的几个参数

FOV (Field of view) 视场

操纵FOV属性值,可以使得3D显示对象呈现出近大远小的样子。FOV属性表达的是一个角度,0~180度之间,表示透视投影的力度。数值越大,应用到显示对象上在z轴上的畸变越强。较小的值会使得缩放尺度很小、物体在空间内的先后距离会很微小。较大的值会导致更大的畸变、使物体呈现出更大的移动。最大值为179.99999……度,会得到极度的鱼眼镜头效果。最小值为0.0000……1,0和180都是非法值。

Projection Center 投影中心

投影中心表示的是透视投影的消失点。是一个偏移值,追加在默认注册点也就是舞台左上角(0,0)上。 呈现在观察者越远处的物体,往消失点歪斜,直到最终消失。想象看无穷长的大厅,你放眼望去,会看到墙体的边缘交汇在远处视线尽头的消失点。 如果消失点在舞台中心,大厅的最远处就在中心点消失。默认值通常是舞台中心。如果需要最远景消失在画面右侧,就把投影中心设为舞台的最右侧一点坐标。

Focal length 焦距

焦距表示 原始视图点(0,0,0)和显示对象自身z轴位置两者间的距离。 长的焦距类似长焦距镜头,有一个狭窄的视图、物体间的距离被缩短。短的焦距类似广角镜头,让你得到一个很宽广的视图但是有很大的畸变。中等焦距大约接近人眼看世界。 往往焦距是在透视变换(如物体移动)时动态重计算的,但你可以主动设置它。

默认的透视投影参数

  • FOV: 55
  • perspectiveCenter: stagewidth/2, stageHeight/2
  • focalLength: stageWidth/ 2 * ( cos(fieldOfView/2) / sin(fieldOfView/2) )

例如:当舞台大小500*500,设置以下值:

  • fieldOfView: 55
  • perspectiveCenter: 250,250
  • focalLength: 480.24554443359375

Unity3D导入fbx丢失贴图

问题:
从3dsMax导出fbx给Unity用,总是会丢失贴图。尽管Unity导入fbx时会自动导入材质球,但是贴图文件都会变成空的,要重新一个一个贴图填进去,真是太浪费时间了。

解决方案:
3dsMax中模型和贴图采用统一命名,贴图文件拷贝到Unity项目中,然后再导入fbx,就会为自动创建的材质找到对应贴图了。


已确定Unity3.5中将可以发布swf

正如之前所公布的消息,Unity项目将可以以Stage3D(FP11)发布成Flash。不久以后Unity项目可以运行在安装了FlashPlayer11的浏览器中。Unity团队声称他们把尽可能多的Unity特性带到Flash中,他们的目标是让Unity成为开发用于FlashPlayer的3D功能的最佳工具。

就在这个月27号,Unity将组织一个Flash技术日,这一天将带领Flash开发者快速迁移到Unity开发,展示和介绍Unity在Flash环境中支持的特性,还会提供一个入门级概览。

一些最新消息可以看这篇介绍文章:http://blogs.unity3d.com/2011/09/01/unity-and-flash-a-sneak-peek/。Unity本身的特性没太多关心的,其中一条表明跑在FP里的程序能够与Unity项目内外的as代码互相通信对我来说是个很好的消息。 [ 阅读全文 ]