Archive for March, 2010


PV3D Culling & Clipping

今天来谈谈3D开发中的两个重要知识点Culling(剔除)和Clipping(切分)。

render

左图表示一个完整的3D渲染流程,可以看到Culling和Clipping处理发生在投射计算和渲染计算之前。

Culling过程是用于剔除不需要参与渲染的物体和三角面,从而达到节约资源的目的。一般来说Culling分为以下4种:

  1. Frustum culling:视锥剔除,PV3D里最重要的剔除方式,下面详述。
  2. Back-face culling:当面背对相机时候剔除,由PV3D自动执行。
  3. Contribution culling:当物体在画面上过小情况下的剔除,PV3D里面没有这种机制,但是可以用远平面(camera.far)来剔除。
  4. Occlusion culling:包藏剔除,适用于一个物体完全被另一个物体遮挡的情况,PV3D不包含这种机制。

Frustum culling在PV3D中分两种:分别是基于camera(相机)和基于viewport(视口)的。

使用以下代码开启基于相机的剔除功能(DebugCamera是默认开启的):

camera.useCulling = true;

通过查看do3d.culled属性可以知道物体是否被剔除。要注意这种剔除机制是针对整个物体(do3d)计算的,只有当整个物体完全不在视锥内,才会被剔除。

View full article »

Q&A: Why Cinema 4D?

经常关注这个博客的朋友可能有发现到,我在最近的半年多时间里更新过一些关于Cinema 4D的内容。作为一个软件控,我曾经学过的三维软件包括3ds max,Maya,收藏的教程接近100G。但是现在,我又开始折腾Cinema 4D,并且把它作为我的主力工具之一。正好有朋友发邮件问到Cinema 4D相比其他三维软件有什么优势,我想结合我的经验谈一下我对这款软件的看法:

首先,也是我认为最重要的一点:Cinema 4D的用户界面是最“设计师友好”的:直观的图标和操作方式的高度一致性,让使用这款软件变成了一种享受。

在Cinema 4D中,几乎每个菜单项和命令都有对应的图标。从而很直观的了解到该命令的作用。相比之下,3ds max长长的修改器列表就会让人找的头昏脑胀。

再看Cinema 4D的操作方式。比如要制作Sweep,只需把两条曲线作为Sweep NURBS的子物体: sweep

再比如制作路径跟随:只需给物体添加一个Align To Spline标签,再把路径曲线拖到标签的Spline Path框里面,略微调整一下参数就可以了。

drag

View full article »

Review of the All New FWA

引颈以待中,新版的FWA终于上线了:

fwa

这一版采用固定宽度的排版方式,把过时的像素字改为了流行的大号字体。除了网页背景有点boring以外,整体页面设属于主流设计风格。

我对此版的印象只能说是不过不失,这里面可能有部分期望值太高的原因。虽然我非常欣赏group94的设计开发能力,但是我觉得这个网站缺乏Flash独有的表现力,比较像是Flash版本的Wordpress皮肤。页面分为页头、内容、页脚三个部分,分别是一个独立的Flash,估计是比较方便做seo。页头部分结合Javascript有自动伸缩的功能(在我的Chrome上看不到效果)。

View full article »

Powered by KevinCao.com ©2010 | Platform: WordPress | Theme: Motion
kevincao.com