【プロ専用】Metasequoia【プロ以外厳禁】
■ このスレッドは過去ログ倉庫に格納されています
プロがメタセコ使ってるのか
業務用3Dソフトをさしおいてわざわざこのモデラー使う意義あるの? 何を以って業務用とするのか教えてくれ。
あと、なぜモデリング専用ソフトが存在するかの説明も。 ZBrush,siloなんかはそのソフトでしか出来ない事を提示して評価された
modoは別物か 評価は高いが統合ソフトの前段階として市場に出された物であり割高、存在意義については現状では疑問の声もある
メタセコの特色は軽さと安さとかになんのかな
数年前は仕事でも使ってる香具師多かったやね
そろそろ競争力面ではこのツールの価値も下がり気味かもしれないな 某スレで話題になっているコマンドランチャー。
ここは初心者向けじゃないって事で詳細解説なしで。
開発環境をVS2005に移行したついでにコンパイルしなおし。
私の環境では大きな問題は出てないようですが、人柱覚悟で。
私が使っている時のMQPop.txtは分かりにくいと思うので
最小限のものだけ記載しました。
ttp://f27.aaa.livedoor.jp/~mqdl/plug/mp.html
以下簡易解説
・selectプラグイン
・MQPop.txtもSelectフォルダへ
・MQPop.txtの数字は押す順番で仮想キーコード
・MQ_Global=常に表示
・MQ_ObjPanel=カーソルがobjpanel上の時表示
・MQ_Sel=何かしら選択されている時
・MQ_SelVertex=頂点が選択されている時
・MQPop自体をショートカットに登録しないとあんまり意味なし
・文字列は任意。ただし同等の文字列があった際には
検索して操作可不可切り替えます。
・文字列""でセパレータ
#そのうち消すかも知れません。
#使用にあたっては無保証。再配布は不可。
#実は結構前に書いたものなのでバグ報告頂いても
#修正対応するとは限りません。
人前に出してしまうと更新したくなるもので更新しました。
ver0.3→ver0.4
ちなみに私はあっちのスレと関係ありません >>本スレの847
>>アンドゥはMQModify〜でTRUEを返す流れを作ればOK。
ん〜と、モードレスダイアログはMQModifyHogeの中で処理をブロック
してメタセコにイベントを送りつける事で実現しているんですが、TRUE
を返しちゃうわけにはいかないんですよ。もしかしてなんか実装
間違えてます?
>>多重起動の問題はHook使えばOK。
すいません、Win32APIにそもそも明るくないのでもう少し詳しく
説明して頂けますか?
>>VCLアプリの問題はクラス名だけで判断しなければOK。
これももう少し詳しくお願いします><
847じゃないが。
サクっと親のメッセージハンドラフックしてしまえば良いのでは?
猫でもわか(ry の「ウィンドウのサブクラス化」とか。
まぁ、メタセコのプロセスフックした事は無いんでなんとも言えんが。 >>アンドゥはMQModify〜でTRUEを返す流れを作ればOK。
ソースで書くとこんな感じ。適当にundoの
フラグを立ててやる。
MQPLUGIN_EXPORT BOOL MQModifySelect(int index, MQDocument doc)
{
if(bUndo) return ReturnMQDoc(doc);
switch (index){
case 0: return Hoge(doc);
}
return FALSE;
}
BOOL ReturnMQDocument(MQDocument doc){
bUndo = FALSE;
return TRUE;
}
>>多重起動の問題はHook使えばOK。
あっちのスレのめたぱねるなんかもHookを使ってる。
Hookの使い方は具ぐるで。
例えばマウスHookを使えば統合ソフトと同じ視点操作を実現できる。
ソフト間で行ったり来たりするときに操作感統一出来てイイ。
>>VCLアプリの問題はクラス名だけで判断しなければOK。
これに関しては自分が書いたソースを良く眺めれば分かるはず。
コピペだけイクナイ。
ただし、既に書いている通り私は駐屯型のプラグインを推奨しない。
#けどどこかで書き方まとめて情報共有するのも
#いいかも知れない・・・とも思う。
#バラバラな書き方が問題の一つな訳で。
と思いつつ今日は寝るのでまずはコピペのソースを
良く読んでググって下さい。
最後に一つ。
ググって出てきたソースをコピペしてるだけだとハマるよ。
ついでにSDKのヘッダー郡を流用してるだけでもハマる。
SDKのソースも良く読む事をお勧め。
>>100
レスサンクス。
とは言え、全然わかんねーす><
頂いた情報を元にもう少し勉強してみるス。
まー、この辺は確かに情報共有できると
プラグイン作成に集中できて助かるんですが
どっちにしてもイリーガルな手法なんで
微妙な所ですね。
本音を言えば空のフレームワークがあれば
楽できるのになーなんて言ってみたり。
>>102
参考になるかどうか分かりませんが…
プラグインを実行すると、その都度プラグインが読み込まれて
実行が終わると解放されてしまうのが問題なのですよね。
めたぱねるでは、DLLの参照カウントを意図的に増やすことで対応しています。
具体的には、初回に一回だけ呼び出される関数(EnumStrings等)で、自分自身をLoadLibraryしてやります。
これでメタセコの起動中はDLLが常にロードされた状態になりますし、
プラグインを選択→実行する際も何度もロードされることがなくなります。
同じプロセスの中にはDLLの実体は一つしか読み込まれず、参照カウントで管理しているWindowの仕様を利用する感じです。
後はプラグイン実行時に適当なスレッドなりウインドウを作ってやれば、
TRUEを返してもプラグインは解放されない(=スレッドやウインドウは残る)ので
ダイアログのメッセージを橋渡しして…なんて面倒なことをやらなくてもいいと思います。
イリーガルな方法に代わりはないので推奨はできないのですが…
まず最初に。
作業効率を考えるならキーボードショートカットの
利用が優れている。
メニューへの多数登録は逆に作業効率を落とす。
最小限の登録をお勧めします。
■ver0.5の変更点
・仮想キーコード取得アプリgetvkey.exeの追加
・メタセコ本体とのメニュー同期をやめた。
・メニューの半透明表示をやめた
・MQ_ViewPanelグループの追加
・予約語の追加
いくつかの予約語を指定することで
内部で処理されるプラグインを呼び出します。
#単に操作系のプラグインで非公開のものを実装。
#単体のプラグインにする程でもないものだけ。
#短いものは5行程度のプラグインであったりする。
□予約語の機能
"ToggleView"
点辺、面の表示切替のトグル
"TogglePers"
Ortho、Persのトグル。上記と合わせ有効なのは透視図のみ
"BlinnAll"
"ClassicAll"
"ConstantAll"
"LambertAll"
"PhongAll"
全てのマテリアルのシェーダータイプを一括変更
"SpeakMaterial"
カレントマテリアルの設定をカレントマテリアル以下の
マテリアルにコピー。テクスチャ情報やカラー情報は
コピーされない。
#つまり透明度、自己照明などがコピーされる。
#カレントマテリアルより上にあるマテリアルには
#コピーされない。 "AddChild"
カレントオブジェクトの直下に新規オブジェクトを作成する。
このプラグインはSDK2.31aでコンパイルされているので
階層情報は保障されない。
"SortObject"
カレントオブジェクトを含む、これ以下のオブジェクトの
並び順を名前でソートする。
"BringBack"
最下のオブジェクトをカレントオブジェクトの直下に
移動させる。
"CloneObject"
カレントオブジェクトの複製を作成する。
標準の複製と違い、元のオブジェクトの名前を
引継ぎ、末尾に"_bak"を挿入。
複製されたオブジェクトはデフォルトで非表示。 ってゆか。
あっちのスレだとなんでもパネルでやろうとしてる人がいるが。
・全てをパネルでやろうとするには無理がある
・全てをキーボードでやろうとするには無理がある
偏らずに双方イイとこ取りするのが良いかと。 乙!
俺は好きな方を使えばいいと思うけどね
どっちも機能は遜色ないし、キーボメインかマウスメインかで使い分ければ良さそう あっちの人って言うのは作者さんじゃなくて要望出してる人。
効率よりも見た目のカスタマイズに拘りたい人には
こっちは向いてない。
#そう言う項目がそもそも無いし
MetaPanel自体は良いソフトだと思います。 まあ考え方の違いだろうね。
効率より分かりやすさを重視する人もいるから。
休日モデラーだとショートカット自体うろ覚えになるし。 えっと漏れの事だと思うのでコチラで考えてた事などを少し。
片手モデリングに拘ったのは、資料を参照する為に片手が塞がってしまう状況を想定していたからなんです。
書籍やプラモデル、モデルガンなどを左手に持ちながらのモデリングです。
アイコンの同調については画面中央での状態把握を意図したものです。視線の移動を無くしたかったので。
特に9:16比率の横長モニターで作業する人にとっては重要だと思います。
MQpopがそもそも想定していない領域にあえて踏み込む事で二つのツールの共存が出来ると良いとも思い、
主にウィンドウシステムとしての弱点を潰す事を中心に要望を出しました。
要求をだした当事者がMQpopに期待をする様な発言をするとMetaPanelの作者様に申し訳ないと思ったので
このスレにはカキコしませんでした。気分を悪くされたのならば謝ります。
それぞれ別の良さを持ったツールだと思っております。公開して下さったお二人には共に感謝しております。
新SDKでMQPLUGIN_TYPE_STATIONが来た。
思ったより早かった上に、今見てみたら至れり尽くせり。
>>100
これで無理なやり方しなくても多分問題全部解決するよ >>113
うんうん、いま移植してるところ。
Mizunoたん、ここ見てくれてるのかなぁ。
でも、まだ仕様が固まってないし。
公開までは時間かかりそうだ。
>>114
あ〜でもMizno氏が配布不可って言っている以上、
テスト用にしか出来ないのがイタイな。
テスト目的の配布(試用期間制限つけたり)は許可して欲しい所だが
まぁしばらくは仕方ないかも。
#ちなみに駐屯型推奨しないって言ったのは
#これが出る予定だった。ってのもある。
私もテストしてなんかあったらMizno氏にメールしてみます。
>>115
メールよりもβBBSで発言した方が他の開発者と
情報が共有できていいと思うけどどうかな?
ところで、今回のStation系プラグインに次のような要望を
出そうと思ってるんだけどMizunoさんに要望を出す前に整理する為に
皆さんのご意見をお聞かせ願えますか?
■描画インターフェイス
常駐型のプラグインから操作ガイド等を表示する為のAPI。
例えば、変形後の形状等プラグインからユーザに必要な情報を描画できる。
▼プラグインか編集画面に描画する為のAPI。
void MQStationPlugin::OnDrawView( MQDocument doc , MQDrawPrimitive draw )
{
draw->DrawPrimitive( ... );
}
▼プラグインからUV編集画面に描画する為のAPI
void MQStationPlugin::OnDrawUVEdit( MQDocument doc , MQDrawPrimitive draw )
{
draw->DrawPrimitive( ... );
}
116の続きです。これはまぁ、こんな感じ〜程度のニュアンスで。
▼描画の為のインターフェイスクラス(実装例)
enum MQPrimitiveType
{
MQPrimitivePoint ,
MQPrimitiveLineStrip ,
MQPrimitiveLineList ,
MQPrimitiveTriangleStrip ,
MQPrimitiveTriangleList ,
};
class MQDrawPrimitive
{
MQDrawPrimitive();// コンストラクタ
void SetMatrix( const MQMatrix* matrix );//マトリクスをセット
void SetColor( const MQColor* color );//カラーをセット
void DrawPrimitive( MQPrimitiveType type , const MQPoint* points );//描画
};
>>116
ん〜、確かにいいと思うんだけど多分Mizunoたん聞いてくれないと思うよ。
過去にもプラグイン作者からの要望は色々出てるんだけど大半がスルー。
せめて採用しない理由ぐらい答えてくれればいいのに徹底してスルーなのよ。
レス貰えるのってバグフィクスぐらいじゃないのかな?
Station系はその中でも数少ない聞き入れて貰えた機能なんだけどこれ以上は
あんまり期待し無い方がいいと思うよ。
プラグインへの要望は面白いぐらいにスルー。それがメタセコクオリティ。 先にそのAPIを使うことを前提にしたプラグイン作っちまえばいいんでねーの blobより…
>>今回の更新で常駐型プラグインから独自の描画オブジェクトを挿入できるようになっていますが、仕様はまだ暫定的なもので、
これってどういう意味だろうか? >>121
WTLStationのOnDrawのとこを見ると吉
なぜかドキュメント化されてないね
時間がなかったのかな あーほんとだ。
このスレみてくれてたんだろうか。
ありがたい。 2.4SDK正式版が来た。
「pich」がこっそり修正されてて笑った。 sdk2.4.0でボーンプラグインを書いてみた。
プラグインからの描画が想像以上に重い。
60fpsでアニメーション描画させた場合、せいぜい5000ポリゴンが限界。
てゆかやっぱりボーンはプラグインでやるもんじゃなしに
標準で対応してほしいな、と思た。
高フレームでアニメーションできなくてもいいけど、
ポージング用に使えるならすごい良いな。 とりあえずコア部分は出来た。
ただ、仕様に悩み中。
アニメーション編集も組み込んではいるけど
データ保存の仕様をどうするかがかなり問題。
ポージングのみに絞れば今の仕様でも大きな問題ないと思うが。
dotXSIなんかの書き出しを追加して、
メタセコ上ではポージングとボーンの曲がり具合の確認のみにして
アニメーションは外部でやった方がやっぱ良いかも。
FBXのSDKも落としてきたが、フォーマットが
まだ良く分からじ。
特殊なプラグインなので初心者は切り捨ての方向で、
QuadroもしくはFireGLのみ対応、ゲフォラデ不可にしたほうが
良いかも知れないな、と。 >>130
ビデオカードが関係するってことは、メタセコ内で動く感じではなく、
別窓で設定する感じなんですか? >133
いや、メタセコの画面上に描画しているから
GLカードもオンボードも関係ない。
もともとの目的はデータのエクスポート。
メタセコだけで完結させたい訳ではなくて、あくまで連携が目的。
ゲフォラデ使用、メタセコオンリーって人向けじゃないので、
カードで切るのがいいかな、と。 どの形式でエクスポートさせようとしてるのかは分からんけど、
プロでも3Dボードはゲフォでやってるとこはあるよ。
うちとか。
リアルタイムプレビューはそんなに厳密でなくてもいいし、
モデリングマシンとなればなおさら。 >>135
現状mqoとDirectXのアニメーション形式は実装済み。
dotXSIは読めない場合があるので原因究明中。
FTK経由したほうがいいのかも。
んで、こっちのスレは万人参加の本スレじゃないんで
万人対応求められてもむりぽ。
多少の制限はつけないとクレクレ厨発生させるだけだと考えてる。
描画はメタセコ任せなのに「mikotoみたいなトゥーン表示に対応してくれ!」
とかね、超あり得る。 役に立たないプラグインなら公開しなくていいんじゃね
お前のオナニーイカ臭いし ボーンプラグインにトゥーンを要求するなんて誰が見てもアホやん。
というかこっちのスレでクレクレとか初心者とか気にする理由が分からん。 クレクレ厨がお断りなら配布はしないって事だろ
わざわざこのスレで自慢しなくていいよ ttp://recon.hp.infoseek.co.jp/cgi-bin/img-box/img20060802225733.jpg
ねこたんにボーン仕込んでみた。
プラグインから描画するとカーソル上書きになるのねん。
なんか操作しにくいと思った。 >>141
なかなかおもしろそうですね。
ボンの影響範囲とかの設定もあるんですか? これにボーンが入っているかどうかは定かではなかった >>142
影響範囲の設定方法は今のとこmikotoと一緒。
んでもmikoto完全互換ってわけじゃないのでデータ修正が必要。
(命名[]とかでLR自動判定、とかがないので)
ここらへんの修正はワンフェス終わってからになりそう。 おお、プラグインで、そんなことができるんですか!
ボーン情報はmqoで、
影響度をmkiで出してくれれば、
RokDeBone2(のプラグイン)と連携できて、うれしひです。
模型モードでもいいので公開していただけませんか?
無理言ってすいませんm(__;)m >>144
あーBONEプラグイン先を越されたか(w
こっちは頂点ペイントでボーンウエイトをしこうもうとして頑張ってたけど
今の仕様じゃムリっ子です。なんか編集するとすぐ情報剥がれてしまう。
ってか、この辺は仕様がクリティカル過ぎて標準機能として持って
もらわないとどうにもならん気がします。
あと、複数のプラグインでボーン情報を共有し合えればアニメーションやら
影響度ペイントやらインポータやエキスポータやらを皆で作りあえるんですが
今のプラグイン仕様だとその辺もちと厄介ですよね。出来ないことは無いけど。
中間形式はCOLLADAがいいのかなーと思ってたりしますがCOLLADAが
吐き出せる環境が手元に無いという(w
使いたいプラグインが開発者様のおかげで見つかったから書き込みしただけなのに
なんで必死とか言われるのかな・・・(・・;)
公開はしていただけないでしょうか?
gumjp2000@yahoo.co.jpこちらで連絡でもいいのですが。>開発者様 金も才能も無いクレ厨必死だな
( ´,_ゝ`)プッ いまさらボーンごときで必死になってないで
XSIModTOOLでも落としてこい >145
それは流石に却下。
HSP向けのツールと連携する気はないよ。
で、mikotoに対してはまだ完全互換じゃないけど
多少の修正で使えるようにした。ものによってはmikoto用データそのままで可。
mqoは出力廃止の代わりにボーン変形をフリーズ出来るようにした。
mikotoのmkm読み込みは気が向いたら実装。
FBXはMetaGenの作者さんのコメント見てやる気なしモード。
>151
完成してないってば。
そんなプラグインいらねーって
せめて完成するまで出てくんなよ目立ちたがり ちょっと情けない質問で悪いのですが常駐型プラグインで
CreateDialogで作ったモードレスダイアログにメッセージを
送るにはどうしたらいいんでしょうか?
Windowsプログラム訳わかんないや。 CreateDialogから返ってきたHWNDを使ってPostMessageすれば良くね? く
う り
ぃ ゑ
蝉 ん い
の ど と
声 ふ
使
ひ <diary>
mikoto、mkmフォーマットメモ
・ボーンのローカル回転量の取得方法
#もっと楽な方法もあるだろうけど
CQuaternion out; // Out
CQuaternion q; // mkmから読んだQuaternion
CQuaternion w; // メタセコボーンデータのWorld値
CQuaternion inv_w; // qのInverse値
CQuaternion inv_l; // ボーンLocalのInverse値
out = inv_w * q * inv_l * w;
メタセコとDirectXでは座標系が違うので
必要に応じて変換(out.z=-out.z)すればOK。
</diary> ttp://f27.aaa.livedoor.jp/~mqdl/plug/key.html
ボーンプラグイン。
まだ色々と仕様検討中だけど一段落付いたので公開。
∧∧
┃ ┏━┃ (,,゚∀゚) ┃┃
━┏┛ ┏━┃ ━━/ つ━━┛ .┃┃
━┏┛ ┛ ┃ 〜( ,ノつ ┛┛
┛ ┛ (/ .┛┛
>>167
乙
でもダウンロードできなかったorz >掲示板もしくはページが見つかりません
/(^o^)\なんてこったい おつ
でも、Download先のリンクがスペルミスだよw
>169-170
ketnote.lzhをKeynote.lzhへ アップ直後にテストした時は出来たけど今なぜか出来なくなっている模様
今原因調べてます。 なんか、Mikoto弄りながらモデリングする感じでいいね。
これでMikoto形式の骨入りmqoが読み込めた日にはもう(;´Д`)ハァハァ 最新版をアップしたつもりだったけど、最新版は
SBS調整中のもので、頂点座標がおかしくなるバージョンでした。
一つ前のものを再アップしました。ファイル名は同じ。 mikotoのスフィリカルデフォームの公式が何となく
分かったのでSBSを改良。
簡単なモデルで実験したところ、ほぼ一緒。
ただしウェイト算出の時点で既に誤差があるようで結果にも誤差は発生してます。
Quaternionの補間をQLERP法からSLERP法に変更したら誤差は
少なくなったけど、QLERPの方が早いので補間法はそのまま。
参考までに
ttp://www.cgg.cvut.cz/people/PhD/kavanl1/sbsi3d.pdf メタセコから出なくて済むのがいいね。
頂点に影響するボーン数が3本以上になると嬉しい。
>頂点に影響するボーン数が3本以上になると嬉しい。
自分でもそう思うときがあるのでそうしたいな、と。
ただしmikotoのsdefがそうであるように、こちらのSBSも
2ボーン制限は計算の都合上発生します。
逆に言えば2ボーン制限の前提があって、あの変形が出来るので難しい所です。
3つのクォータニオンのSlerp補完なら普通にできません?
そういうことじゃなくて? >183
Quaternionの補間は3つ以上でも計算上問題ないのですが、
SBS+(便宜上+と表記)の場合、現状他の問題があります。
#SBS+はQuaternionだけ補間しているのではないので
ものは試し、やってみようと言う事で
3つ以上のボーン対応SBS+を実装してみましたが、
結果的に使い物になりませんでした。
現状デメリットの方が大きいので当面保留しようかな、と。
一つのプラグインを書いていると気が滅入るので
気分転換をかねて以前公開していたものをリメイク。
ttp://f27.aaa.livedoor.jp/~mqdl/plug/vt.html >>184氏
いつも大変お世話になっています。
プラグインを使わせてもらいましたので、この場を借りてお礼を。
ありがとうございました。 ファイル→入門モードにするとみるみる上達するYO!
プロには必要のない機能を隠してくれるからね
maxで言うctrl+xみたいなモンだ >>127
>sdk2.4.0でボーンプラグインを書いてみた。
>プラグインからの描画が想像以上に重い。
>60fpsでアニメーション描画させた場合、せいぜい5000ポリゴンが限界。
プラグイン経由だから余計重いのかな?描画自体がそもそも遅い気がする。
ちょっとしたツール作ってて気づいたんだけど、メタセコのように頂点や面の追加、削除、移動できるようにして、
なおかつスムージング角度の設定をリアルタイムに反映させようとすると、DirectXでの描画のように、
共有できる頂点は共有してDrawIndexedPrimitiveさせる方法だと無理っぽい。
事実、同じモデルでも後者の方が描画が断然速かった。ソフトウェアTnL使ってるにも関わらず。
まぁアニメーションできなくても、曲がり具合確認しつつ頂点や面の編集ができるだけでも相当ありがたいですハイ。
メタセコのプラグインじゃきつそうだと思ったけど、GetVertexIndexFromUniqueIDとStationプラグインのおかげで
頂点にこうした付加情報くっつけたものも扱えそうですな。 >>190
重い一番の理由は、結局毎フレームCreateMesh→破棄するような
仕様のせいかと。
#今の仕様でもまだ速度をあげる事は出来ますが。
ワンフェス終わったので、落ち着いたらもうちょっと実験してみるかも知れません。
■ このスレッドは過去ログ倉庫に格納されています