パズルの素材として、見る角度でテクスチャが変化するシェーダーを作成した。正面から見れば灰色だが、右斜めから見ればヒントの絵が表示され、左斜めから見れば別のヒントが見える。そのヒントからパズルを解く。
左右または上下とか、複数の視点を行き来して解くのもよいが、鏡と合わせれば面白いと考えUnity上で鏡を実装しようと考えた。
当初、鏡の面を対象面とする位置に反射用のカメラを置いて、そのレンダリング画像を鏡面に貼り付ければいいと単純に考えたが、うまくいかなかった。
位置だけでなくカメラの画角などの調整必要で、視点が動く場合には対応できなかった。何よりも、反射用カメラがレンダリングする画像と、鏡面の傾きの差が調整できなかった。
Unityのストアには、鏡面だけでなく水面やガラス面も含めた反射用シェーダーが多くあり、それも検討したが上記の自作シェーダーでもうまく表示されるか不安なため購入はしなかった。
ネット上のいろいろな鏡の実装を参考に鏡を実装した。
ただ、少し古い記事の実装は、URP環境では動かないものや、モバイル環境で動かないものが多く、URPへの移植記事も参考に力技でなんとか実装。
これをベースにどのようにパズルを組み立てるか検討していく。