[Houdini] 不成熟的MOPs指南
MOPs是Houdini的第三方動(dòng)態(tài)設(shè)計(jì)節(jié)點(diǎn),設(shè)計(jì)思路大概率來(lái)源于Cinema 4D。Cinema 4D里的克隆器把物體拷貝很多份后,可以用效果器對(duì)物體進(jìn)行變換,效果器有一個(gè)falloff選項(xiàng),用來(lái)控制對(duì)不同物體的變換強(qiáng)度。在某個(gè)版本后,Cinema 4D把Falloff單獨(dú)分出一個(gè)工具欄,改名叫field,域。在MOPs里,F(xiàn)alloff仍然叫做Falloff,不過(guò)它一直是單獨(dú)的存在。
MOPs也是由一些Houidini的基本節(jié)點(diǎn)和vex代碼構(gòu)成,所以它們之間的一些功能可以相互補(bǔ)充,可以用MOPs的Falloff生成屬性做一些其他的事,也可以用Houdini的節(jié)點(diǎn)生成Falloff給MOPs的效果器使用。
1 Falloff

Falloff節(jié)點(diǎn)基本上是通過(guò)各種直觀的方式添加大小從0到1的屬性,默認(rèn)叫做mops_falloff。值得一提的是MOPs Spread Falloff,這可以當(dāng)作一個(gè)infection solver。
2 Generators

Generatros 用于生成packed object,打包幾何體。MOPs Convert大致相當(dāng)于assemble節(jié)點(diǎn),它可以通過(guò)連接性或者名字屬性對(duì)幾何體打包。MOPs Explode對(duì)每個(gè)面進(jìn)行打包。MOPs Instancer相當(dāng)于C4D里的克隆,或者功能更豐富的copy to point,它們都會(huì)添加一些MOPs效果器需要的屬性,id,name,rest。
后三個(gè)節(jié)點(diǎn)不生成打包幾何體。
3 Modifiers

Modifiers對(duì)打包的物體進(jìn)行變換,這個(gè)節(jié)點(diǎn)是魔法發(fā)生的地方。
用assemble對(duì)rubber toy打包,如果用transform節(jié)點(diǎn)變換,rubber toy是作為一個(gè)整體變換,用MOPs里的Transform_Modifier變換,發(fā)現(xiàn)每一個(gè)packed小塊單獨(dú)變換。

這是因?yàn)椋阂话愦虬^(guò)的物體,每一個(gè)小塊都會(huì)有叫做pivot和transform的內(nèi)置屬性記錄打包物體的軸心和位置。Transform_Modifier修改這些屬性,對(duì)每一個(gè)小塊單獨(dú)變換,這一步也是mops_falloff屬性派上用場(chǎng)的地方,Modifier會(huì)根據(jù)這個(gè)屬性控制變換的程度。

下面5個(gè)是主要的Modefier。手動(dòng)變換,看向目標(biāo),沿曲線運(yùn)動(dòng),沿網(wǎng)格運(yùn)動(dòng),噪聲運(yùn)動(dòng)。

MOPs Delay?和?MOPs Spring Modifier是兩個(gè)特殊的Moderfier,用來(lái)調(diào)整現(xiàn)有的變換。


MOPs Pivot可以對(duì)齊或者用vex修改打包物體的軸心位置。
4 Tools

Tools是MOPs的基本節(jié)點(diǎn),很多節(jié)點(diǎn)都由它們構(gòu)成。
MOPs_Extract_Attributes提取打包物體的變換屬性:p@orient、v@scale、v@N、v@up、v@pivot。
MOPs_Apply_Attributes對(duì)打包物體應(yīng)用變化屬性:p@orient, v@up,v@up,v@N,v@scale,f@psclae。
MOPs_Index_From_Attribute 把屬性值映射成整數(shù)的序列值。以前自己還寫過(guò)類似的代碼,沒想到這里有現(xiàn)成的。
MOPs_Visualize_Frame 顯示打包物體的旋轉(zhuǎn)矩陣。