原文: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。