🎮
宇宙的遭難から生還する 〜Unity
宇宙遊泳的設定にしたのだけれど
宇宙スケールの資料館で、浮遊する資料を、浮遊しながら探す、という
検索でちゃちゃっと出せや、の逆をいくDatabaseを作っている。
一人称視点のPlayerは
RigidbodyのGravityをOffにしている。
Keyを押して前後、左右、上下に移動し、または各方向に回転する。
でも、Keyを離せば止まる。
別に戦闘ものをつくっているわけではなく、穏やかに、静かに移動する。
objectは
pointerが乗ったときの判定をするためにColliderをつけている。
座標指定で宙に浮いている。Rigidbodyはつけていない。
事故!
空間内を動き回るTestを続けていて、objectに衝突した。
objectは動かないので、自損事故だ。
つまり背後のobjectに気づかず後退してぶつかった。
ぶつかったら、きりもみになった。
船外活動をしていて、命綱が切れた宇宙飛行士の映画を思い出す。
配置されたobjectや、背景の星空が、グルグル回って止まらない。
事故を回避する?
objectのColliderは判定のため外せないから
自分が透明人間になるのが最も簡単。
つまりPlayerのColliderを外す。
どこでどうobjectと衝突しても、すり抜ける。
でもそれじゃおもしろくない
事故ってグルグル回っていたとき、なんかきれいだなあ、と思った。
宇宙に放り出された宇宙飛行士が、
絶望の中でも宇宙って素晴らしいなと思ってるシーン。
自分が目指していたのとは違う資料が、視界の端を抜けていく。
あ、あんなところにあんなものがある。
そういう出会いもあっていいんじゃないか。
きりもみを楽しんで、でも生還する方法
なので、脱出Keyをつけた。
グルグル回るのに飽きたら、そのキーを押せば、回転が止まる。
そのキーの動きを確かめるために、わざとobjectにぶつかって、きりもみしてみた。
うん、なかなかおもしろい。
private void Update()
{
if (Input.GetKeyDown(KeyCode.N))
{
rb.angularVelocity = Vector3.zero;
}
}
Discussion