

作者的原帖地址:http://www.guruware.at/main/index.html
0.81b版本下载地址:http://www.guruware.at/main/store/gwIvy_v0.81b-max-guruware.zip
以下文档因为本人英文能力有限,仅做学习使用,所以错误之处在所难免,请为我指出来,学习快乐,谢谢。
另外,我虽然把这个贴在了blog里,但是如果你要转载,请注明出处以及作者,这是对我最起码的尊重。
Ivy 是被设计用来以真实的世界比例在场景中进行植物生长的!!
ivy 在一棵五百米高的树上将会很难看...因此,尝试利用这个最大的特点。
写一个插件来生长常春藤实际上是很简单的
如果你阅读了下面的内容,那么它将会更加的容易...
1)放置一个Ivy根点(Root)
2)点击“Grow”按钮
3)在你的视窗中观察它的生长
4)通过再次点击“Grow”按钮来停止生长
5)为了贴图的需要一个多维子材质已经被指定给了你的Ivy
6)需要一个生长动画?-可以为ivy age(常春藤年龄)指定关键帧
0.76b版本修改:
- 为旋钮增加了范围(需求)
- 3ds Max 7/8 版本(需求)
- 更好的叶子角度,我觉得...
0.8版本修改:
- 载入/存储预设(需求)
- 通过 leaf-age 来产生可变的顶点颜色(vertex colors)(需求)
- 修复:当改变 cs-distance 的时候分枝会变的太薄
0.81b版本修改:
- 为旋钮增加了范围(需求)
—————————————————————————————
好的,让我们来开始生长...
首先你需要放置一个Ivy根点到你的场景中,但是那里可以找到这个东西呢?
进入“创建”面板 -
从列表中选择“Guruware” -
钩选“AutoGrid”(自动网格)-
选择“gwIvy”物体 –
在你场景的某处添加物体,地面将会是放置一个Ivy根点的好地方,不过也可以按照你的意愿它把放置到任何地方,唯一要确定它不是在一个面(face)的下面(它将不会穿过面的背后来进行生长)
在你的场景中你可以移动一个现有的ivy,但是旋转以及缩放将不会起作用(被特意设计成这样)
如果需要向上生长,那么你需要把它放置的尽量靠近一面墙壁,否则它将会大部分生长在地面的周围(如果那里只有地面的话)
如果你拥有一个真实比例的场景,那么你不要改变在“Grow-Params”卷展中的任何参数
这一连串旋钮是在生长过程中唯一需要微调的地方-可以明显的看到它们的参数变化...
如果你的场景比例不正确(真实比例),那么你将很难计算出正确的可用参数。
Grow-Size - 每次迭代计算的最大生长大小
Up-Vector - 向上生长的数量
Primary Weight - 最终生长趋势的数量(大值延伸性高)
Random Weight - 随机影响
Gravity - 重力影响 - 通常向下:)
Adhesion - 附着强度(网格的吸引力)
Adh.Distance - 当网格到达一个最大距离后附着将影响生长
Branching - 分枝概率
Max Length - 在一个分枝消逝前到达的最大漂浮长度
Length Variation - 最大长度变化值
max.Parents - 最大根结数量(0=只有一个分枝没有子分枝)
Grow
Seed - 一些随机种子值
Threads - 当生长进行时使用的线程数 - 设置为你系统的cpu/内核数量
Grow Ivy按钮 - 开始/停止 生长过程
Age - ivy的生长年龄(用于迭代计算),这是唯一一个可动画的参数
Stop at - 在一个指定的年龄停止生长(当打开时),因此你可以在它生长的时候去喝杯咖啡
Iiving branches - ivy生存的分枝,只有生存的分枝能够继续生长
grow-time - 精确的看到它花了多少时间
现在单击“Grow”按钮然后观察它魔术般的工作,当它生长的时候你还可以在视窗进行导航浏览(只要你不取消在生长的ivy的选择),或者设置你的材质等等都可以...
—————————————————————————————
在生长完成之后你可以按照要求来调整一些网格参数,以达到你想要的外观效果。
Branches
Size - 一个ivy分枝的大小(半径)
Sides - 分枝的面数
CS-Distance - 交叉的距离(可以减少面的数量)
Leaves
Seed - 随机种子值
Chaos - 为叶子的方向添加一些混乱因子
(为叶子的分布/方向)
Size - 叶子的大小
Density - 叶子覆盖在分枝上的密度
—————————————————————————————
这里你可以设置ivy分枝以及叶子,在视窗和渲染中的可见性。
Main Branch - 主分枝:最初的枝干它没有父分枝
Old Branch - 成熟分枝:它连接主分枝以及子分枝
Young Branch - 子分枝:仅与成熟分枝连接
smooth - 平滑分枝网格
visible edges - 边线可见性
关于边线可见性钩选框:
对ivy进行纹理贴图的时候我建立它是为了隐藏边线,尤其是对叶子纹理贴图的时候。
由此你可以在你的视窗中看见你的纹理,而不仅是分枝上的白线。
不过... 当把ivy转换为一个可编辑网格或者为它添加一个修改器的时候,将会依赖于边线的可见性。
这种情况你需要打开edge-visibiliy!
—————————————————————————————
当你建立一个ivy的时候,一个多维子物体材质也已经指定给了它
gwIvy01被指定了材质IvyMaterial01, gwIvy02指定了材质IvyMaterial02,等等...
打开材质编辑器然后利用吸管工具从ivy上拾取材质
ivy的纹理贴图可以在 Thomas Luft's 的Ivy 生成器页面中找到。
在使用这些叶子的图片里,有些是“位置指向下的”,而大部分的叶子纹理是位置指向朝上的,
而我的叶子是从植物上吊挂下来的...并且Z轴向上 - 这又是另外一回事儿了:)
你获得的材质中一个通道赋予了分枝,另外12个通道赋予了叶子(你并不需要全部使用它们)
每个叶子材质都使用了一张 RGB Multiply 贴图,它组合一张漫反射的叶子纹理以及一张顶点颜色贴图(Vertex Color)
为你生成的一个ivy上创建了两张贴图(ivy_d.tga and _ivy_o.tga)
这些纹理放置在最初被找到的贴图目录里(通常是max主目录/maps),它们将会成为你的标准贴图
对于每个新建的ivy来说
当它们已经被使用时,这两张贴图不能被覆盖的,不过你也可以用你自己的缺省叶子贴图来替换它们
在ivy的 texture 卷展中,你可以设置如何应用分枝的纹理,叶子材质的数量,每个叶子材质被分配的使用数量,以及每个叶子材质的顶点颜色
Use Vertex Colors - 使用顶点色彩开关
Branches
Height - 定义被使用的纹理贴图高度,它沿着分枝进行平铺
Rotate - 分枝纹理的旋转(在一个角度内)
Twist - 沿着分枝扭曲纹理的数量
Leaves
Seed - 为叶子材质的分配指定随机种子值
Materials - 叶子使用的材质数量
Main Branch
Leaf 1 - 叶子材质 #1以及顶点颜色的数量
Leaf 2 - 叶子材质 #2以及顶点颜色的数量
Leaf 3 - 叶子材质 #3以及顶点颜色的数量(最后被使用的叶子材质数量是自动计算的)
Old Branch
- 成熟分枝以及顶点颜色的数量
Young Branch
- 子分枝以及顶点颜色的数量
Update Leaves 按钮 - 在调整之后更新叶子
如果你拥有数量巨大的ivy-网格并且操作已经变得缓慢,那么不要钩选在下面的 auto-update
auto-update钩选框 - 当调整旋钮时自动更新叶子
你可以在顶点颜色按钮之间,通过拖拽来拷贝顶点颜色的设置
当进行这个拖拽操作时通过按住 CTRL 键可以实现交换设置(不会出现任何对话框来问你是否进行操作)
—————————————————————————————
当在数量旋钮旁边的顶点色彩按钮上点击的时候,这个对话框就会出现
- 告诉你现在你正在处理那个叶子材质
- 色彩变化(为下面的每种色彩设置不同)
- 控制在什么色彩空间中产生变化(RGB或者HSV)
- R 或者 H 变化量
- G 或者 S 变化量
- B 或者 V 变化量
- 色彩的设置通过叶子年龄,再一次到...叶子年龄来进行,注意这里不是ivy年龄!!!
当ivy成长的时候,这种方式可以让你的叶子改变色彩
可能发生的事情是...
...永无止境的,不过也有一些:)
Colors by Age
- on:用于打开/关闭这个色彩设置
- Age:叶子年龄设置,当这个颜色被使用的时候色彩将会在前一个色彩与这个色彩之间进行差值过渡。
- Color:这是顶点颜色到达指定年龄后的色彩
- pL:打开时每片叶子都会使用这个颜色
当关闭时,叶子的每个顶点将会获得不同的颜色
使用时的一些注意事项:
要让这里产生效果,需要在Texture卷展中打开“Use Vertex Colors”
打开材质编辑器然后禁止所有贴图在视窗中的显示(material菜单下能够找到这个命令)
现在你应该可以在叶子色四边面上看到色彩的变化了
如果你希望在视窗中看到透明的叶子,那么可以关闭相应的漫反射贴图
对于每个颜色的变化以及色彩空间都可以产生不同(除了色调以外)
对于关闭pL钩选框的顶点颜色来说,当进行动画的时候尝试避免色调(hue)的变化,为所有被使用的颜色使用这个规则
确定“Redraw Scene On Window Expose”设置被打开,否则在改变颜色的时候你就不能看到视窗的重绘(此选项在自定义菜单-参数设置-视窗设置-配置显示驱动选项内。)
—————————————————————————————
- 载入和存储参数预设
每次所有的参数都会被存储在同一个预设文件里,顶点颜色设置也是如此。
—————————————————————————————
额外的注解:
ivy应该不会生长在窗户上的,这正确么?
在这样的情况下你需要冻结你的窗户网格,来告诉 ivy
这种方式冻结的网格将仍然会被碰撞检测所使用,但是分枝将会比那些在没有冻结的网格上消逝的更快一些
如果为一个ivy应用了修改器,那么你将不会在视窗中看到看到生长(在生长过程中不会产生任何网格)
迅速的生长:
- 关闭“Use Selection Brackets”(视窗设置-渲染方式内-使用选择框架,键盘:J)
- 隐藏所有不需要生长的物体,在你场景中太多的面将会减缓生长的过程
- 在任何情况下尽可能的把大网格拆分成若干小一点的网格,但是存在10.000个物体同样也不会对提速起到更多的帮助:)
- 在一个ivy物体上关闭你附加的所有修改器
如果ivy并没有按照你的意愿进行生长,那么你可以在任何时候停止它,调整年龄值或者生长参数,然后再次开始生长
有任何的问题?- 可以随时询问(点击捐助按钮的时候,你可以看到我的e-mail地址。)
你并不用在这里进行捐助,它仅仅是让我能获得信息...
然后....玩的开心!