2005/12/12

FitSizeToImage

久々の更新です。
だいぶ間が空いてしまいました・・・(^^;
仕事で画像の貼られた"Plane"がたくさん配置してあるシーンを作っていたのですが、すべてのマップ素材を差し替えるという事態になり、Planeの縦横比を修正するのが大変だったのでスクリプトを簡単に書いてみました。このスクリプトはポリゴンに集約してしまった場合には使用することができません。

ピボットの位置さえ合っていれば、まず適当なサイズのPlaneを配置してマテリアルを適用しておけば一括で画像サイズに合わせることができます。その後は、「UVWMapper」でUVWマッピングすれば簡単ですね!

---以下スクリプト---

macroScript FitSizeToImage category:"KOHScript"
(
on execute do
(
undo on
(
disableSceneRedraw()
for i in selection do
(
if i.material != undefined then
(
if i.material.diffusemap != undefined then
(
i.length = i.material.diffusemap.bitmap.height
i.width = i.material.diffusemap.bitmap.width
)
else ( Messagebox "Non Diffusemap" )
)
else ( Messagebox "Non Material" )
)
enableSceneRedraw()
completeRedraw()
)
)
)


---ここまで---

もしPlaneのサイズが大きすぎて(小さすぎて)スケールで直す必要出てきた場合は、
-----------------------------
for i in selection do
(
scale i [0.2,0.2,0.2]
)

-----------------------------
で一気に修正することができます。
[0.2]というのは20%という意味です。