xsi 初心者スレ まとめ@Wiki Q&A (7)


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

■Q&A (7)


5スレの765あたりから



テンプレ
Q.
A.







Q. 1つのビューの中で任意のモデルはテクスチャ表示して他のモデルはワイヤフレーム表示というような
 設定はできますか?
A. 各ビューのDisplayOptionのDisplayModeのMixedViewingModeというチェックを入れると
 そのモードになります。
 Ctrl+4するとDisplayTypesってパレットが出るので、そのれTを押してモデルをPick
 すればそいつだけTexture表示になります。







Q. 海面でこんなん見つけたんですが、
 ttp://apple.mokuren.ne.jp/loader_1/src/apple010523.jpg
 ttp://apple.mokuren.ne.jp/loader_1/src/apple010522.jpg
 これは多分、平面グリッドになんらかのシェーダーを適応してるのかなぁ、、、と思うのですが、
 どんなシェーダーを使っているのかお分かりになる方がいれば、教えて頂けませんか?
A. ディスプレイスメントマップ使って波を作って
 あとは適当にシェーダー色々使ってプロパティいじってみ
 NetViewに海シェーダーがある。重いけど。
 ttp://www.softimage.com/community/xsi_net/L04_body/content/render/create/simple_ocean/simple_ocean.emdl
 海面は
 ttp://www.xsibase.com/forum/index.php?board=12;action=display;threadid=25754
 これを参考にどうぞ
 サンプルシーンもダウンロードできる
 透明度と屈折率(1.2)を設定したイルミネーションシェーダ(ブリンやフォンシェーダー)を
 マテリアルのサーフェスノードにつなぐ。
 XZテクスチャプロジェクションを与えたフラクタルシェーダーを(バンプをONにして)マテリ
 アルのバンプノードにつなぐ。
 後は好みに合わせてボリュームシェーダーを追加してやってもいい。





Q. デフォルトのカメラ設定が『NTSC D1 16/9 720x486』となっていました。
 そしてその設定をレンダーオプションのフォーマットで『カメラから更新』でコピー?して、
 その設定でレンダリングしました。するとレンダリングされた画像が縦に伸びたような画像
 になってしまいます。カメラビューとレンダリングされた画像を同じに見えるようにするには
 どういう設定をすればよいでしょうか?
A. ピクセル比を1にすれば直ると思う。







Q. XSI道場にあるこのアクティブなビューのX-Rayモードオンオフスクリプトが使えないのですが
 原因わかりますか?
 set oVM = Application.Desktop.ActiveLayout.Views.Find("View Manager")
 set oView = oVM.Views(GetFocusedViewport)
 cam = oVM.GetAttributeValue("activecamera:"& oView)
 LogMessage oView & ", " & oView.Type & ", " & cam
 if oView.Type = "Viewer" Then
 if cam = "User" or cam = "Top" or cam = "Front" or cam = "Right" then
 gVal = GetValue ("Views.View"& oView &"."& cam &"Camera.camdisp.xrayshaded")
 if gVal = "False" Then
 SetValue "Views.View"& oView &"."& cam &"Camera.camdisp.xrayshaded", True
 SetValue "Views.View"& oView &"."& cam &"Camera.camdisp.xraytype", 1
 else
 SetValue "Views.View"& oView &"."& cam &"Camera.camdisp.xrayshaded", False
 SetValue "Views.View"& oView &"."& cam &"Camera.camdisp.xraytype", 0
 end if
 else
 gVal = GetValue (cam &".camdisp.xrayshaded")
 if gVal = "False" Then
 SetValue cam &".camdisp.xrayshaded", True
 SetValue cam &".camdisp.xraytype", 1
 else
 SetValue cam &".camdisp.xrayshaded", False
 SetValue cam &".camdisp.xraytype", 0
 end if
 end if
 end if
A. ( ^ω^) おっおっおっ
 set oVM = Application.Desktop.ActiveLayout.Views.Find("View Manager")
 set oView = oVM.Views(GetFocusedViewport)
 cam = oVM.GetAttributeValue("activecamera:"& oView)
 if oView.Type = "Viewer" Then
 Select Case cam
 Case "ユーザ(U)"
 str = "Views.View"& oView &".UserCamera.camdisp"
 Case "トップ(T)"
 str = "Views.View"& oView &".TopCamera.camdisp"
 Case "フロント(F)"
 str = "Views.View"& oView &".FrontCamera.camdisp"
 Case "ライト(R)"
 str = "Views.View"& oView &".RightCamera.camdisp"
 Case Else
 str = cam &".camdisp"
 End Select
 ToggleValue "xrayshaded", str
 end if

 せっかくなんで、>>795のScriptを英日両対応に改造。
 全角半角が混在してるから、保存するときはScriptEditorから保存するか、UTF16あたりで保存する事をお勧めする。

 set oVM = Application.Desktop.ActiveLayout.Views.Find( "View Manager" )
 set oView = oVM.Views( GetFocusedViewport )
 cam = oVM.GetAttributeValue( "activecamera:" & oView )

 if oView.Type = "Viewer" then
 dim aCamList
 if GetValue( "preferences.General.language" ) = "jp" then
 aCamList = Array( "ユーザ(U)", "トップ(T)", "フロント(F)", "ライト(R)" )
 else
 aCamList = Array( "User", "Top", "Front", "Right" )
 end if

 Select Case cam
 Case aCamList(0) 'User
 attr = "Views.View" & oView & ".UserCamera.camdisp"
 Case aCamList(1) 'Top
 attr = "Views.View" & oView & ".TopCamera.camdisp"
 Case aCamList(2) 'Front
 attr = "Views.View" & oView & ".FrontCamera.camdisp"
 Case aCamList(3) 'Right
 attr = "Views.View" & oView & ".RightCamera.camdisp"
 Case Else
 attr = cam &".camdisp"
 End Select
 ToggleValue "xrayshaded", attr
 'SetValue str & ".xraytype", 1
 end if





Q. XSIのモーションブラーが汚い処理されちゃんうんだけど
 デフォルトだとブラーかかった所がブツブツになってる
 サンプリング許容誤差って所を0.01とかにするとマシになるんだけど
 とても重たくて実用的じゃない・・・
 XSIを常用してる皆はどうやってるの?
A. ブラーはパスでカラーマスクを分けてAEでかけてるなぁ。
 トライアンドエラーはそっちのほうがきくし。
 単に2Dブラー使えばいいんじゃね?
 もしくはこれ使うか。
 http://www.alamaison.fr/3d/lm_2DMV/lm_2DMV_ref.htm






Q. テクスチャを、カメラから離れるにつれて薄くしてゆく方法ってないすか?
 一定距離以上は、グラデーションしながら消滅。みたいな感じです。
A. RenderTreeでImageとPhong等の間にMix2Colorを挟んで、それのWeightに
 ScalarState->ChangeRange->2D_Gradientと繋ぐ。ScalarStateはRayLenght
 ChangeRangeで消え始めと消えきる距離、2D_Gradientは白黒にしてInputをScalarに
 すればOK。2D_GradientはNodeメニューの下から3番目の方の奴を使う事。
 グラデのカーブは2DGradientの中で決める。







Q. オブジェクトの寸法を測るメジャーみたいな機能ありますか?
A. googleで「XSI 距離を測る」で検索してみよう!
 カーブの長さの情報を取得できるらしいよ。







Q. アンビエントオクリュージョンって一般的にはテスチャに焼き付けて使用するものなんですか?
A. アンビエントオクルージョンはオブジェクト単体で、光源も無しに処理を完結できるので、
 ゲーム用のテクスチャ焼付けに向いているというだけの話。







Q. メタセコからXSI(モドツール)にもってくとテクスチャが上手く反映されてないんだ
 モデルとテクスチャは同じフォルダ内に入れてdotXSIで変換してる
 モデル自体はよいんだけどレンダすると虹色のマップが見えるだけなんだ。
 ここからどうしたら、いい?
A. パスが相対値に設定されてるんじゃない?
 新しいシェーダにテクスチャを繋ぎなおせばいいじゃん。






Q. シーンをロードしたときにスクリプトを自動で実行することって出来ますか?
A. PluginManager起動してItems>Files>New>Eventsでウィザードが出てくるから
 適当に名前つけて好きな言語選んでEventDefinitionタブでイベントの起動タイミングにチェックいれてから
 下のGenerateCode押すと雛形を作ってくれる。

 で途中の
 # TODO: Put your code here.
 に走らせたいスクリプトをコピペすればおk。

 俺の場合だとXSIの起動時StartupEventと新たにシーンを作った時EndNewSceneEventに
 下の設定してる。

 Set VM = Desktop.ActiveLayout.Views.Item("VM")
 VM.SetAttributeValue "activecamera:b", "user"

 SetValue "Views.ViewB.UserCamera.camdisp.hidlincoltype", 1
 SetValue "Views.ViewB.UserCamera.camdisp.wireontopunsel", True
 SetValue "Views.ViewB.UserCamera.camdisp.transpshaded", True
 SetValue "Views.ViewB.UserCamera.camdisp.mixviewmode", True
 SetValue "Views.ViewB.UserCamera.camdisp.culbackface", True
 SetValue "Views.ViewB.UserCamera.camvis.selectioninfo", True
 SetValue "Views.ViewB.UserCamera.camvis.sceneinfo", True
 SetDisplayMode "Views.ViewB.UserCamera", "hiddenline"

 もちろんカメラ以外のスクリプトもおk。
 まあこの知識自体がこのスレで教えてもらったやつなんだが。知識還流。
 SDKはeventで検索すると該当箇所でてくるでよ。







Q. 4.2fnd買った人は5も6も買ってるの?
 私はまだ4.2使い切れてないので・・・。
A. 4.2で初めてfndを買って(そのときすでに日本語版が出ていた)、
 5は日本語版が出てから買った。
 仕事に使い出したのは5から。
 6は日本語版が出てから買う予定。
 操作に慣れたんで英語版の6でもいいけど、
 今やってる仕事が5.11だからそれが終わるまでは5.11を使う予定。







Q. クロスが上手く行きません、助けて下さい。重力と風は確かに影響しているのですが、
 斜め下にビローンと伸びて終わりです。もっとこう、ヒラヒラとさせるにはどのように
 設定すればよいのでしょうか?
A. Tubulance(日本語IFだと乱流?)を加えるとかViscityのNoiseを加えるとか
 WindじゃなくてFanを使って、強さ方向をアニメーションするとか・・
 Fanが効かないのはClothOpのFanForceがデフォルトで0だからでは?
 いい事を教えましょう。旗の動きを作りたいなら、実際に振ってしまう事です。
 気持ちよく動いたらPlotして、旗のアニメーションを捨てちゃえばOK。
 最も簡単に意図通り動かせますよ。後で修正する事考えて、Plot前にセーブする事
 をお忘れなく。
 旗なんかwaveデフォーマでやれば?
 SI3Dの頃はお手軽でリアルタイムに見れたからよく使ってたけど。
 小波、中波、大波の3つを角度と位相と振幅を変えて重ねればかなり旗らしく見える。
 あとは旗を振ったときの挙動はTrailにすればバッチリ。






Q. XSIでグロー(自己発光)効果を設定するにはどうすればよいのでしょうか?
 MAYAなどはマテリアル設定の項目に普通にあるのですが、XSIは何か特
 別なことをしないとならないのでしょうか?宜しくお願いします。
A. 2DGlowならアウトプットシェーダなのでカメラのほうに何か設定してやったはず
 オブジェクト選択→レンダツールバー内のプロパティ→グロー
 設定を変更したい場合は、オブジェクト階層下にグローの
 プロパティが生成されるからそれをいじる。






Q. モーションブラー使うとブラー掛かった所がブツブツになるんだけど
 なんというかノイジーな感じ
A. アンチエイリアスを上げるんじゃなかったっけか?








Q. アニメーション付きのオブジェクトを、
 mayaへ正確に持って行く事って簡単に出来ます?
A. さすがfndスレだな。アニメーションってTransformだけか?
 だったらdotXSIかfbxでもっていける。fbxがxsi6に対応したのがあるのか知らんけど。
 dotXSIならVisualStudioとかが必要だけどな。







Q. 購入検討中なのですが、XSIもUVマップ用画像を先に作成しておいて、その後モデルを展開にして、
 画像にポイントをマッチさせていく手法ですか?
 それとも、展開した図形を外部ファイルに書き出して、色づけ。それを元に展開した図形に合わせる手法でしょうか?
 LW:図形作成→展開→合成
 XSI:展開→ファイル出力→色付け→合成?
A. どっちでも好きな手法でできるよ







Q. UVマップの画面は、XSIでは別ウインドウになるのですか?
A. 別に出すこともできるし今のウインドウを切り替えて表示することもできる。








Q. マシンスペックなんですが、セレロン2GHzのオンボードGPUですが、だめですか?
A. 体験版で判断しろ







Q. 任意のモデルに他のモデルの影を落とさないようにする方法を教えてください
A. 任意のモデルのvisibilityプロパティで、
 シャドウ/レシーバのチェックをオフ







Q. ver4.2のvisibilityプロパティにはシャドウ/レシーバが無いんですが
 他の方法はあるでしょうか?
A. 4.2で、エクスプロラからモデルのvisibilityをダブルクリックして
 プロパティ見るとレンダリングの中にシャドウのチェックボックスがあるよ。
 それをオフにすりゃいいんじゃない?
↑↑↑↑↑
 それだと任意のオブジェクトの影が消えるだけじゃないですか?
 任意のオブジェクトに他のモデルの影が乗らないようにしたいんです
A. 4.2の場合は車道パス作れ。
 落とす側と落とされる側のマテリアルのShadow口にBA_Visbool
 簡単なオブジェクトで「セレクティブシャドウ」パスを試してみるがよい






Q.
A.







Q.
A.







Q.
A.







Q.
A.







Q.
A.







Q.
A.