BlitzMax で、スター ウォーズのライトセーバーやレーザービームのような輝くライン エフェクトを作成したいと考えています。リアルタイムである必要はありませんが、TImage オブジェクトに対してのみ行い、後でアニメーションで使用するために PNG に保存することもできます。3D 機能は喜んで使用しますが、これは 2D ゲームで使用するためのものです。
黒/スペースの背景になるので、私の戦略は、色と透明度の高い一連の白いぼやけた線を描き、最終的に中心線のぼやけを減らして白くすることです. 私が描きたいのは、実際にはベジェ曲線です。曲線を描くのは簡単ですが、上記の手法を使用して優れたレーザー/ネオン効果を作成することはできません。そのため、1 ピクセルのベジエ曲線である、よくレンダリングされるものにぼかし効果/シェーダーを使用する方が良いと思います。
私が抱えていた問題は次のとおりです。
- 線が描かれている画面の特定の領域だけにシェーダーを適用します。テクスチャに線を描画し、そのテクスチャをぼかして png を保存する方法があれば、それを聞くのは素晴らしいことです。これを行う方法があるはずですが、適切な要素をまだ連携させることができていません. このようなことに詳しい人からの助けをいただければ幸いです。
- 2D 呼び出しだけを使用すると、理解と再利用が容易になり、有利になる可能性があります。
- 透過性/アルファ要素を保持する PNG を保存する方法を知っておくと非常に便利です。
ps この投稿 (および他の投稿) を確認し、サンプルを動作させ、独自の 5x5 シェーダーを開発しました。しかし、それは 3D であり、2D または特定の領域だけにうまく変換されないように見えるシーン全体のものです。 http://www.blitzbasic.com/Community/posts.php?topic=85263