こんにちは
次のリンクで以前のレッスンを見つけることができます。
レッスンB01-B03レッスンB04-B08基本レッスン09-コンテンツの追加
このレッスンでは、マテリアルを使用してオブジェクトにテクスチャを追加する方法について説明します。Unity3dでゲームオブジェクトを使用する場合、マテリアルも使用する必要があります。 たとえば、テクスチャを持つマテリアルをキューブに追加します。
テクスチャをダウンロードします(* .png、256px x 256px、98.4KB)。最初に、テクスチャを
Assetsフォルダ(プロジェクトのルートフォルダ)に保存します。
マテリアルディレクトリを追加し(プロジェクトで「階層的な順序」を維持することが常に便利であることを覚えています)、ファイル
バルブテクスチャに名前を付けます(拡張子* .png(元のレッスン* .psd)、注を参照)。

Unity3dに戻り、テクスチャが含まれる
マテリアルフォルダが
プロジェクトビューに表示されることを確認し
ます 。

キューブを作成します。 テクスチャをキューブに追加するには、
プロジェクトビューからキューブにドラッグするだけです(マテリアルは自動的に作成されます)。 ただし、事前に設定して、
[作成]-> [マテリアル]を選択することもできます
。
それを
電球と呼び、
Materialsフォルダに入れます
。
buldを選択し、テクスチャを
プロジェクトビューから
インスペクタービューの空の灰色の正方形(
none(Texture 2D)とラベル付け
)に転送するか、同じ正方形内のすべて
選択をクリックして表示されるリストから選択します。

灰色の正方形の代わりに、テクスチャ付きのアイコンが表示されます。
マテリアルをキューブにドラッグします。 キューブはすぐにテクスチャリングされます。
インスペクタービューでマテリアルを選択するとき、
シェーダーを選択することもできます。
シェーダーに従って、最終的な外観が計算されます

PS:シェーダーについては個別に説明しますが、後ほど説明します。
また、マテリアルは
タイル(モザイクテクスチャ)として構成できます。 x番目またはy番目の座標のタイル値が大きいほど、対応する側でより多く繰り返されます。 これがどのように機能するかを理解するには、xとyの値を10に設定します(値が変更されると、キューブのテクスチャがリアルタイムで更新されます)。
オフセットパラメータは、テクスチャを「円形」にシフトします。 それがどのように機能するかをよりよく理解するには、試してみてください。
ご注意Unity3dはPSDに加えて、次の形式のインポートもサポートしています。
TIFF、JPG、TGA、PNG、GIF、BMP、IFF、PICT。
他のテクスチャマッピングと同様に、テクスチャの辺が2のべき乗(128、256、512など)の場合、(パフォーマンスのために)最も効果的です。 ただし、テクスチャを2倍にする必要はありません(たとえば、256x512は許容可能なテクスチャサイズです)。
基本レッスン10-オーディオの基本
このレッスンでは、オーディオソースコンポーネント(オーディオリソース)を再生し、スクリプトを使用してサウンドクリップを呼び出す方法について説明します。Unity3dでサウンドを操作するには、2つのコンポーネントが必要です。
- AudioListener(オーディオレシーバー)
- AudioSource(オーディオリソース)
通常、
AudioListenerはカメラのコンポーネントです。 カメラを選択し、
インスペクタービューで確認します。
サウンドを聞くには、各シーンに少なくとも1つの
AudioListenerが必要です。
空の
GameObjectを追加し、それに
Audio Sourceコンポーネントを追加します
。
インスペクタービューまたはスクリプトを使用して、オーディオクリップを追加できます。
プロジェクトには、モノラルとステレオの2つのオーディオファイルがあります。

モノラルは一般的に効果音に使用されます。 それだけのために、減衰または他の3D効果を使用できます。
音楽用のステレオ、それぞれ ステレオサウンドはそのまま暖まります。
[
プレビュー]ウィンドウで、選択したファイルを再生できます。

クリップ(
GreenadeLaunch )を
Audio Clipフィールドに追加します
。 [
アウェイクで再生 ]オプションが
オンの場合 、サウンドはシーンの開始直後に再生されます。

適切なタイミングで音声クリップを鳴らしたい場合は、スクリプトを作成する必要があります。
オーディオソースの [
オーディオクリップ]フィールドを空白のままにして、
PlaySoundsという名前のc#スクリプトを追加します
。 次のコードをスクリプトに追加します。
空の
GameObjectにスクリプトを追加し、スクリプト内の
myClip変数の値をサウンドファイル(
GreenadeLaunch )で初期化します。 今すぐ
再生をクリック
すると、再び音が聞こえます。
オーディオソースを使用せずにオーディオを再生できます。
Game Sourceから
Audio Sourceコンポーネントを削除し、
Start()メソッドの本文のコードを次のコードに置き換えます。
AudioSource.PlayClipAtPoint(myClip, transform.position);
ここで、
PlayClipAtPointは
AudioSourceクラスの静的関数であり、対応する
オーディオソース (この場合は
myClip )で新しい
GameObjectを作成し、オーディオクリップを再生した後、この
GameObjectを削除し
ます。スクリプトを保存し、
GameObjectにそれが
含まれ ていることを確認します
。myClipの値は
GreenadeLaunchです
。
[
再生 ]をクリックし、シーンを読み込んだ直後に[
一時停止 ]をクリックして、
One Shot Audioという名前の新しいゲームオブジェクトがシーンに表示されていることを確認します
。
基本レッスン11-接続の基本
このレッスンでは、固定ジョイント(固定ジョイント)とヒンジジョイント(スイベルジョイント)を使用して、「建物破壊ボール」にチェーンを作成する方法について説明します。Unity3dで興味深い物理学を作成するには、
「ジョイント」を使用します
。 これを説明するために、建物を破壊するためのボールのモデルを作成します。
元のシーンには、平面度
(床) 、カメラ
(メインカメラ) 、および光源
(点光源)が含まれています。まず、球体を作成し、それに
Rigidbodyコンポーネントを追加して、それを
Ballと呼びます。
Rigidbodyを追加して、円柱をシーンに追加します。 下の図に、円柱と球のサイズと位置を示します。 円柱の場合、
スケールは0.15、0.25、および0.15で、それぞれx、y、およびzの場合、円柱はボールの「エッジ」に「巻き上げ」られます(エッジが交差します)。

球体と円柱を接続するには、球体
(ボール)を選択し、それに
固定ジョイントコンポーネントを追加します
。 Connected Body変数を値
Cylinder.rigidbodyで初期化します
。 このために、
Cylinderを
階層ビューから
インスペクタービューの
Connected Bodyの反対側のフィールドにドラッグするだけで十分であることを思い出させてください。

Cylinderの名前を、ボールを固定するのに適した名前(
Ballstemなど)に
変更します。
Connected Body変数の値は自動的に変更されます。
プレイを押すと、シリンダーが取り付けられた状態でボールがどのように落ちるかがわかります。

次に、チェーンの移動セクションの作成を始めましょう。
カプセルを作成します(
Chain1と呼びましょう)。その寸法は
ボールステムの寸法に似ており、
カプセルのすぐ上に配置され、オブジェクトの端が交差するようにします。
Chain1はまた、
rigidbodyコンポーネントと一緒に
なります
。
そして、
ボールステムに
ヒンジジョイントコンポーネントを追加します。
接続されたボディでは、
Chain1.rigidbodyを初期化し
ます 。
固定位置はオレンジ色の矢印で示されています。

チェーンの別のセクションが必要です。
Chain1を選択して複製します(
ctrl + Dまたは
cmd + D )。 名前を
Chain2に変更し、また
Chain1の最上部に
移動します。
Chain1に 、
ヒンジジョイントを追加します。
Bodyを
Chain2.rigidbodyに 接続し
ました。
同様
にChain3を追加します。最後に、
HingeJointを
Chain3に追加し、
Connected Bodyの値を設定しません
。 この場合、オブジェクトは「自分自身」(より正確には、シーンの空の場所)にアタッチされます。
ボール、ボールステム、チェーン1、チェーン2、チェーン3を
選択し、それらを傾けます。
プレイをクリックして、チェーン付きボールの動きを確認します。
基本レッスン12-仮想軸を使用して入力する
このレッスンでは、矢印(矢印キー)を使用して、「軸」(軸)を使用して左右に移動する方法を説明します。今回はステージ上に飛行機
(床) 、カメラ
(メインカメラ) 、光源
(ポイントライト) 、空の
gameObjectがあります。別の入力オプションは、
「軸」(軸)の使用です。入力マネージャーを開き
ます(編集->プロジェクト設定->入力) 。
軸を展開してから、
水平を展開します。
いくつかのデフォルトパラメータを見てみましょう。
パラメータ | 価値 | 解説 |
負のボタン | 左 | 負の方向に移動するためのキー |
ポジティブボタン | そうだね | ポジティブな方向に進むための鍵 |
Altネガティブボタン | a | 負の方向に移動する代替キー |
Alt正ボタン | d | 正の方向に移動するための代替キー |
種類 | キーまたはマウスボタン | 特定の軸に沿って移動するための入力タイプ(この場合はX) |
軸 | X軸 | 移動するオブジェクトの軸 |
この移動
(水平)を使用するには、
Inputクラスの
GetAxis()メソッドが必要
です。小さなコメントさらに、メソッドが静的であることを毎回示さないために、次の規則が導入されています。
- 「クラスメソッド」が記述されている場合、 静的であると見なされます。
- 「オブジェクトメソッド」が記述されている場合、メソッドは特定のオブジェクトに属します。
C#スクリプトを追加し、
GetAxis.csを呼び出して
記述します。
private float horiz; void Update () { horiz = Input.GetAxis("Horizontal"); Debug.Log(horiz); }
空の
gameObjectにスクリプトを追加し、[
再生 ]をクリックします
。 左/右矢印(またはa / d)を保持すると、
ステータスバーに
horiz変数の値がどのように
変化するかが表示され
ます 。

この変数の値は、-1から1に変化します(押されたキーに依存)。 キーを
放すとすぐに、
horizは再び0になります。
Debug.Log()の直後に
、Update()に別のコード行を追加し
ます 。 transform.Translate(new Vector3(horiz, 0.0f, 0.0f));
シーンを実行して矢印をクリックします
-gameObjectがX軸に沿って移動し始める様子がわかります。
