2017/10/16(月) [n年前の日記]
#1 [python][pi3d][raspberrypi] pi3dでSTGっぽい画面を表示するスクリプトに弾を撃つ処理を追加
スクリプトソース以外にも、モデルデータや画像データが必要になってきたので、まとめてアップロードしないとアレだなと。てなわけで、github にアップロードしてみたり。
_mieki256/pi3d_demo_stg_modoki: pi3d demo STG modoki
以下は、Windows10 x64 上で動かしてみた様子。
※ 2017/10/20追記。raspberry Pi Zero W 上で動かした場合の様子もアップロード。…画面下に自機が来ると処理落ちしてることが分かるだろうか?
ソースも画像もモデルデータも、ライセンスはCC0ってことで。
_mieki256/pi3d_demo_stg_modoki: pi3d demo STG modoki
以下は、Windows10 x64 上で動かしてみた様子。
※ 2017/10/20追記。raspberry Pi Zero W 上で動かした場合の様子もアップロード。…画面下に自機が来ると処理落ちしてることが分かるだろうか?
ソースも画像もモデルデータも、ライセンスはCC0ってことで。
◎ Raspberry Pi Zero W は遅い。 :
上記のスクリプトをWindows機上で実行すると60FPSで滑らかに動くのだけど。残念ながら Raspberry Pi Zero W + raspbian stretch 上では60FPSだと処理落ちする模様。画面の上のほうに自機を動かすと弾の数が減るので60FPSになるけれど、画面の下のほうに自機を動かすと弾の数が目一杯出るのでガクガクする。まあ、Raspberry Pi Zero W も、30FPSで動かせば処理落ちせずに動かせるようだけど。ソース中の MY_FPS の値で FPS を指定できるので試してもらえれば、と。
どうも pi3d は、1つオブジェクトを表示しようとすると、ただそれだけで処理が結構かかってしまうようで。オブジェクトを描画するための下準備が重いのだろうか。高速化する方法はないのかな。
同じ形状、かつ、必ず描画するのだと決まっているなら、merge とやらを使えるみたいだけど…。
_Pi3D Tutorial #2: Creating Multiple 3D Objects, Merging and Rotating the Camera - YouTube
STGの弾のようなオブジェクトは、確保した弾数を必ず毎フレーム描画するわけではなく、場面によって描画する個数が変化するし、位置もそれぞれ変わってしまうので、merge が使えないのではと思っているのだけど…。実際はどうなんだろう。
Environment | 60FPS | 30FPS |
---|---|---|
Windows10 x64 (Core i5-2500 + NVIDIA GeForce GTX 750 Ti) | PASS | PASS |
Raspberry Pi Zero W + raspbian stretch | FAIL | PASS |
どうも pi3d は、1つオブジェクトを表示しようとすると、ただそれだけで処理が結構かかってしまうようで。オブジェクトを描画するための下準備が重いのだろうか。高速化する方法はないのかな。
同じ形状、かつ、必ず描画するのだと決まっているなら、merge とやらを使えるみたいだけど…。
_Pi3D Tutorial #2: Creating Multiple 3D Objects, Merging and Rotating the Camera - YouTube
STGの弾のようなオブジェクトは、確保した弾数を必ず毎フレーム描画するわけではなく、場面によって描画する個数が変化するし、位置もそれぞれ変わってしまうので、merge が使えないのではと思っているのだけど…。実際はどうなんだろう。
[ ツッコむ ]
以上です。