テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

アニメーション

【Unity】2DのSprite Animationをプレビューする裏技

今回はSprite Animationの内容をプレビューする方法についてです。 悪いな二次太、このアニメーションのプレビューは3D用なんだ 2Dアニメーションをプレビューする裏技は存在する 2Dスプライトアニメーションを表示するアセット 関連 悪いな二次太、このアニ…

【Unity】さよならステートマシン。旧AnimationっぽいAPIでアニメーションを再生する SimpleAnimation

今回はステートマシンを使用せずAnimatorでアニメーションを再生する、Simple Animationについてです。 ステートマシンにサヨナラを Playable API Unity公式の旧Animationを模したアニメーション再生コンポーネント アニメーション切替も超絶シンプル Animat…

【Unity】ランダムにアニメーションを再生する

Mecanim(Animator)を出来る限り活用してランダムにアニメーションを再生する方法についてです。 FacebookのUnityユーザー助け合い所で面白い話題が上がっていたので、試しに作ってみました。 何時もと違うアニメーションの再生 ランダムなアニメーションの…

【Unity】ユニティちゃん等で、ジャンプ中に追加で上下してしまう問題の解決方法

今回は上下の動きが最初から含まれているジャンプモーションをアクションゲーム等で使用する方法についてです。 ジャンプ中にジャンプモーションがジャンプする ジャンプアニメーションから上下移動を取り除く 手順 実際の動作 着地時に足がめり込む ジャン…

【Unity】ITimeControlで、Timelineから"コンポーネント"を操作する

今回はTimelineのクリップからMonobehaviourを継承したコンポーネントを手軽に操作する方法について紹介します。 Timelineで手軽に動かしたい ITimeControlインターフェースはTimelineから呼ばれる 実際に回転させる コードの準備 Timelineにコンポーネント…

【Unity】シェーダーで3Dモデルのアニメーションを行う Animation Texture Baker

今回はシェーダーで3Dモデルのアニメーションを行います。 シェーダーで3Dモデルのアニメーションを行う とりあえずやってみる Animation Texture Bakerの導入 テクスチャでアニメーションするモデルの導入 アニメーションの変換 GPU Instancingに対応してみ…

【Unity】Animator Parameterというウィンドウ

何の役に立つのかよく分からんシリーズ 紹介する為に色々調べてみたけど、結局用途や使い道がよく分からん…という事でお蔵入りしてた項目も少しずつ紹介していこうと思います。 Animator Parameterというウィンドウ Animator Parameterウィンドウは何の役に…

【Unity】Prefabの”モデルの差し替え”を、セットしたコンポーネントを一々付け直さずに行う方法

今回はModelの更新に関するTipsです。 モデルの差し替えのトラブル オブジェクト構造やコンポーネントを維持しつつモデルを差し替え 実際の流れ コンポーネントの参照先は残らない問題 関連 モデルの差し替えのトラブル ゲーム開発を進める時、最初からモデ…

【Unity】AnimationControllerからTimelineへのアニメーション切替を目立たなくする

今回はTimelineを再生する際に、アニメーションの切替が一瞬で切り替わってしまう問題の対策についてです。 Timelineを使用するとアニメーションが一瞬で切り替わってしまう Timelineの入りと出でフェードする Timelineを使用するとアニメーションが一瞬で切…

【Unity】動作が完結してるアニメーションを分割する

例えばジャンプアニメーション等、AssetStoreから入手したアセットのアニメーションが繋がっている事があります。 そういった時に、アニメーションを分割するアプローチについてです。 繋がっているアニメーション アニメーションを分割する 作業の流れ 関連…

【Unity】AnimationControllerを用意せずAnimatorによるアニメーションを使う

Playable APIを使用してアニメーションをAnimationController無しで制御します。 大量のアニメーションとAnimationController Playable APIとは何ぞや Playable APIでAnimationっぽい事をしたい ソースコード サンプル 問題 大量のアニメーションとAnimation…

【Unity】Cubeを跳ねさせる

今回は小ネタというか、やってみたと言うか…豆腐を跳ねさせるという内容です。 Cubeだって跳ねる とりあえず、跳ぶ! カーブを付ける 豆腐はフルフルする 関連 Cubeだって跳ねる ゲームの仮素材ランキングがあるとしたら、多分ブッチギリで人気No1はCubeでし…

【Unity】Playable APIで幾つかの小技

昨日のPlayable APIで書ききれなかった事を少し追記します。 tsubakit1.hateblo.jp 複数のAnimatorに単一のPlayableを流し込む アニメーションの出力先を切り替える Aditiveの再生 複数のAnimatorに単一のPlayableを流し込む PlayableGraphにOutputは実は複…

【Unity】アニメーション制御に色々と良さそうな"Playable API"について云々

今回はUnity 2017.1で正式導入となったPlayable APIについてです。 PlayableAPIはAnimatorのLowLevel API(のようなもの) アニメーションのブレンド結果をOutputに出力する AnimatorをPlayable API的に見てみる Playable APIを実際に使ってみる AnimationCl…

【Unity】Timeline × Cinemachine でカットシーンのカメラワークを作る

今回はCinemachine を使用してカメラワークを設定してみます。 Cinemachine TimelineとCinemachineを使ってみる Cinemacine TrackとCinemachine Brainを追加してCameraの設定 Cinemachine vertual cameraはカメラの座標と設定 カメラのブレンドはTimelineで …

【Unity】RootMotionを持たないアニメーションをTimelineで動かす

今回はTimelineで、RootMotionを持たないキャラクターを動かしてみました。 Timelineと移動 Root Motoinで動く前提? Animationで動かす カーブエディタを使いたい 関連 Timelineと移動 Unity 2017より、やっとこさTimeline(カットシーンエディタ)が追加さ…

【Unity】AnimationController間でStateMachineBehaviourのインスタンスを共有するSharedBetweenAnimatorsの挙動

SharedBetweenAnimatorsというAttributeがあります。 簡単に言えば「StateMachineBehaviour」のインスタンスを共有するAPIです。少しだけ動作に疑問があったので確認してみました。 インスタンスを共有するSharedBetweenAnimators パラメータはシェアされる …

【Unity】ステージのギミックをアニメーションで作る際に便利な設定

今回は、現在位置からの相対距離で動くアニメーション設定という小ネタです。この使い方に気づかなかったので色々面倒な事をしていましたが、不要やったんやってお話です。 ステージギミックとアニメーション 初期設定ではAnimationの位置は親オブジェクトか…

【Unity】Timelineに動的に生成したオブジェクトをバインドする

今回はTimelineのデータ情報を流し込む方法についてです。 Timelineは使い回せる イベントに使う事でAnimatorの構造を簡単にする 使い回しTimelineを作る時は編集用シーンを用意するが吉 Timelineはバインドしたオブジェクトを操作する PlaybleDirectorがオ…

【Unity】アニメーションと物理演算を連動させる 5.6以降

以前、アニメーションと物理演算を連動させる方法について紹介しましたが、Unity 5.6でもっとシンプルになりました。 tsubakit1.hateblo.jp Animate Physicsなる機能 Unity 5.6のアップグレードガイドを眺めていると、少し気になる項目がありました。 docs.u…

【Unity】Video Playerでアルファチャンネル付きムービーを使う

アルファチャンネル付きムービー、アルファムービー、透過ムービー、with alpha、αムービー、Aビデオ、呼び方は色々ありますが、背景が透明なムービーについてです。 アルファチャンネル付きムービー 使用出来るコーデック Webmを再生出来ない端末では アル…

【Unity】Statemachinebehaviourの処理の実行順について

Statemachinebehaviourをステートに貼り付けた際、Statemachinebehaviourはどのような順番で呼ばれるのか。 確認してみました。 Statemachinebehaviourを呼ばれる順番 SubStateMachineのStatemachinebehaviour 関連 Statemachinebehaviourを呼ばれる順番 ル…

【Unity】アニメーション中、指定の位置に到達するように位置を補正する

ジャンプやダッシュジャンプを用いて障害物を登るというケースはよく有ります。この高さにアニメーションが一致すれば問題は無いのですが、任意の段差や距離をジャンプしたいといったケースは多々あります。 そういったケースの場合、幾つか解決の手法はあり…

【Unity】知らないと面倒くさい事になるかもしれないAnimatorの「Write Defaults」の動作について

今回はWrite Defaultsについて。 この挙動は少し分かりにくいので、少し補足します。 Write Defaultsという項目 キーが未定義なアニメーションは起動時のパラメータをデフォルト値として使う Write Defaultsという項目 注意点 デフォルト値が保持されるケー…

【Unity】AnimationControllerのAnyStateを使用してる際、現在のStateへ何度も移動しないようにする

今回は小さなTipsです。 例えば上のように「どれか一つのUI状態を持つ」UIをAnimationControllerで管理し、かつAnyStateから呼び出すように作成した際、Triggerを叩くと何度もUI表示アニメーションが再生されてしまうといった事があります。 AnyStateの先へ…

【Unity】着地モーションをキャンセルして即座に走り出す

今回は着地モーションをキャンセルする方法についてです。この方法は実際には色々と手があるので、その一つです。 着地モーションと着地モーションキャンセル 着地モーションのキャンセル 着地モーション自体のスキップ ちなみに、 関連 着地モーションと着…

【Unity】MecanimのAnimationClipを動的に差し替える

今回はMecanimのAnimationClipを動的に差し替える方法について。 Animationの差し替え AnimationClipを差し替える 関連 Animationの差し替え ゲームでアニメーションを使用して制御していると、時々アニメーションを差し替えたくなる事があります。例えばツ…

【Unity】知っておくと便利なAnimation Windowの操作(5.5以降対応)

Unity 5.5でAnimation Windowに手が加わりました。 今回はソレも踏まえて、Animation Windowのショートカットキーについて確認してみた事をメモします。 ま、アリじゃないか貴様(上から目線 知っておくと便利なAnimation Windowの操作 知っておくと便利なAn…

【Unity】Animatorで動かすオブジェクトをスクリプトでも動かす際の注意

少し面白い挙動について調査したので、メモ。 (前提)モデルにスクリプトで回転を加える (前提)さらに色を変えるのみのアニメーションを加える (問題)回転を設定したアニメーションを加えると動かなくなる 位置が変化するアニメーションが設定されてい…

【Unity】Navmeshで取得した経路をApplyRootMotionで移動させる手っ取り早い方法

今回はNavmeshとApplyRootMotionを組み合わせて動かす手っ取り早い方法についてです。 ApplyRootMotionとNavmesh NavmeshAgentが設定されたオブジェクトの移動を止める 終了距離が近づいてきたら、動かないアニメーションに切り替える 要するに 関連 なお、…