カレンダー

2021/12
   
 
       

広告

Twitter

記事検索

ランダムボタン

逆さまの座標系

by 唐草 [2024/03/19]



 今作っているゲームのダンジョンは、小学生が方眼紙のマス目を利用して鉛筆でダンジョンを描くのと同じ方法で定義されている。数学的に効率の良い別の方法があるかもしれないが、小学生と同程度の思考がやっとのぼくには無縁な話。想像力を働かせて紙のマス目に「迷いの森」や「魔王城」を描いた頃から何も進歩していない。
 幼き日と違うのは、方眼紙が実在しないデータになったことだけ。実在しないので何百枚でもダンジョンを生み出すことができるし、紙には収まらない巨大なダンジョンを作ることだってできる。
 今のぼくは紙という窮屈な制約から解き放たれ、無限とも呼べる莫大なデータを自由に操っている。
 だが、実在しないデータを扱う際に1つだけ厄介なことがある。
 ぼくの脳内とゲームを出力するソフトウェアとの間で方眼紙の向きが上下逆さまだということ。それがぼくを大きな混乱の渦へと投げ込む。
 ぼくの脳内の方眼紙は、さながらエクセルの画面のよう。左上が原点で、右に進むとX軸の値が大きくなり、下に進むとY軸の値が大きくなる。
 一方、ゲーム制作に用いているUNITYだと右に進むとX軸の値が大きくなるのは同じだが、下に進むとY軸の値は小さくなる。こちらは数学の教科書で見慣れた座標空間で定義されている。
 数学的に考えれば、軸の向きなど些細なことが。左右や上下、そして奥行きのどちらを正にしても負にしても問題はない。そのことは理屈では分かっている。
 ただ残念なことに鏡写しになった2つのデータを等価として扱えるほどぼくの頭は柔軟ではない。画面に出力されたものを見ると自分が想像したものが上下鏡写しになっているようにしか思えない。
 それを見て「鏡像だから座標は反転している」と脳内でズレの修正を試みるも、ぼくの処理能力では十分に扱いきれず頭がパンクしてしまう。このパンクを避けるには脳内方眼紙の上下を逆にするしかない。だが、生まれてこの方ずっと今の向きで考えてきた。今更反転させるのはかなり難しい。悲しいかな、UNITY内の座標を反転させる非合理なプログラムを書くほうがずっと楽。誤った力を身に着けた感が否めない。