 |
V1.5 的新功能
这个练习将学习如何建立一个双面材质,举例来说一个碗,碗内为平滑的白磁,而碗的外表则是粗糙的深色表面。
我们将用两种不同的质感(Material
),共用在一个材质(Shading Group
)上。并且让你既快速又方便的任意切换里外的质感(Material )。 |

步骤一:
执行Primitives->Create NURBS ->Sphere先产生一个球,并调整好你要的大小及放置的位置。然后mouse在球上按右键,出现次目录再选择Isoparm(面上的线),接著在球的上方选好一Isoparm之后,执行Edit Surface->Detach Surface, 从所选择的Isoparm为界线将球由一个物件变为两个物件。选择上方的物件,将它Delete。接下来我们将利用所剩的半球形作双面材质的贴图。
步骤二:

打开Multilister,选择Edit->Create然后建立一有Shading Group的Blinn材质,也就是将With
Shading Group的功能打开,将颜色改为红色,并指定给物件。

步骤三:
从Multilister再选择Edit->Create建立一没有Shading Group的Phone的材质,也就是将With
Shading Group的功能关闭,另外在Utilites里再产生两个节点Condition、Sampler
Info。所以在这个步骤里我们产生的节点有:
- Phone 将用来作为第二个材质
- Sampler Info
将用来控制正反面Normal,何者为正,何者为反
- Condition 将接收Sampler
Info传来的讯息,把正反面Normal的资料传达给算图功具,决定那一面贴那一个材质

步骤四:
在Multilister里点两下Sampler Info,叫出属性编辑视窗,并且执行 Add->Add
Attributes增加一属性并取名为flippedNormal, Data Type定义为Boolean。这个新增的属性是算图时辨别正反面的资料传达器。

步骤五:
现在从Multilister用你的mouse中键抓取Sampler Info的节点放在Condition的节点上,结果将自动开启Connection Editor。在 Connection
Editor里,连结 flippedNormal和First Term两个属性这个动作将定义Sampler
Info里的flippedNormal属性为Condition的控制器,当算图时Sampler Info将正反面的讯息传达给Condition,由Condition来判别那一面贴那一个材质。

步骤六:
从Multilister用你的mouse中键抓取Blinn节点放在Condition的节点上,开启Connection Editor之后,连结Out Color和Color1两个属性,定义Blinn的材质为其中之一个材质。

步骤七:
从Multilister用你的mouse中键抓取Phone节点放在Condition的节点上,开启Connection Editor之后,连结Out Color和Color2两个属性,定义Phone的材质为其中另一个材质。

步骤八:
接下来我们要连结Condition里Out Color的属性和Blinn(Shading Group)里的Surface Shader的属性。所以一样是透过Connection Editor ,我们将Condition用中键抓放至左边Outputs区域,再将Blinn(Shading Group)用同样方法抓放至右边Inputs区域,最后将Out Color和Surface
Shader两个属性连结起来。这个动作让我们把之前所有相互连结的节点,全部整合到Blinn(Shading Group)里,而再由Blinn(Shading
Group)指定给物件。

最后要提醒各位的是,如果你是在操作视窗里用Hardware显示材质的方式,来预视你的贴图,是无法看到此种贴图法的效果,你还是必须透过Software去算图才可看到双面材质的效果。当然也别忘了要在场景里加上足够的光源。
另外如想改变里外的材质,则按两次Condition,启动属性编辑视窗, 在Operation里切换Equal或Not
Equal即可。
|