3D静物 - 分解

修改
鏉ユ簮: xiao_q 浏览 6422 日期 2017-05-09 0

我最近完成了我的静物画面,所以决定快速分解现场发生的情况! 我将整个管道,从拍摄的背板和捕捉照明信息通过各种方式合成。

I recently finished my still life image, so decided to do a quick breakdown of what's going on in the scene! I will go over the whole pipeline, from shooting the backplate and capturing the lighting information all the way through to compositing.

Shooting the backplate and capturing the lighting information

After I knew what I was going to do, it was time to shoot backplate and capture all the lighting information.

For this I used:

- Canon 5D Mark II

- 50mm 1.4f

- 8mm 3.5f fisheye

- Tripod with a panoramic head (One that clicks every # of degrees. Very useful when creating HDRs)

- Chrome & grey sphere (to check my lighting)

- Macbeth chart (to calibrate my colors)

The first thing I did was to try and make a composition that was less or more pleasing to the eye in real life, maybe trying to get some happy accidents in that occur MUCH more often in real life than in 3D. I also used it as my main big reference to shade objects. All in all, this is a very useful thing to do even if you're not using any of it in your 3D scene.

拍摄背板并捕捉照明信息

在我知道我要做什么之后,现在是拍摄背板并捕获所有照明信息的时候了。

为此我用:

- 佳能5D Mark II

- 50mm 1.4f

- 8mm 3.5f鱼眼

- 三脚架全景头(一个点击每个度数,创建HDR时非常有用)

- Chrome和灰色球体(以检查我的照明)

- 麦克白图(校准我的颜色)

我做的第一件事就是试着做一个在现实生活中看起来不那么喜欢的作品,也许试图在现实生活中比在3D中更多地发生更多的事故。 我也用它作为我主要的重要参考。 总而言之,即使在3D场景中没有使用任何东西,这也是非常有用的。

Shooting the backplate was very straightforward. I shot: a clean one, one with lighting checkers and one with a color checker. Something to note is that your camera has to be on manual mode. You do not want to have different settings for each of these shots. They all need to match!

Also ALWAYS shoot in RAW for these kinds of things. You don't want to have a compressed .jpg before you've even started.

The following pictures are shot in a really bright sunny environment, even though they don't really look like it. They're just as raw as it comes out of my camera sensor, and need some grading work to make them pretty again.

拍摄背板非常简单。 我拍摄的时候:一个干净的背景,一个照明检查器和一个与颜色检查器。 需要注意的是,您的相机必须处于手动模式。 您不想为每张照片都设置不同的设置。 他们都需要匹配!

还要一直在RAW拍摄这些类型的东西。 在你开始之前,你不想要压缩.jpg。

以下图片在真正晴朗的阳光环境中拍摄,即使它们看起来不是很像。 它们是从我的相机传感器出来的原始,并需要一些分级的工作,使他们再次漂亮。

These days I try to use Nuke as much as possible, steering away from Photoshop as much as I can. This gave me a problem ? by default Nuke doesn't read Canon's .cr2 raw files. I turned to DCRAW, an open source piece of software that you can access from the command line once installed. It reads ALL raw formats and converts it the input into a 16bit tiff.

Later on I learned that also NUKE can use DCRAWs code. Just put the DCRAW files into your nuke directory in your home folder, and enjoy reading in .cr2 files in Nuke! You even get an argument line in your read node where you can enter your options for DCRAW. Super sweet!

这几天我尽可能多地使用Nuke,尽可能多地转向Photoshop。 这给了我一个问题? 默认情况下,Nuke不会读取佳能的.cr2原始文件。 我转向DCRAW,一个开源的软件,您可以在安装完成后从命令行访问。 它读取所有原始格式,并将其转换为16位tiff。

后来我了解到NUKE也可以使用DCRAWs代码。 只需将DCRAW文件放入您的home文件夹中的nuke目录,并享受Nuke中的.cr2文件的阅读! 您甚至可以在读取节点中获得一个参数,您可以在其中输入DCRAW的选项。 超棒!

Shooting the HDR

Once the backplate had been shot, it was time to capture the lighting information in the room. This is most commonly done by using a fisheye lens (because of the extreme wide angle), and shooting at least three exposures for every angle, for the full 360 degrees. You can shoot every 120, 90, and 60 ? it's entirely up to you! Just keep in mind that you do not want your lighting to change or your objects to move during the shoot. I personally went for 6 angles because I was the only one in the room and there were no clouds. Probably as easy as shooting an HDR gets!

Once again, I made sure my camera was set as manual as possible. I even chose a white balance setting just to be consistent across all my images, even though it makes absolutely no difference for raw images.

Using the panoramic head of my tripod, I shot three exposures (called exposure bracketing) for every angle. I did this using a little two second timer. Three Exposures really is the bare minimum, you should shoot more if you can. The camera I used with the default OS just can't do more than three.

I placed my Macbeth chart within a sunny area of my environment, so I can color calibrate the HDR to my photographed backplate (explained later on).

After the shoot I ended up with 18 .cr2 images. I stitched them together with an incredibly neat piece of software called PTGui.

PTGui outputted me the following 32bit EXR. Great ? but not there yet. The highest floating point value within the image was only 4 (keep in mind that 8 bit images can only store values between 0 and 1). I used a Nuke gizmo called mmColorTarget to match the values of the Macbeth chart in the HDR to the values of the Macbeth chart in my backplate (read more about this on the renderblog), and this boosted my max floating point value up to about 240.

拍摄HDR

一旦背板被拍摄,现在是捕捉房间内照明信息的时候了。这通常是通过使用鱼眼镜头(因为极宽的角度)而完成的,并且对于整个360度,对于每个角度拍摄至少三次曝光。你可以每120度,90度和60度拍摄,这完全取决于你!请记住,在拍摄期间,您不希望照明更改或您的物体移动。我个人用了6个角度,因为我是唯一一个在房间里,没有云。可能像拍摄HDR一样容易!

再次,我确保我的相机设置为尽可能的手动。我甚至选择了一个白平衡设置,使其在所有图像上保持一致,即使原始图像绝对没有区别。

使用三脚架的全景头,我为每个角度拍摄了三次曝光(称为曝光包围)。我这样做了两秒钟的定时器。三个曝光真的是最低的,你应该可以拍摄更多,如果可以的话。与默认操作系统一起使用的相机不能超过三个。

我把我的Macbeth图表放在我环境晴朗的地方,所以我可以将HDR彩色校准到我拍摄的背板(稍后解释)。

拍摄结束后,我结束了18 .cr2的图像。我把它们拼凑成一个非常整洁的软件PTGui。

PTGui输出了以下32bit EXR。好吗但还没有。图像中最高的浮点值仅为4(请记住,8位图像只能存储0到1之间的值)。我使用一个名为mmColorTarget的Nuke gizmo将HDR中的Macbeth图表的值与我的背板中的Macbeth图表的值相匹配(在renderblog上更多地了解这一点),并将我的最大浮点值提高到大约240 。

A high value like this is great; it gives you nice crisp shadows. No need to fake this using CG lights! After the calibration, I color graded it a bit more for artistic purposes.

这样高的价值是伟大的,它给你很好的阴影。 没有必要用CG灯伪造这个! 校准后,为了艺术目的,我的颜色分数更多。

Lens Distortion

So that's my HDR image sorted. Great! Just a couple more things and we can move into 3D space.

First thing I had to do is color grade my backplate a bit for artistic purposes. After that was done, I had to undistort the image. Real lenses always have their own lens distortion.

Undistorting this is easy because of the already available algorithms in Nuke. I just printed off this grid and snapped a picture of it at a 90angle, then read it in Nuke and used a lensDistortion node to analyze this grid, copy pasted the node and plugged it into my main node network. Easy! Ready to be used in 3D.

镜头失真

那就是我的HDR图像排序。 大! 只有几件事情,我们可以进入3D空间。

我必须做的第一件事是颜色等级我的背板有点为艺术目的。 在此之后,我不得不保留形象。 镜头总是有自己的镜头扭曲。

由于Nuke中已经有可用的算法,因此,这是非常简单的。 我刚刚打印出这个网格,并以90度的角度拍摄照片,然后在Nuke中读取它,并使用镜头分解节点分析此网格,复制粘贴节点并将其插入到我的主节点网络中。 简单! 准备在3D中使用。

Aligning the camera to the scene

There are a couple of tricks to keep in mind when trying to align your camera in 3D. It can be a pain, but if you have taken the right steps, your image should line up perfectly.

A couple of tips:

- Measure your real life objects with precision, always make notes of measurements when shooting

- Make sure your image has no lens distortion

- If you shoot with a cropped sensor camera, make sure you multiply your cropping factor with your lenses focal length, and then enter that value into your Maya cam. Maya doesn't know whether you shoot with a cropped frame sensor or a full frame sensor!

And then there's a really useful trick that I learned from a senior modeler at MPC:

? Create your camera and immediately group it. On your camera, lock the rotation channels. On your group, lock the translation ones. By doing this you can select your group, pan around with your camera and adjust the rotation values very precisely using the rotate tool.

I feel like this trick really helps a lot when trying to precisely match something. You can also undo every camera movement really easily like this.

It will take a couple of minutes of thinking "this is never going to match up", but you will get there eventually.

将相机对准场景

尝试将相机与3D对齐时,请记住几个技巧。如果你采取了正确的步骤,你的形象应该完美排列。

几个提示:

- 精确测量您的现实生活中的物体,拍摄时始终记录测量结果

- 确保您的图像没有镜头变形

- 如果使用裁切的传感器摄像头拍摄,请确保将裁剪系数与镜头焦距相乘,然后将其输入您的Maya凸轮。Maya不知道你是否用裁剪的帧传感器或全帧传感器拍摄

然后我从MPC的高级建模师那里学到了一个非常有用的技巧:

创建您的相机并立即分组。在相机上锁定旋转通道。在你的小组,锁定翻译。通过这样做,您可以选择您的组,使用相机平移,并使用旋转工具非常精确地调整旋转值。

我觉得这个伎俩真的帮助很多,当试图精确匹配的东西。您也可以轻松地撤消每个相机的移动。

Setting up the scene

Wicked. So we've got all our photographic elements ready to go and our proxy geometry is modeled to match the objects in our photograph. Time to set up the scene.

We know that we will need both information from the HDR (direct illumination) and information from the environment (indirect illumination, because the light has already bounced once) to light our scene properly.

It's really easy to set this up in Arnold, but it did take me some initial figuring out.

I assigned a ShadowCatcher shader to all the modeled ?shadow catching' geometry. Since the geometry also has to cast shadows, do not disable ?opaque' in the Arnold tab ? unlike specified in the documentation.

设置场景

所以我们已经准备好了所有的摄影元素,我们的代理几何是为了匹配照片中的对象。 设置场景的时间

我们知道,我们将需要HDR(直接照明)和环境信息(间接照明,因为光已经反弹一次)的信息,以适当地照亮我们的场景。

在阿诺德这样做很容易,但是它确实带给我一些初步想法。

我分配了一个ShadowCatcher着色器到所有被建模的阴影捕捉几何。 由于几何也必须投射阴影,不要在Arnold选项卡中禁用,opaque, 与文档中指定的不同。

The ShadowCatcher shader has some cool attributes. The first one we'll look at is the most important one. Use background.

In this slot we will pipe in a projection. In your node editor, just create a File [projection] node. It's pretty straightforward, plug in both your projection camera and image you want to project and make sure you have your UVs laid out for the objects you are projecting onto.

Important! Having it set up like this, your shadow catching geometry will also have a diffuse texture (the projection). This is NOT what we want, so we pipe the projection into an aiRaySwitch node, just not connecting the ?camera rays' slider. This will essentially not return any camera rays, whilst still returning all the other rays ? exactly what we want.

The rest is easy. Enable cast shadows, transparency and catch diffuse. Catch diffuse is one to play with ? it affects the colors of the shadows depending on the diffuse color. I wonder why I didn't try piping in the projection into that. Might be worth testing out!

ShadowCatcher着色器有一些很酷的属性。我们要看的第一个是最重要的。使用背景。

在这个槽中,我们将投射一个投影。在您的节点编辑器中,只需创建一个File [投影]节点。这是非常简单的,插入投影相机和您想投影的图像,并确保您的UVs布局为您投射的对象。

重要的!使其设置如此,您的阴影捕捉几何也将具有漫反射纹理(投影)。这不是我们想要的,所以我们将投影管道放入aiRaySwitch节点,只是不连接相机射线的滑块。这将基本上不会返回任何相机射线,同时仍然返回所有其他射线,正是我们想要的

其余的很容易启用投射阴影,透明度和捕捉漫反射。捕捉弥漫它影响阴影的颜色取决于漫射颜色。我不知道为什么我没有在投影中尝试管道。可能值得测试!

For the lighting, I just created a skydome light with the HDR attached, intensity kept at 1. With the help of a chrome sphere I matched the direction of the light.

对于照明,我刚刚创建了一个与附加的HDR的滑雪灯,强度保持在1.在铬球的帮助下,我匹配光的方向。

Modeling the objects

I really enjoyed the modeling aspect of this project. I usually do bigger things, which means I don't get to model into this fine detail. Really fun when there's no cap on your polycount and you can try and get every nice little shape in there! I only box modeled the tape, the tin and one single tube.

I laid out the UVs and after that I took the tubes into ZBrush and sculpted them an individual ZDisp map. I also quaded up the geometry so I'd get an even distribution of resolution whilst sculpting. It's always a good idea to do this!

Usually whilst sculpting this I'd reach for the DamStandard brush ? however, since it pinches the geometry and my UVs are already laid out, this is not ideal. I can't have the pinching. To work around this I simply took the alpha of the DamStandard brush and applied it to my regular Standard brush. Simple, problem solved. The whole time I watched closely that I was only working in the normal direction of the faces so not too much stretching would appear when they were textured.

A quick demonstration on how I approached sculpting the paint tubes can be seen here.

For both the paint tubes and the tin can I found that I also had to break up the surface with quite a bit of low level noise (which I sculpted, I did not do this procedurally). This really helped to sell the objects.

To create the paint splatters on the objects, I developed two ways ? and switched halfway through the project! The first one was to get some Photoshop splatter brushes, import those into MARI, splash them onto my object and convert that layer's alpha into a mask. This gave me a clean mask regardless of the color of the paint. Then I imported this map as an alpha into ZBrush and under the masking submenu I clicked ?Mask by Alpha?. The only thing I then had to do is inflate certain parts and sculpt a bit of texture on top.

Halfway through the project I found that it was much easier to have all this paint as separate geometry. It allows for much greater control rather than having it at render time through a Displacement map. I used the same splatter maps, but converted the ZBrush masks into polygroups. Then I could split off all the faces that weren't ?splatters', give it some thickness and DynaMesh that. It's pretty high res geo (although you generate the same amount of polygons with your disp map), but I found that it looks a lot better than having your actual object displaced.

The water droplets were created with the Waterdrop generator I made a while ago. It's free and it works fairly well, check it out here!

建模对象

我非常喜欢这个项目的建模方面。我通常做更大的事情,这意味着我不会模仿这个细节。真的很有趣,当你的多数帐户没有上限,你可以尝试,并获得每一个美好​​的小形状在那里!我只用盒子塑造了磁带,锡和一根单管。

我画出了紫外线,之后我把管子插入ZBrush,并雕刻出一个ZDisp的地图。我也加了几何,所以我会得到一个均匀分辨率的雕刻。这样做总是一个好主意!

通常雕刻时,我会使用DamStandard画笔。然而,由于它夹着几何体,我的紫外线已经布局,这不是理想的。我不能捏捏为了解决这个问题,我简单地拿了DamStandard笔刷的alpha,并把它应用到我的普通标准画笔上。简单,问题解决。一直以来,我一直在密切注视着我只是在正常的方向上工作,所以在纹理化时不会出现太多的拉伸。

在这里可以看到一个关于如何接近雕刻油漆管的快速示范。

对于涂料管和锡罐,我可以发现我也不得不用相当低的噪音(我雕刻,我没有这样做)分解表面。这真的有助于销售物品。

要在对象上创建油漆飞溅,我开发了两种方法。并在项目中途切换!第一个是得到一些Photoshop飞溅画笔,将其导入MARI,将它们溅到我的对象上,并将该层的Alpha转换成掩码。这给了我一个干净的面具,无论颜色的颜色。然后我将这个地图作为一个alpha导入到ZBrush中,然后在我点击的掩码子菜单下面。我唯一需要做的就是膨胀某些部分,并在上面雕刻一点纹理。

通过该项目的中途,我发现将所有这些油漆作为单独的几何体都容易得多。它允许更好的控制,而不是通过位移图在渲染时使用它。我使用了相同的Splatter映射,但是将ZBrush掩码转换为polygroups。然后我可以把所有的面都分开,没有喷溅,给它一些厚度和DynaMesh。它是非常高的地理位置(虽然你生成相同数量的多边形与您的disp映射),但我发现它看起来好比让您的实际对象移位。

水滴是用我之前做过的水滴发生器创建的。它是免费的,它的工作相当不错,在这里查看!

Texturing

As always, I textured my objects in MARI. It was pretty easy ? nothing like texturing something that is supposed to look alive! The first step is probably the most important one, and that is looking for good reference. Once you know what you have to paint, and take the guesswork out, it's just doing it.

The labels of the objects were created in Photoshop since MARI lacks a lot of 2D tools. I then exported the maps and imported those into MARI, where I painted the Isolation maps of the layered shaders (more on this later on), splatters, a dirt layer and a dust layer.

The way I paint my isolation maps is simple. I just paint them with the standard MARI brushes, but not in black and white. If I'm painting dust, I need it to look like dust to be able to properly judge its appearance. So when I'm done with it, I just convert the layer's alpha into a mask. By doing this I can easily export the color map and the mask, to use in my layered shaders.

Note that you can also export the colored version, and use the alpha channel of that image to drive the mask properties of the layered shader. It's just whatever you prefer!

If I could recap one thing about texturing, it would be reference. Reference reference and more reference!

纹理

和往常一样,我纹理我的对象在MARI。这很简单没有什么像纹理的东西应该看起来活着!第一步可能是最重要的,那是寻找好的参考。一旦你知道你要画什么,并且想象出来,那就是这样做。

对象的标签是在Photoshop中创建的,因为MARI缺少很多2D工具。然后我出口地图并将其导入MARI,在那里我画了分层着色器的隔离贴图(稍后再介绍),喷溅,污垢层和灰尘层。

我画我的隔离地图的方式很简单。我只是用标准的MARI刷子涂抹它们,但不是黑色和白色。如果我在画灰尘,我需要它看起来像灰尘能够正确判断它的外观。所以当我完成它,我只是将层的alpha转换成一个掩码。通过这样做,我可以轻松导出颜色贴图和掩码,以便在我的分层着色器中使用。

请注意,您还可以导出彩色版本,并使用该图像的alpha通道来驱动分层着色器的蒙版属性。这只是你喜欢的!

如果我可以回顾一下关于纹理的一点,那就是参考。参考参考和更多参考!

Shading

I received some requests to dive a bit deeper into the shading of the objects, so I will try to do this!

If you've read about my previous work, you've probably noticed I like to use the alShader library instead of the standard Arnold library. It has many advantages, which you can read about over here.

At this moment in time I really like to think about shading as like thinking in layers, and I also build the networks this way. It gets pretty easy when doing this. I will go over three objects, the coffee tin, the paint tube and the tape.

底纹

我收到一些请求,深入对象的阴影,所以我会尽力做到这一点!

如果您已经阅读过我以前的作品,您可能已经注意到我喜欢使用alShader库而不是标准的Arnold库。 它有很多优点,您可以在这里阅读。

在这个时候,我真的很想像阴影一样思考层层叠画,我也以这种方式建立网络。 这样做很容易。 我会去三个物体,咖啡锡,油漆管和胶带。

Coffee Tin

As I mentioned earlier, everything begins with good reference. Life is pretty once you know what you've got to do, reach or accomplish. Then it's just doing it! Before I start, I always try to push myself to spend that extra bit of time on the internet, looking for that one picture that might push my idea that little bit further.

咖啡渣

正如我前面提到的,一切都从好的参考开始。 一旦你知道你要做什么,达到或完成,生活就会很好。 那就是这样做! 在我开始之前,我总是试图把自己花在互联网上花费更多的时间,寻找那个可能会推动我的想法的图片。

The first thing I do is inspect the object, and stare at it for a couple of minutes. How does the light react with the surfaces? What properties of the surface really leave a mark in my mind? Are there any noteworthy specialties? What are the material layers of this object?

For example, the coffee tin will have six main layers:

1. Base metal

2. The super thin tin coat over the metal

3. The label material

4. Paint layer

5. Dirt (wasn't needed for this asset in my image, but still worth noting that it is there!)

6. Dust (wasn't needed for this asset in my image, but still worth noting that it is there!)

Once we've got the layers figured out, it's playtime. All we have to do now is recreate them and paint masks to layer the shaders on top of each other.

我做的第一件事是检查物体,盯着它几分钟。 光如何与表面反应? 表面的什么属性真的在我心中留下痕迹? 有什么值得注意的专业吗? 这个对象的材质层是什么?

例如,咖啡锡将有六个主要层:

贱金属

金属上的超薄锡涂层

3.标签材料

4.油漆层

5.污垢(我的形象不需要这个资产,但还是值得注意的是它在那里!)

灰尘(在我的形象中这个资产不是必需的,但还是值得注意的是它在那里!)

一旦我们得到了这些图层,就是播放时间。 我们现在要做的就是重新创建它们并绘制掩模,以使着色器彼此层叠。

The way I approach building the materials at the moment is still very much by eye. I would like to start using more scientifically correct values and numbers soon, it's something that I'm working on.

So, for now, eyeballing! Let's start with layer one ? the metal.

In real life you'd have two layers for the base metal. The actual base metal that the coffee tin is made from, and then a tin layer on top. Because the underlying metal layer really is barely visible (just through some scratches), and if it would be visible, it wouldn't have had any crazy visual impact. So instead of building it this way, I decided to just create a tin material and use a spec map to emulate that metal layer underneath.

Because it's a metal, the Diffuse color should be black. Ideally you'd pipe a really dark breakup map into this, nothing is perfect in real life, but it just wasn't necessary in this case.

The Specular map is a simple tiling map with some scratches. I add a bit of color to this spec map by multiplying the tiling map on top of a color (light beige ? metals have a colored Specular highlight!) through an alLayerColour node. No need to go and do this in another software package.

目前我正在构建材料的方式还是非常有意义的。我想尽快开始使用更科学正确的价值观和数字,这是我正在努力的。

所以,现在眼球!我们从第一层开始吧?金属。

在现实生活中,你会有两层贱金属。咖啡锡制成的实际贱金属,然后是顶部的锡层。因为底层的金属层真的几乎看不到(只是通过一些划痕),如果它是可见的,它不会有任何疯狂的视觉冲击。所以我不是用这种方法来构建一个锡材料,而是使用一个规格图来模拟下面的金属层。

因为它是一种金属,弥漫颜色应该是黑色的。理想情况下,您将管理一个真正黑暗的破碎地图,在现实生活中没有什么是完美的,但在这种情况下,这并不是必需的。

镜面图是一个简单的贴图,有些划痕。我通过一个alLayerColour节点乘以一个颜色(浅米色,金属有一个彩色的镜面高光!)上的平铺贴图,给这个规格图添加了一点颜色。不需要去另一个软件包去做。

As you can see I use the two specular lobes provided by the alSurface shader in here. As I said before, I'm not going to lie; I haven't got any real values for these. Right now I'm trying to match the reflection by looking at my reference very, very closely! What I'm creating here is a combination of both a rougher reflection, and a sharper one.

The IOR value is pumped up to 5 to have it reflect like a metal. You can use values up to 100 or even 1000 to get a chrome like Fresnel falloff.

That's that for the tin layer. Now let's create an alLayer shader, another alSurface shader for the label shader and a file node to connect the mask that we painted into the layered shader.

如您所见,我使用alsurface着色器提供的两个镜面波瓣在这里。正如我之前所说,我不会撒谎我没有任何真正的价值观。现在我试图通过非常非常非常密切地查看我的参考来匹配反思。我在这里创造的是一个更粗糙的反思和更清晰的反射的组合。

IOR值被泵送到5以使其像金属一样反射。您可以使用高达100甚至1000的值来获得像菲涅尔衰减的镀铬。

那就是锡层。现在让我们创建一个alLayer着色器,另一个用于标签着色器的alSurface着色器和一个文件节点将我们绘制的蒙版连接到分层着色器中。

TOP TIP 1: By default if you drag and drop the file node onto the mask attribute, it will connect out alpha to the input. This is NOT what we want! Make sure you switch the out alpha connection of the file node to out color. Since we've painted a black and white mask, all individual color channels will be identical. Connect it to either the red channel, blue channel or green channel depending on your favorite color.

TOP TIP 1:默认情况下,如果将文件节点拖放到掩码属性上,它将连接到输入的alpha。这不是我们想要的!确保将文件节点的外部alpha连接切换到外部颜色。由于我们画了一个黑色和白色的面具,所有单独的颜色通道将是相同的。根据您最喜欢的颜色将其连接到红色通道,蓝色通道或绿色通道。

TOP TIP 2: You can also work with just one texture file with transparency. In that case, obviously don't change the connection

Cool, let's move onto the label shader. Not that much special going on here, but definitely an important layer to get right. It's the shader that will dominate the biggest area of the image. All I did was connect my diffuse map that I painted, and set my spec parameters as the following:

TOP TIP 2:您还可以使用一个透明的纹理文件。 在这种情况下,显然不要改变连接

很酷,我们来看标签着色器。 这不是特别的,但绝对是一个重要的层面。 这是着色器,将主导图像的最大区域。 我所做的是连接我绘制的漫反射图,并设置我的spec参数如下:

Note that I used a slightly tinted Specular color. This is for artistic reasons ? it gave me a much ?fuller' feeling. It's hard to describe, but it worked. You should always remind yourself that you're an artist, not a scientist. It's good to base yourself on values that are proven to be correct, but there's no one saying you can't cheat if you know why you cheat.

The last layer for this object is the paint layer. Again, nothing special going on really! Just a diffuse color map and some tweaked spec values.

请注意,我使用了一个稍微有色的镜面颜色。 这是出于艺术原因吗? 它给了我更多的感觉。 这很难描述,但它的工作。 你应该总是提醒自己,你是一个艺术家,而不是科学家。 把自己置于证明是正确的价值观上是很好的,但是没有人说如果你知道你为什么欺骗,你不能欺骗。

该对象的最后一层是涂层。 再次,没有什么特别的事情真的! 只是一个漫反射的颜色地图和一些调整的spec值。

That's actually it for the tin can! Nothing special or over complicated, but still looks pretty sweet. Working in layers is easy!

这实际上是为了锡罐! 没有什么特别或过于复杂,但仍然看起来很甜蜜。 分层工作很容易!

Tape

The tape was fun to make; it's not something you shade every day! The main thing to note about this object is that I created two different shaders ? one for the actual roll of tape, which is double sided geometry, and one for the torn off tape ? which is single sided. This is an important feature to consider, because we have to shade single sided objects differently. For example, sub surface scattering effects that I would use on double sided geo don't make sense on single sided geo.

Anyway, let's start with the double sided geometry first.

胶带

磁带很有趣; 这不是你每天都遮蔽的东西! 关于这个对象的主要注意事项是我创建了两个不同的着色器? 一个用于实际的卷带,这是双面几何,一个用于撕掉胶带? 这是单面的。 这是一个重要的特征,因为我们必须不同地遮盖单面对象。 例如,我将使用双面地理的子表面散射效应在单面地理上是没有意义的。

无论如何,我们先从双面几何开始。

As you can see, it's once again pretty simple. I loaded in both my painted diffuse map (really simple, flat colors with some really subtle value/color differences ? I could have done this procedurally in Maya but happened to be in MARI) and a scratch/breakup map. I repeated the breakup map with a 2.5/1 UV ratio. (re-word this) It just needed to be squashed! This piped into both the bump slot and the spec slot of the alShader.

As you can see, it goes through an alRemapColor node before going into the spec slot. The reason for this is simple ? it's way too ?heavy', there's too much value difference. I only want this map to be subtle, so inside of the alRemapColor node I raised the gamma to a value of 8. If you'd test this out, you'd see that the values get flattened out a lot ? exactly what I was looking for.

你可以看到,这又是非常简单的。 我加载了我画的漫反射图(真的很简单,平淡的颜色,有一些非常微妙的价值/颜色差异,我可以在玛雅程序上完成,但恰好在玛丽),还有一个划痕/破碎图。 我用2.5 / 1紫外线比例重复分解图。 (重新写这个)只需要压扁! 这被连接到凹凸槽和alShader的规格槽。

您可以看到,在进入规格槽之前,它将通过一个alRemapColor节点。 这样做的原因是简单的 ? 这样做太重了,有太多的价值差异。 我只希望这个地图是微妙的,所以在alRemapColor节点的内部,我把这个伽玛提升到了8的值。如果你测试出来,你会看到这个值被压扁了很多? 正是我在找什么

An important visual attribute this tape has is some subtle sub surface scattering, so we have to make sure we include this. The attributes are really simple I only used one SSS layer, which had the same color as the diffuse map.

这个磁带的一个重要的视觉属性是一些微妙的子表面散射,所以我们必须确保我们包括这个。 属性非常简单,我只使用一个SSS图层,它与漫反射图具有相同的颜色。

That's it for the double sided geo; let's move onto the single sided geometry. It's a bit more interesting!

这就是双面地理; 让我们移动到单面几何。 这有点更有趣!

To quickly sum this up, we have a refractive ?glue' shader, and a backlit ?paper' shader layered on top of each other with the remapped scratch map from earlier acting as a mask. Once I figured this out, it was once again, pretty easy! Inside of the shaders nothing complicated or special is going on. It's all about the layering.

为了快速总结一下,我们有一个折射式胶水着色器和一个背光?纸张着色器彼此顶层,重新映射的刮痕图从以前作为掩模。 一旦我想到这一点,它再次是很容易! 在着色器里面没有什么复杂或特殊的。 这一切都是关于分层的。

An important attribute for the paper shader was backlighting. With this I emulated the translucency of the paper, just like I did with the SSS on the actual tape model.

In retrospect, I should have added more rough reflections on the tape on the grazing angles. I tried to do this with through my spec, but it didn't really work strong enough. It's something I looked over ? and should have faked this with my diffuse. It would have been a lot faster to render and easier to control.

Basically I would use a Sampler Info node to query my viewing angle, and map that into my U and V coordinates of a ramp node. Then in that ramp node I can plug in whatever I like and interpolate in between whatever I plugged in based on my viewing angle. Just like you would fake a cloth shader. It's explained pretty well over here.

Then I painted an opacity map for the edges of the tape, to give it a bit of a torn look. That's all, tape = done!

纸张着色器的一个重要属性是背光。 这样我仿效了纸张的半透明度,就像我在实际的胶带模型上与SSS一样。

回想起来,我应该在放牧角度的胶带上增加更多的粗糙反射。 我试图通过我的规格这样做,但它并没有真正的工作足够强大。 这是我看过的东西 并应该用我的漫画伪造了这个。 渲染速度要快得多,易于控制。

基本上我会使用Sampler Info节点来查询我的视角,并将其映射到我的斜坡节点的U和V坐标。 然后在那个斜坡节点中,我可以插入任何我喜欢的内容,并根据我的视角插入任何插入的内容。 就像你会伪装一块布料着色器。 在这里解释得很好。

然后我画了胶带边缘的不透明度贴图,给它一点撕裂的样子。 就是这样,磁带=完成!

Creating and rendering dust

This was a tricky one. I had never encountered a piece that needed a bit of dust sprinkled on top! I weighed up my options and decided that I'd try to do it as it would occur in real life, meaning rendering curves as thin hairs.

So then my only problem was: how do I create all these curves?! I looked online, but couldn't find any tool for Maya that was even remotely suitable. I didn't want to spend an incredible amount of time on just creating some dust, so I decided to paint on curves with Maya's PaintFX, using the popcorn preset. Pretty strange, having popcorn scattered all over my scene, but the curves that are used as a base for the PaintFX are pretty good. I converted the PaintFX into curves and rendered these as thin hairs. You can find a lot of information on rendering curves (with sets) in the Arnold documentation.

For the shading of the curves, I didn't use a Hair shader. I just used a standard alSurface shader with a really light brown diffuse color. It gave me the look I wanted!

The dust, however, is something I'm not 100% happy with. The shading is OK but the shape of the little dust particles just doesn't work fully. Writing a little dust PaintFX preset might be a cool thing to do sometime in the future!

创造和渲染灰尘

这是一个棘手的事情。我从来没有遇到过需要一点灰尘洒在上面的东西!我衡量了我的选择,并决定我会尝试在现实生活中发生的事情,这意味着渲染曲线是细毛。

所以我唯一的问题是:如何创建所有这些曲线?我在网上看,但找不到任何甚至远程适合的Maya工具。我不想花费不可思议的时间来创造一些灰尘,所以我决定用Maya的PaintFX绘制曲线,使用爆米花预设。很奇怪,爆米花分散在我的场景,但是用作PaintFX的基础的曲线是相当不错的。我将PaintFX转换成曲线,并将其渲染为细毛。您可以在Arnold文档中找到关于渲染曲线(包含集)的大量信息。

对于曲线的阴影,我没有使用Hair着色器。我刚刚使用了一个标准的alSurface着色器,具有非常浅的棕色漫反射色彩。它给了我想要的样子!

但是,灰尘是我不是100%的快乐。阴影是好的,但是灰尘颗粒的形状不能完全正常工作。写一点灰尘PaintFX预设可能是一个很酷的事情在未来做某个时间!

Compositing

The final step of the process! For this image not much compositing work was needed ? it came out pretty decent out of the render engine!

I added some colour corrections for some individual objects based on the ID masks that I rendered out, some overall grading, and a bit of grain and the depth of field.

With every project I do I try to learn new things, explore new techniques. In this project I wanted to try out Sony's SPI-ANIM OCIO profile instead of the default 2.2 gamma curve in Nuke. There's way too much to it to explain in this post, but with a quick Google you'll be reading about it in no time.

It's all about the maths behind going from your linear image to what you display on your monitor. The default is a 2.2 gamma curve, but there are many other options, which actually prove to look better. The highlights were not blown out, and everything had quite a film like look. Pretty cool! Try it yourself

Overall I learned A LOT whilst creating this image. I absolutely loved diving into all these mini details. I definitely think one of my next pieces will once again be a small scenery. It's just SO much fun! Hope this was a little bit useful, and don't hesitate to contact me if you have any questions or remarks. I'm always looking to learn!

合成

最后一步的过程!对于这个图像,不需要很多的合成工作?它呈现出相当不错的渲染引擎!

我根据我提出的ID掩码,一些整体分级,以及一些纹理和景深,为一些单独的对象添加了一些颜色校正。

我每个项目都会尝试学习新事物,探索新技术。在这个项目中,我想尝试索尼的SPI-ANIM OCIO配置文件,而不是Nuke中默认的2.2伽玛曲线。在这篇文章中有太多的解释,但是用一个快速的Google,你可以随时阅读它。

这是关于从线性图像到您在显示器上显示的数学背后的数学。默认是2.2伽玛曲线,但还有许多其他选项,实际上证明是更好看。亮点没有被吹灭,一切都有一个像电影一样的电影。很酷啊自己试试

总体而言,我创造了这个形象时学到了很多东西。我绝对喜欢潜入所有这些迷你细节。我绝对认为我的下一个作品将再次成为一个小风景。这只是很有趣!希望这有点有用,如果您有任何问题或意见,请随时与我联系。我一直在寻找学习!

评论

{{ username ? username.charAt(0).toUpperCase() : '?' }}
Ctrl+Enter 发布
{{ (c.username || c.author_name || '?').charAt(0).toUpperCase() }}
{{ c.username || c.author_name }} {{ Utils.formatDate(c.created_at) }}