UnityでRPGを開発する上で、最初に当たる問題が「移動」に関する問題だ。キャラクターを動かす事は(Transformを直接変更したり、CharacterControlを使ったりRigidbodyに色々したりして)難しくはないが、「障害物に突っ込まない」とか「崖の下に落ちないようにする」といった挙動を実現する場合は厄介だ。 特に「落ちないようにする」を実現するのは若干面倒で、方法こそ色々とあるがどれも地味に面倒くさかった。見えない壁を配置する地面に(例えば6本の)Rayを常に飛ばすそもそも落下地点に移動出来ないようにする(ブロック単位の移動) が、気づいたら(4.2より)NavmeshがUnity無料版でも使えるようになったので、それをつかって実現してみようと思う。 Navmeshについて ナビゲーションメッシュ(または Navmesh と呼ばれる)はゲーム世界の物体の簡素化された表現で