>> BBS-TOP >> 開発 |
|
プラグイン作成に参考になる資料はありませんか? |
投稿するにはまず登録を |
スレッド表示 | 新しいものから | BOTTOM |
[regular]
|
あまりアニマスに慣れていない、比較的初心者なのですが…(汗。
(v10からのユーザです) v11を弄っていて、どうしても別に欲しい機能があり、プラグインを 作成しようと思うのですが、SDK及び、SDK_Doc以外でもう少し詳しい資料は どこかに無いでしょうか? クラスを読みながら試行錯誤すれば良いのかもしれませんが(v_v; 具体的には、Shaderと動きを与えるプラグインを作成したいと思ってます。 (テクスチャや表面のアニメートと勝手に(?)跳ね回るオブジェクト等) Shader、Texture、Turb、Volumeの厳密な定義・内容もあまり理解出来て 無いのですけれど(^_^; ひと括りに表面からの反射・拡散等を返す 「シェーダ」という考え方では無いようですね…。 英語でも日本語でも結構ですので、少しでも参考になる資料・サイトを ご存知でしたら、ご紹介をよろしくお願いします。 |
||
[Webmaster]
|
http://www.sgross.com/
アニマスのプラグインを製作・配布しているサイトなんですが、 「A:M Tutorials」というページで、SDKを使ったプラグイン製作のための 簡単なチュートリアル(詳しい資料じゃなくてスミマセン)があります。 ドイツ語メインで、一部英訳されています。 |
||
[regular]
|
momonai さん、情報ありがとうございました。
やはり、本家SDKも記述が殆どないせいか、情報は少ないみたいですね。 AM-MLやその他のSIG、サイト、Hash Forumも見てみましたが、ようやく お一方が色々試されてる位で、あとは閑古鳥か閉鎖が多く見られました…。 SDKのサンプルと公開されてるDoxgen生成Docへの少々の記述を頼りにするしか ありませんね…。 |
||
[NEWS Editor]
|
確かにアニマスのプラグインを作るための親切な情報は全く無いので
苦労されると思いますが、 現状でプラグイン作成についてどのような状況でしょうか? SDKのサンプルプロジェクトに実際のプラグインのソースが収録されていますし、 これとSDK Documentが詳しい資料になると思うのですが、 具体的にどのような資料が必要でしょうか? 何かお教えできそうな事があるかもしれません。 アニマスではプラグインで実現可能な機能は他のツールに比べて 限定的なので、SDKとしてはこんなもんだと思いますが。 フォーラムのSDKの所を見ると分からない事があったら何でもフォーラムで聞いてくれ、 という雰囲気になってますね。 ypoissant氏がいつもいてなかなかすごい事になってるようですが。 また、サンプルを改造して作れるような小物以外のプラグインを作るのは大変ですし、 既存の手段でなんとかする、というのも現実的だと思います。 |
||
[regular]
|
jenpy さん、レスありがとうございます。
今はサンプルをコンパイルし、classのメモを作って希望する機能は実現 可能なのか調べてる最中です(^^; >また、サンプルを改造して作れるような小物以外のプラグインを作るのは大変ですし、 >既存の手段でなんとかする、というのも現実的だと思います。 …かもしれませんね(^^; い?かげんな英語でForumで恥をさらすのも…と 躊躇してこちらで質問してみました(汗 でも…。正確な仕様が掴めて無いのであやふやな事書いてしまいそうですが、 プラグイン側では(呼出され方でパラメータは変わりますが)、フレームの取得(時間)や パッチ情報、オブジェクトの情報等が取得出来そうな事から、結構な事が 出来そうな気がするのですが…。 (↑全て理解出来てない上で書いてます…ので) 今一番気になっているのは、Shader等でObjectTreeを辿って、フレーム毎に カメラやライトの位置が判るのかどうかなのですが。 (classを追いきれて無いのが見え見えですね…) |
||
[regular]
|
SDKを大分読み進めたんですが、正確な用語が分からないと難しいですね…。
それに、奇妙な仕様が沢山有るような。 誤りやご存知の事が有りましたら、ご指摘下さい。 (相変わらず、HashのForumへは英語下手で質問を躊躇してます) >Vector HShading::GetHitP() > > Gets the hit point in screen space. Returns the hit point > on the object surface corresponding to the pixel being shaded. これは、てっきり呼び出された時の光線と表面の交点だと思ったんですが… 説明を読むと、標準レイトレだから視線との交点でViewport内(= screen space?? 可視範囲) との交点らしいんですが…となると。視線から最初のオブジェクトへの交点 のみという事なんでしょうか…?視線を辿れば、Viewport外の物体にも反射 等すると思うんですが。 それから、こんな仕様も。 >BOOL HChor::Intersect(,,,,,) 特定の位置からrayを飛ばして物体とぶつかるか調べる関数なんですが、 返ってくるのは交点と法線と距離だけで…。そもそもコレオグラフィ関連に この関数が含まれるのも納得行かない気がするのですが、交差したオブジェクトが 分からないというのも謎です。折角交差が分かってもその表面属性が得られないのでは…(泣。 全体の動作において、どれがリアルタイムで、どの順番でtextureやshaderが 適用されるのか、HXTが適用されるのか等、不明な点が多くて難しいです…。 |
||
[NEWS Editor]
|
アニマス起動しながらデバッグもできるけどなんでかなー、
と思ってたんですが、 ドングルで起動するアニマスはデバッガーも同時に起動できるらしいですね。 v9.5 Documentationの表紙には書かれてなかったですが 最近のにはよく見るとちゃんと書いてありますね。 Chiyureさんの考えておられるようなShaderプラグインは アニマスでは作るのが難しいのでは? 現状では、サンプルにあるような、HShadingに渡されたパラメータから シェーディングアルゴリズムを実行するShaderしか作れない仕組みになっていると思います。 OrenNayarのサンプル中でGetHitP()とGetObjectType()の使い方がコメントに書いてありますが、 どう使うとShaderの役に立つのかは私は分かりません。 Screen Spaceは普通に考えるとスクリーン座標 = レンダリング対象のピクセルの 画面上の座標だと思います。 HChor::Intersect()は名前からして交差判定のようですし、 オブジェクトを他のモデルの表面に対して位置決めしたりライティングを決定したりするのに便利だ、 と書かれているのでレンダリング用途ではないようですね。 |
||
[master]
|
こんにちは。
ぼくはシェーダーとかアニメーション関係のプラグインは作ったことはないのですが、GetHP()は、たとえばシェーダーで画像処理のようなものが出来るということかもしれませんね。というか、それぐらいしか思い浮かばないですけどね。 サンプルプログラムを見ると、シェーダーはほんとに陰影づけのみをするだけみたいですね。ディフューズとスペキュラーだけしかカスタマイズできないように見えます。 やりたいことがテクスチャーや表面のアニメーションということは、シェーダーではなくて、どっちかというとテクスチャープラグインなのではないでしょうか。 |
||
[regular]
|
遅めの夏休み?で、こんな時間からアニマスと格闘です(^^;
>jenpy さん >ドングルで起動するアニマスはデバッガーも同時に起動できるらしいですね。 う?、そうなんですか…。通常のアニマスではDebugを有効にするとpluginの 動作が怪しく…一部機能が実行されないんで使えないんですが。 このおかげで、SDKとDOCのコメントのみが頼りなんですが、英語苦手で…。 やはり、screen space はスクリーン座標なんですね…。無理やりViewport等と 勝手な解釈してましたが…ここで画面に対しての2次元処理用関数…。 …でも何故にこんな仕様なんでしょうね。後処理はShaderとは別のような 気がするんですが。 結局、サンプル+1のスペキュラーとディフューズ、アンビエンスを返す程度が現状でしょうか。 試してないのですがGetObject()から色々と…と思ったんですが…、今見たら Doxygen_DOCを完全に読み間違えてました。all-membersは非公開メンバも 含まれるんですね。…という事は徒労でした(^^;。 HChor::Intersect()については、コメントは読んでいたのですが、なんとか 利用出来ないかと。ただ、コメント通りでも相手の分からないのと交差判定とは…。 これで、非常に限定的で出来る事が少ないと言われた訳が大分わかりました。 |
||
[regular]
|
>MasashiWatanabe さん
レスありがとうございます。 そうですね、テクスチャープラグインとして作成しないと、出来ないみたいです…。 一まとめに、表面属性の決定=シェーダーなんて勘違いしてました(^^; 少しずつですが、Simbiont等の振る舞いを見ていて、このクラス分けの意味が ようやく分かってきました(汗。 |
||
スレッド表示 | 新しいものから | TOP |
投稿するにはまず登録を |