【Blender】画像を使って簡単に柵を作る
柵の写真からBlenderで簡単に柵を作ってみます。まずtextures.comで柵の画像をダウンロードして、隙間の部分を消しゴムなどで消して透明にします。 BlenderでCubeを使って薄い長方形を作り、Uキー -&… 続きを読む »
柵の写真からBlenderで簡単に柵を作ってみます。まずtextures.comで柵の画像をダウンロードして、隙間の部分を消しゴムなどで消して透明にします。 BlenderでCubeを使って薄い長方形を作り、Uキー -&… 続きを読む »
たくさんのキャラの足音を鳴らすと、足音のタイミングでBGMや長い効果音が小さくなったりして不安定になったので、プレイヤーから遠いキャラの足音は鳴らさないようにしてみました。 void Footsteps() { if (… 続きを読む »
アニメーションイベントを使ってNPCの足音を鳴らしてみます。まずキャラクターのFBXファイルのインポート設定のAnimationタブで歩くアニメーションを選択して、下の方のEventsを見てみます。 Eventsの横の三… 続きを読む »
テレインレイヤーによって足音を変えてみました。前の記事の方法でアルファマップを取得して、一番割合の多いテレインレイヤーを調べます。 float[] slatmap = new float[0]; // — // Fi… 続きを読む »
テレインのプレイヤーが立っている場所にどのテレインレイヤーがどのくらい塗られているかを調べてみます。 FirstPersonControllerクラスのFixedUpdate()で地面に向かって球体のレイを飛ばすので、そ… 続きを読む »
Unityのスタンダードアセットに含まれる足音の音声ファイルは、1つのファイルに足音が一発ずつで、0.05~0.1秒ぐらいのところにピークがあり、全体の長さが0.4~0.6秒ぐらいです。 フリーの音声素材を上のような状態… 続きを読む »
前の記事では、レイヤーマスクを使って、シェーダーエディターで服の画像を重ねて一つのテクスチャ画像を作りましたが、各部位に別々のマテリアルを適用して色や質感を設定し、それを一つの画像に統合する方法を試してみました。 まず必… 続きを読む »
Blenderのテクスチャペイントで、ジーンズのテクスチャ画像に色落ちを塗ってみます。 まずtextures.comでデニムの画像をダウンロードして、マテリアルに設定しました。 Image Editorのペイントモードで… 続きを読む »
前の記事でレーダーに表示する敵のマークのサイズを、プレイヤーと敵の高さの差によって変えてみます。プレイヤーより高い位置にいる敵の画像は大きく、低い敵は小さく表示します。 // Update() for(int n = 0… 続きを読む »
レーダーで捉えた複数の敵をミニマップ上に表示してみます。ミニマップ上の画像の色は敵の色に合わせて変えます。敵の生成や削除もできるようにします。 using System.Collections; using System… 続きを読む »
レーダーで赤い球の位置を捉えて、ミニマップに表示してみます。 まずミニマップの中心の黒い点と対象物を示す赤い点のためのImageオブジェクトをシーンに配置して、丸い画像をスプライトにして両方にアタッチしました。 空のゲー… 続きを読む »
はしごに裏から乗ろうとするとキャラクターがはしごに引っかかってしまう問題を解決してみました。 キャラクターをはしごの前に移動させるときにキャラクターコントローラーのMoveメソッドを使うと、はしごのコライダーに当たって止… 続きを読む »
どの高さからでもはしごに乗れるようにします。また、はしごの上まで来たら自動ではしごを降りるようにします。 前の記事では、地面の近くのはしごに乗る位置に空のゲームオブジェクトを置いていましたが、はしごの終点の少し上に置くこ… 続きを読む »
はしごにレイが当たっているときにマウスクリックではしごを登り始め、登っているときはプレイヤーの回転を制限します。また、ななめのハシゴに沿って登れるようにします。 // カメラ // はしごをのぼる else if (hi… 続きを読む »
FPSコントローラーではしごを登ってみます。 はしごを登る時は、はしごからの距離やキャラが回転できる範囲を常に同じにしたいと思ったので、今回はキャラクターコントローラーをはしごの前の指定の位置へワープさせ、指定の方向へ回… 続きを読む »
シーンに配置した目印のオブジェクトから、指定の数だけランダムに選んでアイテムと置き換えます。 まずアイテムの赤い球と、目印に使う小さなシリンダーのプレハブを用意しました。 空のゲームオブジェクトを作って、その子オブジェク… 続きを読む »
複数の敵の全てからレイを飛ばすとき、敵のリストを持つクラスのUpdate()で、1フレームにつき数体ずつ実行してみます。 [SerializeField] int cap = 3; // 一度に処理する敵の数 // –… 続きを読む »
ナビメッシュエージェントに目的地を設定するときに、プレイヤーの位置をそのまま伝えるのではなく、プレイヤーへの方向を中心とした範囲の中から目的地の方向をランダムで決定して大まかに目的地を設定してみます。 Vector3 t… 続きを読む »
前の記事のプレイヤーをFPSコントローラーにして、移動するプレイヤーから遠くにいる敵の削除と、新しい敵の配置が自動で行われるようにしました。 using System.Collections; using System.… 続きを読む »
移動するプレイヤーを囲うように敵を配置するときに、すでに敵がいる方向へは新たに敵を配置しないようにします。 using System.Collections; using System.Collections.Gener… 続きを読む »