0

私はこのアプリケーションに約1年取り組んでいます。「レーザーショーシミュレーター/エディター」を作成したい。ステージ上のさまざまな位置にライトを配置できるようにし、それぞれのライトをスクリプト化して、ターン、一定の間隔でのオンとオフ、色の変更などのさまざまな操作を実行できるようにしたい。現実的であることは完全に私の意図ではありません。1分あたりの拍数などの検出可能な特定の情報に基づいて、既存のオーディオファイル(通常はもちろん曲)に基づいてレーザーショーを簡単に同期および作成できるツールを作成する計画もあります。などなど。

私はもともと、XNAを使用してC#でこれに取り組むことを考えていました。エディターにはもちろん、いくつかの3Dビューポート(おそらく正投影)が含まれます。これは、私が推測する3Dモデリングツールのようなものですが、ゲームのレベルデザインツールのようなものです。ライトの配置やプロパティの編集などが制限されます。

問題は、私がこれまで3Dプログラミングプロジェクトに取り組んだことがないということです。数年前、私はOpenGLを学ぼうとしました(たくさんの本を買って正直に読んでいましたが、当時はプログラミングに不慣れで、物事はまったく意味がありませんでした。また、使用された数学の多くを理解していませんでした)。また、Managed DirectXを学ぼうとしましたが、それは理にかなっているように見えましたが、それを学ぶ意欲がなかったので、あきらめました。

今、私は実際にそれを学ぶ理由があるので、やる気が出て、数学のほとんどを理解できると確信しています。

でもどこから始めたらいいのかわからない。これは、完了するまでにしばらく時間がかかると確信しているので、辛抱強く待ってください。どこから始めたらいいのか知りたいです。オーディオ部分は後でお任せします。基本はレンダリングエンジンと編集インターフェース、そして作成されたショーを再生するための実際のシミュレーターだと思います。

すべてを1つの質問に収めることはできないので、後でプロジェクトのその領域に到達したときにフォローアップの質問をします。ただし、それまでの間、私が尋ねている基本的な一般的な質問は次のとおりです。

  1. どこから始めればいいですか?私はこれほどの規模のプロジェクトに取り組んだことがないので、このプロジェクトに投入されるものの量に圧倒され、何から始めるべきかわかりません。私は最初に物事を計画することを知っていますが、少なくとも何から始めるかについてのヒントをいただければ幸いです。レンダリングエンジンだと思います。

  2. それは良い考えですか、それとも少なくともC#とXNAを使用しても大丈夫ですか?私はC#にかなり精通しており、数年前にManaged DirectXを学ぼうとしましたが、これは多少似ていると思います。そして、私はC#を使用した.Netのユーザーインターフェイス作成の側面に精通しています。

  3. 独自のレンダリングエンジンを作成する必要がありますか、それとも既存のレンダリングエンジンを使用する必要がありますか?どちらをお勧めしますか?私は自分のエンジンを作成して学習できるようにすることに完全には興味がありません。とにかく何が起こっているのかを最終的に理解できると確信しています。特に、近い将来に作成できるものよりも優れたものがすでに存在する場合は、レンダリングの側面が障害になることを望んでいません。 。それでも、もちろん、私はXNAを学ぼうとします。私はそれを無視しようとはしません。

みんなありがとう私はあなたが提供できるどんな入力にも本当に感謝します。漠然としていたらごめんなさい。具体的な考え方はありますが、方向性を感じさせるために、とりあえず一般的な質問をしたいと思いました。再度、感謝します。

編集:私はこれほどの規模の何かにゼロから取り組んだことは一度もないことを強調したいと思います。私は文字通りどこから始めればいいのかわかりません。私は、3Dプログラミングや、エディターが必要とする複雑なユーザーインターフェイスに取り組んだことはありません。私は過去に自分自身に証明したように、プログラミングに関連するあらゆることを学び、実行する意欲と動機を持っていますが、どこから始めればよいかについて、詳細と詳細を提供していただければ幸いです。

たとえば、レンダリングエンジンから始めると言う人もいますが、具体的な情報を教えてください。十分な無料および/またはオープンソースエンジンはありますか?私が追求していることを考えると、私が興味を持っているかもしれない、特に調査すべき3Dトピックはありますか?たとえば、一部のレーザーはシェーダーを備えた3Dメッシュなどである可能性があることを読みましたが、どうやら3Dプログラミングに精通していないようです。

少なくとも当面は、レンダリングエンジンなどを購入する予定はありません。私がそうする場合、それは私が取り組むことができるコア/ベースがダウンした後です。

皆さん、ありがとうございます。あなたの何人かがすでに行ったことを除いて、あなたが提供できる洞察に本当に感謝しています。

4

3 に答える 3

2

以前はレーザー ショーのデザイナーであり、制御ソフトウェアの開発者だったので、あなたのプロジェクトに興味があります。

まず、デザインをスケッチしましょう!プロジェクトの範囲に圧倒されながらも、レンダリング エンジンなどの実装の詳細について考えているのは興味深いことです。あなたが求めることは何でもするレンダリングエンジンを想像するだけです。コンセプトが固まり、必要な機能がわかったら、ニーズに合ったものを購入できます。

レーザー ディスプレイに関連するシステムの動作や使用例に慣れていない場合は、メールでお知らせします。

于 2009-07-23T06:44:34.403 に答える
1

目的のレーザー モーション コントロールによっては、USB マイクロ コントローラーの方が適している場合があります。

これは、このようなことを行う私のお気に入りの USB デバイスの 1 つです (サーボ制御、モーター制御、LED、アナログ/デジタル I/O など): phidgets.com サーボ キット

クロスプラットフォーム、素晴らしい。たとえば、サーボの位置を半分に設定すると、ドライバーに次のように呼び出すことができます。

servo1.setPosition(50);

したがって、C# と XNA をこれらの .Net 準拠のサーボと組み合わせて使用​​すると、すぐに何かを始めることができます!

幸運を!

于 2009-07-26T15:10:53.783 に答える
1

C# と XNA は、最初の 3D プロジェクトに最適です。独自のレンダリング エンジンを作成する必要はありません。非常に時間がかかる可能性があるため、これは朗報です。ただし、GUI ツールがありません。メニュー、テキスト ボックス、ラベルなどを作成する簡単な方法は (まだ) ありません。ただし、役立つライブラリがいくつかあります。

オーディオ サポートを調べて、提供されているツール (特に XACT) がやりたいことに対して十分であることを確認することをお勧めします。

于 2009-07-23T16:36:01.690 に答える