poi’s tech blog

3D多人数同時接続型球体アクション成人向けゲーム開発のためのアイデア、ナレッジ

Unity メモ

Unity 2019.3.14f1

Cinemachineのカメラが意図しないVirtual Camera視点の映像を映す

www.mum-meblog.com

同じPriorityだと、最後に設置されたVirtual Cameraが表示される

Timeline上で切り替えたいときは切り替えたいVirtualCameraのTrackを配置するだけでOK。

アニメーション中のモデルの顔をVirtualCameraで注視したい

Virtual CameraのLook Atに頭のBoneを設定すればOK

Cinemachineが振動しない

f:id:poipoipoip:20210305232758p:plain
Raw Signalを設定していなかった…

6D ShakeとかHandheldとかによって揺れ方がかわる。

Timelineで再生されるアニメーションに含めたAnimation Eventが二重で実行される

なぜか、Animation ExtrapolationのPost-ExtrapolateがLoopになっているとAnimation Eventgが二重で実行される事がある。

Trackを何度もコピペせずとも同じアニメーションをループしてくれる便利な設定だったが上記の通り悪さをするため、
アニメーションをループさせつつEventを発火させたい場合は同じTrackをコピペするという本末転倒具合…

f:id:poipoipoip:20210306001456p:plain

f:id:poipoipoip:20210306001308p:plain

正直このあたりの挙動がさっぱり分からないので原因究明はおいおい。

なんか再発した。Loopじゃなくても二重三重で実行される。

Post-ExtrapolateをHoldじゃだめだったけどNoneならいいっぽい。

LoopとかHoldでアニメーションをなめらかに補正するために裏で二重三重に同じアニメーションが動いてるとか?

20210306追記

二重実行再発

Loop Trackの挙動が悪さしている?

f:id:poipoipoip:20210306171650p:plain
ループしたいアニメーションのTrackとLoop Trackの長さが一致していれば二重実行されない

f:id:poipoipoip:20210306171800p:plain
ループしたいアニメーションのTrackよりLoop Trackが短いと二重実行される

ループ時のアニメーションをなめらかにするためにできれば後者の方法で二重実行防止したいが…

潔くSignal Trackの利用を検討する。

  • Animation Eventのほうが管理楽?
    • Blenderでアニメーション変更した時にAnimation Eventのデータ消えるかも
      → そのため、なるべくAnimationにゲームロジック組み込まないほうがそさそう

※AnimatorController内でイベント触りたい場合はAnimation Event使うしかない?要確認

取り急ぎ二重実行は無くなったので、しばらくはSignal Trackでよさそ。

nabesi777.hatenablog.com

同じUnityEventに異なる引数を与えたい場合は都度Signalファイルの作成必須?

f:id:poipoipoip:20210306201406p:plain
Signalの場合はそう。

MarkerとReceiverを設定すればよさそう。

tsubakit1.hateblo.jp

f:id:poipoipoip:20210307154730p:plain
自作Markerはアイコンが逆水玉マークになる

f:id:poipoipoip:20210307154801p:plain
好きにパラメータが設定できる

特定のMarkerの位置にJumpしたい

つくった。

poipoipoip.hatenablog.com