昨年末はコレを人にやってもらったのですが、スクリプトがあっけなく出来ちゃったので、楽できます。

automap.jpg

GUIつけるのメンドくさいので、相変わらず決め打ちです。getFiles()のところで適当なテクスチャへのパスを書いて下さい。見つかった分だけ貼っ付けます。平面は先に用意しておいてください。配列コピーなり、群衆スキャッタなりで。あとは平面を複数選択して実行。

-- autoMaptex.ms by hTaka
numOfObj = selection.count;
files = getFiles "F:¥¥YOUR_TEXTURE_PATH¥¥sceneassets¥¥images¥¥*.jpg";
numOfBitmaptex = files.count;
matArray =#();
for i = 1 to numOfBitmaptex do
(
	matArray[i] = standard diffuseMap:(bitmaptexture filename:files[i]) showInViewport:true;
)
j = 1;
for i = 1 to numOfObj do
(
	selection[i].material = matArray[j];
	j = j + 1;
	if j > numOfBitmaptex do j = 1;
)

ランダムに貼付けるなら、

selection[i].material = matArray[(random 1 numOfBitmaptex)];

です。後はマテリアルの作成部分を書き換えるなりご自由に。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です