プレイ日記
おちゃめ ochame_nako
スライドパッドでぐりぐり回転できる地球儀プログラム「簡易地球儀 QSP」です。
27そうだね
プレイ済み
返信[1]
親投稿
おちゃめ ochame_nako
これがプログラムリストです。公開キーは【 7XN4X3K4 】です。 フォルダにはテクスチャ用のGRPも同梱しています。(ピンクの例の奴は私の手書き、世界地図の方はパブリックドメインです)
2そうだね
プレイ済み
返信[2]
親投稿
おちゃめ ochame_nako
回転速度はスライドパットで微調整できます。(左右回転のみに対応) デフォルトでは半径64ドット(R=64)の地球儀ですが、起動時に押している(正確には起動してから30フレーム以内に押している)ボタンによってサイズを任意に変えることができます。 Aボタンならば半径16ドット、Bボタンならば半径32ドット、Yボタンならば半径128ドットになります。
0そうだね
プレイ済み
返信[3]
親投稿
おちゃめ ochame_nako
表示サイズを大きくすればするほど処理は遅くなります。 ちなみにNew 3DSで動作時にはデフォルトの64ドットのサイズで9fps程度でそこそこスムーズに回転できます。 旧3DSや2DSならば2fps程度なので重いですが、R=32にすれば8fpsくらいになります。 これは以前私がプチコンmkIIで作ったプログラムの移植ですが、デフォサイズではmkIIでは0.4fps程度でした。(旧3DSでもmkIIの5倍速い!)
0そうだね
プレイ済み
返信[4]
親投稿
おちゃめ ochame_nako
なお、このプログラムはそのまま無改造プチコンBIG上でも動作します。 さすがにプチコンBIGは高速でありデフォサイズだと30fps以上で動作し、負荷が4倍になるR=128とかでも約8fpsのそこそこスムーズな回転が可能です。 そのためプチコンBIG専用の高解像度対応版もこちらに用意しました。 https://miiverse.nintendo.net/posts/AYMHAAADAAB2V0feIfhp2Q この地球儀のテクスチャサイズは512x512なので表示サイズを大きくするとさらに見た目がキレイになります。 さすがのプチコンBIGでもR=192とかだと4fpsくらいに落ちてしまいますが。
1そうだね
プレイ済み
返信[5]
親投稿
おちゃめ ochame_nako
このプログラムの原理は非常に単純で球体にテクスチャを貼り付けてそれを平行投影表示しているだけです。要するに1ドット単位で見え方を三角関数を使って計算しているとわけです。ただし、独自のアルゴリズムによってQSPで可能な範囲内でほぼ限界まで高速化しています。 大したことはやってないのですが、言葉で説明すると長くなるため割愛します。興味がある方で、このプログラムで分からない部分があれば言ってください。 また、左右方向のみではなく任意方向に回転させることは可能ですが、処理が遅くなるしリストも長くなるためこのプログラムでは左右回転のみの対応となっています。 陰影処理や3D立体視に対応することも容易に可能なので興味ある方は各自で改造してみてください。
0そうだね
プレイ済み
返信[6]
親投稿
おちゃめ ochame_nako
実はこのプログラムはテクスチャサイズは自由に変えることができます。 デフォルトでは上記のように512x512のテクスチャになっていますが、変数U(横方向のサイズ)、V(縦方向のサイズ)の設定値を変えることで様々な大きさのテクスチャに対応できます。 U=320、V=240に設定して読み込むファイル名を"KIRBY"に変更するとこんな表示になりピンクの球体をぐりぐり回転が可能になります。 地球儀だけではなく球体に自由なテクスチャを貼り付けて回転できるプログラムなのでいろいろなテクスチャ画像を作りスライドパッドで回転させて楽しんでください。
1そうだね
プレイ済み
返信[7]
親投稿
おちゃめ ochame_nako
あとこのプログラムはGRPのサイズが1つあたり512KB(524316バイト)になってないのを不思議に思うかもしれません。 GRP:WORLD_MAPは126133バイト、GRP:KIRBYの方は2428バイトです。 これはGRPをプチコンBIGで一旦保存しているためです。 どうやらBIGではGRPに圧縮保存機能が加わってみたいで色数が多いWORLD_MAPの方は4分の1程度ですが、KIRBYの方は200分の1以下のサイズまで小さくなっています。 今後のバージョンアップでプチコン3号にもこの機能が加わるかもしれません。
1そうだね
プレイ済み
返信[8]
親投稿
これすごいですね。 まさかQSPでここまで出来るとは。
0そうだね
プレイ済み
返信[9]
親投稿
おちゃめ ochame_nako
こういちさんへ このプログラムは単にテクスチャ画像を球面に貼り付けているだけなので大したことはしてないです。 言い換えれば平面ではなく球面に対するテクスチャマッピングです。 ただし、速度を出すためにアルゴリズムは完全独自仕様となっています。 三角関数への理解が十分にあればリストを読めば「なるほど」と分かると思います。
0そうだね
プレイ済み
返信[10]
親投稿
はる HARUHI-0913
このプロジェクトに入っている世界地図を二次利用していいですか?
0そうだね
プレイ済み
返信[11]
親投稿
おちゃめ ochame_nako
はるさんへ この画像はパブリックドメインなので非営利であれば自由に使って貰って構いません。
0そうだね
プレイ済み
返信[12]
親投稿
はる HARUHI-0913
ありがとうございます!
0そうだね
プレイ済み