CR的代码文本

all for learning about the world
  订阅 订阅  :: 管理

Lingo3D01 - 3D Cast Member的组成

Posted on 2011-11-07 11:18  mumuliang  阅读(608)  评论(0编辑  收藏  举报

原文:http://www.deansdirectortutorials.com/3D/3DCastMembers.htm 

Shockwave 3D类型和其他媒体类型不太一样。

通常一个sprite是某种cast member的一个实例。但shockwave 3D的sprite只是shockwave 3d cast member的一个viewport。

shockwave 3d cast member描绘了一个3d场景。场景内以parent-child的形式组织各种model resource,model,material,shader...

Model resource

描述模型造型。通常指几何图元geometry或多边形polygon mesh。

Model

Material

物体的表面属性。包括:

Color, reflectivity, transparency, shininess, smoothness.

Material定义某shader的最终效果。

Shader

定义mesh外观的渲染算法,决定mesh所在的model表面属性,shininess,opacity,bumps...

Max的标准算法有Constant,Phong,Blinn和Metal。

Shockwave 3D只支持Gouraud,Gouraud跟3dsMax里边的material差不多。

Texture(map or texture map)

Camera

Lights

默认会有一个白色光源位于世界的中心正上方。将其颜色设为#000000,即关闭。

光源有4种:

Ambient lights: 环境光。会对所有物体产生效果。

Directional lights: 直线光源。沿某方向的光线,并且受物体与光源的距离的影响不大。

Point lights: 点光源,从空间某点向四面八方的光。

Spot lights: 区域光源,像舞台射灯那类。

Group

用于管理场景的不可见的一种对象。

一个场景中的所有3D对象都位于一个叫做world的group下,这个world其实指的就是某3d cast member本身。

对group的操作,例如移动旋转缩放,会作用于group内所有物体。

Group的属性包括Name,transform,parent, 1或多个child。

Motion object

就是3D animation。通常motion object是基于key frame或bone的动画。

关键是,它不能用lingo动态创建,而必须事先创建好。

注:这里只是说Motion Object不能被动态创建,不是说用lingo做不出动态效果。

让Model播放motion object需要Modifier(看脚下)#keyframeplayer#bonesplayer

Modifier

根据不同的modifier提供的不同property们,对model进行各种控制。

Palettes

场景中同一类3D元素的一个集合。譬如model resource palette,shader palette,texture palette。

有palette的3D member有:model, shader, texture, camera, lights, group, motion。

场景管理

Shockwave 3D也是用树形结构来管理场景。真的树形,不能有多父母;也只有唯一root。

全场景叫scenegraph,它的起点是root,每个物体都是node

Node可能是group, camera或者lights,都是挂在world group下。

Node之间的层级关系(parent/child)称为link

木有child的node叫leaves

同一个parent的children合称branch