上記の広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書く事で広告が消せます。
--.--.-- --:-- | スポンサー広告 | トラックバック(-) | コメント(-) |

XBgridRefPlane from ringpull on Vimeo.



scriptにオブジェクトに拘束されたリファレンスプレーンを追加

gridオブジェクトに拘束されたリファレンスプレーンを作ります
gridオブジェクトを動かすとそのオブジェクトに関連づいたリファレンスプレーンが追従して動きます

カメラに拘束させたりもしたんですが
結局こんな感じに
スクリプトにカメラに対した向きのラティスを追加



選択中のビューのカメラに対した向きでラティスを設定します

久しぶりに更新
前にもあったらいいなとか思ったんですが
TLでいってたカメラに向いたplaneがどうのこうのなヤツをいじってるついでに作ってみたっす
planeがどうのこうのもそのうちはるかも
p1.png


水色が現在値、緑が最大、紫が最小
ICE自体は値を持つオブジェクトとは関係ないオブジェクトに入ってたり
シーンを再生させると値が更新される的な
junkiさんのところでレイヤーとグループの区別のつけ方の話題がでてて
昔の記事のコメント欄をみて、あーこのときGUIDの話が出たんだなーなんて思ったりしたのですが
思ったついででオブジェクトのクラスIDのネタを
MTspringのツールバーに"Toggle DisplayInfo"というボタンがあって
中身をみると

var displayInfos = FindObjects("","{675F9E0C-6851-11D2-B335-00105A1F4A37}");

for(var i=0;i<displayInfos.count;i++)
{
displayInfos.item(i).custominfo.value = !displayInfos.item(i).custominfo.value;
}

となっています
{675F9E0C-6851-11D2-B335-00105A1F4A37}がカメラのビジビリティのPropertyのIDで
シーン中のカメラのビジビリティを集めて
カスタムインフォメーションのブール値をトグルしてるようです。

で、応用して数字の部分をたとえば
{470CF890-D3AA-11D0-996C-00A0243F0E60}にして
displayInfos.item(i).mute = !displayInfos.item(i).mute;と書き換えると
シーン中のオブジェクトのエンベロープをミュートをトグルできます

数字の部分はSDKエクスプローラのadvanced Infoで確認できます。


ちなみにかき集めるのはパラメーターのみにかぎらず
たとえばシーン中の特定のシェーダーノードを
マテリアルを意識しないでコレクションすることもできました。
{FF66A9F8-BB42-480D-834D-BC5FC6E3AD23}だとAOノードとか。
値をまとめて変更とかチェックとかどうでしょう、どうなんでしょう

<追記 11/06/13>
上記のシェーダーノードをコレクションする話ですがxsi7でやったんですが
2012だとシェーダーのクラスIDが同じになってて無理でした
シェーダー集めたあとprogIDで選別する必要があるみたいな感じでした
別物かよw
互換性というか古い状態を再現するオプションとかないのかな
名称未設定 1

ICE,UVmorph2 multi target from ringpull on Vimeo.


複数ターゲットがある場合、みたいな