コミュニティアイコン プチコン 非公式コミュニティ トピック

アバター
うつりきまぐれ ◆8rpaj7TJiZUt
2019/11/22 16:46
質問
立方体状の6つのレイヤーを使って、スプライトで立方体を表示したい
元 Ryou Tanpo です。3Dに関する質問です。

3D の任意のワールド座標にテクスチャ付きの立方体 (直方体) を表示させたい!
そこで6つのレイヤーに行列を適用し立方体状に配置し、表示させたい立方体 (または直方体) のそれぞれの面をスプライトとして、対応するレイヤー上に位置とスケールを計算して表示できれば、任意のワールド座標にテクスチャ付きのオブジェクトが表示できると思いつきました。(説明がわかりづらくてすみません……下記リンクの自己リプ画像を参照してもらえると嬉しいです)

……が、肝心の位置とスケールの計算方法が全くわかりません。ワールド座標からレイヤー上の座標に変換したいです。内積とか外積を使うのかもわかりませんが、もしわかる方がいたらヒントを頂けるとありがたいです

https://twitter.com/utsurikimagure/status/1197675512946016256?s=21

コメント

アバター
うつりきまぐれ 2019/11/23 9:37 ◆8rpaj7TJiZUt
要は立方体や直方体の各面を各レイヤーにカメラから見て投影させるような形で表示させれば任意の位置にあるように見せられると思ったわけです。( この方法では軸に平行なオブジェクトしか作成できないが表現の幅は大きく広がるはず )

各面を表現するのにスプライトを使えばテクスチャ付の立方体も表示できるかと。

やりたいことは、ワールド座標から、各面のレイヤー上の座標に変換することです。

ライブラリ内では LMATRIX 使ってます。各レイヤーをX軸またはY軸で回転させてボックスを作っています。そこにスプライトなりを配置させたいです。上記の画像は分かりやすいようにレイヤーにスプライト元画像の模様をそれぞれの面で色変えて付けてますが、将来は外して、表示させたいオブジェクトだけが表示されるようにします。

あと重ね順の問題は考えてませんでしたが、奥側の面は SPHIDE すれば問題ないかな……?

あとライブラリではオブジェクトの管理を全てスプライトで行ってます。位置や回転の情報や行列も全部 SPVAR に突っ込んでます。キーは目立ちやすいようにラベル文字列になってます。コード読みにくくてすみません……
アバター
こういち 2019/11/23 15:17 ◆ou0jbJnEJ0Kb
とりあえずダウンロードしました。
そしてLMATRIXとやらを触ってみる。
とりあえず親の顔より見た単位行列を突っ込んでみたけど、思ってたのと違った。どういう動きなんだろう?
アバター
こういち 2019/11/23 15:35 ◆ou0jbJnEJ0Kb
アバター
うつりきまぐれ 2019/11/24 14:34 ◆8rpaj7TJiZUt
だいぶみなつさんのプログラム参考にしてたりします。

ところで色々考えてはいるがなかなか手ががりが得られない……

コメントを書く

  • こちらは「プチコン3号」「プチコンBIG」など、プチコンシリーズに関する話題を扱ったコミュニティです
  • プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
  • こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
  • ユーザー登録なしで書き込みができます
  • 秘密の合い言葉は成りすましの防止 (トリップ機能)、書き込みの編集時の本人認証に使用します
  • 秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
  • 書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります

- WEB PATIO -