【Unity】RayCastを使って障害物との距離を測る

”障害物を乗り越える”をテーマに挑戦している日々なんですが、 曲がりなりにも越える処理を作る事ができました。 しかし、処理時間と転倒時に乗り越えモードの終了ができない、 二つの問題点が残っています(T-T) グスッ これを解決するのに四苦八苦しているのですが、 いろいろ考えて思いついたので、記事にまとめてみます。 まず、動作の安定感を出す為に問題点を出してみました。 乗り越えモーションは、 障害物(黒ブロック)の左にあるOverZone(青のCollider)と言うトリガーを利用して、 OverComeModeに切り替えています。 ゾーンの内部で上キーを押せば、乗り越えモーションに切り替わるように 設定しているのですが、ゾーンの幅が1.5スケールあります。 当然、接触と同時にキー入力すれば差は1.5となりますが、 障害物寄りでキー入力すると距離は変化します。 ブロックの幅が1スケールでモーション起点が0~1.5スケールあるので、 距離としては、1~2.5の幅ができます。 最大速度を10としてるので、通過時間に0.1~0.25秒の差があります。 なので、モーションの時間を0.5秒として処理していましたが、 速度も変化するって事が最大の難点になっています。 仮に速度を2で移動させた場合、 1スケール進むのに0.5秒掛かってしまいます。 ゾーンの左端でモーションを起動すると幅が1.5あるので、 障害物の手前で処理が終…

続きを読む