人気ブログランキング | 話題のタグを見る

p-diary

planet2nd.exblog.jp
ブログトップ
2009年 03月 09日

ICE_UV_TEX_Gra_修正

※ダイキンのこの記事を参考にしてます。
http://www.comtec.daikin.co.jp/DC/prd/si/UsersNotes/fmt/ICEDOC/ICE_TextureProjection001.html

ダイキンの記事のままでは
オブジェクトの回転、スケールに対応していないので、(ワールドに拘束されています)
そのあたりを改造してみました

ICE_UV_TEX_Gra
以下の改造でいけますた。たいしたことはしておりません。

ICE Deformでの作業
ICE_UV_TEX_Gra_修正_b0019436_12334848.jpg



1.移動・スケールでの問題点
回転座標のみほしいわけだから
 クオータニオン>ローテーション>SRT(ローテーションだけ入力)>4x4マトリックスとする。
ICE_UV_TEX_Gra_修正_b0019436_1234227.jpg



2.UVのY値をコントロールできるように
 XYベクトルのY入力を外部入力にする。
ICE_UV_TEX_Gra_修正_b0019436_12344178.jpg



エンブロープ後のUV変換
 2ndShpeDeformにICEDeformを移動

以上です。


問題点というか仕様上しょうがないのですが、
 ポイントの法線は接するポリゴンの平均値をとり、それをUVに落とし込みます。
 UVが接続してなければ、それぞれのポリゴンの法線を拾得できるかもしれませんが、
 現状として、ポイントの法線ですのでUVは分離されず、鋭角はきれいに表現できません。

 ポリゴンのノーマルを分離UVに適用できれば可能かもしれませんが、どうなんでしょうか?

メモ
2ch > TextureEditorの設定から、一般→自動同期(コンポーネント)
>ドングルの人は C:\spm フォルダをバックアップしておけば
>再インストールも ok らしい。









/*使うな危険*/
ダイキンのスクリプトをもとに
 JScriptに直し、手を加えてみました ※未完成です

GetDataNodeが取り出せないのはどうしてだろう?
I CEのSDKが無いと思っていたら、日本語版は6まででした  orz
  そりゃ 6には搭載されてないわ しかたなく英語

テクスチャプロジェクションを適用
 フリーズでサポートを消去など、
  現状のObjに取り返しのつかないことをやらかしてます(w

しかもコマンドモデルの羅列
 コマンドモデル>オブジェクトモデルの検索のしかたがわからん。

//Add_ICEDeform_Uv_Tex_Gra

var oSel = Selection(0)

if(oSel.type == "polymsh")
{
sPropertyName ="Uv_Tex_Gra"
CreateProjection(oSel, siTxtPlanarXY, siTxtDefaultSpherical, "Texture_Support", sPropertyName, null, siRelDefault, null);
FreezeModeling(null, null, null);
var oIce = ApplyOp("ICETree", oSel, siNode, null, null, 3);
var oSetData = AddICECompoundNode("Set Data",oIce);
SetValue(oSetData + ".Reference", "Self.cls.Texture_Coordinates_AUTO." + sPropertyName + ".UVs", null);

//var oGetData = AddICECompoundNode("$XSI_DSPRESETS\\ICENodes\\GetDataNode",oIce);
//SetValue(oGetData.name, "Light", null);

ConnectICENodes( oIce + ".port1", oSetData + ".Execute" );
}
else
{
Logmessage("ポリメッシュを選択してちょ")
}

by tera_planet | 2009-03-09 12:41 | XSI


<< サイト紹介-rig xsi初期設定      UV_Tex_Graの現状での問題点 >>