ドット絵
poi  2020/01/20(Mon) 15:57
OpenSiv3Dでドット絵のゲームを作りたいのですが、画面の描画はDynamicTextureに実寸で描画してからClampNearestで拡大して表示するのが良いでしょうか。
また、マリオのような横スクロールプラットフォームを作成する場合、ステージのデータはcsvでどこにどのタイルや敵を置くか保存しておくのが良いのでしょうか。
よろしくお願いします。
記事編集
Reputeless  2020/01/20(Mon) 17:42
例えばウィンドウの解像度はそのまま (800x600) で、シーンの解像度を 200x150 に落として描画すると、4 ピクセル単位のドット絵になります。
https://siv3d.github.io/ja-jp/tutorial/window/#104

RenderTexture を使った方法もあります。
https://scrapbox.io/voidproc-siv3d-examples/%E4%BD%8E%E8%A7%A3%E5%83%8F%E5%BA%A6%E3%81%AE%E3%83%AC%E3%83%B3%E3%83%80%E3%83%BC%E3%83%86%E3%82%AF%E3%82%B9%E3%83%81%E3%83%A3%E3%81%AB%E6%8F%8F%E7%94%BB%E3%81%97%E3%81%9F%E7%B5%90%E6%9E%9C%E3%82%92%E6%95%B4%E6%95%B0%E5%80%8D%E3%81%AB%E6%8B%A1%E5%A4%A7%E3%81%97%E3%81%A6%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB

RenderTexture へは GPU で高速に描画できますが、
DynamicTexture へは CPU で描画した Image を転送するしか方法がありません。
基本は GPU 描画を使い、お絵描きアプリのように、どうしても CPU 処理が必要な個所だけ DynamicTexture を使うと良いです。


セル単位のマップであれば、地形は画像で定義し Image としてロードすると編集が楽です。
例: image[y][x] == Color(0, 0, 0) ならそのマスは壁

敵やアイテムの配置は設定ファイルに記述してそのマップに配置するというやり方が便利かなと思います。
siv3d.github.io/ja-jp/tutorial/config-file/
編集
poi  2020/01/21(Tue) 21:59
描画はレンダーテクスチャを使った方法が良さそうなのでこれにさせてもらいます!
マップのデータも画像で保存するというのは盲点でした。確かに編集がかなり楽になりますね。
ありがとうございました。
編集
件名
Re: ドット絵
名前
コメント
画像添付


投稿修正キー (投稿を修正する時に使います)
画像認証 (右画像の数字を入力) 投稿キー

- WEB PATIO -