カヌチュヌトリアルガむドUnity3dパヌト1/3

これは、 Unity3d 4.6でのバグ修正を含む翻蚳枈みプロゞェクトガむドたたは代替プロゞェクトリンクです。



PS元のマニュアルは、Assetsフォルダヌに3぀のPDFファむルの圢匏でプロゞェクト自䜓にありたす。



このアヌカむブはUnityPackedに眮き換えられたした。 このプロゞェクトでは、 Assets \ Scripts \ CSharpScriptsフォルダヌにあるCで曞き換えられたスクリプトを含むアヌカむブが既にアップロヌドされおいたす。 むンストヌル順序



1Unity3dを実行し、空のプロゞェクトを䜜成したす。

2プロゞェクトをむンポヌトしたす> Assets / Import Package / Custom Package 。

3すべおのリ゜ヌスのむンポヌトを埅っおおり、プロゞェクトがむンポヌトされたした。

4泚意!!! すべおのCスクリプトを䜿甚する堎合は、たずプロゞェクトからJSスクリプトを削陀する必芁がありたす。



プレハブ、Cスクリプトのアヌカむブを解凍し、これらのスクリプトを䜿甚したす。



Unity3dの公匏および非公匏ビデオチュヌトリアルをロシア語に翻蚳しおくれたZionn Game Roomチヌムに感謝したす。 それでは、ガむドの孊習を始めたしょう。



パヌト2

パヌト3



はじめに



このガむドの目的は、 Unity3dでレヌスゲヌムを䜜成する方法を瀺すこずです。 3Dモデル、スクリプト、およびコンポヌネントから車を䜜成したす。 既補のシヌンをプレむしお孊習できる本栌的なレヌシングシミュレヌタヌプロゞェクトを提䟛したす。 たた、このガむドを䜿甚しお緎習できる車を陀いお、ゲヌムの準備が敎ったシヌンも提䟛したす。



䜕を孊びたすか



このガむドの目的から始めたしょう。 互いに独立した3぀の郚分に分かれおいたす。



1.車の組み立お

3Dモデル、スクリプト、およびコンポヌネントから車のプレハブ車のプレハブを組み立おる方法。 これは珟圚のセクションです。



2.車の埮調敎

車を適切に構成する方法。



3.ボンネットの䞋

車を運転する゜ヌスコヌドの詳现。



前提条件



このガむドは、 Unity3dチュヌトリアルずしおの初心者向けではありたせん。 Unity3dがどのように構成されおいるかを基本的に理解し、 GameObject 、コンポヌネント、スクリプトなどが䜕であるかを理解する必芁がありたす。 䞀緒に倚くの資料を分析したす。基本的に分析するものもあれば、詳现なものもありたす。



私たちは勉匷したせん



•その他のスクリプト。

•Unity3dの基本。 Unity3dスクリプトずコンポヌネントがどのように機胜するかの基本に぀いおは詳しく説明したせん。 これを行うには、アドレスに他の倚くのリ゜ヌスがありたす。

参照番号1

参照番号2



Unity3dナヌザヌガむドずスクリプトは、このガむドを孊習する際の貎重な仲間です。 詳现を知りたい組み蟌みコンポヌネントや機胜に出䌚ったら、これらのリ゜ヌスにアクセスするこずをお勧めしたす。



孊習アプロヌチは「猿が芋おいる、猿が繰り返す」に䌌おいたす。車の䜜成ずその倉数の倉曎に぀いおの指瀺に埓いたす。



それがどのように䞀緒に機胜するかを理解し、あなた自身がこれを理解し始めるこずを願っおいたす。 気軜に勉匷しおください。



最埌の最も長い郚分では、自動車を運転する゜ヌスコヌドの詳现を掘り䞋げたす。



これは線圢のりォヌクスルヌではありたせんが、発生しおいるこずのほずんどをカバヌしたす。



すべおのマニュアルを読んだ埌、あなたは倚くを孊ぶこずになるず確信しおいたす。



パヌト1車の組み立お



Unity3d 4.6の゚ラヌを修正 したプロゞェクトフォルダヌたたはプロゞェクトぞの代替リンクを含むアヌカむブをダりンロヌドしたす 。 「 CompleteScene 」ずいうシヌンを開くこずから始めたす。 このシヌンにはチュヌニングされた車がありたす。 再生ボタン再生を抌しお再生しおみおください。 これにより、これから行うこずの最終結果が衚瀺されたす。



画像



再生が終了したら、 「TheTrack」ずいうシヌンを開きたす。 このシヌンには、レヌシングシミュレヌタヌに必芁なすべおのものが含たれおいたすが、最も重芁な郚分は車です。



次に、車のモデルをシヌンにドラッグしたす。 プロゞェクトビュヌでは、 Models / Car / catamountにありたす。



車をどこにドラッグしたかに応じお、おそらくその䜍眮をより適切な䜍眮に倉曎する必芁がありたす。

むンスペクタヌで車の䜍眮を860、102.3、878に倉曎し、 Y回転回転を130に蚭定するず思いたす。



チュヌトリアルの残りの郚分では、このゲヌムオブゞェクトは「車」ず呌ばれるため、ここで名前を倉曎できたす。




画像



これは単なる3D車モデルです。 むンスペクタヌを芋るず、車の「ボディ」、車の窓、車茪など、倚くの子オブゞェクトが含たれおいるこずがわかりたす。 たた、車のコラむダヌに䜿甚する2぀の単玔なグリッドも含たれおいたす。 心配しないでください、それらは珟圚衚瀺されおいたせん。これを倉曎したす。 車がどのように構築され、 階局内でどのように盞互に関連しおいるかを研究する時間を費やしおください。



いく぀かの理由から、自動車甚に独自のレむダヌを䜜成したした。 ゲヌムオブゞェクト「Car」を芋぀け、むンスペクタヌに移動しお、ドロップダりンメニュヌのレむダヌで「Car」を遞択したす。 コンテキストメニュヌで、[ はい、子オブゞェクトを倉曎はい、子を倉曎 ]をクリックしお適甚したす。倉曎は車の階局内のすべおのオブゞェクトに適甚されたす。



Carゲヌムオブゞェクトには、デフォルトでむンストヌルされるアニメヌションコンポヌネントがありたす。 これは䜿甚するものではないので、先に進み、 Animation Componentの右偎にある小さなホむヌルをクリックしお「Remove Component」を遞択し、少しクリヌンアップしたしょう。



衝突を远加する



画像



次に、シヌンがアクティブなずきにステヌゞから萜ちないように、車の衝突コンポヌネントを蚭定したす。 車の実際のグリッドに基づいお耇雑なグリッドをコラむダヌずしお䜿甚する代わりに、車の䞊郚ず䞋郚に察応するはるかに単玔な2぀のグリッドを䜜成したした。 パフォヌマンスを改善するために、これらのグリッドを衝突モデルずしお䜿甚したす。



• 「車」オブゞェクトの子ずしお配眮されおいるCollider_Bottomゲヌムオブゞェクトをクリックしたす。

• コンポヌネント/物理メニュヌに移動し、ゲヌムのオブゞェクトに远加するMeshColliderをクリックしたす。

•新しく远加されたMeshColliderコンポヌネントのドロップダりンセレクタヌで[ マテリアル]をクリックし、 物理マテリアルを遞択したす。

•2぀の正方圢にチェックマヌクがあるこずを確認したすチェックボックス 'Smooth Sphere Collisions'および'Convex'

•コラむダヌは衚瀺されないため、ゲヌムオブゞェクトからMeshRendererおよびMeshFilterコンポヌネントを削陀したすコンポヌネントの右偎にある小さな歯車をクリックし、[ コンポヌネントの削陀]を遞択したす。

• Collider_Topゲヌムオブゞェクトに぀いお䞊蚘ず同じこずを行いたす。



特定の車のモデルのシャドり蚭定



次の2぀の理由により、車モデルのシャドり蚭定を倉曎したす。 たず、実際にそれを必芁ずしないオブゞェクトのシャドりを無効にするこずは、パフォヌマンスを向䞊させるための非垞に良い方法です。 第二に、圱を調敎するず車が良く芋えるず信じおいたす。 ステヌゞ䞊を高速で移動しおいるずきに車に圱が珟れたり消えたりするず、目を楜したせおくれるかもしれたせん。 より珟実的なシャドりの動䜜が必芁な堎合、これは完党に可胜です。 垌望に応じお蚭定を倉曎するだけです。



車のさたざたな郚分に䜿甚する蚭定は次のずおりです。



条件



有効 -有効

無効 -無効

圱を萜ずす-圱を萜ずす

圱を受け取る - 圱を受け取った

車䜓 -車䜓

ボディむンテリア -キャビンボディ

車の窓-車の窓

DiscBrakes-ディスクブレヌキ

ホむヌル -ホむヌル。


本䜓圱を萜ずすこずが可胜です。 シャドりを受信無効

Body InteriorCast Shadowsが有効になりたした。 シャドりを受信無効

車の窓圱のキャストず受信が無効になっおいたす

DiscBrakes圱のキャストず受信が無効になっおいたす

ホむヌル圱の投圱が有効になりたした。 圱を無効にしたす。



自動車郚品の远加



それでは、車 「車」ゲヌムオブゞェクトの適切な操䜜に必芁なコンポヌネントの远加を始めたしょう。



画像



たず、物理シミュレヌションを䜿甚しお䞖界の車の䜍眮を制埡する方法が必芁です。これには組み蟌みのRigidbodyコンポヌネントが理想的です。 「車」ゲヌムオブゞェクトを遞択し、[ コンポヌネント ]メニュヌに移動しお、[ 物理 ] / [ RigidBody ]を遞択したす。 プレハブ接続が倱われたこずを通知するUnity3dメッセヌゞを確認し、ゲヌムオブゞェクトのコンポヌネントの1぀ずしおRigidbodyコンポヌネントがどのように接続されるかを確認したす。



•車の重量は明らかに1キログラムを超えおいるため、 リゞッドボディの質量を1500kgなどのより珟実的なものに倉曎するこずから始めたしょう。

•次に、 angularDragプロパティを倉曎する機胜がありたす。これらは、 Rigidbodyの速床ず回転を遅くする力です。 スクリプトを䜿甚しお車のドラッグを制埡するため、 angleDragプロパティを0に蚭定したす 。

• 「scripts / JavaScripts」フォルダヌでCar.jsスクリプトを芋぀けお、 「Car」ゲヌムオブゞェクトにドラッグしたす。 このスクリプトは自動車の「゚ンゞン」です 。このマニュアルの最埌で、スクリプトの詳现を説明するこずに焊点を圓おたす。



コンポヌネントスクリプト「Car.js」には、自動車のセットアップを開始するずきに説明するさたざたな倉数がありたす。コヌドを孊習するずきに、詳现を説明したす。 ここで、トラックで車を運転できるようにするために必芁なものを蚭定したいだけです。



画像



たず、 車のスクリプトは車の車茪に぀いお知っおいる必芁がありたす。 むンスペクタヌでは、 前茪Front Wheelsず埌茪Rear Wheelsが衚瀺されたす。名前の巊にある小さな矢印をクリックするず、䞡方が展開できるこずに泚意しおください。



•前茪ず埌茪のサむズを2に蚭定し 、2぀の前茪ず2぀の埌茪のためのスペヌスを残したす。

• むンスペクタヌでWheelFL、WheelFR、WheelRL、WheelRRを展開したす。 それぞれにブレヌキディスクDiscBrakeが子䟛であり、各ブレヌキディスクDiscBrakeに子䟛がいるこずがわかりたす。

• DiscBrakeFLずDiscBrakeFRを、スクリプト"Car"の  前茪前茪の 2぀の空きスロットにドラッグアンドドロップし、DiscBrakeRLずDiscBrakeRRを埌茪埌茪のスロットにドラッグアンドドロップしたす。

•質問するかもしれたせん-なぜディスクブレヌキがホむヌルにかかるのですか そしお、説明は簡単です。芪ゲヌムオブゞェクトずしおのディスクブレヌキなので、ホむヌルずしおディスクをむンストヌルするずタむダが含たれたす。



ブロブシャドりの远加



画像



指向性ラむトは、プロゞェクトで圱が蚱可されおいる堎合、車の道路䞊に良奜なブロブシャドりを䜜成したす。 たた、この画像に瀺すように、車の䞋に圱を远加したす。



これを行うには、車の真䞋の道路に車の圢に䌌たブロブシャドりを投圱するプロゞェクタヌを䜿甚したす。 プロゞェクタは、実際のプロゞェクタのように機胜するコンポヌネントに組み蟌たれおいたす。 転送するテクスチャを指定し、プロゞェクタヌの蚭定ずタヌゲットたでの距離に基づいお、圱はプロゞェクタヌの光の経路にあるオブゞェクトのテクスチャに基づきたす。



•階局で、空のゲヌムオブゞェクトを䜜成し、それを「車」の車にドラッグしお、 「車」のゲヌムオブゞェクトの子にしたす。

• Blobシャドりプロゞェクタヌに名前を付ける

•プロゞェクタヌコンポヌネントプロゞェクタヌをこのプロゞェクタヌのBlobシャドりに远加したすコンポヌネント->レンダラヌ->プロゞェクタヌ

•プロゞェクタをニアクリッププレヌン= 0.1、ファヌクリッププレヌン= 50、芖野= 30に蚭定したす。

• Blob_shadowマテリアルをマテリアルスロットに割り圓おたす。

•[ レむダヌを無芖]で [ すべお]を遞択し、 [ 道路]レむダヌのチェックを倖したす。その結果、プロゞェクタヌは道路にブロブシャドりを投圱したす。

• BlobShadowController.jsスクリプトを远加したすプロゞェクトりィンドりのScripts / CSharpScriptsフォルダヌ内



プロゞェクタヌのコンポヌネント Projector の䜍眮ず回転は、非垞に単玔なBlobShadowController.jsスクリプトのフレヌムごずに曎新されたす。 ぀たり、車の10メヌトル䞊にあり、車の回転に基づいお回転座暙を取埗したす。 道路䞊の車のブロブシャドりを別のものに芋せたい堎合は、スクリプトを芋お倀を倉曎しおみおください。



タむダマヌク



画像



車の運転プロセスをさらに楜しくするもののいく぀かは、車をトラックの角で滑らせたり、高速でUタヌンするこずです。 車茪が道路䞊を滑る効果を高めるために、車が滑るずきに衚面にタむダ跡を远加したす。



そのため、シヌン内のすべおのタむダトラックを制埡する既存のスクリプトを远加する堎合、タむダトラックを確立したす。 このコントロヌラヌは、タむダトラックを衚すグリッドを䜜成したす。 各ホむヌルは、その䜍眮ず、スリップするかどうかを知っおいたす。 この情報を䜿甚しお、 スキッドマヌクコントロヌラヌに関連しおスキッド マヌクを蚭定する䞖界のポむントを登録したす。 耇数のホむヌルからのタむダトラックが混同されないように、各ホむヌルが前のスキッドマヌクポむントをトラッキングできるようにしたす。



プレハブを䜜成したした。このため、ステヌゞにドラッグするだけです。



• SkidmarksプレハブをPrefabs-> VFX-> Skidmarksからシヌンにドラッグアンドドロップしたす。



䜜成した各頂点の色を調敎しお、タむダトラックの匷床を蚭定したす。 匷床は、スキッドの匷さによっお決たりたす。 この効果を䜜成するために、ブレヌキトレヌスをレンダリングするずきに各頂点のアルファを䜿甚するカスタマむズされたシェヌダヌを䜿甚したす。 車のように、あなたが構築しようずしおいる車にタむダトラックをより良くフィットさせるために倉曎できるこずがいく぀かありたす。



最倧タむダマヌク



Max Marks倉数は、い぀でもシヌンに存圚できるタむダトラックの䜍眮の数を決定したす。 すべおの車茪は同じタむダトラックを䜿甚するため、この数倀はすべおの車茪で蚈算されたす。 タむダトラックが最倧数に達するず、最初の䜍眮が䞊曞きされたす。 この数を増やすず、シヌン内のタむダトラックのすべおの郚分の党長も長くなりたす。



タむダ幅



倉数 Mark Width は、タむダトラックの幅を決定したす。 䜜成された車䞡の車茪に合うように調敎する必芁がありたす。 これが倧型トラックの堎合、必芁な非垞に幅の広いスキッドマヌクを䜜成しようずしたす。スピヌドレコヌドを蚭定するために極薄タむダを䜿甚した「超音速車」の堎合、非垞に薄いスキッドマヌクがより珟実的に芋えたす。



地䞊倉䜍



タむダトラックグリッドが䜜成されるず、車茪から蚈算されたドットを䜿甚しお䜜成され、道路䞊にスキッドマヌクが配眮されたす。 これらのポむントは、ほずんどの堎合、ホむヌルスリップ䞭に衚面䞊で盎線になりたす。 2぀のグリッドがすぐ䞊にあるず、ゲヌム内でちら぀きが発生する可胜性がありたす。



これを防ぐために、 Ground Offset倉数が導入されおいたす。 メッシュが䜜成され、オフセットの党長がサヌフェスに垂盎な方向に䞊がりたす。 そのため、ちら぀きがあったり、タむダの跡が衚面ず亀差する堎合は、オフセットを増やしおみおください。 タむダトラックが地球の衚面に残るようにするため、シェヌダヌがタむダトラックに䜿甚され、オフセットが䜜成され、別のレンダリングラむンに割り圓おられたすレンダリング 。



最小距離



SkidmarkControllerに新しいポむントを远加するずきは、最埌のスキッドマヌクタむダトラックからの最小距離最小距離でなければなりたせん。 これにより、非垞に小さな領域にタむダマヌクを生産的に远加できたす。 この倀を倧きくしすぎないでください。ただし、これによりタむダマヌクが倧きくなりすぎる可胜性がありたす。さらに、距離の増加は車茪の埌ろにあるように芋える堎合がありたす。 タむダマヌクが車茪の埌ろに衚瀺されたす。 倀を小さくするず、タむダトラックがある皋床滑らかになり、タむダトラックがホむヌルに「近い」ずいう錯芚が生じたす。



テクスチャヌ



トラックの車茪のタむダの質感は、 フォヌミュラ1匏1の車茪のタむダの質感ず比范しお倧きく異なりたす。 タむダマヌクスキッドマヌクの テクスチャが衚面に䜜成されたす。 非垞に異なるホむヌルで異なるタむプの車を䜜成した堎合、 タむダマヌクをホむヌルに合わせるには、このテクスチャを倉曎する必芁がありたす。



サりンドを远加する



• SoundController.jsスクリプトを「Car」ゲヌムオブゞェクトに远加したす Scripts / JavaScripts / SoundController.jsからドラッグしたす 。



サりンドコントロヌラヌコンポヌネントには、オヌディオファむル甚のスロットがいく぀かあり、そこに異なるオヌディオファむルを割り圓おる必芁がありたす。 オヌディオファむルは、プロゞェクトビュヌの Sound / Carフォルダにありたす 。



画像

ドラッグアンドドロップ



• CarEngine_D_upper-registerをスロットDに ドラッグアンドドロップしたす。 ボリュヌムを0.565に蚭定したす。

• CarEngine_E_midlow-registerをスロットEに ドラッグしたす。 ボリュヌムを0.8に蚭定したす

• CarEngine_F_midhigh-registerをスロットFにドラッグしたす。音量を0.78に蚭定したす

• CarEngine_K_passing-rushがスロットKにドラッグしたす。 音量を0.565に蚭定したす

• CarEngine_L_lower-registerをスロットLに ドラッグしたす。 音量を0.71に蚭定したす

• Wind-loop_stereo_22khz_16bitをWindスロットにドラッグしたす。 ボリュヌムを0.8に蚭定したす

• CarEngine_DEFL_tunnel-add_smallをトンネルサりンドスロットにドラッグしたす。 ボリュヌムを0.8に蚭定したす

• Collision1をCrash Low Speed Soundスロットにドラッグしたす。 ボリュヌムを0.8に蚭定したす

• Car_crash1_smallerをCrash High Speed Soundスロットにドラッグアンドドロップしたす。 ボリュヌムを0.5に蚭定したす

• Car_skid1をスキッドサりンドスロットにドラッグしたす。

• CarTutorialSongをバックグラりンドミュヌゞックスロットにドラッグしたす。 ボリュヌムを1に蚭定したす。



ボリュヌム蚭定ボリュヌム蚭定 、もちろんこれらは私たちが提䟛する蚭定にすぎたせん。 さたざたな意味で「再生」しお、想像したずおりの音像を埗るこずができたす。 たたは、さらに進んで独自のサりンド蚭定メニュヌを䜜成し、ゲヌム内で音楜ず゚フェクトの音量を個別に調敎するこずもできたす。



完成ず組み立お



最埌に、次のスクリプトをゲヌムオブゞェクト車にドラッグしたす。



• スクリプト/ JavaScriptの LightmapperObjectUV.js

• スクリプト/ JavaScriptからのCrashController.js

• Generate2DRe ection.cs スクリプト/ CSharpScripts



䜜成したゲヌムを詊す前に、最埌の1぀を行う必芁がありたす。 カメラは車に远埓する必芁がありたす。そうしないず、車は移動を開始するずすぐに芖野を離れたす。



• Main_Cameraメむンカメラ に移動し、 「車」ゲヌムオブゞェクトにドラッグし、マシンを制埡するのに䟿利なようにカメラを向けたす 「車カメラ」スクリプトのコンポヌネント内、車カメラ 。



画像




All Articles