3ds Maxスクリプト紹介|ランダムスケールで簡単に自然なバリエーションを

3ds Maxスクリプト紹介|ランダムスケールで簡単に自然なバリエーションを

こんにちは、福永です。

今回は、オブジェクトのスケールをランダムに変更できるMAXScriptをご紹介します。

 

どんな時に使える?

たとえば、

  • 植栽の高さにランダムなムラを出したいとき

  • 凹凸のあるタイルモデルの自然なばらつきを作りたいとき

などに活用できます。

手作業では意外と面倒なこの作業も、スクリプトを使えば一瞬です!

 

実際に使ってみた

 

①植栽

 

②タイル

 

スクリプト紹介①:XYZすべての方向にスケールを適用

植栽や岩など、ランダム感を全体的に出したいときにおすすめです。

minScale = 80
maxScale = 120

for obj in selection do
(
if isValidNode obj then
(
scaleX = random minScale maxScale
scaleY = random minScale maxScale
scaleZ = random minScale maxScale

local theTM = obj.transform
local thePos = obj.position

sMat = scaleMatrix [scaleX/100.0, scaleY/100.0, scaleZ/100.0]

obj.transform = preTranslate (sMat * (preTranslate theTM (-obj.pivot))) obj.pivot
obj.position = thePos
)
)

 

スクリプト紹介②:Z方向のみにスケールを適用

厚みや高さだけを変えたい、タイルやパネルの凹凸表現に便利です。

minScale = 80
maxScale = 120

for obj in selection do
(
if isValidNode obj then
(
scaleZ = random minScale maxScale

originalTM = obj.transform
originalPos = obj.position

sMat = scaleMatrix [1.0, 1.0, scaleZ / 100.0]

obj.transform = preTranslate (sMat * preTranslate originalTM (-obj.pivot)) obj.pivot
obj.position = originalPos
)
)

messageBox “Z方向のスケールをランダムに変更しました。” title:”完了”

 

使い方

  1. スクリプトをコピー

  2. 3ds Max の「スクリプト」→「新規スクリプト」に貼り付け

  3. 選択したオブジェクトに実行!

 

時間短縮・クオリティアップにお役立てください!


現在シェルパグループでは、一緒に働く仲間を募集中!
建築パース、3DCG、UnrealEngine、Unity、プログラミングに興味のある方は
是非リクルートサイトをご覧ください!

■リアルな3DCG制作の仕事をしたい方必見!
https://sherpa-recruit.jp/