LoginSignup
0
0

More than 5 years have passed since last update.

Stage3Dをワイヤーフレーム表示する

Last updated at Posted at 2016-05-16

小ネタです。

ワイヤーフレームモード

あまり知られていませんが、Stage3Dにはポリゴンを塗りつぶして表示するだけでなく、ワイヤーフレーム表示する機能があり、これを使うことで重なりなった複雑な3Dモデルの状況確認や、メッシュの分割形状の確認など、デバッグなどに活用することができます。

スクリーンショット スクリーンショット
Starling2.0のCanvasクラスで描画したサークル(左)をワイヤーフレーム表示すると右のようになります。このようにポリゴン分割されているんですね。

コードも簡単です。Starlingでの例を下に書きます。(Stage3Dの機能なので、Starlingを使っていなくても利用できます。)

sample.as
// 現在のStarlingからContext3Dを取得する
var context:Context3D = Starling.current.context;
// ワイヤーフレーム表示にする
context.setFillMode(Context3DFillMode.WIREFRAME);
// ワイヤーフレーム表示をやめて元に戻す
context.setFillMode(Context3DFillMode.SOLID);

初期化時だけでなく、動作中に表示を交互に切り替えることも可能です。

別の表示例を示すと、以前投稿したマップ表示は
スクリーンショット

下記のようになります。
スクリーンショット
タイル状にマップチップを並べているのがよくわかります。ワイヤー表示となった線の部分でもテクスチャのサンプリングは行われるようですね。

制限事項

この機能ですが、実はモバイルで使用することができません。とはいえ、自分の場合、開発デバッグ以外でこの機能を使うことはなさそうですし、モバイルのコンテンツ開発もMac上で行っています。(DesktopのAIRアプリとして開発して、モバイルはコア部分のソースを共有して別プロジェクトで最後にビルドする。ANEは適当なインターフェースでラップして抽象化した状態で使いDesktop側プロジェクトでコンパイルエラーがでないようにする。)利用する際に制限が問題になることはなさそうです。

また、DesktopにもレンダリングのプロファイルがBASELINE設定以上という制限がありますが、こちらは今時のマシンで問題になる事はさらにないでしょう。

以上、知られていなそうなので記事にしてみました。情報は、こちらの記事を参考にしました。
Stage3D Wireframe Mode Support

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0