SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
1
SpeedTree® Modeler 5.0.1 User Manual
<Modeling>
翻译:孙文
7878_1212@163.com
(由于作者能力有限,如有纰漏及错误,请及时联系本人,谢谢!)
注意,中文版文档中引用原文的情况为:
1.原文表意贴切合理且理解起来容易
2.术语,专有词汇
3.涉及操作部分(比较简单)
4.不确定其准确含义(很少)
Modeling Method.....................................................................................2
Generators................................................................................................3
Nodes......................................................................................................... 5
forces.........................................................................................................6
Hand Drawing........................................................................................... 8
Leaf Collision...........................................................................................11
custom mesh assets..............................................................................12
ambient occulusion................................................................................ 16
Collision Primitives................................................................................ 17
level of detail......................................................................................... 19
Degradation............................................................................................ 21
Wind.........................................................................................................22
Physics..................................................................................................... 24
2
ModelingModelingModelingModeling MethodMethodMethodMethod
Understanding "Generators"
ST模型主要由两类物体组成:生成器和
node生成器可以被看作是确定那一部分
分 叉 的 一 套 规 则 。 生 成 器 主 要 决 定
branches,leaves和frond。
node实际上是一个树模型的构件(组成部
分),生成器对node的创造是基于对象属
性值,用户所编辑的曲线,再加上其中的
一些随机变化数值。因此,一个生成器多
数情况下是负责为一个树模型进行node
创建。
Linking Generators
在第一个生成器设置好之后,树模型就被
创建了出来。举例来说,一个拥有单个
trunk和20个树叉的树模型需要3个生成
器:一个树生成器(每个树都有),一个
用来生成trunk的spine(脊柱)生成器
( spine 生 成 器 用 来 创 建 branches 和
frond)还有另外一个spine生成器用来生成branches。这个trunk可以被看作是频率值设置
为1的树模型生成器的子类。而branches生成器可以被看作是频率值设置为20的trunk生成
器的子类。你可以通过生成器编辑器用拖拽图标的方式把生成器连接到一起。经过上述设置
你就可以在树型可视窗口看到一个由一个trunknode和20个branchesnode构成的树模型。
Editing Properties
通过属性编辑器修改相应的属性包括长度,半径,角度,以及trunk和branches的任何部分
属性值都可以完成对每个生成器的修改。
比如,想让trunk变得更长的话可以通过trunk生成器长度属性进行调整;如果想让在顶端
附近的branches比地段的短些,可以通过修改branches生成器的长度属性后面的绿色曲线
来实现;如果要想让每个branches都有轻微不同的长度差别,则可通过修改长度属性中变
化度的数值做到。当然你也可以在随后根据实际情况来做出修改。
树生成器(如图所示)就是一个树的根node,它通过其具备的很多属性来控制树剩余部分
的外型。树生成器的属性编辑器在树窗口没有被选中或者他的图标被被选中的状态下激活。
Controlling Properties with Curves
在希望改变有关长度的属性,可以改变其属性的父曲线。比如,通过改变绿色的父曲线来使
得底部的branches比顶端的长。你可以借助蓝色的轮廓曲线修改每个node上的属性,比如,
轮廓曲线可以让每个branches随着长度的增加而越来越细,直到终于一个点。
要想编辑父曲线和轮廓曲线,可以单击属性编辑器里的对应曲线的缩略图,然后在曲线编辑
3
器里进行单独编辑。
Randomizing Seeds(建模中常用词汇,类似随机振动源)
如果你已经有了一个树的成品,那么你可以通过简单的修改生成器里的随机因子来达到多变
的效果。如今模型中有很多因子可以用来进行独立的随机调整。如果需要对生成器所有的因
子进行随机化,可以按生成编辑器工具栏的dice按钮。
Using Forces to Shape the Model
用空间扭曲来达到对树模型的拉扯和扭曲以及卷曲。空间扭曲可以通过树木窗口和node体
系来添加到场景中,它们支持以坐标中心为基点的操作方法,比如可以使用一个方向力来拉
动所有的东西来模拟重力。
Hand Draw Precise Branches
我们已经结合了重要的通过数位板(包括鼠标)手绘生成树木元素的功能. 手绘可以生成任何
你想象中的树枝, 而且可以很自然得与其它部分连接. 不仅如此, 它们还可以通过贝赛尔曲
线控制方式在空间中方便得进行操作。
Get It Perfect with Node Editing
当树的外型和你想要的已经大致接近的时候,可以选择 node并精确编辑,不喜欢这个
branches的位置?选择并移动它. 这片树叶是不是伸出树枝太远了? 选中并删除它. 需要在
低branches上划分更多部分? 选择并加大它的多边形解析度.这种造型方式比原来的造型方
式给予艺术家更多的自由度。任意的node在经过如此方式的编辑时候依然可以被其相关的
生成器进行修改,并且依然能够在此基础上进行延伸和丰富。
Other Concepts
即ST建模理念的背后的概念,包括了自动碰撞测试器,环境光遮蔽,LOD,模拟风,物理
以及其他一些是的ST更加强大和用户友好的树建模软件的解决方案和工具。
GeneratorsGeneratorsGeneratorsGenerators
Overview
生成器负责创建构成树模型的所有node。(树的任何一个肢体都可以叫做node)
一般有一个生成器来负责每组node的创造和修改。比如,在传统的树建模中,会有一个trunk
生成器负责创造trunk,一个用来在此基础上生成node的branches生成器,以及一个负责生
成leaves的生成器。
Generation Editor
4
一个树的基本结构就有生成器来定义,而他们直接以何种方式被连接在一起就是生成编辑器
负责了。
ST有许多种类型的生成器,而每个都有一些常规属性,以及一些体现其生成器特点的独特
属性。
Common Properties
即Generation和Forces组中的属性。前者控制一个node在其父级别node的什么地方产生,
产生多少,以及方向。后者控制一个每个node上的受力和扭曲程度。当一个生成器的扭曲
被打开时,扭曲图标就会出现在允许扭曲应用的生成器图标附近。
Generator Types
ST有很多不同类型的生成器,而每一种都会创建其独特类型的node。各种类型列举如下:
Tree Generator
每个树有且只有一个树生成器。这是唯一一个没有Generation属性的生成器
(永远作为根部,不会有父类)。要进行树建模还需要在其基础上运用spine生成器和叶生成
器。树生成器也有一些全局设定包括LOD,Wind,Degradation,以及全局物理参数属性。
Spine Generator
spine生成器负责生成spinenode。spine定义了trunk和branches的中心线,所以branches
和trunk都是spine生成器的一部分。四个不同类型的spine:光棍,branches,trunk,以及
包含前者所有。
Leaf Generator
叶生成器负责生成叶node,leaves可以分为两类,叶片面和叶模型(从Asset Editor指定的
任意模型对象)。
Hand Drawn Generators
主要讲手绘生成器图标位置以及如何显示的(具体参见ST)。
Generation Editor
生成编辑器是一个连接各种生成器的地方。任一生成器可以拥有多个子生成器,例如,从某
个trunk生长出来的节孔,小branches,以及leaves。通过生成编辑器工具栏和右击都可以
5
添加和移动生成器。
Linking Generators
即决定生成器之间如何被连接的生成器。该生成器可以用按住鼠标进行拖拽的方式进行
创建以及用删除键删除(或者工具栏X进行删除)。每个连接的右边都会用数字表示出从某
点产生的node数量。
Selecting Generators
点击生成编辑器中的图标和树可视窗口中的几何体都可以选择该生成器。当被选中时,该生
成器上的所有node都会被高亮成蓝绿色。取消高亮效果也可以通过以下方式menu item
'Edit->Preferences->General->Highlight selected generator's nodes', or temporarily
disabled by pressing the tilde (~) key (highlighting will return on the next selection).
注意:当你在可视窗口选中某个node后颜色并不是蓝绿色而是纯蓝色那么说明目前是node
选中模式。选中生成编辑器中的图标的时候,即便当前是node选中模式也依然会选中该生
成器。
NodesNodesNodesNodes
Overview
第一段是前文的重复
只要Generation seed value的值不变,那么node编辑结果也不会变。也就是说一旦因子被
随机化,那么你之前做好的node都会被舍弃并且产生的新node将不会有node edit。正因为
如此尽量不要大量使用Node-editing除非你对目前的因子感到满意。
Node Types
Spine node和leaf node
Node Selection Mode
6
为了对每个node进行独立编辑,你需要进入node编辑模式进行操作。按下node编辑模
式图标就可以使用node编辑了。选择一个node,可以在可视窗口中点击。当选中了以后被
高亮成橙色而不是蓝绿色说明选择对了。你可以按住Ctrl进行多选,或者通过various tree
window toolbar's 'Select-> Nodes' pull-right menu options 进行选择。
Node Value Offsets
如果node被选中,那么该node的属性编辑将被显示,而非生成器界面。默认的node设置将
会把每个属性值设为0.以为内node只包括其本身计算偏移值。这就是说以后的生成器编辑设
置依然可以影响node。例如,做一个偏移值为10的node,node的计算长度是5,那么结果
可能达到15。如果你回到生成器并增加7个长度最大值,则导致长度可能是22在生成器编辑
中你可以看到很多属性,这些属性被用来确定位置,旋转和缩放。比如,简单的拖动位置参
数的滚动条就可以使得node在其父类上进行上下移动。
Node Curve Offsets
道理和node值偏移相似。node一般都有偏移曲线。单击曲线缩略图然后在曲线编辑器中进
行偏移曲线的编辑。偏移曲线增加了node的曲线偏移,所以设置的偏移数值将被反映在曲
线轮廓中。
Deleting Nodes
select and press the delete key (or press the 'X' icon on the tree window toolbar
Deleted nodes can be retrieved with undo (CTRL + Z)
All deleted nodes can be retrieved by pressing the 'Reset' (or 'Randomize') button
in the generation editor (deleting the a generator link will also result in a loss of
node edits).
Node Manipulator
选择的node将会被如图显示(控制器)
每个node对应其特别的类型,比如,branchesnode有着可以
控制位置,初始角度,长度等等的控制柄,可以通过旋转控
制柄来判断哪个部分的属性将会被修改。单击并拖拽线的方
向可以修改相关的偏移值。
控制器可以在树可视窗口的属性编辑器中被缩放和关闭。
7
Control Points on Hand Drawn Branches
手绘branches是由其控制点进行的。通过调整控制点可以改变branches外观。这些点可以
通过控制点属性被添加和移除。
Accessing Control Points
进入node选择模式,然后点击任意手绘branches即可,控制
点将会呈现绿色,并带有淡绿色的控制柄。一般有三类控制点 。
如图,通过树窗口属性条可以进行控制点类型设置。
forcesforcesforcesforces
Overview
forces object是一种强大的可以任意控制spine生长方式的建模工具,单单通过修改属性值
也无法如此建模工具所达到的效果相媲美,ST有很多种forces,未来随着插件的丰富,这
部分将会更加完善。
由于forces是world-space object,所以可以直接在树可视窗口中在操作,你可以通过工具
栏上图标来改变操作模式。
Adding Forces
加 入 forces 方 法 right-click in the tree window or use the '+' toolbar button and
select 'Add force'.
如果当前没有选中任何生成器,那么添加进去的forces将不会对树模型产生外观上的改变
如果选中多个生成器那么forces将被作用于所选生成器,删除方法依然不变。
Allowing Forces
即便forces被添加进去,也依然要经过生成器和node的许可。在forces被真正添加进去前,
属性编辑器中的forces组会出现复选框。如果其中一项被勾选,那么这个选项就会在当前
选中的node上。这样的机制可以让forces在trunk上起作用,同时在子对象上加入一个
Unrelated force。如果一个force在某个生成器上开启,那么生成器被选中时,它的3D导
航器将会被高亮。
未启用的forces将会被显示成深灰色。
Renaming Forces
forces可以根据其类型而自动命名。当类型改变,名字也会改变。在多个同类forces被选
中的情况下,新的名称将被按照统一格式进行命名并以此类推。这样也会造成迷惑,特别是
多个同种类型forces的命名。但forces可以手动命名。press the 'Rename' button (or
press 'F2') to rename the force.新的名称叫会被反映在所有的spine生成器和node上。
Localizing the Area of Influence
8
由于forces是world-space对象,它们可以在场景中被自由移动。通过对forces对象属性进
行薄弱化,使得forces作用区域被限定在以forces对象为中心的固定半径周围。
Force Types
不同forces类型将会对树模型产生不同的作用效果。类型如下
Direction
magnet
gnarl
twist
curl
planar
mesh
直接操作就知道它们的作用和区别了
Mesh Forces
当用到mesh forces时,你先需要载入一个mesh已达到效果。一旦被载入进树模型
中就可与地形互动
Assigning Mesh Assets
在Asset 编辑器中的Mesh标签里可以进行任意的模型载入。模型的格式可以为
OBJ,STM。我们也提供了一些样品。
Mesh force action
模型force可以让树产生多样的变化。spine可以被mesh吸引和排斥,能够与mesh force
产生碰撞的spine也可以由个mesh生长出来,也可以在端点交汇处被细化。
Mesh Force Actions
这种布尔运算可以使得被附加了mesh force的对象可以作为树模型的一部分当spm文件载
入编译器并且转化为run time模型(srt格式)的时候,mesh将会以树的一部分来展现, 并
包含billboard渲染。
将材质赋予mesh force以及计算ambient occlusion来保证模型有了贴图,并且光照被正确
编译。
HandHandHandHand DrawingDrawingDrawingDrawing
Overview
9
手绘可以允许你用手绘装置和鼠标对需要的branches进行手绘,然后用控制点进行任意的
调 整 。 you can even grow procedural content right on top of the hand-drawn
branches!(你甚至可以根据要求在branches端点继续绘制想要的branches)。
procedural tool和手绘的结合可以让你根据需要进行精确调整。
Hand drawn vs Procedurally Generated
两者的不同点如下
Generation 参数并不会应用到手绘branches上每个手绘生成器中的node将会被手动添加
进去。不幸的是,请注意如果你删除了手绘生成器的连接,那么再重新连接的时候原来的
node将不复存在。
Bifurcation 在手绘branches的时候将不起作用。这个功能与手绘不相互兼用。
forces disturbance and jink 可用。如果在生成器中运用了forces或disturbance,那么结
果可能在绘制的时候branches出现脱离Line的现象。
手绘spine可以通过控制点进行调整。手绘曲线外型可以借助控制点将线变成贝塞尔曲线而
不是由spine属性来单独决定。进入Node selection Mode 可以实现上述功能。
你可以在手绘branches顶端加入procedural content,通过连接生成器即可实现。
将手绘branches与模板相结合。模板可以被载入保存并粘贴进手绘生成器中。
你甚至可以把多个模板载入到trunk和一系列不同级别的branches,将他们连接起来并将模
板用在所需要的不同的层级上。如果在目标级别没有手绘生成器,那么有模板创造出的新生
成器(在名为手绘的模版文件夹下)。
内定的偏移值将在手绘branches的创建中表现出来(偏移值有固定的设定)这意味着
branches将所画即所现,不论在生成器属性中如何设置,ST在此有优化的方案使得手绘的
效果达到最好表现。
然而在完成对branches的绘制之后,对于诸如Start angle roll size scaler 等等的属性设
置相对于原先对于生成器属性的设置依然会对外型产生变化。
很重要一点是手绘生成器不能呢个被转化为procedual生成器反之亦然虽然不能在两种生成
器中进行互相转化但是可以通过拷贝你想要的生成器,然后在另外一种类型生成器上用粘贴
命令。这样以来除了Generation value之外的所有设置,而且所有连接保持完好。
10
The Hand Drawing Process
1.载入一个现有的树模型,或者创建一个新的树并设置至少一个bark material
2.将camera调整到一个合适的角度。当开始绘制时,垂直的平面将被当做画布来使用(3D
相关属性将会通过调整控制点来实现)
3.按住Space来进入手绘模式。cursor将会有默认cursor变为十字线
4.通过按住鼠标左键或者手绘板来激活tree radius内的十字线开始画
trunk,或者在一个现有的trunk上通过十字线来绘制branches
5.移动十字线在屏幕中绘制线条。
6.松开鼠标左键来结束绘制
7.如果还没有指定材质,则指定bark材质到trunk。如果在已有的trunk上绘制branches,
那么该branches的材质将会继承其父类的。子类的也一样
8.进入node选择模式,然后点击手绘branches的任何部分来激活控制点,用node控制器来
调整旋转角度,位置或者缩放。
9.选中控制点或者手柄,通过旋转跳动来增加depth(3D)
Hold down the ALT key while selecting points to select all subsequent control points
in the line。第一个被选中的控制点将作为杠杆的支点,调整branches剩下的部分。同样的 ,
如果用translate
manipulator mode将会使得整个部分一致地移动。
10.Add or delete controls points by pressing the 'After' or 'Before' buttons on the
Property Editor, or by pressing the delete key with a control point selected.
11.通过重复以上步骤来绘制子branches,但用新创建的branches作为父node。
为了做到这一点,只要按住space从branches的任何一点开始绘制就行
Control Point Options
改变控制点数量
当手绘曲线结束的时候,将会被自动转换为贝赛尔曲线。一部分隐藏在tree window
properties选项控制着新的贝赛尔曲线如何被创建。
这个选项可以使得曲线更加精确,获得更多控制点。你通过两个方面来控制:spacing间隔 和
curve fit曲线拟合
spacing
即两个控制点间的允许的最小距离。两点间的计算距离收到绘线速度和角度。然而,间隔要
控制恰当。间隔单位可以是世界绝对单位,或者相对单位。相对单位更加合适于树模型。
curve fit
即控制创造曲线的控制点数。值为1代表最为精确与绘制速度和其他因素有密切关系。小于
0.5则变得不精确,但比较容易控制。如果用较低的值,可以用Corner这种控制点风格确保
最佳的精确度和较少的点。你也可以在此基础之上加控制点。
Control Point Types
控制点可以分为corner,linear,或者smooth,linear和smooth
11
的控制点都有线性的控制柄,但smooth控制点有其他的一些限制,比如他们必须有相同的
长度。smooth是最适合流线型的branches,因为拐角使得等距离的线性点难以再生。
Working With Hand Drawn Generators & Templates
一旦手绘生成器被创建,手绘标志就出现在Generation Editor的右下角手绘生成器可以被
通过以下方法创建:
1.添加新的手绘branches
2.添加手绘模板
3.拷贝其他的手绘模板
New Branches
创建新branches的准则
1.如果目前的目标branches级别里没有手绘生成器,新的手绘生成器就被自动创建。用于新
的手绘生成器的模板位于"Templates/Hand Drawn" 子文件夹里。独立的用于trunk的模板
来自于其他branches级别。
最好不要改变模板文件,可以选择在使用订制branches前载入模板化的手绘生成器。
2.如果一个手绘生成器已经与父node相连,所有新的手绘branches将会被放在这个生成器
里。这意味着所有branches,frond,以及材质属性将从现存的手绘生成器里继承。
3.如果有多个手绘生成器与父node连接,其中一个必须被设置为手绘目标,目的是接受新的
branches。
Hand Drawn Templates
和其他生成器一样,手绘生成器可以像模版一样被存储和载入(stt格式)。当一个手绘模板
被载入到了生成器编辑器中,将会用手绘图标在生成器图标的右下角表示出来。
手绘模板可通过两种方式被创建:一是在通过手动编辑一个自动创建的手绘生成器并保存为
模板文件,另一个是,粘贴到现存的手绘生成器并保存为模板。记住,任何branch都不会
被存到模板里。
stacking templates
如果能将所有的部分连接起来作为一个整体的树模板,则可以大大提高手绘模板的使用效
率。只需要在连接之前设置trunk的材质,所有后来的branches都会继承这样的材质。You
can even link procedurally-generated leaves to the last branch level – all before
drawing a single thing. Then, the properties for each branch level are already in
place which allows you to draw naturally without having to adjust each branch level
as its created.
Paste Into
在选中的生成器编辑器中进行右键可以粘贴生成器里的内容到另外一个生成器,即便node
已经被绘制并且存在子类。所有的属性都会被粘贴除了generation components,所以只有
branch skin,frond properties,materials,and dynamic 设置被进行粘贴。
这是个提高效率的好办法,尤其是在绘制好branches之后,利用此法可以快速生成器中的
12
设置;创建手绘模板的时候也适用,另外对子branchesnode进行编辑的时候进行。
Copying and Pasting Hand Drawn Generators
一个刚粘贴手绘生成器是空白的,因为手绘生成器必须被连接到父node才能生成子类。
Reseting a Hand Drawn Generator
Presing the 'Reset' button while selecting a hand drawn generator will only remove
the node edits from the hand drawn nodes. To remove all hand drawn branches
without unlinking/relinking, select the link before a hand drawn generator and press
the 'Reset' button instead.
Hand Drawn Targets
第一个创建在branches级别的手绘生成器是被自动指定的目标。目标用复选号(对勾)显
示出来,然而,目标可以被手动取消,方法是对生成编辑器工具栏的目标按钮(对勾)进行
操作。一旦branches级别的目标被取消,新的branches被加入该级别时将会有新的手绘生
成器被创造。目标可以在现有的和手绘的生成器间移动,在任何一个特定时间只允许有单个
目标。
Locking Hand Drawn Sources
偶尔,为了手绘branches不能被作为子类进行生成,你或许需要锁定一个生成器。通常都
是在树非常复杂的情况下,以至于难以辨别哪个出branches属于哪个生成器。通过锁定,
手绘生成器将无法创建子类
LeafLeafLeafLeaf CollisionCollisionCollisionCollision
Overview
一般来说树模型中的leaves都是渲染表现中的瓶颈。主要是因为两个原因,高三角面数和
overdraw( 透 支 )。leaf collision组中的属性之所以会有就是考虑到常有leaves的间距太近。
leaf collision只有在参数设定停止的时候才不会出现延迟。
接下来的两种技术都是高消耗计算方式,尤其是在高解析度模型中表现的非常厉害。关闭该
类树模型的leaf collision将会大幅提高计算速度。在这种情况下可以考虑在建模的时候降级
来减少collision。
Spreading
为了减少负荷,碰撞树叶可以分散以保证更好的覆
盖率。这个过程并不会增加leaves的数量,而是将
现有的leaves进行重新放置以使leaves能够大致维
持不错的效果并在leaves间的间距并不像从前那么
紧。
13
工作方式如下
1.所有的leaves位置的计算是基于每个leaves生成器和node的参数
2.在计算之后,碰撞的leaves被识别出来,并通过迭代处理将其分开
3.spread多远是由spread factor属性来控制
spreading leaves 是个相对缓慢的处理过程,可以通过按钮和自动触发。
leaf collision可以在leaf collision组中被禁用,以使得所有的的碰撞被取消,或者看成时降
级。
Culling
为了减少三角面的计算,离得过近的leaves可以被消除。当
两个leaves在cull tolerance(this value is a percentage of
each leaf's size)范围之内,其中的一个将会被移除。这个
过程不需要重置位置。
culling leaves 是一个相对缓慢的处理过程,并可以通过按钮和自动的方式触发。
spead &cull scalars
每个叶生成器都有对应global spread 和cull tolerances的scalar ,位于tree generator
properties。选中一个叶生成器在下面可以找到placement组,scalar是这样工作的:
values小于1意味着,这个叶生成器基本不会在与其他叶生成器碰撞时被culled or spread,
其本身有着较小的collision tolerance。
values 为0意味着不会进行culled or spread,这个设置对于关键的leaf mesh比较有用,以
你为我们需要保证它的外形完好。
values大于1则会增加某个生成器在与其他生成器碰撞时culled的概率,同时增加collision
tolerance。
automaticautomaticautomaticautomatic leafleafleafleaf collisioncollisioncollisioncollision
spreading and culling可通过automatic属性的设置来达到自动化。当两者都被自动化,请
设置一个先后次序。如果culling先,更多的leaves将被移除,少部分的spreading真正被发
挥作用;反之同理。
node-edited leaves
如果一个leaves在node selection mode下被操作,那将免于被spread or culled。原理是,
如果选择手动编辑node,就不要把node丢了。否则可能被删除。spread设置被忽视,因为
改变leaf位置或者旋转它将使得Leaf被移开。如果将node属性改为ignore spread:false,
则可以使得spread发挥作用。 To make it cullable again, presss the 'Clear Node Edits'
button at the top of the Property Editor.
14
customcustomcustomcustom meshmeshmeshmesh assetsassetsassetsassets
订制模型几何体可以通过mesh tab
in assets bar被导入到st modeler里
面 。mesh可以是leaves,frond,或者是
mesh forces。
mesh可以是obj or stm格式
loading the utility
stm 文 件 只 能 通 过 SpeedTree
Mesh Utility from within
Autodesk 3DS MAX(Maya users
can always export to OBJ and
bypass using the mesh utility)被 导
出。
The SpeedTree Mesh Utility is written in in the MAXScript language and must be
loaded in the same manner as any other MAXScript.
The script is located here -> "[SpeedTree Modeler Install Dir]/Scripts/3ds
Max/SpeedTree Mesh Utility 5.0.ms". Run the script from within 3ds Max by
selecting the menu item 'MAXScript->Run Script' and browsing to the location
above.
一旦开始,SpeedTree Mesh Utility 为了方便起见将会载入startup,条件是load this
utility at startup被勾选。
Exporting Mesh Assets
这个工具的主要功能是为了在st system中使用将几何体作为mesh
model导出。为了导出一个mesh,你必须选择场景里一个对象进行。一
次只有一个对象可以作为leaves模型被导出。如果多个对象被选中,只
有第一个选中的可以被导出。选中的将会在面板中被显示。下面是三角
面熟和dimension的显示。
还有其他的一些选项列举如下。他们的选择状态是有黏着性的。
use display units
如果选择unit system而不是通用单位,会使得模型大小被重新按照system unit进行重置。
如果没有可以应用的单位转换,则这个选项是不可选的。
use custom normals
15
如果这个选项被选中,custom-edited normals 将会被输出。normals通过edit normals 修
改器进行修改的。normals的修改在thin-walled几何体中被经常用到,已达到看上去更厚的
视觉效果。
取消这个选项将会重置normals,使normal与对象面normal一致。
override offset
meshes在st modeler中的定向和位置都是由场景中被导出的模型远点来做pivot被确定下
来的。如果某个对象被从场景原点移开,那么整个树模型在使用的时候也会出现相同的偏移 。
如果这个选项被勾选,那么对象的移动将会被忽略,并且导出的模型也将会按照[0,0,0]的
原点来放置,有效的利用对象local pivot(物体本身的相对的)而不是场景中的实际原点。
model format
在下拉菜单中选择输出格式:STM或者OBJ
export mesh
To export an object, press the "Export Mesh" button at the bottom of this group
once the desired object is selected.
一个保存对话框就会出现,询问用户对输出的几何体进行文件夹名称的确定。
mapping coordination一定要在导出前进行。另外,textures applied to leaf meshes
should not title, 所以相应的调整你所用的MAX材质来保证所有texture coordinates 在
0.0-1.0范围
Import Mesh (.stm)
在mesh export组下面的是import mesh按钮。meshes可以被导入回max。任何位于用户系
统的stm文件可以被读入到MAX中 。Use 3ds Max's built-in OBJ importer for importing
OBJ files.
mesh tools
st mesh utility 收藏了一整套工具来帮助你完成custom mesh assets,不论你是否导出
STM,OBJ
project normals
Overview
由于leaf meshes的本质(blade-like and low-detail),使用face normals在树模型上看上去
会出错。 Usually normals need to be pushed "outward" so the tree lights as if it has
volume.否则每个leaves个体会被当做每个独立的模型进行光照渲染不论他们在树上的具体
位置,从而减少了视觉效果。
从ver 5开始,STmodeler囊括了spreading 和统一法线的工具,用于那些被赋予到树模型
上的leaves。See the 'Leaf Properties -> Lighting group' contextual help to see how
range, global reference, global, local, and card smoothing affect leaf normals.
在导出leaf mesh之前投影法线可以有效提高树光照的灵活性,原因是后面需要global
16
smoothing就会变得更少。
projection bias
project normals将每个对象的法线与从共同原点射出的矢量进行
对齐。projection bias参数用来改变投射的原点。值大于0则将
projection向外,而当bias为0时,则从对象中心project normals。
bias spinner 范围是[1,-1],缺省值是0.5。
flip normals
这个工具会让法线顺着需要的
轴去翻转,以使得光照发生相
关变化。
如果没有选中具体法线,则所
有法线都会被翻转。选中XYZ
将会完全翻转所有法线
(同MAX)
remove thin faces
By pressing the button labeled 'Remove faces <', any faces with an area less than
the number shown in the spinner to the right will be removed. thin(low area) 三角
面如果在启用colliding mesh force的情况下会在modeler引起很多问题。所以最好还是在
引入到树模型之前就移除他们。
17
这工具只有在editable mesh几何体中可以运用,所以你不得不在使用该工具前将editable
poly或者其他集合体转换为editable mesh。
value
spinner(在0-0.04通用单位内)可为每个三角面构成的mesh提供了最小允许范围。没有通
过测试的,都将被从对象中移除。
如果几何体被转存到modeler里,那么在每次导入的时候都会被移除。
set pivot
通过按这个按钮,对象的pivot将会被移到按钮右边下拉菜单中选中的选项。
关于设置pivot的可选选项如下:
Origin
将会把选中的对象pivot移到场景原点,不改变几何体
Center
将会把pivot作为几何体的中心。
extra utilities
Unit Converter
Overview
当无论在modeler还是world builder中使用specific units时,你可
以用这个单位转换器在导入它们到modeler之前重新确定mesh
assets的大小。比如,st model library中的树的建模单位是feet,
但你可以做一个用meters单位的colliding mesh assets,如果需要
的话。
另外个用途是,将别的作品导入到你现在的工作单位系统里去。
conversionconversionconversionconversion optionoptionoptionoption
size and position
size and position都可以缩放到需要的单位尺寸。
from
模型被创建时的初试单位
to
模型进行转换的目标单位。Use the special case 'Scene units' to convert to the units in
the current '.max' file.
注意:不止一次的进行单位转换会使得缩放对象的缩放成倍数增长。
FBX material processor
The standard FBX importer 在st modeler中只支持很少的
18
texture选项。
为了保证material导入后会在modeler中被看到,你必须借用这个工具进行material处理。
process imported objects
如果'Process imported objects'在 'FBX Material Processor' 被启用,所有导入的对象
(包括alpha channels,normal maps,etc)都会被处理。对象可以通过手动的方法'Process
Selected' button进行处理.如果'Process translucency'和'Include ambient occlusion'被
勾选,它们也会被包括。
process translucency
如 果 启 用 , 如 果 material 包 括 transmission information 那 么 处 理 时 将 会 创 建 一 个
translucent shader material 。
这些materials更加复杂,在scanline renderer下将更加逼真。
include ambeint occlusion
如果启用的话经过处理的材质将会混合顶点着色与漫反射材质。这将会使得烘焙ambient
occlusion可以渲染。如热锅用这种办法,增加另外的ambient occlusion技术比如辐射着色
或者final gather将成为可能的,因为内部顶点已经被baked-in ambient occlusion渲染了。
process selected
Use this button to process an object already in the scene.
'Quick Save' MacroScript
一旦st mesh utility 被执行,一个macroscript就被创建了,允许用户指定热键或者按钮来
快速存储。macroscript 被称作quicksave STM,并位于st 文件夹,accessible via the
Customize User Interface dialog of 3ds Max ('Customize->Customize User
Interface...'). Select the QuickSaveSTM action and assign either a hotkey, toolbar
button, or menu item to it if desired.
quick save不会出现存储对话框,只是替换上次导出的stm文件。
在需要进行多次快速迭代的时候比如tweaking leaf mesh的normals 或者uvcoordinates,
以达到预期效果的情况下使用非常有效。
ambientambientambientambient occulusionocculusionocculusionocculusion
Overview
ambient occlusion 正 在 快 速 发 展 成 为 cutting-edge 3d
graphics主要的渲染效果。基本的原则就是从多角度计算一个
模型的某个区域。最终的结果是一个在褶皱,交叉,覆盖部分
进行不定向的darkening处理,更像是现实中里面的leaves和
branches看起来暗的效果。一个可以达到这种效果的技术是
rendering light maps offline,但这种处理非常耗时,并且不
19
允许texture titling。而 ST里的ambient occlusion给每个顶点指定occlusion值,并允许SDK
进行runtime读取。
ambient occlusion rendering mode
To view ambient occlusion only, select one of the 'Ambient occlusion / dimming'
rendering modes from the tree window toolbar (first icon).
invalid ambient occlusion solutions
ambient occlusion是一个建模后处理方案。任何时候当你改变影响spine,branch skin,or
leaf位置的属性值导致重新计算时,ambient occlusion solution会无效。因为它被从某个生
成器中移除导致了harsh lighting artifacts所以也就会被整个从树模型中移除。Ambient
occlusion can also be manually removed from a tree by selecting the menu item
'Tools->Clear ambient occlusion'.
generator 和node ambient occlusion properties
在计算过ambient occlusion之后,它的效果可以从每个生成器和每个node上通过属性中的
ambient occlusion 进行调整已达到和谐一致的效果。See the context-sensitive help for
descriptions of each option (Offset, Contrast, Min, and Max).
computing ambient occlusion on load
如果embed geometry被再tree generator prop.里被禁用,ambient occlusion就可以通过
compute AO on load 选项来对tree进行计算。这个选项对于带有embedded geometry的
大规模,细节度高的tree非常有用。
ambient occlusion tool
To calculate ambient occlusion, use the tool located
under the menu item 'Tools->Compute ambient
occlusion'.ambient occlusion
可以被当做是后续处理原因是当在编辑tree属性时所作的
即时运算可能非常慢。这些设置也会被存在tree model中 。
samples
light samples的数量是用来计算ambient occlusion的。增加ambient occlusion的数量,会
使得计算结果更加精确,但需要消耗更多的计算。
blur
用半径来确定blur ambient occlusion的结果。blurring使得效果更加平滑自然,使多个node
统一。blurring values越高,计算时间越长。
global offset
20
Offsets the net darkening effect (positive number result in less darkening). Offset
can be tuned per-generator on top of the global offset.
sky influence
将sample放在控制,会使得底下的branches暗化,较低的区域被较高的区域遮挡。
geometry types
Choose to include or exclude branches, fronds, leaf cards, leaf meshes, or mesh
forces from receiving ambient occlusion. *
即使不接受ambient occulusion,树的剩下的部分也依然要受到影响。
CollisionCollisionCollisionCollision PrimitivesPrimitivesPrimitivesPrimitives
Overview
简单的collision primitives 可以进行滞后处理。这些volumes不是由那
些会降低渲染速度的多边形构成——他们只是geometric primitives
(只被赋予了半径和高度而已)。
placing collision primitives
collision primitives可以通过两种方法进行添加:手动或者自动。primitives可以在tree
window 通过the right-click menu ('Add collision object') or by pressing the add ('+')
button on the toolbar and selecting 'Add collision object' from the pull-right menu
进行手动添加。
手动添加collision primitives需要你通过控制器手柄来做到。你需要手动移动旋转并缩放对
象来覆盖tree的基本外型。
通过generate collision primitives tool,collision primitives会根据tree的框架智能的完
成。一些对于生成的primitives手动编辑依然是必要的。
types of collision primitives
有两种collision primitives可以选择:capsule 和sphere。capsules比较适合approximating
branch volumes并且spheres 更合适 approximating leaf clouds。
viewing collision primitives
collision primitives 默认下被隐藏。需要查看的时候, toggle the collision objects
button on the tree window toolbar.
21
generate collision primitives tool
要自动生成collision primitives 的话,use the tool
located under the menu item 'Tools->Generate
collision primitives'.
clear existing primitives
当启用了以后,所有现存的collision primitives被移
除。否则他们将被添加到现存的set里。
branch capsules
生成Branch capsules的数量。这个工具会从最大的branches开始一直下去直到遇到了指定
数量的capsules。
encompasses percentage
Amount of "wiggle room" for placing branch capsules。如果encompass
percentage为1,也许会显得过于大了,实际上是为了要包裹整个branch,甚至是那些比较
扭曲的branch。
leaf sphere
The number of leaf spheres to generate.
levellevellevellevel ofofofof detaildetaildetaildetail
Overview
在st5.0中,我们已经完全的重做了LOD系统,LOD变得更加过度平滑,转换迅速。我们的
新途径从两方面来着手:一个是leaves,另一个是branches/fronds。
Enabling LOD
要启用LOD,选择树生成器开启LOD:enabled属性。所有全局LOD属性也一样。
See the context-sensitive help at the bottom of the Property Editor for detailed
descriptions of each property.
22
previewing LOD
要在tree window改变目前LOD状态,既可以滑动LOD indicator,或者进行缩放。LOD 必
须大于1才能看到变化。
editing LOD
所有branch,frond和leafLOD的控制在spine或者leaf生成器LOD组中。
大多数的细节削减都靠LOD curves——the left side of the curve is highest LOD, and
the right side is lowest LOD.
Branch and Frond LOD
我们的LOD方法是同时减少每个branch和frond分割,同时移除与camera固定距离上的
spine。
Reducing the Number of Segments
5.0是ST的第一个允许你为单个branches进行多边形面削减的版本。
在spine 生成器里的LOD组中,对length segment, radial segment, cap segment, 或者是
segment multiplier curve进行分割减少以达到低LOD。
为了减少LODs间的POPING(突兀there is no transition for segment reduction), 预 览
结果,并编辑曲线直到LOD到下一个LOD之间的变化不会太剧烈。
Optimization
LOD的优化可以使LOD级别达到最小。通常来说,简单的增加optimization数可以作为一个
减少分割数量的不容易被注意到的方法,因为基点随着实际分割数量的变化而改变(优化跳
过那些基于相邻点之间角度确定的分割,角度发生变化保证整体)
removing entire branches and fronds
我们的新方法的第一个特点就是移除branches和fronds。之前的branches不得不整个突出
来或者难看的结束,现在LODbranch和frond的转换是通过缩小branches半径和减少
fronds宽度直到看不见。这种技术显著地提高了效率,因为perspective camera运动使得
对象大小与camera位置有关。一旦branch或者frond到了zero area,就被删除。当静止的
时候,你不可能注意到树的变化。
在细节级别降低的时候移除branches的过程如下:
1.为最高细节级别的Branches,caps,and fronds设置最大阈值。
2.用相关的LOD curve控制依然呈离散LOD状态的每个几何体的数量。
23
The left side of the curve corresponds to the highest (full) LOD while the right
side of the curve corresponds to the last (lowest) LOD.一般 linear decay 和'droop'
curve default 能达到非常好的效果。
比如,如果你对一个有有着3个离散细节级别的tree用一个linear decay curve ,最高的
LOD将会包括所有branches/caps/fronds,第二LOD将会包括在数量上大于50%最高级别
branches的branches,最后一个LOD级别将不会有任何branches/frond/caps。
如果不想再在任何级别移除所有branches,需要确保associated LOD curve 右端的值大于
0。阈值不是branches数量的百分比,而是curve的Y值与最大volume或者每个几何体域之
比。这样一来你可以轻松的移除小的不连续branche,同时保证整体效果。
Keep Override
为了防止某个node在LOD时被移除,我们提供了一个node属性叫做 'Keep override'。当
该属性被启动时,node将免于culling不论生成器LOD设置如何。
leaf LOD
我们的leaf LOD方法是减少在固定位置(相对于camera)部分的leaves数量。
以前版本的做法是当用新的更少的leaves集去替换上面的leaves。在某些情况下是有效的,
它需要在转化的时候渲染两套leaves集。但在转换的过程中可以被看出来。
在5.0中我们找到了一个可以使branches和frond被移开多简单方法。某些leaves随着
camera的移动缩小,同时其他的leaves变大以保证leaves覆盖面积不变。一旦leaves长得到
了需要的大小,就停止,那些不断缩小的leaves也就消失了。
Tuning Leaf LOD
你可以在 leaf generator's 'Level of Detail' group的属性设置中协调leaves削减的方式。
最低LOD时最小的leaves数量被KEEP属性控制。KEEP为0的话,最小LOD时就没有leaves
被保留下来。为了避免这种情况,可以根据需要来调整KEEP数值。要知道,在手动预览模
式中,要预览最低级LOD效果需要拖拽 LOD Indicator。为了使得低级LOD结果随机化,
可以改变LODseed值,或者调整'Fuzziness' value 直到你满意为止。
Keep Override
To exclude a node from being removed by LOD entirely, we've provided a node
property called 'Keep override'. When enabled, the node will survive the culling
process regardless of the generator's LOD settings
DegradationDegradationDegradationDegradation
Overview
Degradation是一个减少树模型细节的过程,目的是减少三角面的数
量以提高计算速度。所有的降级参数设置可以通过选中 Tree
Generator来达到。这样的功能在做高精度CG画质的tree这样需要
24
在较长时间里计算大量数据的树模型时非常有用。
有两种降级方式: regular degradation 和 interactive degradation。
两者可以单独使用或者共用。
注意:在即时演算时,降级没有什么用。
Degradation
这个属性可以从多边形面解析度和建模技术上对树模型的质量进行降低。当降级被开启后,
所有对于质量的削减都将贯穿建模过程:树可视窗口渲染经过降级的树模型,导出时也会导
出一个经过降级的树,并且所有通过ST编译器的嵌入几何体也要被降级。
这种降级方法主要针对的含有高精度的树模型的时候。基本的概念是让你在工作的时候保证
建模过程的互动性情况下,进行降级,并在导出的时候导出完全解析度的版本。
Enabling Degradation
To toggle degradation, press the degradation button in the main tree window toolbar
or change the 'Degradation -> Enabled' property on the Tree Generator.
当 开 启 的 时 候 , 统 计 信 息 将 会 显 示 在 tree window 左 上 角 呈 淡 黄 色 , 并 包 括
"DEGRADATION ENABLED"(在选择标签里)
Options
在降级选项组里,你可以发现4种方法去影响降级方式。Welding和leaf collision是一些会
降级计算速度的部分,所有将他们禁止会大幅度提高速度。segment和leaf frequency
scalar可以提供些额外的简化途径。
Frequency Scalar and Degradation Style
Frequency Scalar是唯一个要依靠其他的选项的进行应用的设置。任何生成器都可以设置
frequency scaled 或者不这样,方式是通过'Degradation Style’的值设定。如果设置为
Always,则在降级的时候一直scale。反之,设置为never,将会省略任何scale步骤(适用
于roots,没有子类,但有几个node)。
如果设置为default,frequency 将在只有是生成器chain的toplogical end的时候才进行
scale(比如leaves)。在这个chain最后一个的生成器通常负责被创建node的大小,因此有
限制的frequency将显著提高速度(较差的显示效果),效果比减少生成器的node要好的多。
Interactive Degradation
这个属性只有在被计算的时候才会对tree model降级。一旦tree不再被编辑的时候,它将
按照全解析度开始进行计算。改组属性的目的为在交互的时候减低细节已达到快速的预览。
Interactive degradation is active while the left mouse button is being held down,
like when scrolling the spinner on a numeric property, or moving a point in the curve
editor.
这种降级在对高解析度的tre models会再次使用。这种方法和前面提到的不同之处在于,
25
tree在Interaction结束的时候会回到正常状态。
Disabling Propogation
不难得知interactive Degradation最重要的特点是能
够在编辑的时候对所选生成器或者node的子类进行延
缓计算。比如,某个trunk可以被很快的计算,但当你
把 所 有 branches,sub-level branches , twigs 和
leaves 考虑在内的时候,就会变的很慢。当关闭'Allow
propogation' 后,任何经过当前生成器的部分都会被
隐藏直到鼠标松开。
Low Detail Navigation
用 Low detail navigation 选项 可 以 在 进 行 高 多 边 形 面 数 模 型 处 理 的 时 候 显 著 增 加
panning,rotating,和zooming的速度。
WindWindWindWind
Overview
wind(turn wind on by pressing its toolbar icon or '8')在整个ST 建模过程中是
波动的。每个node固有或者继承wind 参数会控制对象的独一无二的运动,而这组
wind参数也会和其他fan对象共享,所有的wind参数被保存在模型中,并在即时环境下编译
后发挥作用。wind动画可被分为5种。
Primary Motion
每个tree model顶点会在XY平面随着风的方向前后震荡。多少,多远,多快,这些程度都
由fan对象中primary组里的属性来决定。
secondary motion
每个node可以在primary oscillation之后明确一个次级方向和震荡的程度。
所有node的顶点震荡方向相同(use the "Wind" parameters of each node type to
control the direction and length of this vector)但程度是根据他们被指定的wind 重量。
这样的运动与风力有关不是风向,并由 的fan 对象"Secondary" group参数控制。
leaves
leaf cards和meshes的顶点根据法线方向和风力进行震荡。fan对象的leaves属性组控制多
少,多远和风向的影响程度。Leaf generator也有针对每个生成器和单个leaf mesh的风力
值和风力控制曲线(这在控制长叶Mesh的时候很有用,比如藤。一个线性外观的曲线将使
得这样的mesh根部不动,而前段随风摇摆)。
增加 'Windward scalar' 属性将会使得leaves在面对风源的时候震荡的更加明显。
Frond Ripple
fronds的顶点震荡根据每个node的参数设置成波浪状运动。你可以在 "Frond Ripple"
26
property group of the fan object or on the spine node itself 控制运动的多快和程度。
frond ripple在运用image-based的branches作为frond geometry的时候不可用。这种现象
主要是对蕨类植物以及大块leaves的植物来说。
Gusting
STwind可以被设成周期性的阵风。每个gust对目标施放新的风力并持续不定的时间周期(由
用户定)。在"Gust" property group of the fan object里编辑所有gust参数。
Low Wind, High Wind, Response Times, and Exponents
Most of the wind groups on the fan object have parameters for low and high wind
frequency, low and high wind distances, and strength exponents.
大多数wind groups on the fan object有可以调节wind frequency频率高低,风距离远近和
风力的参数。
另外,还有针对风力响应时间和方向响应时间的全局设定。理解这些参数所扮演的角色对于
编辑一个优秀的风动画非常重要。
Low Wind vs. High Wind
这些参数表面上看上去简单。Low wind parameters dictate how the tree responds in
low wind, high wind parameters dictate how the tree responds in high wind。然而,并
不总是high wind parameters就会更高。通常情况下,为了创造一个真实的强风效果,需要
同时将high wind distances调短,将high wind frequency调高。
Exponents
The strength exponent parameters基于风力控制values从low wind 向high wind转移程
度的参数。增加 strength exponents 将减缓从low wind到high wind 的过程。一个可以让
leaf和frond涟漪比 secondary strength exponent少的办法让其比 primary strength
exponent 低。这样的结果就是wind 反映更小更轻的树元素先于更大的components运 动 。
response times
strength and direction response times控制着对应风变化Tree改变的速度。增加值将会
模拟一个看起来更大,移动缓慢的tree。
Fan Object
当wind被启用时,fan对象就会出现在Light下。点击fan可以进行对上面五个组的属性进行
编辑。
fan可以通过旋转柄进行旋转。A shortcut for fan manipulation is to
hold down 'F', left click, and drag the pointer in the tree window to
point the fan in a different direction 。 Doing the same with the
middle mouse button is a shortcut for changing the strength.
27
Wind Strength
Wind strength可以通过fan喜爱的两个条达到可视化。蓝色的条是target base strength。
白色的条代表目前的力度。当target strength 改变,白色的条也会根据响应时间来移动。
同样的,红色条代表gust力度。bars中间的白条是实际应用到tree上的力,是set strength
和gust总和。
Wind Data Transfer
Wind Date 可 以 用 位 于 top of the Fan Object properties under the 'Wind Data
Transfer' group的命令来在tree间转移。
Here wind properties can be Imported and Exported as ".swd" (SpeedTree Wind
Data) files, or simply copied and pasted between open trees.
PhysicsPhysicsPhysicsPhysics
概述
ST5.0是第一个直接引用physics的版本。ST模型现在可以在放置Bones(throughout tree
model)上获得本地的支持和控制。
物理数据在通过models的exporters之后便可以使用。随着ST的持续开发,更多的物理选
项将和数据将会借助exporter和内部SDK出现。
Support for PhysX™ and the APEX Vegetation Module, by NVIDIA®
随着5.0版本在物理性能上的极大扩展,ST将很快推出对于NVIDIA’s PhysX™ SDK and
the APEX Vegetation Module的内嵌支持。
NVIDIA APEX 被设计成与现有的PhysX SDK's 协作的modular framework,可以让开发
者将更多物理效果细节加入到他们的游戏中,并帮助他们在多平台开发时优化游戏体验(一
次创造,对应多平台内容共享)。
APEX支持多种plug-in模块,包括植被,破坏和clothing,以使艺术家和关卡设计师可以对
创造的内容在不需要程序的介入下进行即时效果的查看。APEX模组现在已经可以在多个平
台上使用了。
Along with greatly expanded physics capabilities in version 5.0, SpeedTree will soon
include built-in support for NVIDIA’s PhysX™ SDK and the APEX Vegetation
Module.

Más contenido relacionado

Destacado

Taller 3 de internet1
Taller 3 de internet1Taller 3 de internet1
Taller 3 de internet1Sebastian Rea
 
Clases Redes Sociales UP
Clases Redes Sociales UPClases Redes Sociales UP
Clases Redes Sociales UPCarla Antonioli
 
Presentacion nomina y pss
Presentacion nomina y pssPresentacion nomina y pss
Presentacion nomina y pssluisacomercio2
 
Info wiki Informatiegeletterd
Info wiki InformatiegeletterdInfo wiki Informatiegeletterd
Info wiki InformatiegeletterdLOCUS
 
Penguin website
Penguin websitePenguin website
Penguin websitejrasko
 
Posmodernismo blogspot
Posmodernismo blogspotPosmodernismo blogspot
Posmodernismo blogspotmacclavijo
 
今日如何建立一个安全的私有云
今日如何建立一个安全的私有云今日如何建立一个安全的私有云
今日如何建立一个安全的私有云ITband
 
Undecidable Traveler
Undecidable TravelerUndecidable Traveler
Undecidable Travelerkinaba
 
Jorge y jhon reciclaje
Jorge y jhon reciclajeJorge y jhon reciclaje
Jorge y jhon reciclajeJUA20092009
 
xwz 2010-10-31
xwz 2010-10-31xwz 2010-10-31
xwz 2010-10-31carlxwz
 
Presentación de propuestas
Presentación de propuestasPresentación de propuestas
Presentación de propuestasedu0526
 
Никита Фролов Разработка приложений под iPhone
Никита Фролов   Разработка приложений под iPhoneНикита Фролов   Разработка приложений под iPhone
Никита Фролов Разработка приложений под iPhoneSiel01
 

Destacado (20)

The Earthwalk
The EarthwalkThe Earthwalk
The Earthwalk
 
Taller 3 de internet1
Taller 3 de internet1Taller 3 de internet1
Taller 3 de internet1
 
Acuario
AcuarioAcuario
Acuario
 
Clases Redes Sociales UP
Clases Redes Sociales UPClases Redes Sociales UP
Clases Redes Sociales UP
 
Presentacion nomina y pss
Presentacion nomina y pssPresentacion nomina y pss
Presentacion nomina y pss
 
Info wiki Informatiegeletterd
Info wiki InformatiegeletterdInfo wiki Informatiegeletterd
Info wiki Informatiegeletterd
 
Penguin website
Penguin websitePenguin website
Penguin website
 
Posmodernismo blogspot
Posmodernismo blogspotPosmodernismo blogspot
Posmodernismo blogspot
 
Presentacion nadenka sañudo biotecnologia
Presentacion nadenka sañudo biotecnologiaPresentacion nadenka sañudo biotecnologia
Presentacion nadenka sañudo biotecnologia
 
Ordinales
OrdinalesOrdinales
Ordinales
 
Web20
Web20Web20
Web20
 
今日如何建立一个安全的私有云
今日如何建立一个安全的私有云今日如何建立一个安全的私有云
今日如何建立一个安全的私有云
 
Dicertacion cip
Dicertacion cipDicertacion cip
Dicertacion cip
 
Undecidable Traveler
Undecidable TravelerUndecidable Traveler
Undecidable Traveler
 
Jorge y jhon reciclaje
Jorge y jhon reciclajeJorge y jhon reciclaje
Jorge y jhon reciclaje
 
Alpes
AlpesAlpes
Alpes
 
xwz 2010-10-31
xwz 2010-10-31xwz 2010-10-31
xwz 2010-10-31
 
Presentación de propuestas
Presentación de propuestasPresentación de propuestas
Presentación de propuestas
 
Fotografias
FotografiasFotografias
Fotografias
 
Никита Фролов Разработка приложений под iPhone
Никита Фролов   Разработка приложений под iPhoneНикита Фролов   Разработка приложений под iPhone
Никита Фролов Разработка приложений под iPhone
 

Similar a Speed tree modeler 5[1].0.1 user manual 建模-中文版

《Axure快速原型设计》
《Axure快速原型设计》《Axure快速原型设计》
《Axure快速原型设计》LIU hongmin
 
《Axure快速原型设计》
《Axure快速原型设计》《Axure快速原型设计》
《Axure快速原型设计》soaringwly
 
聯網數位電錶-概念設計書
聯網數位電錶-概念設計書聯網數位電錶-概念設計書
聯網數位電錶-概念設計書志賢 黃
 
White paper Fractalia Manager chinese
White paper Fractalia Manager chineseWhite paper Fractalia Manager chinese
White paper Fractalia Manager chineseFractalia
 
NPO 網站改造觀摩賽 - Day 3 - Joomla Team Report by Eddy Chang
NPO 網站改造觀摩賽 - Day 3 - Joomla Team Report by Eddy ChangNPO 網站改造觀摩賽 - Day 3 - Joomla Team Report by Eddy Chang
NPO 網站改造觀摩賽 - Day 3 - Joomla Team Report by Eddy ChangCharles Chuang
 
东进D系列模拟中继语音处理板用户手册
东进D系列模拟中继语音处理板用户手册东进D系列模拟中继语音处理板用户手册
东进D系列模拟中继语音处理板用户手册alidalee
 
Memcached
MemcachedMemcached
Memcachednowise
 
Memcached全面剖析
Memcached全面剖析Memcached全面剖析
Memcached全面剖析chen vivian
 
Memcached
MemcachedMemcached
Memcachedfeizone
 
33個你應該知道的CAD秘訣.pdf
33個你應該知道的CAD秘訣.pdf33個你應該知道的CAD秘訣.pdf
33個你應該知道的CAD秘訣.pdfHuChiehyen1
 
Mongo db实战
Mongo db实战Mongo db实战
Mongo db实战Roger Xia
 
User guides ics
User guides icsUser guides ics
User guides icsfarzidkhan
 
深入浅出My sql数据库开发、优化与管理维护
深入浅出My sql数据库开发、优化与管理维护深入浅出My sql数据库开发、优化与管理维护
深入浅出My sql数据库开发、优化与管理维护colderboy17
 
深入浅出My sql数据库开发、优化与管理维护 (1)
深入浅出My sql数据库开发、优化与管理维护 (1)深入浅出My sql数据库开发、优化与管理维护 (1)
深入浅出My sql数据库开发、优化与管理维护 (1)colderboy17
 
2017 graphics-01: 電腦圖學繪圖流程
2017 graphics-01: 電腦圖學繪圖流程2017 graphics-01: 電腦圖學繪圖流程
2017 graphics-01: 電腦圖學繪圖流程River Wang
 
Fractalia manager whitepaper_ch_5_2_0
Fractalia manager whitepaper_ch_5_2_0Fractalia manager whitepaper_ch_5_2_0
Fractalia manager whitepaper_ch_5_2_0Fractalia
 

Similar a Speed tree modeler 5[1].0.1 user manual 建模-中文版 (20)

《Axure快速原型设计》
《Axure快速原型设计》《Axure快速原型设计》
《Axure快速原型设计》
 
《Axure快速原型设计》
《Axure快速原型设计》《Axure快速原型设计》
《Axure快速原型设计》
 
聯網數位電錶-概念設計書
聯網數位電錶-概念設計書聯網數位電錶-概念設計書
聯網數位電錶-概念設計書
 
White paper Fractalia Manager chinese
White paper Fractalia Manager chineseWhite paper Fractalia Manager chinese
White paper Fractalia Manager chinese
 
NPO 網站改造觀摩賽 - Day 3 - Joomla Team Report by Eddy Chang
NPO 網站改造觀摩賽 - Day 3 - Joomla Team Report by Eddy ChangNPO 網站改造觀摩賽 - Day 3 - Joomla Team Report by Eddy Chang
NPO 網站改造觀摩賽 - Day 3 - Joomla Team Report by Eddy Chang
 
东进D系列模拟中继语音处理板用户手册
东进D系列模拟中继语音处理板用户手册东进D系列模拟中继语音处理板用户手册
东进D系列模拟中继语音处理板用户手册
 
Nx d 7.0
Nx d 7.0Nx d 7.0
Nx d 7.0
 
Memcached
MemcachedMemcached
Memcached
 
Memcached
MemcachedMemcached
Memcached
 
Memcached全面剖析
Memcached全面剖析Memcached全面剖析
Memcached全面剖析
 
Memcached
MemcachedMemcached
Memcached
 
33個你應該知道的CAD秘訣.pdf
33個你應該知道的CAD秘訣.pdf33個你應該知道的CAD秘訣.pdf
33個你應該知道的CAD秘訣.pdf
 
Fluxay
FluxayFluxay
Fluxay
 
Mongo db实战
Mongo db实战Mongo db实战
Mongo db实战
 
Twido programming guide
Twido programming guideTwido programming guide
Twido programming guide
 
User guides ics
User guides icsUser guides ics
User guides ics
 
深入浅出My sql数据库开发、优化与管理维护
深入浅出My sql数据库开发、优化与管理维护深入浅出My sql数据库开发、优化与管理维护
深入浅出My sql数据库开发、优化与管理维护
 
深入浅出My sql数据库开发、优化与管理维护 (1)
深入浅出My sql数据库开发、优化与管理维护 (1)深入浅出My sql数据库开发、优化与管理维护 (1)
深入浅出My sql数据库开发、优化与管理维护 (1)
 
2017 graphics-01: 電腦圖學繪圖流程
2017 graphics-01: 電腦圖學繪圖流程2017 graphics-01: 電腦圖學繪圖流程
2017 graphics-01: 電腦圖學繪圖流程
 
Fractalia manager whitepaper_ch_5_2_0
Fractalia manager whitepaper_ch_5_2_0Fractalia manager whitepaper_ch_5_2_0
Fractalia manager whitepaper_ch_5_2_0
 

Speed tree modeler 5[1].0.1 user manual 建模-中文版

  • 1. 1 SpeedTree® Modeler 5.0.1 User Manual <Modeling> 翻译:孙文 7878_1212@163.com (由于作者能力有限,如有纰漏及错误,请及时联系本人,谢谢!) 注意,中文版文档中引用原文的情况为: 1.原文表意贴切合理且理解起来容易 2.术语,专有词汇 3.涉及操作部分(比较简单) 4.不确定其准确含义(很少) Modeling Method.....................................................................................2 Generators................................................................................................3 Nodes......................................................................................................... 5 forces.........................................................................................................6 Hand Drawing........................................................................................... 8 Leaf Collision...........................................................................................11 custom mesh assets..............................................................................12 ambient occulusion................................................................................ 16 Collision Primitives................................................................................ 17 level of detail......................................................................................... 19 Degradation............................................................................................ 21 Wind.........................................................................................................22 Physics..................................................................................................... 24
  • 2. 2 ModelingModelingModelingModeling MethodMethodMethodMethod Understanding "Generators" ST模型主要由两类物体组成:生成器和 node生成器可以被看作是确定那一部分 分 叉 的 一 套 规 则 。 生 成 器 主 要 决 定 branches,leaves和frond。 node实际上是一个树模型的构件(组成部 分),生成器对node的创造是基于对象属 性值,用户所编辑的曲线,再加上其中的 一些随机变化数值。因此,一个生成器多 数情况下是负责为一个树模型进行node 创建。 Linking Generators 在第一个生成器设置好之后,树模型就被 创建了出来。举例来说,一个拥有单个 trunk和20个树叉的树模型需要3个生成 器:一个树生成器(每个树都有),一个 用来生成trunk的spine(脊柱)生成器 ( spine 生 成 器 用 来 创 建 branches 和 frond)还有另外一个spine生成器用来生成branches。这个trunk可以被看作是频率值设置 为1的树模型生成器的子类。而branches生成器可以被看作是频率值设置为20的trunk生成 器的子类。你可以通过生成器编辑器用拖拽图标的方式把生成器连接到一起。经过上述设置 你就可以在树型可视窗口看到一个由一个trunknode和20个branchesnode构成的树模型。 Editing Properties 通过属性编辑器修改相应的属性包括长度,半径,角度,以及trunk和branches的任何部分 属性值都可以完成对每个生成器的修改。 比如,想让trunk变得更长的话可以通过trunk生成器长度属性进行调整;如果想让在顶端 附近的branches比地段的短些,可以通过修改branches生成器的长度属性后面的绿色曲线 来实现;如果要想让每个branches都有轻微不同的长度差别,则可通过修改长度属性中变 化度的数值做到。当然你也可以在随后根据实际情况来做出修改。 树生成器(如图所示)就是一个树的根node,它通过其具备的很多属性来控制树剩余部分 的外型。树生成器的属性编辑器在树窗口没有被选中或者他的图标被被选中的状态下激活。 Controlling Properties with Curves 在希望改变有关长度的属性,可以改变其属性的父曲线。比如,通过改变绿色的父曲线来使 得底部的branches比顶端的长。你可以借助蓝色的轮廓曲线修改每个node上的属性,比如, 轮廓曲线可以让每个branches随着长度的增加而越来越细,直到终于一个点。 要想编辑父曲线和轮廓曲线,可以单击属性编辑器里的对应曲线的缩略图,然后在曲线编辑
  • 3. 3 器里进行单独编辑。 Randomizing Seeds(建模中常用词汇,类似随机振动源) 如果你已经有了一个树的成品,那么你可以通过简单的修改生成器里的随机因子来达到多变 的效果。如今模型中有很多因子可以用来进行独立的随机调整。如果需要对生成器所有的因 子进行随机化,可以按生成编辑器工具栏的dice按钮。 Using Forces to Shape the Model 用空间扭曲来达到对树模型的拉扯和扭曲以及卷曲。空间扭曲可以通过树木窗口和node体 系来添加到场景中,它们支持以坐标中心为基点的操作方法,比如可以使用一个方向力来拉 动所有的东西来模拟重力。 Hand Draw Precise Branches 我们已经结合了重要的通过数位板(包括鼠标)手绘生成树木元素的功能. 手绘可以生成任何 你想象中的树枝, 而且可以很自然得与其它部分连接. 不仅如此, 它们还可以通过贝赛尔曲 线控制方式在空间中方便得进行操作。 Get It Perfect with Node Editing 当树的外型和你想要的已经大致接近的时候,可以选择 node并精确编辑,不喜欢这个 branches的位置?选择并移动它. 这片树叶是不是伸出树枝太远了? 选中并删除它. 需要在 低branches上划分更多部分? 选择并加大它的多边形解析度.这种造型方式比原来的造型方 式给予艺术家更多的自由度。任意的node在经过如此方式的编辑时候依然可以被其相关的 生成器进行修改,并且依然能够在此基础上进行延伸和丰富。 Other Concepts 即ST建模理念的背后的概念,包括了自动碰撞测试器,环境光遮蔽,LOD,模拟风,物理 以及其他一些是的ST更加强大和用户友好的树建模软件的解决方案和工具。 GeneratorsGeneratorsGeneratorsGenerators Overview 生成器负责创建构成树模型的所有node。(树的任何一个肢体都可以叫做node) 一般有一个生成器来负责每组node的创造和修改。比如,在传统的树建模中,会有一个trunk 生成器负责创造trunk,一个用来在此基础上生成node的branches生成器,以及一个负责生 成leaves的生成器。 Generation Editor
  • 4. 4 一个树的基本结构就有生成器来定义,而他们直接以何种方式被连接在一起就是生成编辑器 负责了。 ST有许多种类型的生成器,而每个都有一些常规属性,以及一些体现其生成器特点的独特 属性。 Common Properties 即Generation和Forces组中的属性。前者控制一个node在其父级别node的什么地方产生, 产生多少,以及方向。后者控制一个每个node上的受力和扭曲程度。当一个生成器的扭曲 被打开时,扭曲图标就会出现在允许扭曲应用的生成器图标附近。 Generator Types ST有很多不同类型的生成器,而每一种都会创建其独特类型的node。各种类型列举如下: Tree Generator 每个树有且只有一个树生成器。这是唯一一个没有Generation属性的生成器 (永远作为根部,不会有父类)。要进行树建模还需要在其基础上运用spine生成器和叶生成 器。树生成器也有一些全局设定包括LOD,Wind,Degradation,以及全局物理参数属性。 Spine Generator spine生成器负责生成spinenode。spine定义了trunk和branches的中心线,所以branches 和trunk都是spine生成器的一部分。四个不同类型的spine:光棍,branches,trunk,以及 包含前者所有。 Leaf Generator 叶生成器负责生成叶node,leaves可以分为两类,叶片面和叶模型(从Asset Editor指定的 任意模型对象)。 Hand Drawn Generators 主要讲手绘生成器图标位置以及如何显示的(具体参见ST)。 Generation Editor 生成编辑器是一个连接各种生成器的地方。任一生成器可以拥有多个子生成器,例如,从某 个trunk生长出来的节孔,小branches,以及leaves。通过生成编辑器工具栏和右击都可以
  • 5. 5 添加和移动生成器。 Linking Generators 即决定生成器之间如何被连接的生成器。该生成器可以用按住鼠标进行拖拽的方式进行 创建以及用删除键删除(或者工具栏X进行删除)。每个连接的右边都会用数字表示出从某 点产生的node数量。 Selecting Generators 点击生成编辑器中的图标和树可视窗口中的几何体都可以选择该生成器。当被选中时,该生 成器上的所有node都会被高亮成蓝绿色。取消高亮效果也可以通过以下方式menu item 'Edit->Preferences->General->Highlight selected generator's nodes', or temporarily disabled by pressing the tilde (~) key (highlighting will return on the next selection). 注意:当你在可视窗口选中某个node后颜色并不是蓝绿色而是纯蓝色那么说明目前是node 选中模式。选中生成编辑器中的图标的时候,即便当前是node选中模式也依然会选中该生 成器。 NodesNodesNodesNodes Overview 第一段是前文的重复 只要Generation seed value的值不变,那么node编辑结果也不会变。也就是说一旦因子被 随机化,那么你之前做好的node都会被舍弃并且产生的新node将不会有node edit。正因为 如此尽量不要大量使用Node-editing除非你对目前的因子感到满意。 Node Types Spine node和leaf node Node Selection Mode
  • 6. 6 为了对每个node进行独立编辑,你需要进入node编辑模式进行操作。按下node编辑模 式图标就可以使用node编辑了。选择一个node,可以在可视窗口中点击。当选中了以后被 高亮成橙色而不是蓝绿色说明选择对了。你可以按住Ctrl进行多选,或者通过various tree window toolbar's 'Select-> Nodes' pull-right menu options 进行选择。 Node Value Offsets 如果node被选中,那么该node的属性编辑将被显示,而非生成器界面。默认的node设置将 会把每个属性值设为0.以为内node只包括其本身计算偏移值。这就是说以后的生成器编辑设 置依然可以影响node。例如,做一个偏移值为10的node,node的计算长度是5,那么结果 可能达到15。如果你回到生成器并增加7个长度最大值,则导致长度可能是22在生成器编辑 中你可以看到很多属性,这些属性被用来确定位置,旋转和缩放。比如,简单的拖动位置参 数的滚动条就可以使得node在其父类上进行上下移动。 Node Curve Offsets 道理和node值偏移相似。node一般都有偏移曲线。单击曲线缩略图然后在曲线编辑器中进 行偏移曲线的编辑。偏移曲线增加了node的曲线偏移,所以设置的偏移数值将被反映在曲 线轮廓中。 Deleting Nodes select and press the delete key (or press the 'X' icon on the tree window toolbar Deleted nodes can be retrieved with undo (CTRL + Z) All deleted nodes can be retrieved by pressing the 'Reset' (or 'Randomize') button in the generation editor (deleting the a generator link will also result in a loss of node edits). Node Manipulator 选择的node将会被如图显示(控制器) 每个node对应其特别的类型,比如,branchesnode有着可以 控制位置,初始角度,长度等等的控制柄,可以通过旋转控 制柄来判断哪个部分的属性将会被修改。单击并拖拽线的方 向可以修改相关的偏移值。 控制器可以在树可视窗口的属性编辑器中被缩放和关闭。
  • 7. 7 Control Points on Hand Drawn Branches 手绘branches是由其控制点进行的。通过调整控制点可以改变branches外观。这些点可以 通过控制点属性被添加和移除。 Accessing Control Points 进入node选择模式,然后点击任意手绘branches即可,控制 点将会呈现绿色,并带有淡绿色的控制柄。一般有三类控制点 。 如图,通过树窗口属性条可以进行控制点类型设置。 forcesforcesforcesforces Overview forces object是一种强大的可以任意控制spine生长方式的建模工具,单单通过修改属性值 也无法如此建模工具所达到的效果相媲美,ST有很多种forces,未来随着插件的丰富,这 部分将会更加完善。 由于forces是world-space object,所以可以直接在树可视窗口中在操作,你可以通过工具 栏上图标来改变操作模式。 Adding Forces 加 入 forces 方 法 right-click in the tree window or use the '+' toolbar button and select 'Add force'. 如果当前没有选中任何生成器,那么添加进去的forces将不会对树模型产生外观上的改变 如果选中多个生成器那么forces将被作用于所选生成器,删除方法依然不变。 Allowing Forces 即便forces被添加进去,也依然要经过生成器和node的许可。在forces被真正添加进去前, 属性编辑器中的forces组会出现复选框。如果其中一项被勾选,那么这个选项就会在当前 选中的node上。这样的机制可以让forces在trunk上起作用,同时在子对象上加入一个 Unrelated force。如果一个force在某个生成器上开启,那么生成器被选中时,它的3D导 航器将会被高亮。 未启用的forces将会被显示成深灰色。 Renaming Forces forces可以根据其类型而自动命名。当类型改变,名字也会改变。在多个同类forces被选 中的情况下,新的名称将被按照统一格式进行命名并以此类推。这样也会造成迷惑,特别是 多个同种类型forces的命名。但forces可以手动命名。press the 'Rename' button (or press 'F2') to rename the force.新的名称叫会被反映在所有的spine生成器和node上。 Localizing the Area of Influence
  • 8. 8 由于forces是world-space对象,它们可以在场景中被自由移动。通过对forces对象属性进 行薄弱化,使得forces作用区域被限定在以forces对象为中心的固定半径周围。 Force Types 不同forces类型将会对树模型产生不同的作用效果。类型如下 Direction magnet gnarl twist curl planar mesh 直接操作就知道它们的作用和区别了 Mesh Forces 当用到mesh forces时,你先需要载入一个mesh已达到效果。一旦被载入进树模型 中就可与地形互动 Assigning Mesh Assets 在Asset 编辑器中的Mesh标签里可以进行任意的模型载入。模型的格式可以为 OBJ,STM。我们也提供了一些样品。 Mesh force action 模型force可以让树产生多样的变化。spine可以被mesh吸引和排斥,能够与mesh force 产生碰撞的spine也可以由个mesh生长出来,也可以在端点交汇处被细化。 Mesh Force Actions 这种布尔运算可以使得被附加了mesh force的对象可以作为树模型的一部分当spm文件载 入编译器并且转化为run time模型(srt格式)的时候,mesh将会以树的一部分来展现, 并 包含billboard渲染。 将材质赋予mesh force以及计算ambient occlusion来保证模型有了贴图,并且光照被正确 编译。 HandHandHandHand DrawingDrawingDrawingDrawing Overview
  • 9. 9 手绘可以允许你用手绘装置和鼠标对需要的branches进行手绘,然后用控制点进行任意的 调 整 。 you can even grow procedural content right on top of the hand-drawn branches!(你甚至可以根据要求在branches端点继续绘制想要的branches)。 procedural tool和手绘的结合可以让你根据需要进行精确调整。 Hand drawn vs Procedurally Generated 两者的不同点如下 Generation 参数并不会应用到手绘branches上每个手绘生成器中的node将会被手动添加 进去。不幸的是,请注意如果你删除了手绘生成器的连接,那么再重新连接的时候原来的 node将不复存在。 Bifurcation 在手绘branches的时候将不起作用。这个功能与手绘不相互兼用。 forces disturbance and jink 可用。如果在生成器中运用了forces或disturbance,那么结 果可能在绘制的时候branches出现脱离Line的现象。 手绘spine可以通过控制点进行调整。手绘曲线外型可以借助控制点将线变成贝塞尔曲线而 不是由spine属性来单独决定。进入Node selection Mode 可以实现上述功能。 你可以在手绘branches顶端加入procedural content,通过连接生成器即可实现。 将手绘branches与模板相结合。模板可以被载入保存并粘贴进手绘生成器中。 你甚至可以把多个模板载入到trunk和一系列不同级别的branches,将他们连接起来并将模 板用在所需要的不同的层级上。如果在目标级别没有手绘生成器,那么有模板创造出的新生 成器(在名为手绘的模版文件夹下)。 内定的偏移值将在手绘branches的创建中表现出来(偏移值有固定的设定)这意味着 branches将所画即所现,不论在生成器属性中如何设置,ST在此有优化的方案使得手绘的 效果达到最好表现。 然而在完成对branches的绘制之后,对于诸如Start angle roll size scaler 等等的属性设 置相对于原先对于生成器属性的设置依然会对外型产生变化。 很重要一点是手绘生成器不能呢个被转化为procedual生成器反之亦然虽然不能在两种生成 器中进行互相转化但是可以通过拷贝你想要的生成器,然后在另外一种类型生成器上用粘贴 命令。这样以来除了Generation value之外的所有设置,而且所有连接保持完好。
  • 10. 10 The Hand Drawing Process 1.载入一个现有的树模型,或者创建一个新的树并设置至少一个bark material 2.将camera调整到一个合适的角度。当开始绘制时,垂直的平面将被当做画布来使用(3D 相关属性将会通过调整控制点来实现) 3.按住Space来进入手绘模式。cursor将会有默认cursor变为十字线 4.通过按住鼠标左键或者手绘板来激活tree radius内的十字线开始画 trunk,或者在一个现有的trunk上通过十字线来绘制branches 5.移动十字线在屏幕中绘制线条。 6.松开鼠标左键来结束绘制 7.如果还没有指定材质,则指定bark材质到trunk。如果在已有的trunk上绘制branches, 那么该branches的材质将会继承其父类的。子类的也一样 8.进入node选择模式,然后点击手绘branches的任何部分来激活控制点,用node控制器来 调整旋转角度,位置或者缩放。 9.选中控制点或者手柄,通过旋转跳动来增加depth(3D) Hold down the ALT key while selecting points to select all subsequent control points in the line。第一个被选中的控制点将作为杠杆的支点,调整branches剩下的部分。同样的 , 如果用translate manipulator mode将会使得整个部分一致地移动。 10.Add or delete controls points by pressing the 'After' or 'Before' buttons on the Property Editor, or by pressing the delete key with a control point selected. 11.通过重复以上步骤来绘制子branches,但用新创建的branches作为父node。 为了做到这一点,只要按住space从branches的任何一点开始绘制就行 Control Point Options 改变控制点数量 当手绘曲线结束的时候,将会被自动转换为贝赛尔曲线。一部分隐藏在tree window properties选项控制着新的贝赛尔曲线如何被创建。 这个选项可以使得曲线更加精确,获得更多控制点。你通过两个方面来控制:spacing间隔 和 curve fit曲线拟合 spacing 即两个控制点间的允许的最小距离。两点间的计算距离收到绘线速度和角度。然而,间隔要 控制恰当。间隔单位可以是世界绝对单位,或者相对单位。相对单位更加合适于树模型。 curve fit 即控制创造曲线的控制点数。值为1代表最为精确与绘制速度和其他因素有密切关系。小于 0.5则变得不精确,但比较容易控制。如果用较低的值,可以用Corner这种控制点风格确保 最佳的精确度和较少的点。你也可以在此基础之上加控制点。 Control Point Types 控制点可以分为corner,linear,或者smooth,linear和smooth
  • 11. 11 的控制点都有线性的控制柄,但smooth控制点有其他的一些限制,比如他们必须有相同的 长度。smooth是最适合流线型的branches,因为拐角使得等距离的线性点难以再生。 Working With Hand Drawn Generators & Templates 一旦手绘生成器被创建,手绘标志就出现在Generation Editor的右下角手绘生成器可以被 通过以下方法创建: 1.添加新的手绘branches 2.添加手绘模板 3.拷贝其他的手绘模板 New Branches 创建新branches的准则 1.如果目前的目标branches级别里没有手绘生成器,新的手绘生成器就被自动创建。用于新 的手绘生成器的模板位于"Templates/Hand Drawn" 子文件夹里。独立的用于trunk的模板 来自于其他branches级别。 最好不要改变模板文件,可以选择在使用订制branches前载入模板化的手绘生成器。 2.如果一个手绘生成器已经与父node相连,所有新的手绘branches将会被放在这个生成器 里。这意味着所有branches,frond,以及材质属性将从现存的手绘生成器里继承。 3.如果有多个手绘生成器与父node连接,其中一个必须被设置为手绘目标,目的是接受新的 branches。 Hand Drawn Templates 和其他生成器一样,手绘生成器可以像模版一样被存储和载入(stt格式)。当一个手绘模板 被载入到了生成器编辑器中,将会用手绘图标在生成器图标的右下角表示出来。 手绘模板可通过两种方式被创建:一是在通过手动编辑一个自动创建的手绘生成器并保存为 模板文件,另一个是,粘贴到现存的手绘生成器并保存为模板。记住,任何branch都不会 被存到模板里。 stacking templates 如果能将所有的部分连接起来作为一个整体的树模板,则可以大大提高手绘模板的使用效 率。只需要在连接之前设置trunk的材质,所有后来的branches都会继承这样的材质。You can even link procedurally-generated leaves to the last branch level – all before drawing a single thing. Then, the properties for each branch level are already in place which allows you to draw naturally without having to adjust each branch level as its created. Paste Into 在选中的生成器编辑器中进行右键可以粘贴生成器里的内容到另外一个生成器,即便node 已经被绘制并且存在子类。所有的属性都会被粘贴除了generation components,所以只有 branch skin,frond properties,materials,and dynamic 设置被进行粘贴。 这是个提高效率的好办法,尤其是在绘制好branches之后,利用此法可以快速生成器中的
  • 12. 12 设置;创建手绘模板的时候也适用,另外对子branchesnode进行编辑的时候进行。 Copying and Pasting Hand Drawn Generators 一个刚粘贴手绘生成器是空白的,因为手绘生成器必须被连接到父node才能生成子类。 Reseting a Hand Drawn Generator Presing the 'Reset' button while selecting a hand drawn generator will only remove the node edits from the hand drawn nodes. To remove all hand drawn branches without unlinking/relinking, select the link before a hand drawn generator and press the 'Reset' button instead. Hand Drawn Targets 第一个创建在branches级别的手绘生成器是被自动指定的目标。目标用复选号(对勾)显 示出来,然而,目标可以被手动取消,方法是对生成编辑器工具栏的目标按钮(对勾)进行 操作。一旦branches级别的目标被取消,新的branches被加入该级别时将会有新的手绘生 成器被创造。目标可以在现有的和手绘的生成器间移动,在任何一个特定时间只允许有单个 目标。 Locking Hand Drawn Sources 偶尔,为了手绘branches不能被作为子类进行生成,你或许需要锁定一个生成器。通常都 是在树非常复杂的情况下,以至于难以辨别哪个出branches属于哪个生成器。通过锁定, 手绘生成器将无法创建子类 LeafLeafLeafLeaf CollisionCollisionCollisionCollision Overview 一般来说树模型中的leaves都是渲染表现中的瓶颈。主要是因为两个原因,高三角面数和 overdraw( 透 支 )。leaf collision组中的属性之所以会有就是考虑到常有leaves的间距太近。 leaf collision只有在参数设定停止的时候才不会出现延迟。 接下来的两种技术都是高消耗计算方式,尤其是在高解析度模型中表现的非常厉害。关闭该 类树模型的leaf collision将会大幅提高计算速度。在这种情况下可以考虑在建模的时候降级 来减少collision。 Spreading 为了减少负荷,碰撞树叶可以分散以保证更好的覆 盖率。这个过程并不会增加leaves的数量,而是将 现有的leaves进行重新放置以使leaves能够大致维 持不错的效果并在leaves间的间距并不像从前那么 紧。
  • 13. 13 工作方式如下 1.所有的leaves位置的计算是基于每个leaves生成器和node的参数 2.在计算之后,碰撞的leaves被识别出来,并通过迭代处理将其分开 3.spread多远是由spread factor属性来控制 spreading leaves 是个相对缓慢的处理过程,可以通过按钮和自动触发。 leaf collision可以在leaf collision组中被禁用,以使得所有的的碰撞被取消,或者看成时降 级。 Culling 为了减少三角面的计算,离得过近的leaves可以被消除。当 两个leaves在cull tolerance(this value is a percentage of each leaf's size)范围之内,其中的一个将会被移除。这个 过程不需要重置位置。 culling leaves 是一个相对缓慢的处理过程,并可以通过按钮和自动的方式触发。 spead &cull scalars 每个叶生成器都有对应global spread 和cull tolerances的scalar ,位于tree generator properties。选中一个叶生成器在下面可以找到placement组,scalar是这样工作的: values小于1意味着,这个叶生成器基本不会在与其他叶生成器碰撞时被culled or spread, 其本身有着较小的collision tolerance。 values 为0意味着不会进行culled or spread,这个设置对于关键的leaf mesh比较有用,以 你为我们需要保证它的外形完好。 values大于1则会增加某个生成器在与其他生成器碰撞时culled的概率,同时增加collision tolerance。 automaticautomaticautomaticautomatic leafleafleafleaf collisioncollisioncollisioncollision spreading and culling可通过automatic属性的设置来达到自动化。当两者都被自动化,请 设置一个先后次序。如果culling先,更多的leaves将被移除,少部分的spreading真正被发 挥作用;反之同理。 node-edited leaves 如果一个leaves在node selection mode下被操作,那将免于被spread or culled。原理是, 如果选择手动编辑node,就不要把node丢了。否则可能被删除。spread设置被忽视,因为 改变leaf位置或者旋转它将使得Leaf被移开。如果将node属性改为ignore spread:false, 则可以使得spread发挥作用。 To make it cullable again, presss the 'Clear Node Edits' button at the top of the Property Editor.
  • 14. 14 customcustomcustomcustom meshmeshmeshmesh assetsassetsassetsassets 订制模型几何体可以通过mesh tab in assets bar被导入到st modeler里 面 。mesh可以是leaves,frond,或者是 mesh forces。 mesh可以是obj or stm格式 loading the utility stm 文 件 只 能 通 过 SpeedTree Mesh Utility from within Autodesk 3DS MAX(Maya users can always export to OBJ and bypass using the mesh utility)被 导 出。 The SpeedTree Mesh Utility is written in in the MAXScript language and must be loaded in the same manner as any other MAXScript. The script is located here -> "[SpeedTree Modeler Install Dir]/Scripts/3ds Max/SpeedTree Mesh Utility 5.0.ms". Run the script from within 3ds Max by selecting the menu item 'MAXScript->Run Script' and browsing to the location above. 一旦开始,SpeedTree Mesh Utility 为了方便起见将会载入startup,条件是load this utility at startup被勾选。 Exporting Mesh Assets 这个工具的主要功能是为了在st system中使用将几何体作为mesh model导出。为了导出一个mesh,你必须选择场景里一个对象进行。一 次只有一个对象可以作为leaves模型被导出。如果多个对象被选中,只 有第一个选中的可以被导出。选中的将会在面板中被显示。下面是三角 面熟和dimension的显示。 还有其他的一些选项列举如下。他们的选择状态是有黏着性的。 use display units 如果选择unit system而不是通用单位,会使得模型大小被重新按照system unit进行重置。 如果没有可以应用的单位转换,则这个选项是不可选的。 use custom normals
  • 15. 15 如果这个选项被选中,custom-edited normals 将会被输出。normals通过edit normals 修 改器进行修改的。normals的修改在thin-walled几何体中被经常用到,已达到看上去更厚的 视觉效果。 取消这个选项将会重置normals,使normal与对象面normal一致。 override offset meshes在st modeler中的定向和位置都是由场景中被导出的模型远点来做pivot被确定下 来的。如果某个对象被从场景原点移开,那么整个树模型在使用的时候也会出现相同的偏移 。 如果这个选项被勾选,那么对象的移动将会被忽略,并且导出的模型也将会按照[0,0,0]的 原点来放置,有效的利用对象local pivot(物体本身的相对的)而不是场景中的实际原点。 model format 在下拉菜单中选择输出格式:STM或者OBJ export mesh To export an object, press the "Export Mesh" button at the bottom of this group once the desired object is selected. 一个保存对话框就会出现,询问用户对输出的几何体进行文件夹名称的确定。 mapping coordination一定要在导出前进行。另外,textures applied to leaf meshes should not title, 所以相应的调整你所用的MAX材质来保证所有texture coordinates 在 0.0-1.0范围 Import Mesh (.stm) 在mesh export组下面的是import mesh按钮。meshes可以被导入回max。任何位于用户系 统的stm文件可以被读入到MAX中 。Use 3ds Max's built-in OBJ importer for importing OBJ files. mesh tools st mesh utility 收藏了一整套工具来帮助你完成custom mesh assets,不论你是否导出 STM,OBJ project normals Overview 由于leaf meshes的本质(blade-like and low-detail),使用face normals在树模型上看上去 会出错。 Usually normals need to be pushed "outward" so the tree lights as if it has volume.否则每个leaves个体会被当做每个独立的模型进行光照渲染不论他们在树上的具体 位置,从而减少了视觉效果。 从ver 5开始,STmodeler囊括了spreading 和统一法线的工具,用于那些被赋予到树模型 上的leaves。See the 'Leaf Properties -> Lighting group' contextual help to see how range, global reference, global, local, and card smoothing affect leaf normals. 在导出leaf mesh之前投影法线可以有效提高树光照的灵活性,原因是后面需要global
  • 16. 16 smoothing就会变得更少。 projection bias project normals将每个对象的法线与从共同原点射出的矢量进行 对齐。projection bias参数用来改变投射的原点。值大于0则将 projection向外,而当bias为0时,则从对象中心project normals。 bias spinner 范围是[1,-1],缺省值是0.5。 flip normals 这个工具会让法线顺着需要的 轴去翻转,以使得光照发生相 关变化。 如果没有选中具体法线,则所 有法线都会被翻转。选中XYZ 将会完全翻转所有法线 (同MAX) remove thin faces By pressing the button labeled 'Remove faces <', any faces with an area less than the number shown in the spinner to the right will be removed. thin(low area) 三角 面如果在启用colliding mesh force的情况下会在modeler引起很多问题。所以最好还是在 引入到树模型之前就移除他们。
  • 17. 17 这工具只有在editable mesh几何体中可以运用,所以你不得不在使用该工具前将editable poly或者其他集合体转换为editable mesh。 value spinner(在0-0.04通用单位内)可为每个三角面构成的mesh提供了最小允许范围。没有通 过测试的,都将被从对象中移除。 如果几何体被转存到modeler里,那么在每次导入的时候都会被移除。 set pivot 通过按这个按钮,对象的pivot将会被移到按钮右边下拉菜单中选中的选项。 关于设置pivot的可选选项如下: Origin 将会把选中的对象pivot移到场景原点,不改变几何体 Center 将会把pivot作为几何体的中心。 extra utilities Unit Converter Overview 当无论在modeler还是world builder中使用specific units时,你可 以用这个单位转换器在导入它们到modeler之前重新确定mesh assets的大小。比如,st model library中的树的建模单位是feet, 但你可以做一个用meters单位的colliding mesh assets,如果需要 的话。 另外个用途是,将别的作品导入到你现在的工作单位系统里去。 conversionconversionconversionconversion optionoptionoptionoption size and position size and position都可以缩放到需要的单位尺寸。 from 模型被创建时的初试单位 to 模型进行转换的目标单位。Use the special case 'Scene units' to convert to the units in the current '.max' file. 注意:不止一次的进行单位转换会使得缩放对象的缩放成倍数增长。 FBX material processor The standard FBX importer 在st modeler中只支持很少的
  • 18. 18 texture选项。 为了保证material导入后会在modeler中被看到,你必须借用这个工具进行material处理。 process imported objects 如果'Process imported objects'在 'FBX Material Processor' 被启用,所有导入的对象 (包括alpha channels,normal maps,etc)都会被处理。对象可以通过手动的方法'Process Selected' button进行处理.如果'Process translucency'和'Include ambient occlusion'被 勾选,它们也会被包括。 process translucency 如 果 启 用 , 如 果 material 包 括 transmission information 那 么 处 理 时 将 会 创 建 一 个 translucent shader material 。 这些materials更加复杂,在scanline renderer下将更加逼真。 include ambeint occlusion 如果启用的话经过处理的材质将会混合顶点着色与漫反射材质。这将会使得烘焙ambient occlusion可以渲染。如热锅用这种办法,增加另外的ambient occlusion技术比如辐射着色 或者final gather将成为可能的,因为内部顶点已经被baked-in ambient occlusion渲染了。 process selected Use this button to process an object already in the scene. 'Quick Save' MacroScript 一旦st mesh utility 被执行,一个macroscript就被创建了,允许用户指定热键或者按钮来 快速存储。macroscript 被称作quicksave STM,并位于st 文件夹,accessible via the Customize User Interface dialog of 3ds Max ('Customize->Customize User Interface...'). Select the QuickSaveSTM action and assign either a hotkey, toolbar button, or menu item to it if desired. quick save不会出现存储对话框,只是替换上次导出的stm文件。 在需要进行多次快速迭代的时候比如tweaking leaf mesh的normals 或者uvcoordinates, 以达到预期效果的情况下使用非常有效。 ambientambientambientambient occulusionocculusionocculusionocculusion Overview ambient occlusion 正 在 快 速 发 展 成 为 cutting-edge 3d graphics主要的渲染效果。基本的原则就是从多角度计算一个 模型的某个区域。最终的结果是一个在褶皱,交叉,覆盖部分 进行不定向的darkening处理,更像是现实中里面的leaves和 branches看起来暗的效果。一个可以达到这种效果的技术是 rendering light maps offline,但这种处理非常耗时,并且不
  • 19. 19 允许texture titling。而 ST里的ambient occlusion给每个顶点指定occlusion值,并允许SDK 进行runtime读取。 ambient occlusion rendering mode To view ambient occlusion only, select one of the 'Ambient occlusion / dimming' rendering modes from the tree window toolbar (first icon). invalid ambient occlusion solutions ambient occlusion是一个建模后处理方案。任何时候当你改变影响spine,branch skin,or leaf位置的属性值导致重新计算时,ambient occlusion solution会无效。因为它被从某个生 成器中移除导致了harsh lighting artifacts所以也就会被整个从树模型中移除。Ambient occlusion can also be manually removed from a tree by selecting the menu item 'Tools->Clear ambient occlusion'. generator 和node ambient occlusion properties 在计算过ambient occlusion之后,它的效果可以从每个生成器和每个node上通过属性中的 ambient occlusion 进行调整已达到和谐一致的效果。See the context-sensitive help for descriptions of each option (Offset, Contrast, Min, and Max). computing ambient occlusion on load 如果embed geometry被再tree generator prop.里被禁用,ambient occlusion就可以通过 compute AO on load 选项来对tree进行计算。这个选项对于带有embedded geometry的 大规模,细节度高的tree非常有用。 ambient occlusion tool To calculate ambient occlusion, use the tool located under the menu item 'Tools->Compute ambient occlusion'.ambient occlusion 可以被当做是后续处理原因是当在编辑tree属性时所作的 即时运算可能非常慢。这些设置也会被存在tree model中 。 samples light samples的数量是用来计算ambient occlusion的。增加ambient occlusion的数量,会 使得计算结果更加精确,但需要消耗更多的计算。 blur 用半径来确定blur ambient occlusion的结果。blurring使得效果更加平滑自然,使多个node 统一。blurring values越高,计算时间越长。 global offset
  • 20. 20 Offsets the net darkening effect (positive number result in less darkening). Offset can be tuned per-generator on top of the global offset. sky influence 将sample放在控制,会使得底下的branches暗化,较低的区域被较高的区域遮挡。 geometry types Choose to include or exclude branches, fronds, leaf cards, leaf meshes, or mesh forces from receiving ambient occlusion. * 即使不接受ambient occulusion,树的剩下的部分也依然要受到影响。 CollisionCollisionCollisionCollision PrimitivesPrimitivesPrimitivesPrimitives Overview 简单的collision primitives 可以进行滞后处理。这些volumes不是由那 些会降低渲染速度的多边形构成——他们只是geometric primitives (只被赋予了半径和高度而已)。 placing collision primitives collision primitives可以通过两种方法进行添加:手动或者自动。primitives可以在tree window 通过the right-click menu ('Add collision object') or by pressing the add ('+') button on the toolbar and selecting 'Add collision object' from the pull-right menu 进行手动添加。 手动添加collision primitives需要你通过控制器手柄来做到。你需要手动移动旋转并缩放对 象来覆盖tree的基本外型。 通过generate collision primitives tool,collision primitives会根据tree的框架智能的完 成。一些对于生成的primitives手动编辑依然是必要的。 types of collision primitives 有两种collision primitives可以选择:capsule 和sphere。capsules比较适合approximating branch volumes并且spheres 更合适 approximating leaf clouds。 viewing collision primitives collision primitives 默认下被隐藏。需要查看的时候, toggle the collision objects button on the tree window toolbar.
  • 21. 21 generate collision primitives tool 要自动生成collision primitives 的话,use the tool located under the menu item 'Tools->Generate collision primitives'. clear existing primitives 当启用了以后,所有现存的collision primitives被移 除。否则他们将被添加到现存的set里。 branch capsules 生成Branch capsules的数量。这个工具会从最大的branches开始一直下去直到遇到了指定 数量的capsules。 encompasses percentage Amount of "wiggle room" for placing branch capsules。如果encompass percentage为1,也许会显得过于大了,实际上是为了要包裹整个branch,甚至是那些比较 扭曲的branch。 leaf sphere The number of leaf spheres to generate. levellevellevellevel ofofofof detaildetaildetaildetail Overview 在st5.0中,我们已经完全的重做了LOD系统,LOD变得更加过度平滑,转换迅速。我们的 新途径从两方面来着手:一个是leaves,另一个是branches/fronds。 Enabling LOD 要启用LOD,选择树生成器开启LOD:enabled属性。所有全局LOD属性也一样。 See the context-sensitive help at the bottom of the Property Editor for detailed descriptions of each property.
  • 22. 22 previewing LOD 要在tree window改变目前LOD状态,既可以滑动LOD indicator,或者进行缩放。LOD 必 须大于1才能看到变化。 editing LOD 所有branch,frond和leafLOD的控制在spine或者leaf生成器LOD组中。 大多数的细节削减都靠LOD curves——the left side of the curve is highest LOD, and the right side is lowest LOD. Branch and Frond LOD 我们的LOD方法是同时减少每个branch和frond分割,同时移除与camera固定距离上的 spine。 Reducing the Number of Segments 5.0是ST的第一个允许你为单个branches进行多边形面削减的版本。 在spine 生成器里的LOD组中,对length segment, radial segment, cap segment, 或者是 segment multiplier curve进行分割减少以达到低LOD。 为了减少LODs间的POPING(突兀there is no transition for segment reduction), 预 览 结果,并编辑曲线直到LOD到下一个LOD之间的变化不会太剧烈。 Optimization LOD的优化可以使LOD级别达到最小。通常来说,简单的增加optimization数可以作为一个 减少分割数量的不容易被注意到的方法,因为基点随着实际分割数量的变化而改变(优化跳 过那些基于相邻点之间角度确定的分割,角度发生变化保证整体) removing entire branches and fronds 我们的新方法的第一个特点就是移除branches和fronds。之前的branches不得不整个突出 来或者难看的结束,现在LODbranch和frond的转换是通过缩小branches半径和减少 fronds宽度直到看不见。这种技术显著地提高了效率,因为perspective camera运动使得 对象大小与camera位置有关。一旦branch或者frond到了zero area,就被删除。当静止的 时候,你不可能注意到树的变化。 在细节级别降低的时候移除branches的过程如下: 1.为最高细节级别的Branches,caps,and fronds设置最大阈值。 2.用相关的LOD curve控制依然呈离散LOD状态的每个几何体的数量。
  • 23. 23 The left side of the curve corresponds to the highest (full) LOD while the right side of the curve corresponds to the last (lowest) LOD.一般 linear decay 和'droop' curve default 能达到非常好的效果。 比如,如果你对一个有有着3个离散细节级别的tree用一个linear decay curve ,最高的 LOD将会包括所有branches/caps/fronds,第二LOD将会包括在数量上大于50%最高级别 branches的branches,最后一个LOD级别将不会有任何branches/frond/caps。 如果不想再在任何级别移除所有branches,需要确保associated LOD curve 右端的值大于 0。阈值不是branches数量的百分比,而是curve的Y值与最大volume或者每个几何体域之 比。这样一来你可以轻松的移除小的不连续branche,同时保证整体效果。 Keep Override 为了防止某个node在LOD时被移除,我们提供了一个node属性叫做 'Keep override'。当 该属性被启动时,node将免于culling不论生成器LOD设置如何。 leaf LOD 我们的leaf LOD方法是减少在固定位置(相对于camera)部分的leaves数量。 以前版本的做法是当用新的更少的leaves集去替换上面的leaves。在某些情况下是有效的, 它需要在转化的时候渲染两套leaves集。但在转换的过程中可以被看出来。 在5.0中我们找到了一个可以使branches和frond被移开多简单方法。某些leaves随着 camera的移动缩小,同时其他的leaves变大以保证leaves覆盖面积不变。一旦leaves长得到 了需要的大小,就停止,那些不断缩小的leaves也就消失了。 Tuning Leaf LOD 你可以在 leaf generator's 'Level of Detail' group的属性设置中协调leaves削减的方式。 最低LOD时最小的leaves数量被KEEP属性控制。KEEP为0的话,最小LOD时就没有leaves 被保留下来。为了避免这种情况,可以根据需要来调整KEEP数值。要知道,在手动预览模 式中,要预览最低级LOD效果需要拖拽 LOD Indicator。为了使得低级LOD结果随机化, 可以改变LODseed值,或者调整'Fuzziness' value 直到你满意为止。 Keep Override To exclude a node from being removed by LOD entirely, we've provided a node property called 'Keep override'. When enabled, the node will survive the culling process regardless of the generator's LOD settings DegradationDegradationDegradationDegradation Overview Degradation是一个减少树模型细节的过程,目的是减少三角面的数 量以提高计算速度。所有的降级参数设置可以通过选中 Tree Generator来达到。这样的功能在做高精度CG画质的tree这样需要
  • 24. 24 在较长时间里计算大量数据的树模型时非常有用。 有两种降级方式: regular degradation 和 interactive degradation。 两者可以单独使用或者共用。 注意:在即时演算时,降级没有什么用。 Degradation 这个属性可以从多边形面解析度和建模技术上对树模型的质量进行降低。当降级被开启后, 所有对于质量的削减都将贯穿建模过程:树可视窗口渲染经过降级的树模型,导出时也会导 出一个经过降级的树,并且所有通过ST编译器的嵌入几何体也要被降级。 这种降级方法主要针对的含有高精度的树模型的时候。基本的概念是让你在工作的时候保证 建模过程的互动性情况下,进行降级,并在导出的时候导出完全解析度的版本。 Enabling Degradation To toggle degradation, press the degradation button in the main tree window toolbar or change the 'Degradation -> Enabled' property on the Tree Generator. 当 开 启 的 时 候 , 统 计 信 息 将 会 显 示 在 tree window 左 上 角 呈 淡 黄 色 , 并 包 括 "DEGRADATION ENABLED"(在选择标签里) Options 在降级选项组里,你可以发现4种方法去影响降级方式。Welding和leaf collision是一些会 降级计算速度的部分,所有将他们禁止会大幅度提高速度。segment和leaf frequency scalar可以提供些额外的简化途径。 Frequency Scalar and Degradation Style Frequency Scalar是唯一个要依靠其他的选项的进行应用的设置。任何生成器都可以设置 frequency scaled 或者不这样,方式是通过'Degradation Style’的值设定。如果设置为 Always,则在降级的时候一直scale。反之,设置为never,将会省略任何scale步骤(适用 于roots,没有子类,但有几个node)。 如果设置为default,frequency 将在只有是生成器chain的toplogical end的时候才进行 scale(比如leaves)。在这个chain最后一个的生成器通常负责被创建node的大小,因此有 限制的frequency将显著提高速度(较差的显示效果),效果比减少生成器的node要好的多。 Interactive Degradation 这个属性只有在被计算的时候才会对tree model降级。一旦tree不再被编辑的时候,它将 按照全解析度开始进行计算。改组属性的目的为在交互的时候减低细节已达到快速的预览。 Interactive degradation is active while the left mouse button is being held down, like when scrolling the spinner on a numeric property, or moving a point in the curve editor. 这种降级在对高解析度的tre models会再次使用。这种方法和前面提到的不同之处在于,
  • 25. 25 tree在Interaction结束的时候会回到正常状态。 Disabling Propogation 不难得知interactive Degradation最重要的特点是能 够在编辑的时候对所选生成器或者node的子类进行延 缓计算。比如,某个trunk可以被很快的计算,但当你 把 所 有 branches,sub-level branches , twigs 和 leaves 考虑在内的时候,就会变的很慢。当关闭'Allow propogation' 后,任何经过当前生成器的部分都会被 隐藏直到鼠标松开。 Low Detail Navigation 用 Low detail navigation 选项 可 以 在 进 行 高 多 边 形 面 数 模 型 处 理 的 时 候 显 著 增 加 panning,rotating,和zooming的速度。 WindWindWindWind Overview wind(turn wind on by pressing its toolbar icon or '8')在整个ST 建模过程中是 波动的。每个node固有或者继承wind 参数会控制对象的独一无二的运动,而这组 wind参数也会和其他fan对象共享,所有的wind参数被保存在模型中,并在即时环境下编译 后发挥作用。wind动画可被分为5种。 Primary Motion 每个tree model顶点会在XY平面随着风的方向前后震荡。多少,多远,多快,这些程度都 由fan对象中primary组里的属性来决定。 secondary motion 每个node可以在primary oscillation之后明确一个次级方向和震荡的程度。 所有node的顶点震荡方向相同(use the "Wind" parameters of each node type to control the direction and length of this vector)但程度是根据他们被指定的wind 重量。 这样的运动与风力有关不是风向,并由 的fan 对象"Secondary" group参数控制。 leaves leaf cards和meshes的顶点根据法线方向和风力进行震荡。fan对象的leaves属性组控制多 少,多远和风向的影响程度。Leaf generator也有针对每个生成器和单个leaf mesh的风力 值和风力控制曲线(这在控制长叶Mesh的时候很有用,比如藤。一个线性外观的曲线将使 得这样的mesh根部不动,而前段随风摇摆)。 增加 'Windward scalar' 属性将会使得leaves在面对风源的时候震荡的更加明显。 Frond Ripple fronds的顶点震荡根据每个node的参数设置成波浪状运动。你可以在 "Frond Ripple"
  • 26. 26 property group of the fan object or on the spine node itself 控制运动的多快和程度。 frond ripple在运用image-based的branches作为frond geometry的时候不可用。这种现象 主要是对蕨类植物以及大块leaves的植物来说。 Gusting STwind可以被设成周期性的阵风。每个gust对目标施放新的风力并持续不定的时间周期(由 用户定)。在"Gust" property group of the fan object里编辑所有gust参数。 Low Wind, High Wind, Response Times, and Exponents Most of the wind groups on the fan object have parameters for low and high wind frequency, low and high wind distances, and strength exponents. 大多数wind groups on the fan object有可以调节wind frequency频率高低,风距离远近和 风力的参数。 另外,还有针对风力响应时间和方向响应时间的全局设定。理解这些参数所扮演的角色对于 编辑一个优秀的风动画非常重要。 Low Wind vs. High Wind 这些参数表面上看上去简单。Low wind parameters dictate how the tree responds in low wind, high wind parameters dictate how the tree responds in high wind。然而,并 不总是high wind parameters就会更高。通常情况下,为了创造一个真实的强风效果,需要 同时将high wind distances调短,将high wind frequency调高。 Exponents The strength exponent parameters基于风力控制values从low wind 向high wind转移程 度的参数。增加 strength exponents 将减缓从low wind到high wind 的过程。一个可以让 leaf和frond涟漪比 secondary strength exponent少的办法让其比 primary strength exponent 低。这样的结果就是wind 反映更小更轻的树元素先于更大的components运 动 。 response times strength and direction response times控制着对应风变化Tree改变的速度。增加值将会 模拟一个看起来更大,移动缓慢的tree。 Fan Object 当wind被启用时,fan对象就会出现在Light下。点击fan可以进行对上面五个组的属性进行 编辑。 fan可以通过旋转柄进行旋转。A shortcut for fan manipulation is to hold down 'F', left click, and drag the pointer in the tree window to point the fan in a different direction 。 Doing the same with the middle mouse button is a shortcut for changing the strength.
  • 27. 27 Wind Strength Wind strength可以通过fan喜爱的两个条达到可视化。蓝色的条是target base strength。 白色的条代表目前的力度。当target strength 改变,白色的条也会根据响应时间来移动。 同样的,红色条代表gust力度。bars中间的白条是实际应用到tree上的力,是set strength 和gust总和。 Wind Data Transfer Wind Date 可 以 用 位 于 top of the Fan Object properties under the 'Wind Data Transfer' group的命令来在tree间转移。 Here wind properties can be Imported and Exported as ".swd" (SpeedTree Wind Data) files, or simply copied and pasted between open trees. PhysicsPhysicsPhysicsPhysics 概述 ST5.0是第一个直接引用physics的版本。ST模型现在可以在放置Bones(throughout tree model)上获得本地的支持和控制。 物理数据在通过models的exporters之后便可以使用。随着ST的持续开发,更多的物理选 项将和数据将会借助exporter和内部SDK出现。 Support for PhysX™ and the APEX Vegetation Module, by NVIDIA® 随着5.0版本在物理性能上的极大扩展,ST将很快推出对于NVIDIA’s PhysX™ SDK and the APEX Vegetation Module的内嵌支持。 NVIDIA APEX 被设计成与现有的PhysX SDK's 协作的modular framework,可以让开发 者将更多物理效果细节加入到他们的游戏中,并帮助他们在多平台开发时优化游戏体验(一 次创造,对应多平台内容共享)。 APEX支持多种plug-in模块,包括植被,破坏和clothing,以使艺术家和关卡设计师可以对 创造的内容在不需要程序的介入下进行即时效果的查看。APEX模组现在已经可以在多个平 台上使用了。 Along with greatly expanded physics capabilities in version 5.0, SpeedTree will soon include built-in support for NVIDIA’s PhysX™ SDK and the APEX Vegetation Module.