ms_3d

3DCGに関するあれこれ

スポンサーサイト

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

プラグイン雑記録

■某画像掲示板の某特撮ヒーローを見ていて
 ふと思い出したコトがありまして。
 まあ、曲面に細かい機械を配置するちゅー
 作業はプラグイン化の方が効率良いよなー・・と(^_^;)

■その頃は知識も足りないし、まあ先送りしてて、
 今は法線も薄っすらと理解出来てきたし、
 要はポリゴンの角度にあわせてオブジェクトを回転配置すりゃ
 OKなんじゃないのか?とメタセコのプラグイン用に
 コードを書き始めたわけですが・・・
(^_^;)06_2_3.jpg


■中学以前の三角関数の知識だと、法線から角度が出てこない。
 これはプラグインとか3Dとか以前の数学の問題なわけです。
 WEBでサイン・コサイン・タンジェントを勉強し直しても
 望む数値が出てこない。そして数学の定理をC言語に直すのも
 きちんと理解しないと無理なわけで、
 いい大人がストレスを溜め込んでも仕方ないのでsio29さんに
 ヘルプメールを出しましたら、その日のうちに、
 
 「オイラー角で計算するのは難しいし、お勧めしません。
  回転をするならマトリクスを覚えると便利ですよ」

 と丁寧な解説をつけてコードを添削していただいちゃいました。
 sio29師匠感謝でございますm(_ _)m
 
 なんかいろいろ嫌な情報の多いインターネットでありますが、
 ことプログラムや、技術的な側面に関しては、
 本当に気持ち良くいろいろな人に助けていただけたり、
 相互扶助の精神が感じられます。
 こーゆーインターネットは好きです。

■ま、兎に角、
 なのでほとんどsio29さんが書かれたプログラムなんですが(^_^;)
 これは、結構自分でも使うプラグインのような気がします。
 ということでLWに移植する気マンマンなんですけど。
06_2_4.jpg


■ただもしかしたら、この手のプラグインはもうすでに
 存在するのかもしれないですね。
 最近、どんなプラグインが存在してて、
 どんなプラグインが存在してないのか、調べるのも面倒臭いので
 イケマセン。
 
 2chのメタセコ版とかで纏めてくれれば良いのに。
 あと、2ch読んでて思ったんですが、メタセコって面選択で
 等分分割する方法無いんでしょうか?
 理屈的には簡単だから、プラグインが既にあっても良さそうなもんですけど、、
 と思ったり思わなかったり。
 
■あと、重心に頂点を置くのは最近欲しいなーと思ったり。
 なんだか地味にプラグイン検証してますねー。
 あいかわらず公開は欲しい人の書き込みがないとしませんけどσ
スポンサーサイト
  1. 2006/02/24(金) 15:49:16|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

プラグイン備忘録

■開発中なんて恐れ多いことはデキマシェん(´Д⊂)
 チマチマと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

プラグイン雑記

■UV展開の自分手順を効率化しようと、
 法線でXYZにサーフェイス分けするプラグインを作りました。
 この次に各軸でUV展開というのは可能なのですが、
 とりあえず、作業的にはこの自動化がLWモデラー内で
 出来ないと効率が悪いのでLWプラグイン作成に挑戦することに
 したわけです。
06_2_1.jpg


■C++Builderで四苦八苦したあげく作成に失敗し、
 VC++Netを購入してやっと成功したものの、
 後日Y.Umeさんの助言で、C++Builderでも作成に成功(^_^;)
 C++Builderの作り方のレシピも作ったんですが、
 http://homepage3.nifty.com/mitsumatsu/program/cbuilderlw.htm
 今日ネットを検索してたら
 LWプラグイン開発ブログさんもc++Builder使いらしく
 http://lwplugdev.seesaa.net/
 同等のレシピが既に存在してました(´Д⊂)
 ま、検索ワードで僕が上手くHitさせられなかったのが悪いんですけど。

 それにしても、本当にWEBというのは有り難いです。
 多謝感謝。
 僕も人の役に立つ立派な大人になりたいと願う今日この頃です(笑

■さて、LWのSDKのヘルプを見ていてふと思いついた方法がありまして、
 それを検証しようとメタセコプラグインで検証してます。
 そもそもの発想は、「簡素室」さんhttp://www.h6.dion.ne.jp/~j_moto/の
 メタセコプラグインにMapMakerというものがありまして、
 これはexcelのファイルでメタセコのオブジェクトを作成するという
 プラグインで、この発想は面白いなぁーと前々から思ってたわけです。
 
 他の情報をテンプレートにしてオブジェクトを作成するというのは
 ゲームなどの大規模プロジェクトではかなり使えそうな発想なのですが、
 これをビル街作成で使えねーかな?と思ったわけです。

■んで、ここ数日作ってたのがコレです。
 テンプレートはメタセコの「辺」です。
 上面図状態で「辺」で道路を描いて、それを元にビルを作成します。
 やってることは実に単純で
 「辺」の長さ分ランダムにビルを並べて、辺の角度に合わせて
 回転させて配置してるだけなので、交差点には重なったビルが
 メルト融合してるという恐い状況になってます(笑
06_2_2.jpg


■現実の道路幅をWEBで調べて見ると、車道に関しては5.5mから
 20mぐらいの4パターンの車線区分が平均的なので、
 サーフェイスの明度かRGBいずれかの値で4つに分けられるようにも
 するつもりだったんですが、問題は「辺」に色を着けても
 見難いんですよね(^_^;)
 なので今回は保留。

■問題点と解決策を洗い出してみると
 ①交差点に重なったビルが出来る
 →道路幅分余裕を持たせて配置すればある程度回避できる(不完全)
 ②現実の区画にはこのようにビルは立たない。
 →今回のアルゴリズムでは回避策無し(笑
 ③棒グラフみたい・・・
 →UVのついた少し見栄えの良いデータに置き換えれば良い
  (そのかわり、作成されるポリゴン数は半端なくなる)
 ④何に使うんだ?
 →ワカラナイ

■うーん、自分で作った建物のデータをライブラリにして
 配置出来るとかだったら、少し使い道はあるのかもしれないけれど、
 メタセコだとそういうアプローチのプラグインは作るのが面倒臭いし、
 (つか、作れるのかな?
 ini吐くプラグインもあった気がするので作れるんだと思うケド)
 作ったとしても「それで?」と自分でも思う(^_^;)

■やはり発想をひっくり返して、区画に建物を並べるという方法論の方が
 住宅街などは正解なのかも・・・と思ったり。

■ちなみに、法線の色つけプラグインは
 あいかわらずエラー処理してないので公開はしないんですが、
 欲しい方がいたら連絡下さい、アップします(^_^)  
  1. 2006/02/05(日) 16:58:57|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:1

FC2Ad

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