unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

БСйчас Ρ‚Ρ‹ напишСшь ΠΏΠ°Ρ€Ρƒ скриптов, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ (spawnβ€™ΠΈΠ½Ρ‚ΡŒ) ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΡƒ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ Π»ΠΎΠ²ΡƒΡˆΠΊΠΈ:

unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. %D0%9B%D0%BE%D0%B2%D1%83%D1%88%D0%BA%D0%B0. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-%D0%9B%D0%BE%D0%B2%D1%83%D1%88%D0%BA%D0%B0. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° %D0%9B%D0%BE%D0%B2%D1%83%D1%88%D0%BA%D0%B0. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.Π›ΠΎΠ²ΡƒΡˆΠΊΠ°

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°

Π’Π΅Π±Π΅ понадобятся Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ скрипт, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ‚Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌ:

Stone

По Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΏΠ»Π°Π½Ρƒ Π½Π°ΠΌ понадобятся ΠΊΠ°ΠΌΠ½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π½Π°Π΄ Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ Π˜Π³Ρ€ΠΎΠΊΠ°. Π’Ρ‹Π±Π΅Ρ€ΠΈ 3D-модСль, которая Ρ‚Π΅Π±Π΅ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»Π°ΡΡŒ, добавь Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Rigidbody ΠΈ Π΄Π²Π° ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€Π°: Capsule ΠΈ Box. Box ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ‡ΡƒΡ‚ΡŒ большС, Ρ‡Π΅ΠΌ Capsule, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ свойство Trigger.

ПослС этого добавь этому ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ скрипт OnTriggerSceneLoader ΠΈ ΡƒΠΊΠ°ΠΆΠΈ Π² Π΅Π³ΠΎ свойствах Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ сцСны (Π° Π΅Ρ‰Π΅ Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Π΅ Π² Build Settings).

unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. Stone %D0%B8 %D0%B5%D0%B3%D0%BE %D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D1%8B. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-Stone %D0%B8 %D0%B5%D0%B3%D0%BE %D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D1%8B. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Stone %D0%B8 %D0%B5%D0%B3%D0%BE %D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D1%8B. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.Stone ΠΈ Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹

НС Π·Π°Π±ΡƒΠ΄ΡŒ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Stone, ΠΊΠ°ΠΊ prefab, Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources!

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π’Π΅Π±Π΅ понадобятся Π΄Π²Π° Π½ΠΎΠ²Ρ‹Ρ… скрипта, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ ΠΊΠ°ΠΊ Π½ΡƒΠΆΠ½ΠΎ: Spawner.cs ΠΈ TrapSwitch.cs

Spawner

Как ΠΌΡ‹ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ, Π² Unity Π΅ΡΡ‚ΡŒ функция Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:

Π’ нашСм случаСм наш ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ физичСским, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ρ‚Ρ‹ моТСшь сразу ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Rigidbody, Ρ‚Π°ΠΊΠΆΠ΅ понадобится пСрСмСнная, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‚Ρ‹ Π±ΡƒΠ΄Π΅ΡˆΡŒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ количСство ΠΊΠ»ΠΎΠ½ΠΎΠ²:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Ρ‹ Π±ΡƒΠ΄Π΅ΡˆΡŒ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ скриптом TrapSwitch.cs, стандартныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Update() ΠΈ Start() Π½Π°ΠΌ Π½Π΅ понадобятся, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ:

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate нСсколько Ρ€Π°Π·, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ Ρ†ΠΈΠΊΠ», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, do while:

ВСхничСски, скрипт Π³ΠΎΡ‚ΠΎΠ², Π½ΠΎ, Ссли ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ всС ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ, Ρ‚ΠΎ Π²ΠΎ врСмя выполнСния ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Spawn(), практичСски, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ появятся всС amount (число) ΠΊΠ»ΠΎΠ½Ρ‹. Из-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ наши ΠΊΠ»ΠΎΠ½Ρ‹ содСрТат Π² сСбС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Rigidbody ΠΈ ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€, ΠΊΠ»ΠΎΠ½Ρ‹ просто разлСтятся Π² Ρ€Π°Π·Π½Ρ‹Π΅ стороны, Ρ‡Ρ‚ΠΎ выглядит Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ. ΠŸΡ€ΠΈ этом, шанс, Ρ‡Ρ‚ΠΎ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΠΎΠ½-камСнь ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚ Π² Π˜Π³Ρ€ΠΎΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Π½ΠΈΠ·ΠΎΠΊ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ добавь Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π½Π΄ΠΎΠΌΠ° ΠΈ сдСлай Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ камСнь создавался Π²Ρ‹ΡˆΠ΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ Π½Π° i:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Π½ΡƒΠΆΠ½ΠΎ. ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ.

TrapSwitch

TrapSwitch Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ с Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° Π˜Π³Ρ€ΠΎΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π΅Π³ΠΎ ΠΊΠ°ΡΠ°Ρ‚ΡŒΡΡ, TrapSwitch Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Spawn() Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Spawner. Напомним ΠΏΡ€ΠΎ ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€Ρ‹ ΠΈ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹:

БСйчас Ρ‚Π΅Π±Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ OnTriggerEnter. Он выполняСтся, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вошСл Π² Π·ΠΎΠ½Ρƒ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. Π‘ΠΎΠ·Π΄Π°ΠΉ Ρ‚Π°ΠΊΠΎΠΉ скрипт:

Π’Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅ΡˆΡŒΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с двумя ΠΈΠ³Ρ€ΠΎΠ²Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Spawner. Π˜Ρ… Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠΉΠ΄Π΅Ρ‚ Π² Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ являСтся Π˜Π³Ρ€ΠΎΠΊΠΎΠΌ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Π΅Π³, ΠΊΠ°ΠΊ Π² OnTriggerSceneLoader:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ напиши всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΡŒ условия: ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ (ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠ΅) ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° TrapOn, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° TrapOff, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Spawn() ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ (уничтоТСния) сСбя.

ВсС скрипты написаны. ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΠ΅ΠΌ! ΠžΡΡ‚Π°Π»ΠΎΡΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π° сцСнС ΠΈ Π½Π΅ Π·Π°Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠΌ Π΄Ρ€ΡƒΠ³ Π½Π° Π΄Ρ€ΡƒΠ³Π°.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Unity3d. Π£Ρ€ΠΎΠΊΠΈ ΠΎΡ‚ Unity 3D Student (B04-B08)

ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ ΡƒΡ€ΠΎΠΊΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Ρ‚ΠΎΠΏΠΈΠΊΠ΅.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ постС Π² скобках (Π² ΠΊΠΎΠ½Ρ†Π΅) Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½ΠΎΠΌΠ΅Ρ€Π° ΡƒΡ€ΠΎΠΊΠΎΠ². Π‘ΡƒΠΊΠ²Π° Π² Π½Π°Ρ‡Π°Π»Π΅ Π½ΠΎΠΌΠ΅Ρ€Π° ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ€Π°Π·Π΄Π΅Π» (B-Beginner, I β€” Intermediate).

PS: Если Π²Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ ΡƒΡ€ΠΎΠΊΠΈ, ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΈΡ… ΠΏΡ€ΠΎΠΉΡ‚ΠΈ, Ρ‚.ΠΊ. ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠ·Ρ€Π΅Π΄ΠΊΠ° Π½Π° Π½ΠΈΡ… ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ.

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ Π£Ρ€ΠΎΠΊ 04 β€” Π£Π½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

Π’ ΡƒΡ€ΠΎΠΊΠ΅ рассказываСтся ΠΊΠ°ΠΊ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ со сцСны, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Destroy (ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ΡŒ).

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡƒΡΡ‚ΡƒΡŽ сцСну ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² Π½Π΅Π΅ сфСру (GameObject->Create Other->Sphere) ΠΈ ΠΊΡƒΠ± (GameObject->Create Other->Cube). ΠšΡƒΠ± Π½Π°Π·ΠΎΠ²Π΅ΠΌ β€œBox”. РасполоТитС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рисункС Π½ΠΈΠΆΠ΅.
unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. 602c7453af013d9a7c89af9980c71bb7. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-602c7453af013d9a7c89af9980c71bb7. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 602c7453af013d9a7c89af9980c71bb7. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ C#-Π‘ΠΊΡ€ΠΈΠΏΡ‚ (Project View->Create->C# Script) ΠΈ Π½Π°Π·ΠΎΠ²ΠΈΡ‚Π΅ Π΅Π³ΠΎ Destroyer. Как ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ, ΠΏΡ€ΠΈ создании C#-скрипта Unity создаСт Π½Π΅ΠΊΠΈΠΉ каркас, состоящий ΠΈΠ· ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ основного класса (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ скриптом) с ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Start() ΠΈ Update(). Π’ Π‘Π°Π·ΠΎΠ²ΠΎΠΌ Π£Ρ€ΠΎΠΊΠ΅ 02 (основы Π²Π²ΠΎΠ΄Π°) использовался ΠΌΠ΅Ρ‚ΠΎΠ΄ Update(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вызываСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΌΡ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Start(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСтся сразу послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сцСны. Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π² Ρ‚Π΅Π»ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Start() Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Destroy() ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΄ΠΈΠΌ Π² Π½Π΅Π΅ gameObject, ΡƒΠΊΠ°Π·Π°Π² Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ скрипт Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ½ являСтся:

Π”ΠΎΠ±Π°Π²ΠΈΠΌ скрипт ΠΊ сфСрС. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ нСсколькими путями. ΠŸΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΠ² скрипт ΠΈΠ· Project View Π½Π° сфСру Π² Scene View.
unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. 211fb84cd94a7d1a3c1eda4e5cb08b04. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-211fb84cd94a7d1a3c1eda4e5cb08b04. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 211fb84cd94a7d1a3c1eda4e5cb08b04. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Или Π½Π° имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² Hierarchy.
unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. 36829431b600476969497bef38ddfadc. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-36829431b600476969497bef38ddfadc. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 36829431b600476969497bef38ddfadc. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Π’Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ сфСру ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Ρ‡Π΅Ρ€Π΅Π· мСню ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (Component->Scripts->Destroyer) ΠΈΠ»ΠΈ просто ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΠ² скрипт Π² Inspector View Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.
unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. 45d1277d36cf8b93a312cce116807b48. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-45d1277d36cf8b93a312cce116807b48. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 45d1277d36cf8b93a312cce116807b48. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Π‘Π½ΠΎΠ²Π° Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ сфСру ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ срСди ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² присутствуСт ваш скрипт.
unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. b0403. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-b0403. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° b0403. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

НаТмитС Π½Π° Play ΠΈ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ сразу послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сцСны сфСра исчСзаСт.
unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. b0404. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-b0404. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° b0404. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Для этого Π½Π°ΠΌ понадобится статичСский ΠΌΠ΅Ρ‚ΠΎΠ΄ Find класса GameObject. Π—Π°ΠΌΠ΅Π½ΠΈΠΌ ΠΊΠΎΠ΄ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Start() ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ ΠΎΡ‚ Π°Π²Ρ‚ΠΎΡ€Π° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π°: ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, вызывая ΡΡ‚Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, поэтому пишСм имя класса (GameObject β€” с большой Π±ΡƒΠΊΠ²Ρ‹), Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ этого класса (gameObject β€” с малСнькой Π±ΡƒΠΊΠ²Ρ‹). Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС компилятор выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ:

error CS0176: Static member `UnityEngine.GameObject.Find(string)’ cannot be accessed with an instance reference, qualify it with a type name instead

Ρ‡Ρ‚ΠΎ пСрСводится ΠΊΠ°ΠΊ:
β€œΡΡ‚Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ Ρ‡Π»Π΅Π½ UnityEngine.GameObject.Find(string) Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ доступСн ΠΏΠΎ ссылки экзСмпляра (класса), вмСсто этого ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ (Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅) Π΅Π³ΠΎ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ‚ΠΈΠΏΠ°.”

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΠΌ измСнСния Π² ΠΊΠΎΠ΄Π΅ скрипта. Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π½Π΅ трСбуСтся ΡƒΠ±ΠΈΡ€Π°Ρ‚ΡŒ со сфСры ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΊΡƒΠ±Ρƒ, Ρ‚.ΠΊ. назависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ ΠΎΠ½ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½, скрипт Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (Π½Π° сцСнС) с ΠΈΠΌΠ΅Π½Π΅ΠΌ Box. НаТмСм Play ΠΈ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ сфСра остаСтся Π² сцСнС, Π° ΠΊΡƒΠ± ΠΏΡ€ΠΎΠΏΠ°Π΄Π°Π΅Ρ‚.
unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. b0405. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-b0405. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° b0405. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π½Π°ΠΌ трСбуСтся ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ сразу, Π° спустя ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ врСмя? Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²ΠΎ 2ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Destroy:

НаТмитС Play ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΡƒΠ± ΠΈΠ·Ρ‡Π΅Π·Π°Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· 3ΠΈ сСкунды послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ сцСна Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ загрузится.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹:

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ Π£Ρ€ΠΎΠΊ 05 β€” РСализация созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

Π’ ΡƒΡ€ΠΎΠΊΠ΅ рассказываСтся ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² сцСнС Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (runtime), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€Π΅Ρ„Π°Π±Ρ‹ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Instantiate (инстанциированиС)

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π° сцСну, ΠΊΠΎΠ³Π΄Π° сцСна ΡƒΠΆΠ΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π°, Ρ‚ΠΎ Π²Π°ΠΌ трСбуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты, Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Instantiate().

Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ сцСну ΠΈΠ· Π‘Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΡƒΡ€ΠΎΠΊΠ° 03 (ΠŸΡ€Π΅Ρ„Π°Π±Ρ‹) ΠΈΠ»ΠΈ создайтС Ρ‚Π°ΠΊΡƒΡŽ ΠΆΠ΅ Π½ΠΎΠ²ΡƒΡŽ. Π’ нашСй сцСнС присутствуСт ΠΏΡ€Π΅Ρ„Π°Π± BouncyBox.
unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. a9c20463392be04283ed51279a6ff151. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-a9c20463392be04283ed51279a6ff151. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° a9c20463392be04283ed51279a6ff151. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

НаТмитС Play ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΡƒΠ± ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΏΠ°Π΄Π°Π΅Ρ‚ ΠΈ отталкиваСтся ΠΎΡ‚ повСрхностСй.
Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ со сцСны экзСмпляр BouncyBox.
unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. b5b083bee9d81941b87ae0365a998697. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-b5b083bee9d81941b87ae0365a998697. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° b5b083bee9d81941b87ae0365a998697. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

ПослС этого Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ пустой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (напоминаю, GameObject->Create Empty ΠΈΠ»ΠΈ Ctrl + Shift + N Π² Windows, Cmd + Shift + N Π² MacOS). РасполоТитС Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² Ρ‚ΠΎΠΌ мСстС, Π³Π΄Π΅ Ρ€Π°Π½ΡŒΡˆΠ΅ Π±Ρ‹Π» экзСмпляр BouncyBox.
unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. e43972c0f39feb3c235d00f722fdf28d. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-e43972c0f39feb3c235d00f722fdf28d. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° e43972c0f39feb3c235d00f722fdf28d. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ C#-Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΈ Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π³ΠΎ Creater. НачнСм Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ скрипта. Π—Π°Π²Π΅Π΄Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ (public) ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚ΠΈΠΏΠ° GameObject ΠΈ Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π΅ thePrefab. ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ public трСбуСтся ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, Ссли, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‡Π΅Ρ€Π΅Π· Inspector View. ПослС Ρ‡Π΅Π³ΠΎ Π² Ρ‚Π΅Π»Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Start() создадим Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ GameObject (с ΠΈΠΌΠ΅Π½Π΅ΠΌ instance) ΠΈ ΠΏΡ€ΠΎΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ статичСской Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Instantiate().

Рассмотрим ΠΌΠ΅Ρ‚ΠΎΠ΄ Instantiate() ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ original с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ полоТСния (position) ΠΈ ΠΊΠ²Π°Ρ‚Π΅Ρ€Π½ΠΈΠΎΠ½ΠΎΠΌ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° (rotation).
Π’ΠΈΠΏ Vector3 являСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ 3Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ΠΌ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ (Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π²Π΅ΠΊΡ‚ΠΎΡ€Ρƒ ΠΈΠ· R 3 ).
Π’ΠΈΠΏ Quaternion β€” ΠΊΠ²Π°Ρ‚Π΅Ρ€Π½ΠΈΠΎΠ½, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ скрипт ΠΊ пустому ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ (c ΠΈΠΌΠ΅Π½Π΅ΠΌ GameObject).Напоминаю, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ thePrefab объявлСн с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ public, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ прямо Π² Inspector View (Ρƒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² нашСм случаС это Creator Ρƒ GameObject’Π°). ΠŸΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚Π΅ наш ΠΏΡ€Π΅Ρ„Π°Π± Π² мСсто указания значСния (ΠΈΠ»ΠΈ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚Π΅ Π΅Π³ΠΎ ΠΈΠ· списка, ΠΊΠ»ΠΈΠΊΠ½ΡƒΠ² Π½Π° ΠΊΡ€ΡƒΠΆΠΎΠΊ справа).
unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. 5871c6be3bf62675e92f57fd8f92d3a3. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-5871c6be3bf62675e92f57fd8f92d3a3. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 5871c6be3bf62675e92f57fd8f92d3a3. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

НаТмСм Play ΠΈ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π½Π° сцСнС появился наш ΠΏΡ€Ρ‹Π³Π°ΡŽΡ‰ΠΈΠΉ ΠΊΡƒΠ±ΠΈΠΊ.
unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. b0504. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-b0504. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° b0504. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Но наш ΠΊΡƒΠ±ΠΈΠΊ ΠΏΡ€Ρ‹Π³Π°Π΅Ρ‚ просто Π²Π²Π΅Ρ€Ρ… ΠΈ Π²Π½ΠΈΠ·, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΡƒΠ³Π»Π° ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π°. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ GameObject ΠΈ ΠΏΠΎΠ²Π΅Ρ€Π½ΠΈΡ‚Π΅ Π΅Π³ΠΎ ΠΏΠΎΠ΄ нСбольшим ΡƒΠ³Π»ΠΎΠΌ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Π½Π°ΠΆΠ°Π² Play, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΊΡƒΠ±ΠΈΠΊ ΠΏΠ°Π΄Π°Π΅Ρ‚ ΠΈ отталкиваСтся ΠΏΠΎΠ΄ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΡƒΠ³Π»Π°ΠΌΠΈ.
unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. e8527b147def4aec38429464f65ed7bc. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-e8527b147def4aec38429464f65ed7bc. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° e8527b147def4aec38429464f65ed7bc. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹:

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ Π£Ρ€ΠΎΠΊ 06 β€” ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Ρ‚Π°ΠΉΠΌΠ΅Ρ€

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΡƒΡ€ΠΎΠΊΠ΅ рассказываСтся ΠΊΠ°ΠΊ Π² Unit ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ скриптов
ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ простой Ρ‚Π°ΠΉΠΌΠ΅Ρ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Time.deltaTime ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚ΠΈΠΏΠ° float.

Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ сцСной ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΡƒΡ€ΠΎΠΊΠ° (с пустым ΠΈΠ³Ρ€ΠΎΠ²Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ,
Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌ экзСмпляры ΠΏΡ€Π΅Ρ„Π°Π±Π°, Ρ‚.Π΅. BouncyBox).
unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. a8f2f897ce9a8b26dfa0a36a26dd949e. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-a8f2f897ce9a8b26dfa0a36a26dd949e. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° a8f2f897ce9a8b26dfa0a36a26dd949e. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π‘#-скрипт ΠΈ Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π³ΠΎ Timer. Π”ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ myTimer, ΠΈ напишСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄.

БохраняСм скрипт ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡΡ Π½Π°Π·Π°Π΄ Π² Unity. Π”ΠΎΠ±Π°Π²ΠΈΠΌ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ GameObject.
unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. b0601. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-b0601. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° b0601. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Напомню, Ρ‚.ΠΊ. myTimer объявлСна ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ (public), Ρ‚ΠΎ Π² Inspector View Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π–ΠΌΠ΅ΠΌ Play. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ myTimer ΡƒΠΏΠ°Π΄Π΅Ρ‚ Π΄ΠΎ нуля, Π² статус Π±Π°Ρ€Π΅ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ строку GAME OVER. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ myTimer Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ (это ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² Inspector View).
unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. b0602. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-b0602. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° b0602. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ пСрСмСнная myTimer Π½Π΅ ΠΎΠΏΡƒΡΠΊΠ°Π»Π°ΡΡŒ Π½ΠΈΠΆΠ΅ нуля, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Update(), Π² ΠΈΡ‚ΠΎΠ³Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

НаТмСм Play ΠΈ прослСдим Π·Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ myTimer. Когда Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ достаточно Π±Π»ΠΈΠ·ΠΊΠΈΠΌ ΠΊ Π½ΡƒΠ»ΡŽ, Ρ‚ΠΎ ΠΎΠ½ΠΎ пСрСстанСт ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ.
unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. b0603. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-b0603. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° b0603. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹:

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ Π£Ρ€ΠΎΠΊ 07 β€” ΠžΡΠ½ΠΎΠ²Ρ‹ двиТСния

Π’ ΡƒΡ€ΠΎΠΊΠ΅ рассказываСтся, ΠΊΠ°ΠΊ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ c ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ transform.Translate.

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ сцСну с ΠΊΡƒΠ±ΠΎΠΌ, ΠΊΠ°ΠΌΠ΅Ρ€ΠΎΠΉ ΠΈ источником свСта.
unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. b0700. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-b0700. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° b0700. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½ΠΎΠ²Ρ‹ΠΉ C#-скрипт ΠΈ Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π³ΠΎ Move.
ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚ΠΎ основной ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Update(). Π’Ρ‹Π·ΠΎΠ²Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Translate, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° transform ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΄ΠΈΠΌ Π΅ΠΉ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Vector3(0, 0, 1). ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

РазбСрСмся ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Π² ΠΊΠΎΠ΄Π΅. Π’ΡƒΡ‚ transform β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса Transform, привязанный ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. ΠœΠ΅Ρ‚ΠΎΠ΄ Translate() Π΄Π²ΠΈΠ³Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ вдоль Π²Π΅ΠΊΡ‚ΠΎΡ€Π° Π½Π° расстояниС Ρ€Π°Π²Π½ΠΎΠ΅ Π΅Π³ΠΎ Π΄Π»ΠΈΠ½Π΅ (ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΉ пСрСнос).

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΠΌ наш скрипт ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Π³ΠΎ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΊΡƒΠ±Ρƒ. НаТмитС Play ΠΈ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ ΠΊΡƒΠ± ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»Π΅Ρ‚Π°Π΅Ρ‚ вдоль оси Oz.

unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. b0701. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-b0701. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° b0701. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠΌ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ двиТСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΠΌΠ½ΠΎΠΆΠΈΠ² наш Π²Π΅ΠΊΡ‚ΠΎΡ€ Π½Π° Time.deltaTime, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ:

НаТмитС Play ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΡƒΠ± Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅.

МоТно ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ наш скрипт Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ Π² использовании, Ссли ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‚ΡŒ Π½Π΅ фиксированным Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ, Π° Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. Π—Π°Π²Π΅Π΄Π΅ΠΌ public ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚ΠΈΠΏΠ° float ΠΈ Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π΅ speed. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Inspector View (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½Π° 5.0f):

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΠΌ скрипт ΠΈ убСдимся, Ρ‡Ρ‚ΠΎ Π² Inspector View Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Move появилась пСрСмСнная Speed.
unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. b0702. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-b0702. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° b0702. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ двиТСния нашСго ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² соотвСтствии с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. НапримСр, ΠΏΡ€ΠΈ Speed = 3 ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ быстрая, Π½ΠΎ ΠΈ Π½Π΅ мСдлСнная.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π΅Π½ΠΈΠ΅: Для выраТСния Vector3(0.0f, 0.0f, 1.0f) сущСствуСт короткая (Π½ΠΎ Π²ΠΈΠ΄ΠΈΠΌΠΎ Ρ‡ΡƒΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ мСдлСнная, Ссли Π½Π΅ ΠΏΡ€Π°Π², ΠΏΡ€ΠΎΡˆΡƒ ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ) запись Vector3.forward.

ΠšΡƒΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΈΠ· ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ:

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹:

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ Π£Ρ€ΠΎΠΊ 08 β€” ΠžΡΠ½ΠΎΠ²Ρ‹ двиТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ силы.

Π’ ΡƒΡ€ΠΎΠΊΠ΅ рассказываСтся ΠΊΠ°ΠΊ c ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ прилоТСния силы Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒ физичСскоС Ρ‚Π΅Π»ΠΎ (Rigidbody).

Если Ρƒ вас Π½Π° сцСнС Π΅ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ Rigidbody, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π΅ΠΌΡƒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ прилоТСния силы (ΠΏΠ΅Ρ€Π΅Π΄Π°Π² Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ всС расчСты двиТСния физичСскому Π΄Π²ΠΈΠΆΠΊΡƒ ΠΈΠ³Ρ€Ρ‹). Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ²Π°Ρ‚ΡŒ с Ρ„ΠΈΠ·ΠΈΠΊΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠœΡ‹ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ сцСну ΠΈΠ· Π‘Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΡƒΡ€ΠΎΠΊΠ° 03.

unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. b0800. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-b0800. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° b0800. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ C#-скрипт ΠΈ Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π³ΠΎ Force. Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Start() Π²Ρ‹Π·ΠΎΠ²Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ AddForce() ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° rigidbody (cвязанного с нашим ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ) ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΄ΠΈΠΌ Π΅ΠΌΡƒ Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ силы Vector3(0.0f, 0.0f, power). Π’ классС Π·Π°Π²Π΅Π΄Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚ΠΈΠΏΠ° float с ΠΈΠΌΠ΅Π½Π΅ΠΌ power ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π½Ρ‹ΠΌ 500.0f:

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΠΌ скрипт ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Π³ΠΎ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ (ΠΈΠ»ΠΈ ΠΏΡ€Π΅Ρ„Π°Π±Ρƒ). Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли Π½Π°ΠΆΠ°Ρ‚ΡŒ Play, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ ΠΊΡƒΠ± ΠΏΠ°Π΄Π°Π΅Ρ‚ Π½Π΅ Π²Π½ΠΈΠ· Π° ΠΏΠΎΠ΄ ΡƒΠ³Π»ΠΎΠΌ, ΠΈΠ·-Π·Π° воздСйствия силы ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ вдоль оси Oz.
unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. b0801. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-b0801. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° b0801. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Unity: знакомство со Scriptable Objects

unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. image loader. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Π’ этом Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Π΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Scriptable Objects Π² Unity. Scriptable Objects ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ваш Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс, ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΡ‘ΠΌ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ памяти ΠΈ Π΄Π°ΠΆΠ΅ позволят Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΊΠΎΠ΄Π°.

Богласно Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Unity, ScriptableObject β€” это ΠΊΠΎΠ΄ класса, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π² ΠΈΠ³Ρ€Π΅ Scriptable Objects для хранСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΡ‘ΠΌΠΎΠ² ΠΎΠ±Ρ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ зависящих ΠΎΡ‚ экзСмпляров скриптов.

БущСствуСт мноТСство ΠΏΡ€ΠΈΡ‡ΠΈΠ½ для использования Scriptable Objects Π² Unity. Они ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΡ‘ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΏΠΎΠ΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€Π΅Ρ„Π°Π± памяти, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΠΎ своСй сути Scriptable Object ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Flyweight.

Π•Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΎ прСимущСство Scriptable Objects, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ основной Ρ‚Π΅ΠΌΠΎΠΉ этого Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Π°, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΈΡ… использовании для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ пСрСсылки Π΄Π°Π½Π½Ρ‹Ρ…. ΠœΡ‹ рассмотрим это свойство Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ создания Π»Π°Π²ΠΊΠΈ Ρ‚ΠΎΡ€Π³ΠΎΠ²Ρ†Π° ΠΌΠ΅Ρ‡Π°ΠΌΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Ρ†Π΅Π½Ρ‹ ΠΈ описания Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ‡Π΅ΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π² этом Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Π΅ подразумСваСтся, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ Unity. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π° ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ знания C#. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ свои Π½Π°Π²Ρ‹ΠΊΠΈ Unity, ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Ρ‹ ΠΏΠΎ Unity.

ΠŸΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Π΅ΠΌ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅

Начнём с Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ.

РаспакуйтС скачанный Ρ„Π°ΠΉΠ» Π² ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ для вас мСсто ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π² Unity ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Scriptable Object Tutorial-Starter.

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ, ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. image loader. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Scriptable Object

Для Π½Π°Ρ‡Π°Π»Π° ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² сцСну Sword Merchant. Она Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. image loader. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Scriptable Object

Настало врСмя для создания ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Scriptable Object!

Π’ ΠΏΠ°ΠΏΠΊΠ΅ Scripts создайтС Π½ΠΎΠ²Ρ‹ΠΉ скрипт ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ SwordData. Π­Ρ‚ΠΎΡ‚ класс Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ для всСх Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‡Π΅ΠΉ, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… Π² Π»Π°Π²ΠΊΠ΅ Ρ‚ΠΎΡ€Π³ΠΎΠ²Ρ†Π° ΠΌΠ΅Ρ‡Π°ΠΌΠΈ.

Π’Π½ΡƒΡ‚Ρ€ΠΈ этого класса Π½Π°Ρ‡Π½Ρ‘ΠΌ с наслСдования ΠΈΠ· ScriptableObject вмСсто MonoBehaviour :

Π­Ρ‚ΠΎ дСйствиС сообщаСт Unity, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ возмоТности ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Unity, ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ MonoBehaviour, Π½ΠΎ Π½Π°ΠΌ большС Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»ΡΡ‚ΡŒ этот скрипт ΠΊ GameObject. ВмСсто этого ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ любой ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ассСт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ созданию ΠΏΡ€Π΅Ρ„Π°Π±Π°, сцСны ΠΈΠ»ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°.

Π—Π°ΠΏΠΎΠ»Π½ΠΈΠΌ скрипт сСриализированными полями, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ всС Π΄Π°Π½Π½Ρ‹Π΅, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΉ Π² UI Sword Merchant.

Π’ Unity Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ SerializeField позволяСт ΠΈΠΌΠ΅Ρ‚ΡŒ частныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ скрипта, доступныС Π² Π˜Π½ΡΠΏΠ΅ΠΊΡ‚ΠΎΡ€Π΅. Он ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ значСния Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅, Π½Π΅ прСдоставляя доступ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… скриптов.

ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΌΠ΅Ρ‡Ρƒ потрСбуСтся собствСнная ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ рСализация Scriptable Object SwordData. Но ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ смоТСм ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ эти Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Scriptable Object Π² Asset Menu.

Π”ΠΎΠ±Π°Π²ΠΈΠΌ наш Scriptable Object Π² Asset Menu, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΊ классу SwordData ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚:

unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. image loader. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΎΠΉ клавишСй ΠΌΡ‹ΡˆΠΈ Π² ΠΎΠΊΠ½Π΅ Project ΠΈ Ρ‚ΠΎΠΆΠ΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ассСт Sword Data:

unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. image loader. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

Упорядочим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, создав Π² ΠΏΠ°ΠΏΠΊΠ΅ Scripts ΠΏΠ°ΠΏΠΊΡƒ с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Scriptable Objects, Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ этой ΠΏΠ°ΠΏΠΊΠΈ β€” Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Ρƒ ΠΏΠ°ΠΏΠΊΡƒ с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Sword Data.

Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ созданной ΠΏΠ°ΠΏΠΊΠΈ Sword Data folder создадим наш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ассСт Sword Data.

Π£ Π½ΠΎΠ²ΠΎΠ³ΠΎ ассСта Sword Data ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Ρ€Π°Π½Π΅Π΅ имя ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ fileName. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ассСт ΠΈ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ ΡˆΠ΅ΡΡ‚ΡŒ Ρ€Π°Π· (Ctrl/Cmd + D), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ сСмь ассСтов Sword Data, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΌΠ΅Ρ‡Π΅ΠΉ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠΉΡ‚Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ассСт Π² соотвСтствии с ΠΏΡ€Π΅Ρ„Π°Π±Π°ΠΌΠΈ:

unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. image loader. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

НаТмитС Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ассСт Sword Data Π² ΠΏΠ°ΠΏΠΊΠ΅ Sword Data ΠΈ посмотритС Π½Π° ΠΎΠΊΠ½ΠΎ Inspector:

unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. image loader. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ ассСт, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ информация ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΌΠ΅Ρ‡Π΅. Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‡Π°. ΠŸΠΎΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Π΄Π°Ρ‚ΡŒ ΠΈΠΌ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ описаниС, ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Π² Π·ΠΎΠ»ΠΎΡ‚Π΅ ΠΈ ΡƒΡ€ΠΎΠ½ ΠΏΡ€ΠΈ Π°Ρ‚Π°ΠΊΠ΅. Π’ ΠΏΠΎΠ»Π΅ Icon Sprite ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ спрайты, располоТСнныС Π² ΠΏΠ°ΠΏΠΊΠ΅ Sword Icons:

unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. image loader. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΡŽ! Π’Ρ‹ создали Scriptable Object ΠΈ настроили с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого Scriptable Object нСсколько ассСтов.

ИспользованиС Scriptable Object

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ приступим ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· этих Scriptable Objects.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ нСсколько ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²-ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ (getter methods), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ скрипты ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ частным полям Π²Π½ΡƒΡ‚Ρ€ΠΈ Scriptable Object. ΠžΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ SwordData.cs ΠΈ допишСм ΠΏΠΎΠ΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Ρ€Π°Π½Π΅Π΅ полями ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

ΠžΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Sword.cs ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

Π’ΠΎΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ этим ΠΊΠΎΠ΄ΠΎΠΌ:

unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. image loader. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

НаТмитС Π½Π° Play (Ctrl/Cmd + P) Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ Unity, Π° Π·Π°Ρ‚Π΅ΠΌ Ρ‰Ρ‘Π»ΠΊΠ½ΠΈΡ‚Π΅ самый Π»Π΅Π²Ρ‹ΠΉ ΠΌΠ΅Ρ‡:

unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. image loader. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Π’ консоль Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ информация, Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ассСта Sword Data.

Scriptable Objects ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ с Π»Ρ‘Π³ΠΊΠΎΡΡ‚ΡŒΡŽ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ эти Π΄Π°Π½Π½Ρ‹Π΅. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Sword Data Scriptable Object Π² ΠΏΠΎΠ»Π΅ Sword Data ΠΌΠ΅Ρ‡Π°.

Scriptable Objects Π½Π° основС событий

Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ создали Scriptable Object, ΠΈ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΈΠ³Ρ€Ρ‹. Но Π½Π°ΠΌ всё Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Sword Data с UI!

Для этого ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ быстрый ΠΈ грязный ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Singleton. Однако ΠΌΡ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ±Π»Π°Π΄Π°Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ возмоТностями…

…а ΠΈΠΌΠ΅Π½Π½ΠΎ Scriptable Objects! Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΈΠΌΠΈ для создания чистого ΠΈ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎ Ρ€Π°Π·Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ Π½Π° части ΠΊΠΎΠ΄Π°.

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Game Events с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ класса UnityEvent.

Game Events ΠΈ Listeners

Π’ ΠΏΠ°ΠΏΠΊΠ΅ Scripts создайтС Π΄Π²Π° скрипта: GameEvent.cs ΠΈ GameEventListener.cs. Они зависят Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°, поэтому Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ ошибок, Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±Π°.

Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄:

Π’ ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π΅ происходит дальнСйшСС Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°

Π’Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Unity ΠΈ создайтС Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ Game Events Π² Scripts >> ScriptableObjects. Π—Π°Ρ‚Π΅ΠΌ создайтС сСмь Game Events ΠΈΠ· Asset Menu, ΠΊΠ°ΠΊ ΠΌΡ‹ это Π΄Π΅Π»Π°Π»ΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ассСта Sword Data. РазмСститС ΠΈΡ… Π² Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ Game Events.

unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. image loader. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ Π²Π½ΡƒΡ‚Ρ€ΠΈ скрипта Sword.cs ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ строками:

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ добавляСт Π² Π»Π°Π²ΠΊΡƒ Ρ‚ΠΎΡ€Π³ΠΎΠ²Ρ†Π° ΠΌΠ΅Ρ‡Π°ΠΌΠΈ Π΄Π²Π΅ возмоТности:

unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. image loader. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‡Π° Π΅ΡΡ‚ΡŒ ссылка Π½Π° событиС, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΌΠ΅Ρ‡.

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с UI

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ UI. Наша Ρ†Π΅Π»ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… Sword Data ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠ΅Ρ‡.

Бсылки UI

ΠŸΠ΅Ρ€Π΅Π΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ UI Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ссылку Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт UI. Начнём с создания Π½ΠΎΠ²ΠΎΠ³ΠΎ скрипта ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ SwordMerchant.cs ΠΈ добавлСния Π² этот Π½ΠΎΠ²Ρ‹ΠΉ скрипт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°:

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого ΠΊΠΎΠ΄Π° ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. image loader. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Π‘Π»ΡƒΡˆΠ°Ρ‚Π΅Π»ΠΈ ΠΈ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠΈ UI

Π£ всСх ΠΌΠ΅Ρ‡Π΅ΠΉ Π΅ΡΡ‚ΡŒ событиС, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ UI с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скрипта GameEventListener. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ GameEventListener для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ события OnSwordSelected ΠΊ GameObject SwordMerchantCanvas:

unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. image loader. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Как Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρƒ нашСго Game Event Listener Π΅ΡΡ‚ΡŒ Π΄Π²Π° поля: событиС Game Event, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ½ ΡΠ»ΡƒΡˆΠ°Π΅Ρ‚, ΠΈ ΠΎΡ‚ΠΊΠ»ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вызываСтся ΠΏΡ€ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Game Event.

Π’ нашСм случаС ΠΎΡ‚ΠΊΠ»ΠΈΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ UI. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² скрипт SwordMerchant.cs ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄:

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ нашСго Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΠΈΠΊ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ GameEventListener.

Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ добавляСмого ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² качСствС значСния поля None (Object) ссылку Π½Π° наш ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ SwordMerchantCanvas. ПослС этого Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ SwordMerchant.UpdateDisplayUI ΠΈΠ· Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ мСню справа ΠΎΡ‚ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка Runtime Only.

Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ассСт Sword Data для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ события OnSwordSelected.

unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. image loader. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈΠ³Ρ€Ρƒ, Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΌΠ΅Ρ‡ ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ UI обновился ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ!

unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. image loader. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт Ρ„ΠΎΡ‚ΠΎ. unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. НСкоторыС ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ постоянноС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° сцСнС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрсонаТи, ΠΏΡƒΠ»ΠΈ, сокровища ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹. Π’ Unity, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (GameObject) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Instantiate, которая Π΄Π΅Π»Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ prefab’ом ΠΈ сохранСн Π² ΠΏΠ°ΠΏΠΊΠ΅ Resources.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Game Events, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ просто SwordMerchantCanvas, ΠΈ всё ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π΅Π· UI. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Ρ„Π°Π±Ρ‹ ΠΌΠ΅Ρ‡Π΅ΠΉ ΠΎΡ‚Π΄Π΅Π»Π΅Π½Ρ‹ ΠΎΡ‚ SwordMerchantCanvas.

ΠšΡƒΠ΄Π° Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ дальшС?

Если Π²Ρ‹ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ упустили Π² процСссС рассказа, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, находящийся Π² ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°Ρ… Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Π°.

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ большС ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ Unity? ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π°ΡˆΡƒ ΡΠ΅Ρ€ΠΈΡŽ Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Unity ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Ρ‹ ΠΏΠΎ Unity.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *