コミュニティアイコン プチコン 非公式コミュニティ プレイ日記

アバター
こういち ◆ou0jbJnEJ0Kb
2019/12/4 6:42
ろどにさん、おちゃめさんに便乗して、ボクも誕生日を迎えることになりました。


実は誕生日プレゼントとして作っていたプログラムがあったのですが、間に合わなかったので、代わりにPCで作った試作品のイメージGIFを載せます。

コメント

アバター
高原のな 2019/12/4 20:58 ◆bY8RViwvoODw
似たようなものを作ってたことがあったりするんですが、ぜんぜんテクスチャマッピングとか分かんなくて詰んでるマンになっちゃったので、ソースコードとか見てみたいですねこれ(
ぐりぐり回せるのいいなー
アバター
こういち 2019/12/4 21:35 ◆ou0jbJnEJ0Kb
Processing版ですがソースコードどーん。
速度稼ぐためにサブルーチンとか全く使っていないので、とても読めるようなソースコードではないですが。
一応仕組みを解説すると、
まず、ポリゴンの法線ベクトルから平面の方程式
透視投影の式から直線の方程式を出して、それを連立方程式として解きます。
すると、ピクセル上の点の座標が求まるので、そこから線形補間します。(続く)
アバター
高原のな 2019/12/4 21:45 ◆bY8RViwvoODw
うむ。たぶん数式と疑似コードで見せてもらったほうがわかる()
平面作って、「描画座標をもとに作った視線の直線」とその平面の交点だして決定する感じですかね?
アバター
こういち 2019/12/4 21:47 ◆ou0jbJnEJ0Kb
線形補間ですが、
頂点を0,1,2,ピクセル上の点をpとした場合、
pと辺12の距離/頂点0と辺12の距離
を頂点0のUV座標に掛けたもの

pと辺20の距離/頂点1と辺20の距離
を頂点1のUV座標に掛けたもの

pと辺01の距離/以下略

を全て足し合わせた座標からテクスチャの色情報を取ってきています。
フォンシェーディングとかも同じような感じ。
アバター
こういち 2019/12/4 21:49 ◆ou0jbJnEJ0Kb
>平面作って、「描画座標をもとに作った視線の直線」とその平面の交点だして決定する感じですかね?<
まさにそんな感じです。
アバター
高原のな 2019/12/4 22:02 ◆bY8RViwvoODw
ほえー。UVマッピングって、描画しようとする点を頂点と対岸の辺の位置でどのくらいにいるかっていう割合とってブレンドするんですね
ひとつ勉強になりました

コメントを書く

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

- WEB PATIO -