ms_3d

3DCGに関するあれこれ

スポンサーサイト

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

プラグイン備忘録

■開発中なんて恐れ多いことはデキマシェん(´Д⊂)
 チマチマとLWのプラグインの勉強をしてるだけです、
 そして順調に苦戦してます、もう強制終了かかりまくり。
 Umeさんの言った列挙型の面倒臭さを感じてます。
 なんでこんな簡単なif文が通らないのでせう?
 つか、normalを取得出来てないような気が・・・

 とりあえず、進行状況が知りたい人はこんな感じです↓
 http://homepage3.nifty.com/mitsumatsu/axis_color.html 
■メタセコとLWのプラグインの違いは、
 開発者の違いなのだろうなと感じました。
 個人的極論をぶつと、「日本人とアメリカ人の違い」ってことでしょうか
 当然、日本人の僕にはミズノタンの設計思想の方が理解しやすいです。
 
 まあ、LWはモデラーとレンダラーという二つの要素があるし、
 一概に比較は出来ないんですが、
 メタセコと比べてLWは、何かをする方法論が見つけにくいし、
 日本語訳されたドキュメントも微妙です(^_^;)
 
 仕方ないこととは思うんですが(というか、その分便利というのはあるものの)
 #defineが多すぎでスラッと読めないのはツライです。

 ソースを書いて実行ファイルを作ってみてから
 「ああ、こういう意味ね・・・」と理解することもしばしば。
 というわけで亀のように理解中(^_^)

■ちなみに、僕はモデラーのプラグインに絞って勉強しているんですが、
 プラグインとは何か?と考えると、
 一言「ワークフロー」だなと思うわけです(注・備忘録っす)
 モデラー上で出来ることはプラグインにも出来るし、
 出来ないことは出来ない。
 
 ただ、正確に法線に沿って面を何重にも押し出したり、
 数十回・数百回・数学的に同じ動作を繰り返したり、
 人間には面倒臭いプログラマブルな作業はプラグインが得意なわけで。
 しかし、やはりモデリングというワークフローは人間が構築する以外無い。

■例えば、スチームパンクような
 リベットが多く配置されたデザインのメカをモデリングしようとすると、
 実に面倒臭いわけですが(^_^)
 ただ、面倒臭いんだけれども、モデラー上で作成することは可能であるわけで。
 ということは、「リベット打ち」をプラグイン化することも
 おそらく可能であるとすると。
 
 んじゃどうすればプラグイン化が可能かと考えるて、
 おそらく「ワークフロー」だと思うわけです。

 ①ある人はリベットを回転させながら一つ一つ打ち込むかもしれない。
 ②ある人は、洋服の生地みたいに平面に展開したリベットを
  回転させて打ち込むかもしれない。
 ③ある人は平面に沿わせたディスクから、リベット自体を作り出すかもしれない。

 ワークフローは無数にあるし、それぞれに一長一短はある。
 上手い人の技(ワークフロー)がプログラム化出来れば
 それは素晴らしいビッグマザーじゃまいか(少々破綻中)

■例えば
 メタセコのプラグインは「作成」「加工」「選択」「入力」「出力」と
 一応便宜的にジャンル分けがしてあるわけなんですが、
 僕が一番好きなのは「作成」というジャンルでして、
 
 簡単なパラメータとボタンを一発押すだけで、
 ある程度見栄えのするモデリングが出来てしまう・・
 というのが理想なのですよねー(^_^;)
 そーゆー、のを夢想してしまうわけなんですが・・・

 こーゆーのってすごく個人的だし、ニッチなんですよねー(笑
 「スゲー可愛いポリゴン美少女」ったって、人の美観によって千差万別ですし、
 なので、プラグインを作る暇があったら、その時間でモデリングした方が
 早いという結論にも至ったりして。
 、、大体 勉強すればするほど
 僕のプラグインのレベルじゃ時間の投資になりゃしない(^_^;)

■また、
 モデリングをする一つの効率化の方法に、
 ストックしてあるデータを再利用するという方法がありますが、
 "簡単でプリミティブ"なデータをプラグインの中に収納しておき
 プログラマブルに配置するというのも、ずっと前から
 考えているんですが(これがビル作成や人体作成ですね)
 これも面白い使いどころが見つからなくて困り物です。
 つか、中途半端なデータと、中途半端な完成形なんて、
 結局使い道がないんですよねー。

■LWのツールが使いこなせるようになったら、
 パラメータいじってリアルタイムでモーフィング出来る
 「女体作成」なんてのも作ってみたいですけどねー(^^)
 ・・でも、それ俺の作ったデータだからダメジャン(鬱)
スポンサーサイト
  1. 2006/02/19(日) 20:03:51|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:5

コメント

ソース拝見しました

多分FGレイヤーだと思いますが、layer1の記述が無くなっちゃってるようです。

あと、axissortの最後の部分に、return 0;が無い為、エラーとして処理が止まってるようです。

それだけ修正したら動きました。

ちなみに、テスト中は、インフォメッセージ等で、変数の内容を表示すると、原因が掴みやすいですよ。

#include <lwhost.h>

/* グローバル */
LWMessageFuncs* msgf;

msgf = (LWMessageFuncs*)global( LWMESSAGEFUNCS_GLOBAL, GFUSE_TRANSIENT );
if ( !msgf ) return AFUNC_BADGLOBAL;

/* インフォメッセージ表示 */
char imsg[50];
sprintf ( imsg, "%d, %d, %d", n[0], n[1], n[2]);
msgf->info( "Test ", imsg );
  1. 2006/02/20(月) 00:33:20 |
  2. URL |
  3. スーヤ #mQop/nM.
  4. [ 編集]

>axissortの最後の部分に、return 0;が無い為、エラーとして処理が止まってるようです。

できたぁぁっ!(^o^)/
添削ありがとうございますぅ、これからもヨロシクね(笑>スーヤさん
voidの関数にしても、あまり影響がなかったので
値を返してませんでした(汗

>テスト中は、インフォメッセージ等で、
>変数の内容を表示すると、原因が掴みやすいですよ。

おっしゃる通りっすm(__)m
他の部分は変数を監視してたりするんですが、
polyscanの部分に挟むと正常に動かなかったりしたので、
ひたすらトライ&エラーしてたんですよ(´Д⊂)
とにかく、これであとは体裁を整えて次へ進めるですよ。
次は何作ろうかにゃ、シェーダーかな、ワクワク(笑
  1. 2006/02/20(月) 23:23:50 |
  2. URL |
  3. みつまつ #JalddpaA
  4. [ 編集]

ご苦労様。自分はLWのプラグインは挫折した口ですが、頑張って下さい。ノ`Д´)ノ┫:・'.::LW
  1. 2006/02/22(水) 03:50:13 |
  2. URL |
  3. kaki #JalddpaA
  4. [ 編集]

シェーダー

どもです。
シェーダープラグインは作った事無いので、お力になれないかも。
というかレイアウトプラグインさっぱりです。
逆に参考にさせていただきます(w
  1. 2006/02/22(水) 23:23:59 |
  2. URL |
  3. スーヤ #mQop/nM.
  4. [ 編集]

>kakiさん

すいません、コメント見落としてました(^_^;)
LWのプラグインに関しては裾野が広いので
僕みたいな素人が作らなくても良いのですが、
最近個人的に楽をしようという悪い気持ちが
膨らんできまして・・・(汗
個人的でニッチなプラグインを作ろうと思ってます(笑

>スーヤさん

他人様のプロシージャルが上手く使えないので、
自分だけのプロシージャルは便利かな?と思ってるんですが、
結構面倒臭そうです(^_^;)
SSSみたいに難しいのじゃなくて、
「日本瓦」とか「襖」とか「桜」とか、
そんなプロシージャルなんすけど、、、、
ビットマップをちゃちゃっと描いて埋め込めばOKかな?
と思ったら、やっぱそうは問屋が卸さなかったっす(笑
  1. 2006/02/23(木) 16:22:39 |
  2. URL |
  3. みつまつ #JalddpaA
  4. [ 編集]

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://mitsumatsu3d.blog27.fc2.com/tb.php/25-c91a96e5
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

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