Unity アニメーション」カテゴリーアーカイブ

【Unity】アニメーションのスピードをスクリプトで変更する

スクリプトでステートごとにアニメーションのスピードを変更してみました。 まずFloat型のパラメーターを作って、スピードを変えたいステートを選択してインスペクタを見ます。 Speed Multiplierの右端のチェック… 続きを読む »

【Unity】アニメーション中にボーンをスクリプトで動かす

アニメーションをしているキャラクターの頭のボーンをスクリプトで動かして、プレイヤーの方を常に向かせてみました。 まず、キャラクターに付けたスクリプトのStartメソッドで、頭のボーンのトランスフォームを探します。 usi… 続きを読む »

【Unity】見えないキャラのアニメーションが再生されないとき

見えないところから視界に入ってくるようなアニメーションがカメラに映らないときの対処をしてみました。 デフォルトではカメラに映っていない時にアニメーションが再生されないので、横からキャラクターが視界に入り込んで来るようなと… 続きを読む »

【Unity】Blenderで複数のオブジェクトにアニメーションを付ける

Blenderで複数のオブジェクトにアニメーションを付けて、Unityの一つのアニメーターコントローラーで再生してみました。 まずバットをキャラクターの子にして、それぞれに別々のアクションを作りました。 子オブジェクトで… 続きを読む »

【Unity】一つのアニメーションで複数のオブジェクトを動かす

一つのアニメーションで各引き出しを動かしてみました。 枠と3つの引き出しの4つが空のオブジェクトの子になっています。 ルートの空オブジェクトを選択して、AnimationウィンドウでCreateして、アニメーターコンポー… 続きを読む »

【Unity】StateMachineBehaviourに付けたものが外れる

NPCに追加したスクリプトを、NPCのアニメーターコントローラーのStateMachineBehaviourのフィールドに入れて、NPCを非アクティブにすると、インスペクタの変数の欄にNoneと表示されてしまいます。 S… 続きを読む »

【Unity】一人称視点でバケツに入って隠れる

バケツを左クリックすると中に入って隠れます。隠れている間、蓋を少し開けて隙間から外を見れるようにします。 一人称視点でロッカーの中に入って隠れるのと同じ方法で、バケツの方を向くようにFPSコントローラーを移動させて、蓋を… 続きを読む »

【Unity】一人称視点でロッカーの中に入って隠れる

ロッカーを左クリックすると開いて、FPSコントローラーで動かすプレイヤーが中に入ります。もう一度左クリックするとロッカーから出ます。 まず一人称のカメラからレイを飛ばして手が届く位置にロッカーがあるかどうかを調べます。 … 続きを読む »

【Unity】FPSプレイヤーをアニメーションさせる

キャラクターコントローラーで動かす一人称視点のプレイヤーをアニメーションで動かしてみます。直接Animaorコンポーネントをつけると問題があったので、アニメーションを付けた別のゲームオブジェクトに乗せて動かします。 まず… 続きを読む »

【Unity】アニメーターの遷移にORの条件をつける

アニメーターコントローラーで次のステートに遷移するときに、「または」を使った条件を設定します。 まず2つのトリガーパラメーターと、2つのステートを行き来する遷移を作ります。 右側の矢印をクリックしてインスペクタのCond… 続きを読む »

【Unity】プレイヤーから遠いときは足音を鳴らさないようにする

たくさんのキャラの足音を鳴らすと、足音のタイミングでBGMや長い効果音が小さくなったりして不安定になったので、プレイヤーから遠いキャラの足音は鳴らさないようにしてみました。 void Footsteps() { if (… 続きを読む »

【Unity】アニメーションに合わせて足音を鳴らす

アニメーションイベントを使ってNPCの足音を鳴らしてみます。まずキャラクターのFBXファイルのインポート設定のAnimationタブで歩くアニメーションを選択して、下の方のEventsを見てみます。 Eventsの横の三… 続きを読む »

【Unity】グレネードの爆発で敵を吹き飛ばす【物理】

グレネードを投げると数秒後に爆発して、敵やアイテムを吹き飛ばすようにします。 まず敵のスクリプトにパブリックなメソッドを作ります。 public void Explode(Vector3 center) { // 体力を… 続きを読む »

【Unity】アニメーターコントローラーで銃のリロードを制御

リロードのアニメーションを作ってアニメーターコントローラーに設定してみました。 まずBlenderで作ったアニメーションをインポートして、アニメーターコントローラーの新しいステートにアタッチしました。アニメーションはブレ… 続きを読む »

【Unity】連射の間隔を変える

マウスを押している間は弾を連射するようにして、その間隔を調節してみます。 弾を連射するには前の記事のスクリプトのInput.GetMouseButtonDownをInput.GetMouseButtonに変えるだけです。… 続きを読む »

【Unity】AnimatorStateInfoの使い方 #1

前の記事で攻撃可能ステートから攻撃中のステートへ遷移している間はまだ攻撃可能ステートに留まっていると思ったのですが、遷移中はその後の攻撃中のステートも有効になるようです。 攻撃ステートが有効でマウス左クリックすると攻撃す… 続きを読む »