のののーと

何か作った時のメモ書き

カメラを自由に動かしたい

最近マリオオデッセイ、プレイしました。

f:id:nonoui:20180202111844j:plain

私がプレイしてて楽しかったのは、スナップショットモードを使って自由な構図でスクショが取れる部分だ。 現実世界でいう旅行先で写真を撮るような感覚が体験できる。オデッセイワールド堪能。

今回は一時停止中でもカメラを自由に動かせるようなのをつくってみる。

※unity version 2017.2.1

カメラを自由に動かす

既にあるみたいですよ...

baba-s.hatenablog.com

要点

  • Time.unscaledDeltaTimeを使用

docs.unity3d.com

以下、私の場合

手始めに、被写体を中心としてマウスのドラッグの方向にカメラが動くようなものをつくった。

目指してた動きはこれなんだけど、実際に動かしてみると操作しづらい...

そもそも、ジョイスティック操作に最適化された操作方法をそれっぽくマウス操作に移植させたようなものだから、コレジャナイ感は当たり前だった。

なので、unityのシーンビューのカメラ操作を目指す。

既に...

既に記事がありました...

qiita.com

有り難く参考にさせて頂いた結果、簡単にそれっぽい感じになった。

その他

ズームさせたり。

f:id:nonoui:20180202103732g:plain

カメラをローカルのz軸で回転させたり。

f:id:nonoui:20180202103848g:plain

ロゴの位置を変えたり。

f:id:nonoui:20180202104916g:plain

一時停止させてみたり。心なしか被写体も嬉しそうだ。

f:id:nonoui:20180203135611g:plain

ここで燃え尽きる

それっぽくなったので、ここらで終わりとする。 肝心なスクショ機能は、実装にいたらず。 調べた結果を紹介するだけでとどめておく。

d.hatena.ne.jp

teratail.com

遊んでみた

ダメージ受けた時。

f:id:nonoui:20180203141651p:plain

たまたま、新しい公式モデルがでてたので、試しに。 ロゴを配置すると画面が引き締まる気がする。 心なしか、通常時の顔でもアイドルの方が凛々しい。

f:id:nonoui:20180203141708p:plain

ソースコード

カメラの制御はこちらで。Time.unscaledDeltaTimeを使っているのは、一時停止中でもカメラを操作を操作できるように。

入力部分はこちら。Playerという名前は変えた方がよさそうだ。

CameraController.csはカメラにアタッチした。TargetTransは被写体のTransform。今回は中央の3Dモデルをセットしている。

f:id:nonoui:20180202124859p:plain

Player.csは空のオブジェクトにアタッチした。

f:id:nonoui:20180202125226p:plain

ライセンス表記

公式モデルを使用したので。

© Unity Technologies Japan/UCL