返回列表 回复 发帖

在3dsmax中创建云层

'Creating 3dsmax Clouds'------在3dsmax中创建云层
Creating 3dsmax Clouds'
K  
Jonas Ussing

原文链接:http://www.3dtotal.com/team/Tutorials_3/jussing_clouds/creating_clouds_3dsmax01.asp

Introduction: 〔简介〕
--------------------------------------------------------------------------------
In this tutorial you will learn to create a fly-through of a realistic cloud tunnel that renders relatively fast, using 3D Studio Max with no plugins or 3rd party renderers.
〔在这个教程中,你将学习如何不依赖任何第三方得插件,在3dsmax中创建一个穿越真实云层的飞行动画,而且渲染得相当迅速。



But first, a little theory... the rest of the tut is based on this, so no fair skipping ahead!

〔但是,首先要有一点基本的理论,接下来的教程都是基于此的,所以请不要跳过开头的东东!〕

〔关于光线匹配和体积感的问题〕
--------------------------------------------------------------------------------
The basic physics of light moving through a gaseous cloud has nothing to do with traditional polygon lighting, and therein lies the main challenge when rendering clouds. 〔在传统的多边形照明中,基本的物理光线穿过一个气态的云层是没有任何改变的,这是我们在渲染云层时遇到的最主要的挑战。〕


Cloud particles are translucent, and will be visible from all sides when illuminated.

〔云的粒子是半透明的,当被照亮的时候,从侧面清晰可见。〕




However, light decays in strength as it passes through.


〔但是,随着光线的传播,光的强度是衰减的。〕



This will make the backside of a cloud illuminated only by how far through the cloud the sunlight has travelled.〔这样,背面云层被照亮的程度就取决于太阳光能穿越云层多深。〕


Note that the angle of a cloud particle’s surface is completely irrelevant, contrary to “normal” polygon lighting.〔注意,与一般的多边形照明相反,云层粒子表面的角度在这里是完全不相干的。〕
We will now move on, knowing that the photorealistic look of a cloud is dependant on decaying, non-polygon lighting.〔接下来,我们将了解到照片级真实的云层取决于光线的衰减,而不是多边形的照明。〕
The cotton teapot: 〔棉花茶壶〕
--------------------------------------------------------------------------------
Before moving onto a larger cloud formation, we’ll take the theory from above and apply it to a simple shape.
〔在制作大片云层之前,我们先将以上的理论应用到一个简单的形体上看看。〕
1.1. Create a teapot with a radius of 40 in the Perspective viewport. Right-click, choose Properties, and de-select “Renderable”. Press CTRL+C to create a camera in the viewport.
〔1.1在透视图中创建一个半径40的茶壶。右击,选择属性,关闭“可渲染”项。按CTRL+C在视窗中创建一个摄像机。〕

1.2. Press “6” to open Particle View. Create a flow with a Birth event, Position Object, Shape Facing and Material Static.  
〔1.2 按快捷键"6"打开粒子流视图。创建一个粒子流,包括出生事件,位置物体,形体朝向以及静态材质这几个元素。〕

1.4. Now, in your favorite paint program, use a soft brush to make a popcorn shaped blob that looks something like this. Make sure it’s white on black background.
〔1.4.现在,在你最喜欢的绘图程序中,用一个软点的笔刷来造一个斑点状的爆米花,如下图所示。注意,要用黑色的背景,白色的笔触。〕

1.5. In 3ds Max, create a material with a solid white color, that uses your popcorn image as Opacity Map. Drag this to the Material Static event in the Particle View.

〔1.5 在3dsmax中,创建一个白色的实体材质,用你的爆米花图片作为不透明贴图。将这个材质拖到粒子视图里的静态材质事件中。〕


1.6. In the Material Editor, make sure the popcorn map is open. Click on “Bitmap”, and select Mask from the Map Browser. Choose “Keep old map as sub-map” in the “Replace Map” dialog. In the new Mask material, your popcorn map is set as Map, so drag that do the Mask slot, and choose “Swap”.
〔1.6. 在材质编辑器中,确认爆米花贴图是打开的。(在贴图层级)单击“位图”,从贴图浏览器中选择“遮罩”(mask)贴图。在弹出的替换贴图对话框中选择“将原贴图作为子贴图使用”。在新的遮罩贴图材质中,你的爆米花贴图是作为遮罩贴图使用的(非主贴图),所以将它拖到遮罩贴图的样本槽,并选择“交换”。〕

1.7. Click the Map slot, and choose Gradient Ramp from the Map Browser. Set Gradient Type to Radial. Right-click the left flag, choose “Edit properties” and change the color from black to white, right-click the center flag and choose “Delete”, and right-click the right flag and choose “Edit properties”.

〔1.7.单击主贴图样本槽,并从贴图浏览器中选择“渐变坡度”贴图。设置坡度类型为放射状。右击左侧的颜色标记,选择“编辑属性”将颜色从黑改成白,右击中心的标记,选择删除,最后右击右侧的标记,选择“编辑属性”。〕


1.8. Press the None slot to open the Map Browser and choose Smoke. In the Smoke Map settings, enter Size 5, and Exponent
〔1.8. 单击“无贴图”(None)样本槽从而打开贴图浏览器,并选择“烟雾”(smoke)贴图。在烟雾贴图的设置中,将大小(size)设为5,指数(exponent)设为1


1.9. Create a Target Direct light in the top viewport, so it lights the teapot from behind, and place the target in the center of the teapot. On the light’s “Intensity...” rollout, activate Use Far Attenuation, and adjust the Near and Far values so the range covers the whole teapot and the particles. Under Directional Parameters, adjust the Hotspot/Beam so all the particles are covered. Now for the magic: in the light’s Advanced Settings rollout, click “Ambient Only”. This will make the light ignore the polygons’ angles, which is exactly what we want.

〔1.9. 在顶视图中创建一个目标平行光,这样它从后方照亮了茶壶,将它的目标点放到茶壶的中心。在灯光强度卷展栏,激活远处衰减,调整最近和最远值,让这个范围覆盖整个茶壶和粒子。在方向属性中,调整“聚光区/光束”,使之覆盖整个粒子。关键的地方到了,在灯光的高级属性中,选中“仅环境光”。这将使灯光忽略多边形的角度,正如我们所希望的那样。〕

1.10. Render that out to see the fluffiest teapot!〔1.10. 渲染出来是绒毛状的茶壶!〕

(hint: switch to Mental Ray to double render speed)〔提示:选择Mental Ray渲染,有双倍的速度〕

What we’ve done here is fake ray-marching. The fake part is that we ignore how far the light has travelled inside the cloud, and instead concentrate only on how far the light travels in space. For our purposes, it’s close enough.

〔这里我们所做的是模拟光线的传播。模拟的方法是不考虑光线进入云层有多远,转而考虑光线在空间中传播了多远,这已经很接近了。〕
Flight path: 〔飞行路径〕

--------------------------------------------------------------------------------

First, we’ll create a camera that chases an airplane through a tunnel. Later, we’ll turn that tunnel into clouds. If you think you’ve already spent too many hours of your life creating tunnel effects, move onto chapter 3, but skim chapter 2 to make a note of the dimensions used. 


〔首先,我们将创建一个摄像机沿着一个轨迹追击一架飞机。然后我们将这个轨迹引向云层。如果你觉得你已经花了太多的时间创建轨迹效果,那么请直接看第3章,但是如果撇开第2章,请注意空间维度的使用。〕
2.1. Delete the teapot and the light from before, but keep the camera, particle system and the material.

〔2.2. 删掉茶壶和之前的灯光,但是保留摄像机,粒子系统和材质。〕

2.2. Create an s-shaped spline like this, using four bezier points. Note the shape in the Top and Left viewports. Be careful with the bezier handles – no sharp corners! And since we don’t want any jittering in the camera, increase the interpolation to 20, and de-check Optimize. (actually, we do want jittering, but not this kind... more on this later!)
〔2.2.如图,使用4个贝赛尔点 创建一个s形的样条曲线。注意在顶视图和左视图中的形态。注意贝赛尔点的手柄--没有尖锐的角!因为我们不想在摄像机中看到任何抖动,将插值调到20,关闭最优化选项。(事实上我希望有点抖动,但不是这种。。。稍后再说!〕

2.3. The first point in my curve is at 0,0,0, and the last is at 50,400,-100. This isn’t crucial, but the closer your scale is to this, the easier it will be to match the sizes of particles and procedural maps later in the tutorial.

〔2.3. 我的曲线的第一点在0,0,0,最后一个在50,400,-100。这不是很重要,但是请尽量接近这个数值,这样在后面的教程中比较容易匹配粒子大小和程序贴图。
2.4. Select the camera, and add a Path Constraint by going to the Motion rollout, expand the Assign Controller rollout, click Position, click Assign controller and double-click Path Constraint.
〔2.4. 选择摄像机,进入运动面板添加路径约束。展开指定控制卷展栏,选择位置,单击指定控制器,然后双击路径约束。〕


2.5. In the Path Parameters rollout, click Add Path and click the spline in a viewport. Now the camera follows the length of the path during the whole length of the animation, but we want it to have a distance to the camera target, so go to the final frame, activate Auto Key, set the Default Tangent to linear, and type in 90% in the %Along Path field.

〔2.5. 在路径属性卷展栏中,单击添加路径,并在视窗中选择样条曲线。现在摄像机在整个动画长度上沿着路径移动。但是我们希望它离摄像机目标有一段距离,所以将时间调到最后一帧,激活自动关键帧,将默认的切线变化设置为直线,然后将沿路径 :百分比设置为90%。〕

2.6. Create a dummy, and add a Path Constraint to make it follow the same spline, but now (with Auto Key on) go to frame 0 and type in 10% in the %Along Path field. Turn off Auto Key.
〔2.6. 创建一个虚拟体,添加一个路径约束,让它跟着同一条曲线运动,但是现在(保持自动关键帧打开)回到第0帧,将百分比调到10%。关闭自动关键帧。〕

2.7. Align the camera target to the dummy, and then link the camera target to the dummy. Play the animation, and double check that you now have a nice animation of a camera following the camera target at a constant distance.

〔2.7.将摄像机目标点对齐到虚拟体,然后链接摄像机目标点到虚拟体上。播放动画,仔细检查动画,确保摄像机与目标点保持固定的距离。〕
2.8. Why use the dummy and not apply the Path Constraint directly to the camera target? Remember that jittering we were talking about? Select the camera target, and assign the Noise Position controller to it, instead of the Path Constraint. In the Noise Controller dialog, de-select Fractal Noise, enter 0,2 as Frequency, and 2,0 as X, Y and Z Strength. This gives a nice turbulent bounce to the camera.

〔2.8.为什么使用虚拟体而不用直接应用路径约束到摄像机的目标点呢?还记得我们刚才所讨论的吗?选择摄像机目标点,指定噪波控制器给它,替代原先的路径约束。在噪波控制器的对话框中,选中Fractal Noise,将Frequency(频率)设为0.2,x、y、z轴的强度设为2.0。这将给予摄像机一个漂亮的反弹。〕


2.9. Create a cylinder with Radius 45, Height 440, Height Segments 40, Sides 15, and align it to the path (position and rotation) using the Align tool. Right-click the cylinder, go to Properties and de-select Renderable. Also, make sure the cylinder’s Backface Cull is turned off.
〔2.9. 创建一个半径45,高440,高度分段40,径向分段15的圆柱,并使用对齐工具将它对齐到路径上(位置和旋转)。右击圆柱体,进入属性框,关闭可渲染属性和Backface Cull。〕

2.10. In the Modify panel, open the Modifier rollout, and select PathDeform (WSM). It’s very imortant that you choose the World-Space Modifier version (WSM), and not just the normal PathDeform. Select the path.
〔2.10.在修改面版中,打开修改器列表,选择路径变形(世界空间)修改器,不要选择普通的路径变形。接着点选路径。
2.11. Now you can see the cylinder stretching along the path. If your path coordinates deviated radically from the ones I described earlier, you will need to adjust your cylinder’s Length, Radius etc. Play the animation in the camera viewport, and it should look something like a tunnel effect from an Amiga demo, but without the plasma! ]   
〔2.11.现在你可以看到圆柱沿着路径伸展开去。如果你的路径和我之前描述的不同,你可能需要调整你圆柱的长度,半径等属性。播放动画,在摄影机视图中你应该看到一个类似隧道的效果。)
2.12. For an extra touch, add a banking effect to the camera: set Default Tangents to auto, activate Auto Key, select the camera, and press F12. Go to frame 25, and set Roll to -25. Go to frame 75 and set Roll to 25. Go to frame 100 and set Roll to 0.

(2.12.为了增强它的触感,我给摄像机添加一个banking的效果:设置默认的切线动画模式为自动,激活自动关键帧,选择摄像机,按F12.到第25帧,设置roll为-25;到第75帧,设置roll为25;到第100帧,设置roll为0。)
2.13. If you want, now is the time to merge your favourite aircraft model into the scene, and add the same Path Constraint once more. Again, go to frame 0 and set the “%Along Path” to 10. Activate Follow and Bank, set the Bank Amount to 2, and the Smoothness to 1.


(2.13.如果你愿意的话,现在可以合并你最珍爱的飞机模型到场景中了,同样给它添加路径约束。然后到第0帧,设置“沿路径百分比”为10。激活“跟随”和“倾斜”选项,设置倾斜大小为2,设置光滑度为1。



2.14. Also, load in a standard environment map, for instance, CHROMBLU.JPG from the Max library (not that we’ll be seing a lot of background, but it’s better than black)
(2.14.同样,载入一个标准的环境贴图,比如max材质库中的CHROMBLU.JPG 文件。)

Cloud tunnel: (云层隧道)


--------------------------------------------------------------------------------

3.1. Collapse the tunnel (Cylinder01), add a TurboSmooth modifier, and set Iterations to 2. Then add a Noise modifier on top. Set the Noise Scale to 40, activate Fractal, set Iterations to 2, and set X, Y and Z Strength to 40.

(3.1 塌陷隧道模型(即Cylinder01),添加一个蜗轮光滑修改器,将细分值设为2。然后在顶层添加一个噪波修改器,设置噪波缩放值为40,激活不规则选项(Fractal),设置细分值为2,设置x,y,z强度为40。)

3.2. Add a Push modifier and set it to -10 to make the walls bulge out in round shapes (if you think the polys are moving in the wrong direction when you use the Push modifier, keep in mind that we are watching the inside of a cylinder, and all the polys are backfacing).

(3.2 添加一个推力修改器,设置为-10,这样使得圆形曲面出现凹凸不平。(如果你在添加推力修改器的时候,感觉模型朝错误的方向移动了,请注意我们是从圆柱的内部察看的,并且所有的多边形是背面。))

The cylinder is now a representation of where the clouds will be.

(圆柱体现在代表着云层将要出现的地方。)

3.3. Press “6” to open the Particle View. Change the Amount to 2000, and select Cylinder01 in Position Object. Your tunnel should now be populated with billboard particles. Make a test render of that, to see how you’re doing.
(3.3 按“6”打开粒子视图。改变粒子数量为200,设置Cylinder01为粒子的位置物体。你的隧道应该绕满了方形的粒子。试渲一下,看看你做的如何)



3.4. But before we begin lighting the cloud tunnel, let’s work on the color. We can’t apply any polygon-mapped texture, but we can make large chunks of color variation. In the cloud material, click the Diffuse Color slot, and select Noise from the Map Browser..
(3.4 但是在我们开始照亮云层隧道之前,需要对云做一些设置。我们无法使用如何多边形贴图纹理,但我们能制造一些大的块面,给云层一些变化。在云的材质球上,单击漫射样本槽,在贴图浏览器中选择噪波贴图。)


3.5. Choose Fractal, High=0,8 Low=0,2 Levels=10 and Size=100. Instead of black, use 60, 90, 115. Turn the cloud material’s Self-illumination up to 100, and render.

(3.5 选择不规则模式,设置参数 High=0,8 Low=0,2 Levels=10 ,Size=100。用RGB:60, 90, 115替换黑色。将云的自发光数量提高到100,然后渲染小样。)


What we have created is a large world-space texture variation. The reason we can’t use polygon-mapped bitmap textures with billboard particles is that when they turn to follow the camera, they will intersect in and out of each other, and the textures will “pop” in and out. But with a world-space texture, two intersecting polygons are guaranteed to have the exact same color information at the intersection point, so the intersection is invisible.

(我们现在创建的是一个大的世界空间的变化的纹理。我们不在粒子片上应用基于多边形的位图纹理的原因在于,当它们转向摄像机的时候,它们会彼此交错在一起,纹理会突然出现或消失。但是对于一个世界空间的纹理来说,两个交错的多边形在相交的点上有相同的色彩信息,这样交错是不会妨碍最终的视觉效果的。)

(Technically, world-space textures aren’t perfect either, because when the billboards turn, their surface will move through the world-space texture information, and the texture will appear to “crawl” over the surface. But with a pattern this large, it’s not a problem).


(从技术上说,世界空间的纹理也并不完美,因为当粒子片转向时,它们的表面会移动世界空间的纹理信息,这样看上去就像纹理在表面蠕动一样。但是对一个大范围的图形来说,这不是一个问题。)



Not bad, but we’re still using traditional lighting, based on polygon angles - that’s the only reason for the grey shades you can see in the render. This isn’t a liable solution, because when the billboards turn to follow the camera, their angle relative to the light source will change, and so will their brightness.


(还不错,但是我们依然需要使用传统的基于多边形的角度的灯光--这是我们在渲染中看到一片灰白色的惟一原因。这不是一个主观的解决办法,因为当粒子块朝向摄像机时,他们与光源的角度会改变,他们的亮度也会随之而变。)
3.6. In the top viewport, create a Target Direct light that lights the cloud tunnel from the side .

(3.6 在顶视图中,创建一个目标平行灯,从侧面照亮云层隧道。)

3.7. Right-click Top -> Views -> Direct01 to see the scene from the light source’s point of view. Under Directional Parameters, adjust the Hotspot/Beam until the particles are totally visible from the light source.


(3.7 右击顶视图Top -> Views -> Direct01 进入灯光视图。在平行光属性栏中,调整热点区域(Hotspot/Beam),直到粒子从光源看去是完全可见的 。)


3.8. Render the scene from the light’s point of view. Save the image, and load it into your favourite painting program. c,wYXnJ_t  
(3.8 从灯光视图渲染场景。保存渲染的图片,导入你最拿手的绘画程序中。)

Your particles will propably look all flat and weird because they’re pointed at the camera and not the light source, but that’s OK.

(你的粒子也许看起来都是扁平的,怪异的,因为他们都朝向摄像机而不是光源,这没什么问题。)

3.9. In the paint program, paint over the particles so they get covered with a gradient like this, and save the image. The idea is that anywhere in the cylinder, the cloud particles will have a gradient from top to bottom. We’re faking ray-marching of light coming from the top.

(3.9 在绘画程序中,描绘整个粒子,这样他们将被一种渐变色覆盖,然后保存这张图片。这样做的目的在于使圆柱中任何地方的粒子都有一个从上到下的渐变。我们正在模拟光线从顶部穿过的效果。)

I have used 170, 220, 240 for the bright color, 50, 90,110 for the dark color, and 80, 140, 170 as the background base


(我使用RGB值170, 220, 240 的颜色作为亮部的颜色,50, 90,110 作为暗部的颜色,80, 140, 170 作为背景色。

3.10. Back in 3ds Max, click the Map slot in the light’s Projector Map rollout, and choose your paintover image. Remember to check “Ambient Only
(3.10 回到3dsmax中,单击灯光投影贴图的样本槽,然后使用你绘制的贴图。记得要打开“只影响环境色”(Ambient Only)。



3.11. NOTE: the purpose of this light source is to illuminate this particular cloud and nothing else, so if you have an aircraft in the scene, go to the light’s Include list and add your cloud Particle Event, which is propably called “PF Source 01->Event 01”. Then you’re going to have to add new lights to light up your aircraft, so go ahead and add the same Particle Event to those lights’ Exclude list.


(3.11 注意:这个光源的目的是照亮粒子云,如果你在场景中有飞机,请到照明包含列表中把粒子云事件添加进来,它的名字应该叫“PF Source 01->Event 01”。然后你需要建一盏新的灯来照亮你的飞机,并将粒子事件在这盏灯中排除掉。)
3.12. Now it’s time to test the light. Go to the cloud material and turn the Self-illumination to 0, and turn off the Noise Map in the Diffuse Color slot. Render!

(3.12.现在是时候调试灯光了。进入云层的材质球,将自发光降到0,关闭漫射贴图通道里的噪波贴图。然后渲染!)

(note: the first few frames might have particles right up in the camera because of the capped ends of the emitter cylinder, so delete those faces on the cylinder, or go forwards to a more interesting frame)


(注意:开始的几帧可能会有粒子穿过摄像机,这是因为圆柱两端的底面发射粒子所致,所以我们要删掉圆柱的这些面,或者是跳到后面的帧渲染。)


We’re almost there! Now all we have to do is combine the world-space noise map with our light gradient. @@/'b '  
(我们已经接近成功了!现在我们所要做的是将世界空间的噪波贴图与我们的灯光梯度相结合。) P}+|`>L  
&lh_-@Xz  
3.13. Set Self-illumination to 50, and re-activate the Noise Map in the Diffuse Color slot. Render again! You’re done! -{8Q= N  
(3.13.设置自发光到50,重新激活漫射通道的噪波贴图。再次渲染!你已经完成了!) H"FflmUO  
;/";d]j  


If you will, adjust the Self-illumination and the Diffuse Map’s Amount slider to blend between the Noise Map and the gradient light source.

(如果你愿意,可以调整自发光和漫射贴图的强度滑块来混合噪波贴图和光源的渐变。)
Now render the whole animation while you make a pot of coffee...


(现在你可以借泡咖啡的时间来渲染整个动画了.)

返回列表