Unity3D初心者向け-チュヌトリアル1

たえがき



Habralumの人々はUnityにある皋床の関心を瀺したので、この蚘事を、オブゞェクトを扱う䞻なポむントを匷調する䞀連のチュヌトリアルで開きたす期間が無期限のサむクルを継続したす-誰にずっおも有甚である堎合



すぐに、入堎の基準を䞋げるために、人生でこのようなこずをしたこずがない人の期埅に話をしたす。 基本的な機胜を実装するのが最も簡単なシュヌティングゲヌムが最も簡単なので、それから始めたす。 このレッスンでは、地球、空、制埡されたキャラクタヌ、空ず倪陜を芋るためのカメラ、および癜い立方䜓で赀いボヌルを撮圱する方法に぀いお少し説明したす。 だから 行こう...



始めたしょう





事前準備


開始するには、Unity自䜓をオフサむトにダりンロヌドしおむンストヌルし、無料䟡栌タグ付きのラむセンスを遞択したす。 UnityProの30日間の詊甚版をダりンロヌドできたす。



最初の起動時に、プロゞェクトりィザヌドりィンドりが目の前に衚瀺されたすそこで空になりたす。







䞀般的な理解のために、Windowsで「DocumentsAndSettings \ AllUsers \ Documents \ Unity Projects \ Bootcamp Demo」に移動する付属のBootcampDemoを開くこずができたす。

トレヌニングを続けるには、[新しいプロゞェクトの䜜成]タブに移動し、必芁な暙準のゲヌムオブゞェクトずスクリプトのセットを遞択したす。 必芁になりたす



そしお、そこでのみチェックできるものすべおに泚意するこずができたす。 ストックポケットは抌さない。







宛先フォルダヌを遞択し、「䜜成」をクリックしお、遅いむンポヌト凊理が完了するたで埅ちたす。 最埌に、実隓甚の空のフィヌルドが衚瀺されたす。







写真のキャプションに぀いお簡単に説明するず、 プレハブずリ゜ヌスのむンスペクタヌは 、プロゞェクトに远加されたモデル、テクスチャ、サりンド、 プレハブが保存される堎所です。オブゞェクトはさらに再利甚するために保存されたす。 ぀たり モデルを添付した攻撃者のオブゞェクトず、その動䜜を制埡するスクリプトを䜜成したした。各レベルで再床䜜成する必芁はなく、このオブゞェクトのすべおのコピヌは手動ではなく、個別に倉曎したす。 この堎合、プレハブずしお保存し、次に敵を配眮する必芁がある堎合は、プレハブをステヌゞにドラッグするだけです。 プレハブを倉曎するず、そのすべおのコピヌが倉曎されたす。



ステヌゞ䞊のオブゞェクトの階局は 、珟圚のレベルのすべおのオブゞェクトのリストであり、同時に芪子関係を瀺したす。



オブゞェクトむンスペクタヌには、珟圚遞択されおいるオブゞェクトモデル、テクスチャ、プレハブのコンポヌネントずそのプロパティが衚瀺されたす。



魔法のボタンを䜿甚するず、゚ディタヌで盎接シヌンを開始し、バグの䞻題に远い蟌み、䞀時停止しおオブゞェクトのステヌタスを確認し、フレヌムごずに実行しお埮調敎および制埡できたす。



メむン線集りィンドりでは、ドラッグアンドドロップのすべおの機胜を䜿甚しお、レベルごずにオブゞェクトを配眮したす。



最初に、デフォルトのシヌンにすでにあるものを芋おみたしょう。 そんなに倚くないよね メむンカメラずいう名前のオブゞェクト。階局内の名前をクリックするず、ビュヌポヌトコヌンずカメラからの眺めのある小さなりィンドりが衚瀺されたす。



線集りィンドりの䞻なコントロヌルをすぐに説明したす。



座暙に぀いお蚀えば、開発者は、1単䜍のゲヌムスペヌスを1メヌトルごずに䜿甚するこずをお勧めしたす。それに専念するこずをお勧めしたす少なくずも物理孊をいじくり回すには。



玄束の地


しかし、矊に戻っお、私たちが歩く衚面を䜜りたす。 モデルはただないので、倧きな飛行機を䜜成するこずができたす...しかし、地球、぀たり地圢を䜜成したす-裞の飛行機よりも色が濃くなりたす。 これを行うには、メニュヌで[地圢]-> [地圢の䜜成]を遞択したす。 出来䞊がり







繰り返したすが、あたり印象的ではありたせん。 たず、地圢->解像床の蚭定を䜿甚しお、地球の゜リッドのサむズを倉曎したす。 デフォルトでは、LengthおよびWidthパラメヌタヌは2000です。 2 kmから2 km。 テスト実行甚にはあたり必芁ないので、これらのフィヌルドに500ず500を曞き蟌みたす-十分すぎるほどです。



次に、テクスチャを地面に割り圓おたしょう。 これを行うには、メむンりィンドりたたは階局内で地圢を遞択し、オブゞェクトむンスペクタヌで䜿甚可胜なプロパティを確認したす。 そこには、テレヌンを線集するためのツヌルがありたす暙準的なもの-䞊昇/䞋降、スムヌズなど。 すぐに必芁な颚景の描画を開始できたすが、珟時点では[地圢テクスチャペむント]ブラシのボタンに興味がありたす。 そしお、それが開くタブには、[テクスチャの線集]ボタンがあり、メニュヌの[テクスチャの远加]をクリックしたす。







りィンドりが開き、将来のテクスチャのパラメヌタヌが衚瀺されたす。 それらの䞭から「なしテクスチャ2d」ずいう倀を持぀ものを芋぀け、これらの単語の右偎にあるドットの付いたボヌルをクリックしたす。 プロゞェクトリ゜ヌスに既に远加されおいるものからテクスチャセレクタが開きたす。 ずころで、プロゞェクトにテクスチャを远加するには、プロゞェクトフォルダにテクスチャをコピヌするだけです-ナニットはそれ自䜓をすべおピックアップしたす。 他のすべおのむンポヌトは同じ方法で行われ、プロゞェクトからリ゜ヌスを削陀するず、ディスクから物理的に削陀されたす。



目的のテクスチャ、たずえばGrassHillを遞択したす。 クリフレむダヌドロックなど、さらにいく぀かのテクスチャを远加し、䞊蚘で遞択したブラシを䜿甚しお、奜きなようにペむントできたす。 以前の操䜜の埌、次のようになりたした。







珟圚、画面の䞊郚にある[再生]ボタンをクリックするず、ほずんどの堎合、背景が青く照らされおいない土地が衚瀺されたす。 しかし、それは面癜くないので、続行する前に、倪陜をシミュレヌトするステヌゞに照明を远加し、青い背景を空に眮き換える必芁がありたす。 ラむトは、メむンメニュヌのGameObject-> Create other-> Directional lightから远加されたす。 次に、図に埓っお、回転軞䞊の遞択されたオブゞェクトの呚りのヘルパヌ矢印を倉曎するボタンを抌したす。 これらの軞を匕いお、奇劙なこずに、照明装眮を回転させお、地球がより色付きで匷調衚瀺されるようにしたす。







空が頭の䞊の青いキャンバスの代わりになるようにするには、スカむボックステクスチャを指定する必芁がありたすskybox-「sky box」、テクスチャは内偎から匕き䌞ばされる立方䜓、原則ずしお-空のパノラマ写真、内偎からはこれでボヌルに囲たれおいるように䜜成されたすこれは、ほずんどのゲヌムで空が描画される方法です。 これを行うには、[線集]-> [レンダリング蚭定]メニュヌに移動し、「Skyboxマテリアル」プロパティを芋぀けお、地球のテクスチャで行ったように、右偎にドットのある円をクリックしたす。 プロゞェクトで䜿甚可胜なマテリアルが衚瀺されたす甚語のゞャングルに入らないように、マテリアルはテクスチャであり、どのように衚瀺されるかを考慮したす-透明になるか、茝くようになりたす。 たずえば、sunny2 skyboxのように、skyboxずいう単語を持぀人を遞択したす。 玠晎らしい、今私たちの埋め立おはより掻発に芋えたす。



管理ずカメラ


私は長い間、最初のチュヌトリアルにスクリプトの解析ずカメラずコントロヌルのれロからの曞き蟌みを含めるかどうかを考えおいたした。 それでも、私は今のずころ延期するこずにしたした。 今日は、既補のピヌスからキャラクタヌを収集するだけです。次のチュヌトリアルでは、スクリプトの解析を開始したす。



実際、Unityキットには、カメラずコントロヌル甚の既補の既に組み立おられた゜リュヌションを提䟛する2぀のゲヌムオブゞェクトが含たれおいたす。 しかし、それらに぀いおはただ説明したせんので、自分の手で組み立おるむンセンティブがありたす。 :)



たず、プレヌダヌのオブゞェクトを䜜成したす。 むしろ、䜙分なスクリプトを䜜成しないために、「メむンカメラ」の名前を「プレヌダヌ」に倉曎したす。 カメラを遞択したら、メニュヌから[コンポヌネント]-> [物理]-> [キャラクタヌコントロヌラヌ]を遞択したす。 キャラクタヌコントロヌラヌは、空間内のオブゞェクトたたはキャラクタヌの䜍眮を凊理するコンポヌネントですその動き、回転、萜䞋、ゞャンプ、他のオブゞェクトずの衝突。 これはすべお、オブゞェクトの移動ず衝突のチェックの暙準機胜に関するこのラッパヌの助けを借りずに盎接行うこずができたすが、その埌、移動を実装するためのコヌドが倧幅に増加したす。 したがっお、䞀般的に、最初のレッスンではコヌディングできたせん:)



<歌詞の䜙談>


叙情的な䜙談ずしお、コンポヌネントに぀いお話す䟡倀がありたす。







ステヌゞに衚瀺されるオブゞェクトは、ゲヌムオブゞェクトずいう名前のクラスのむンスタンスです。 いわゆる䞀定量の コンポヌネント-次に、それらのクラスのむンスタンスです。 各コンポヌネントは特定の実甚的な機胜を実行したす。 そのため、各GameObjectにはTransformコンポヌネントが必芁です。Transformコンポヌネントは、珟圚の座暙、回転角床、およびオブゞェクトのサむズを3次元空間に栌玍するこずを玄束したす。 さお、同時に、この空間内のオブゞェクトの䜍眮でアクションを実行するためのメ゜ッドが含たれおいたす倉䜍、タヌンなど、すなわち ゚ディタヌでオブゞェクトを制埡矢印で匕くず、その倉換の座暙が倉曎されたす。



しかし、たずえば、RigidBodyコンポヌネントはオブゞェクトの物理的動䜜の凊理に関䞎しおいたす。ショットの銃身が暪に倒れお回転したずきに衚瀺されるものはすべお、RigidBodyの䜜業の結果です。 ちなみに、オブゞェクトの衝突が決定される3次元モデルを栌玍するColliderタむプのオブゞェクトにオブゞェクトを割り圓おないず、これは正しく機胜したせん。 このモデルは衚瀺されたせんが、ゲヌム䞭に画面䞊に衚瀺されるものではなく、倖の䞖界ずの衝突がチェックされたす。



</叙情的な䜙談>




カメラの呚りに、緑の線がクプスラを圢成しおいるこずがわかりたす。これにより、プレむダヌずの衝突が蚈算されたす。 カメラはこのカプセルの真ん䞭にありたすが、ベルトに目を向ける必芁はありたせん状況は異なりたすが:)。そのため、キャラクタヌの頭の領域にカメラを移動する必芁がありたす。 ただし、このカプセルは単䞀の倉換を持぀オブゞェクトの䞀郚であるため、カメラずは別に動かすこずはできたせん。 幞いなこずに、オブゞェクトむンスペクタヌでCharacter Controllerで䜿甚可胜なプロパティを芋るず、パラメヌタヌx、y、zを持぀Centerプロパティが衚瀺されたす。 ぀たり、オブゞェクトの䞭心に察しおカプセルの䞭心を移動できたす。 y = -0.8に蚭定し、目の通垞の高さを取埗したす。



プレヌダヌを地球の衚面の䞊に眮いおPlayをオンにするず、カメラは静止したたたになりたす。 これは、Character Controllerが制埡コマンドを凊理するだけで、それ自䜓がむニシアチブをずらないためです。 䜕をすべきかを説明するには、プレヌダヌのスクリプトをドラッグアンドドロップしたす。このスクリプトは、Standart Assets \ Character Controllers \ Sources \ Scriptsフォルダヌのプレハブむンスペクタヌにあり、「CharacterMotor」ず呌ばれたす。 そのタスクは、Character Controllerメ゜ッドを䜿甚しお移動の基本ルヌチンを実行するこずです。重力、ゞャンプの動䜜を実珟し、移動の珟圚の速床ず方向を蚈算したす。 レベルを開始するず、プレむダヌのカメラが地面に萜ちたす-すでに䜕か。



しかし、ただ静止しおいたす。結局のずころ、キヌストロヌクをむンタヌセプトし、CharacterMotorでそれらに぀いお報告するスクリプトがありたせん。 これは、同じフォルダヌ内のFPSInputControllerスクリプトによっお凊理されたす。 プレヌダヌに投げお起動し、歓声を䞊げたす-W、S、A、Dボタンで歩き、スペヌスバヌでゞャンプできたす しかし、私たちは皆、䜕らかの方法で、巊ず右の1぀の方向に歩を远加しお歩きたす。 頭をひねっお目が芋えるずころに行くには、そこから別のスクリプト、MouseLookが必芁です。 私たちは投げお走り、完党にコントロヌルしたす。



これで、倉数をいじるこずができたす。 キャラクタヌモヌタヌず䞀緒にむンストヌルされたキャラクタヌコントロヌラヌ-重力、最倧前進速床、ゞャンプ台の高さなどのパラメヌタヌが保存されるのは、圌のプロパティです。 ここに、むンスペクタヌのすべおの利点がありたす。クラスのすべおの基本的なプロパティは垞に芋えおいるので、コヌドに進む必芁さえありたせん。



UPD私の䟋倖的な曲率のおかげで投皿から萜ちた継続



時折移動するタヌゲットでの撮圱


自分で䜜った䞘を駆け回り、3枚ものテクスチャヌで愛情を蟌めおペむントするのは確かに楜しいです。 しかし、すぐに退屈したした。 したがっお、メニュヌからGameObject-> Create other-> Cubeを遞択し、このキュヌブをプレヌダヌの隣の空䞭に配眮し、Transformプロパティで次のScalex、y、zパラメヌタヌを指定したす。 レベルを実行しお、このキュヌブの機胜を確認したす。 正盎に蚀うず、絶察に䜕もありたせん。 ただし、このキュヌブを遞択したら、Component-> Physics-> Rigidbodyを割り圓おたす。次回起動するず、たったく異なる画像が衚瀺されたす。 キュヌブは萜䞋し、回転したす。段ボヌルのように芋えたすが、デフォルトの重量は1 kgです。これはそのようなサむズには十分ではありたせんが、ただ觊れたせん。



キュヌブを遞択した状態で、Ctrl + Dオブゞェクトを耇補を抌し、Ctrlを抌しながら、キュヌブが䞊䞋にドラッグされるたでキュヌブをドラッグしたす。 これで、たったく同じ2぀の完党に同䞀のキュヌブができたした。 このキュヌブの手順を15たで繰り返し、バベルの塔の厩壊を芋おください。



次に、新しいキュヌブを䜜成したすが、リゞッドボディを割り圓おないでください。 それから、撮圱しやすいように平らな衚面を䜜りたす。 スケヌル150、20、150; どこにでも配眮したす-䞻なこずは、タワヌずプレむダヌを配眮するこずです。 次のようになりたした。







次に、歊噚ず匟薬を䜜成したす。 プレハブはカヌトリッゞずしお機胜したす。むンスペクタヌの䞊郚にある[䜜成]ボタンをクリックし、そこでプレハブを遞択するこずにより、プレハブむンスペクタヌで䜜成したす。 むンスペクタヌでその時点で開かれたフォルダヌに新しいプレハブが䜜成されたす。 コンポヌネントが存圚しないこずを象城する灰色で匷調衚瀺されたす。 メむンメニュヌで、GameObject-> Create other-> Sphereをクリックし、シヌン階局でこのSphereを芋぀けお、Rigidbodyをハングさせたす。 しかし、より矎しくするために、先ほどハングさせたこのリゞッドボディのプロパティに進み、Massパラメヌタヌを5に倉曎したしょう。



その埌、球䜓を階局のリストから䜜成したプレハブにドラッグしたす。 プレハブが青に倉わり、ステヌゞ䞊の球の名前が青に倉わりたす-これはプレハブのクロヌンであるこずを意味したす。 プレハブの名前をデフォルト名から、たずえばprefab_bulletに倉曎したす。 矎しさのために。 匟䞞の準備ができたした



次のステップは、歊噚を䜜成するこずです。぀たり、この球䜓をマりスでクリックしお発射するスクリプトを䜜成したす。 プレハブの暪に、JavaScriptファむルを䜜成したすCreate-> JavaScript。 たずえば、プレヌダヌず呌びたす混乱しないように。 これをダブルクリックするず、組み蟌みのスクリプト゚ディタヌが開き、ファむルの内容がこれに眮き換えられたすただ分析したせん。



public var bulletImpulse = 300;

public var shootSpeed = 1;

public var bullet : GameObject;



public var lastShotTime : float;



function Start() {

lastShotTime = 0;

}



function Update () {



if (Input.GetKey(KeyCode.Mouse0)) {

if (Time.time>(lastShotTime + shootSpeed)) {

var bull_clone : GameObject;

bull_clone = Instantiate(bullet, transform.position, transform.rotation);

Physics.IgnoreCollision(bull_clone.collider, collider);

bull_clone.rigidbody.AddForce(transform.forward*bulletImpulse, ForceMode.Impulse);

lastShotTime = Time.time;



}

}



}








次に、スクリプトを保存し、䜜成されたスキヌムに埓っお、プレハブりィンドりからプレヌダヌを癜い平面の䞭倮にドラッグしたす。 これを遞択するず、次のように衚瀺されたす...







そしお、これは、スクリプトがコンポヌネントず同じ方法でオブゞェクトに固執するこずを意味し、それらを同じ方法で管理できたす。 むしろ、それらはコンポヌネントですが、これは今では䞍可欠ではありたせん。 Bulletパラメヌタヌの暪にあるドットの付いた円をクリックしお、開いたサンプルボックスに球のあるプレハブを芋぀けるこずが重芁です。 匟䞞ずしお遞択するず、レベルを安党に実行し、段ボヌル箱でコアを発射するこずができたす。



もちろん、UFOが私の思考に干枉せず、重芁な䞀歩を逃しおいなかった堎合を陀きたす。



ふう。



ひれ




私がカバヌしなければならないこずを十分に詳现にカバヌし、重芁でない些现なこずを繰り返しお行かなかったこずを願っおいたす。 このチュヌトリアルはガむダンスのみを目的ずしおいたすが、誰かにずっお本圓に圹立぀ず信じたいず思いたす。 合理的な批刀ず次の号ぞの期埅を楜しみにしおいたす。 ご枅聎ありがずうございたした



All Articles