スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

modoでスクリプト作成

modoはマクロ機能が楽に作れるように設計されているようだ。

しかしながら柔軟なことをしようとするとスクリプトを書いた方が早い。
そこで調べてみると。
PythonやLuaなどで書けるみたいだ。

BlenderでPythonは使っていたので??そこまで苦労せずに使えそうだ。

ライトの位置をXNAに取り込むときに座標を調べるのが面倒だったのでスクリプトにしてみた。


#python
import lx
n=lx.eval("query sceneservice item.N ?")#アイテム数
str=""#選択したオブジェクト座標をまとめたもの
cnt=0#どうやら文字列に文字数制限があるようなのでたまに書き出す
lx.out()
for i in range(n):
if lx.eval("query sceneservice item.isSelected ? %s" % i):
pos=lx.eval("query sceneservice item.pos ? %s" % i)
str=str+("%f,%f,%f,\n" % (pos[0],pos[1],pos[2]))
cnt+=1
if cnt>10:
cnt=0
lx.out(str)
str=""
lx.out(str)

さっくり動いた。
スクリプトを始める人は
公式リファレンス

Zで行こう様(次の記事を押していくとどんどん先がみれるよ!)
を参考にすれば大丈夫だと思う。
もしかしたら言語の勉強をしなくても作れちゃうかもしれない。

ねよっと。
スポンサーサイト

modoから書き出したFBXファイルをXNAに取り込んでみた

今までモデルデータはC4DでFBXをエクスポートしてたのだけれど
何も考えずにmodoから書き出したFBXデータをXNAで読み込むとエラーが出てしまい読み込めなかった。


そこで書き出す前にやったことの忘却録
やらなくて良いものもあるけどやっておくと読み込み速度が結構違う。
(※注 自作パイプラインなので標準のFBXインポータは調べてません)

・アイテムマスクは使わないようにする
使っていたら変なエラーがでたよ

・使っていないマテリアルを削除
重くなるからね

・変なポリを消す(右下のリストの常態から簡単に探せる)
元から消しとけよってね!

・サブディバイドの効いたポリゴンを無くす
これもリストの常態で簡単に探せるぞ

・位置は原点、スケールは100%になるようにフリーズしておく
読み込んだ先でスケール参照してないのでフリーズしておかないと大きさとかめちゃくちゃに!

・画像の位置はドライブが一緒なら相対パス、違うなら絶対パスになるみたい
Contentフォルダからc:\とみなすようだよ

・ウェイトマップも消す
一つだけ消せないのがあるけどそれ以外は消しちゃえ

・一応すべて△ポリにする(多角形消すだけでいいかも)
多角形ポリが反転してる部分を発見したよ


これで綺麗に受け渡しができた。

当初、書き出し側の規格を完全に一致させたいと考え
modo→lwoファイル書き出し→c4dで読み込み→FBX書き出し→XNAパイプライン
としていたんだけど
・lwoになるとき勝手に親を生成してしまい、しかもその親からの相対位置に移動させられる(先にルートロケータやルートになるフォルダを作ってもダメだった)
・UVが若干崩れる

と、保守性が悪そうなので直接書き出すことにしたのだ。


modoから書き出したFBXはコンパイルに時間がかかる。
こやつ、余計なものを付け足しているに違いない



ねよっと。

マテリアルの複製(modo)

modoでマテリアルを複製するつもりでアイテムマスクごと複製(ポリゴンによるマスク)

マスク(を表すグループフォルダ)の名前を変える

上記の行為をする場合は注意がいる。
やってみると分かるけど名前を変えるときにコピー元の名前も変わる。
一度ポリゴンタグを「なし」に変えてやれば問題ない。

「名前を変える」時に参照先が2個ある場合どちらも変わっちゃうのかな?・・
とりあえずグループはコピーせず作成してから中身をコピーしたほうが無難そう。


昨日の記事で反射を含むものはベイクできないって書いたけどmodoはBlenderと違ってベイクできちゃった。
始点位置(カメラ)を変えると毎回ベイクする内容が変わる。
カメラから見えてない部分の法線と目線の関係はどうやって算出しているのかわからないけど違和感なく書き出せていた。ゲーム製作にはすごい便利!

あと3日ほどでMAPが出来上がりそうなので知り合いとネット上で衝突判定テストプレイを楽しむ予定。
照準とかないから普通に当たらない気がする。


ねよっと。

modoのベイク

最終出力をベイクしたかったのだけれど方法が分からずに彷徨った。

下記の方法で探していたのだけれど
・シェーダツリーに新規テクスチャを用意
・右クリックメニューのテクスチャにベイク


この方法では最終的な色を取得できない?ようだ。

以下の方法でベイクすることができた。
・最上部にある「レンダー」から「レンダー出力へベイク」

ちなみに仕組みを考えれば当たり前だけど、ベイク機能は金属や透過物のように「目線」によって色が変わるものは基本的にうまく焼きこめない。
昔Blenderで一生懸命になって鏡をベイクしようとしていたのを思い出した… 汗。


ねよっと。

パイプライン

modoのパイプラインについて。

既存のツールを組み合わせることで自作ツールとして構築する機能。
いちいち作らなくても現状不満はないけど…。

pipeline.jpg


E 項目を有効/無効(そのツールを利用するものが別にあると無効にできない)
V 表示/非表示
A ツールがアクティブかどうか

~ツール名を右クリックして出るメニューの説明~
・自動的にアクティブにする
ツールは基本的に「値を入れる」→「ビューをクリック」 か 「ツール名を右クリック」→「ツールを適用する」で実行されるのだが
このチェックを入れておくとキーを押すなどしてツールを起動した直後にツールを適用させることができる

・ロックする
このツールの現在のツールプロパティの値を ツール起動時の初期設定値として記憶させる
チェックを外すするとデフォルトである「前回の値」がツール起動時の初期値として使われることになる

・自動的に解除
ツールを起動したら即ツールが解除されるようにできる
例:ベベルでこれをONにすると面を選んでドラッグしていくだけで次々に面を生成できる

・セレクトスルー
ツールを解除することなく面などを選択できるようにできる



それにしても「アクションセンターローカル」と「タックツール」が果てしなく便利。

ねよっと。
プロフィール

あしゅ

Author:あしゅ
ぷぃぷぃ日常。
いつのまにか雑記ブログに。

カテゴリ
最新記事
検索フォーム
最新コメント
リンク
このブログをリンクに追加する
ブロとも申請フォーム

この人とブロともになる

カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。