скрипт для двиТСния 2d пСрсонаТа Π² unity2d

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ рСализация пСрСдвиТСния пСрсонаТа

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŒΠ΅ΠΊΡ‚ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ сквозь Π΄Ρ€ΡƒΠ³ΠΎΠΉ хотя Ρƒ мСня Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€Ρ‹ Π½Π° ΠΎΠ±ΠΎΠΈΡ… ΠΎΠ±ΡŒΠ΅ΠΊΡ‚Π°Ρ…?

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΌΠΎΠΉ пСрсонаТ Π²ΠΎ врСмя двиТСния ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ сквозь Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ±ΡŒΠ΅ΠΊΡ‚, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π΅Π³ΠΎ ΠΎΡ‚ΠΊΠΈΠ΄Ρ‹Π²Π°Π΅Ρ‚ Π½Π°Π·Π°Π΄?

Как Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ пСрсонаТа Π² Unity3d ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ?

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Π°ΠΊ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· transform.position ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ это Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ?

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΌΠΎΠΉ пСрсонаТ двиТСтся с Ρ€Π°Π·Π½ΠΎΠΉ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ Ссли просСдаСт FPS?

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒ пСрсонаТа Ρ‡Π΅Ρ€Π΅Π· смСну transform.position Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ?

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€Ρ‹ΠΆΠΎΠΊ ΠΎΡ‚ ΠΏΠΎΠ»Π°, Π½ΠΎ Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π±Ρ‹ пСрсонаТ Π½Π΅ ΠΌΠΎΠ³ бСсконСчно Π²Π·Π»Π΅Ρ‚Π°Ρ‚ΡŒ

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠΎΠ³Π΄Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° двиТСтся, пСрсонаТ стоящий Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ остаСтся Π½Π° мСстС?

ΠŸΠΎΡ‡Π΅ΠΌΡƒ пуля Π½Π΅ всСгда наносит ΡƒΡ€ΠΎΠ½?

ВсС эти вопросы, фактичСски, ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΈΠΌ Π΅Π΄ΠΈΠ½Ρ‹ΠΌ вопросом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ слишком ΡƒΠΆ часто встрСчаСтся Ρƒ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ….

Π—Π°ΠΎΠ΄Π½ΠΎ создал тэг unity3d-faq

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d

1 ΠΎΡ‚Π²Π΅Ρ‚ 1

ΠŸΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ

Π₯ΠΎΡ‚ΡŒ я здСсь ΠΈ Ρ€Π°Π·Π±ΠΈΡ€Π°ΡŽ Π² Ρ‚.Ρ‡. нСфизичСскоС Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅, я Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π€Π˜Π—Π˜Π§Π•Π‘ΠšΠžΠ• Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅. И ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° нСфизичСскоС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуациях.

Π― Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ здСсь 2 Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°: «Ρ‚СлСпортация» ΠΈ «ΠΏΠ»Π°Π²Π½ΠΎΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅». Π’ ΠΌΠΎΠ΅ΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ:

Π•ΡΡ‚ΡŒ люди Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠ½Π΅Π½ΠΈΠ΅ отличаСтся.

Π£Ρ‡Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ всС Ρ‡Ρ‚ΠΎ написано Π½ΠΈΠΆΠ΅ упираСтся Π² Π²Π΅Ρ€Ρ…Π½ΠΈΠ΅ значСния Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ², Π° Π½Π΅ эти.

Π”Π²ΠΈΠ³Π°Ρ‚ΡŒ ΠΎΠ±ΡŒΠ΅ΠΊΡ‚Ρ‹ Π² ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… Π΄Π²ΠΈΠΆΠΊΠ°Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ способами:

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ физичСский Π΄Π²ΠΈΠΆΠΎΠΊ (Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ обусловлСнноС физичСской модСлью ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ°)

Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌΠΎΠ΅ Ρ‡Π΅Ρ€Π΅Π· CharacterController (здСсь ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ Π½Π΅ рассматриваСтся Ρ‚.ΠΊ. Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΈ Π² Π΅Π³ΠΎ сторону Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ смотрят, ΠΌΠΎΠΆΠ΅Ρ‚, ΠΏΠΎΠ·ΠΆΠ΅ Ρ€Π°ΡΠΏΠΈΡˆΡƒ)

Новички ΠΎΡ‡Π΅Π½ΡŒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Ρ‚Π΅Π»Π΅ΠΏΠΎΡ€Ρ‚Π°Ρ†ΠΈΡŽ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ критичСски Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ. ΠŸΠΎΡ‚ΠΎΠΌ Π½Π° SO ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΡƒΡ‡ΠΈ ΠΊΠ»ΠΎΠ½ΠΎΠ² вопросов Π²Ρ€ΠΎΠ΄Π΅ «ΠΏΠΎΡ‡Π΅ΠΌΡƒ пСрсонаТа Π΄Π΅Ρ€Π³Π°Π΅Ρ‚ Π²ΠΎΠ·Π»Π΅ стСны?» ΠΈΠ»ΠΈ «ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ сквозь стСну?» ΠΈΠ»ΠΈ «ΠΏΠΎΡ‡Π΅ΠΌΡƒ пуля Π½Π΅ всСгда наносит ΡƒΡ€ΠΎΠ½?» ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅.

НуТно Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ всСго ΠΎΠ΄Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ: Π”Π²ΠΈΠ³Π°Ρ‚ΡŒ/ΠΏΠΎΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· присвоСниС transform.position / transform.rotation нСльзя. Π­Ρ‚ΠΎ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π’ любом случаС это Π²Π°ΠΌ Π²Ρ‹Π»Π΅Π·Π΅Ρ‚ Π±ΠΎΠΊΠΎΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ двиТСния:

( Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΎΠ±ΡŒΠ΅ΠΊΡ‚Π°-ΡˆΠ°Ρ€Π° )

Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ пСстрящих Π΄ΠΈΡ‡ΡŒΡŽ Ρ„ΠΎΡ€ΡƒΠΌΠΎΠ², Π² Ρ‚.Ρ‡. сСрвисС вопросов/ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² ΠΎΡ‚ ΡŽΠ½ΠΈΡ‚ΠΈ. Π’Π°ΠΌ Π² Ρ‚Π°ΠΊΠΈΡ… Ρ‚Π΅ΠΌΠ°Ρ… слишком часто ΠΏΠΈΡˆΡƒΡ‚ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Ρ‚Π΅ люди, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ понятия Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅.

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d

БвязанныС с Ρ‚Π΅ΠΌΠΎΠΉ понятия:

Если ΠΎΠ±ΡŒΠ΅ΠΊΡ‚ Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ физичСскими свойствами (Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ RigidBody) эти ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для НЕфизичСского пСрСдвиТСния.

НапримСр ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹.

Или крутящийся ΠΊΡƒΠ± Π½Π° нСбосводС.

ΠœΡ‹ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π΄Π΅Ρ€Π³Π°ΡŽΡ‰ΡƒΡŽΡΡ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΏΡ€ΠΈ просСдании ΠΊΠ°Π΄Ρ€ΠΎΠ² Ссли сдСлаСм ΠΠ•Π€Π˜Π—Π˜Π§Π•Π‘ΠšΠžΠ• Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ:

ΠΌΡ‹ присваиваСм Π² Π½ΠΎΠ²ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ:

ΠŸΡ€ΠΎ физичСскиС свойства двиТСния.

ΠΌΡ‹ Ρ€Π°Π·ΠΎΠ²ΠΎ Π·Π°Π΄Π°Π΅ΠΌ Π²Π΅ΠΊΡ‚ΠΎΡ€ скачка. Волько 1 долю сСкунды. Но ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ измСнятся Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ автоматичСски Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°ΡΡΡŒ ΠΏΠΎΠ΄ силой тяТСния. Пока Π½Π΅ станСт Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ (вСрхняя Ρ‚ΠΎΡ‡ΠΊΠ° ΠΏΡ€Ρ‹ΠΆΠΊΠ°), Π° ΠΏΠΎΡ‚ΠΎΠΌ Π½Π΅ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π² минус ΠΏΠΎ Y (ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅), Π° ΠΏΠΎΡ‚ΠΎΠΌ Π½Π΅ ΡƒΠΏΠ°Π΄Π΅Ρ‚ Π½Π° зСмлю ΠΈ Π½Π΅ отскочит ΠΎΡ‚ Π½Π΅Π΅ (снова плюс ΠΏΠΎ Y ) ΠΈ Ρ‚Π°ΠΊ Π΄ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ остановки физичСской скорости ΠΎΠ±ΡŒΠ΅ΠΊΡ‚Π° Π½Π° Π·Π΅ΠΌΠ»Π΅.

Если дСвайс с ΠΈΠ³Ρ€ΠΎΠΉ сильно Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½, Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Update() / FixedUpdate() Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΡΠ΅ΡΡ‚ΡŒ Π² скорости. И Ссли Π² Ρ„ΠΈΠ·ΠΈΠΊΠ΅ это ΡƒΡ‡Ρ‚Π΅Π½ΠΎ ΠΈ Π±Π΅Π· нас, Ρ‚ΠΎ сСйчас ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ НЕ физичСскоС Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ-этому это Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½ΠΎΠ³ΠΎ мноТитСля.

Но ΠΈ Π±Π΅Π· использования Π΄Π°Π½ΠΎΠ³ΠΎ мноТитСля Ρƒ нас Π½Π΅ появится ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΏΡ€ΠΎΠ²Π°Π»Π°ΠΌΠΈ сквозь стСны. Π­Ρ‚ΠΎ просто фикс скорости.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ простой Π½ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΠ•Π€Π˜Π—Π˜Π§Π•Π‘ΠšΠžΠ™ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° двиТСния Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ пСрсонаТа.

Если Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π΄Π²ΠΈΠ³Π°Π»ΠΈ ΡˆΠ°Ρ€, Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ допустимо Π΅Π³ΠΎ Ρ‚ΠΎΠ»ΠΊΠ°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΠΈΠ·.модСль. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΡ‹ использовали AddForce() для этих Ρ†Π΅Π»Π΅ΠΉ.

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ этот ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ Π΄Π°Π½ΠΎΠ³ΠΎ пСрсонаТа. ΠœΡ‹ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ физичСский Ρ‚ΠΎΠ»Ρ‡Π΅ΠΊ ΠΎΠ±ΡŒΠ΅ΠΊΡ‚Π° Π½Π° Π½Π΅-физичСскоС, Π½ΠΎ ΠŸΠ›ΠΠ’ΠΠžΠ• ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŒΠ΅ΠΊΡ‚Π° Π² пространствС:

Π‘ этим ΠΊΠΎΠ΄ΠΎΠΌ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d

Π‘ Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Ρƒ нас Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π²Ρ€ΠΎΠ΄Π΅ скачков скорости Π½Π° просСдании ΠΈΠ»ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ количСства FPS, ΠΏΡ€ΠΎΠ²Π°Π»ΠΈΠ²Π°Π½ΠΈΠΉ, дСрганости, прохоТдСния сквозь стСны ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… нСоТиданностСй.

Π’Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ Π±Π΅Π³Π° Π½Π° нашСго пСрсонаТа (Π½Ρƒ Ссли Π±Ρ‹ это Π±Ρ‹Π» Π½Π΅ ΠΊΡƒΠ±).

Но ΠΊΠ°ΠΊ ΠΆΠ΅ рСализация Π½Π° Ρ„ΠΈΠ·ΠΈΠΊΠ΅?

Π”Π°, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π½Π° Ρ„ΠΈΠ·ΠΈΠΊΠ΅.

Наша ΠΏΡ€ΠΎΡˆΠ»Π°Ρ вСрсия скрипта ΠΈΠΌΠ΅Π»Π° нСсколько нСдостатков. А ΠΈΠΌΠ΅Π½Π½ΠΎ:

Π”Π°Π²Π°ΠΉΡ‚Π΅ помСстим Π½Π° наш ΠΊΡƒΠ± CapsuleCollider (минимальноС Ρ‚ΠΎΡ€ΠΌΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·-Π·Π° силы трСния) ΠΈ Π·Π°Π±Π»ΠΎΡ‡ΠΈΠΌ Π² rigidBody rotateX ΠΈ rotateZ (Ρ‡Ρ‚ΠΎ Π± наш пСрсонаТ Π½Π΅ ΠΏΠ°Π΄Π°Π» Π½Π° Π±ΠΎΠΊ).

А ΠΏΠΎΡ‚ΠΎΠΌ Π½Π°Ρ†Π΅ΠΏΠΈΠΌ Π½Π° Π½Π΅Π³ΠΎ Π²ΠΎΡ‚ этот скрипт:

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d

Π’Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ эту ΠΏΠ»Π°Π²Π½ΠΎΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π±Π΅ΠΆΠΈΡ‚, останавливаСтся, Π±Π΅ΠΆΠΈΡ‚ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ сторону? ΠšΡ€Π°ΡΠΎΡ‚Π°!

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ ΠΊ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ Π³ΠΈΡ„ΠΊΠ΅ ΠΈ ΠΏΡ€ΠΈΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ΡΡŒ. Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ совсСм Π½Π΅ Ρ‚Π°ΠΊΠΎΠ΅ πŸ™‚ Π’Π°ΠΌ ΠΊΠ°ΠΊ Π±ΡƒΠ΄-Ρ‚ΠΎ Ρ€ΡƒΠΊΠΎΠΉ Π΄Π²ΠΈΠ³Π°ΡŽΡ‚ ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π½ΡƒΡŽ Ρ„ΠΈΠ³ΡƒΡ€Ρƒ ΠΏΠΎ доскС.

Ну ΠΈ описанныС Π²Ρ‹ΡˆΠ΅ Π±Π°Π³ΠΈ повСдСния Π±Ρ‹Π»ΠΈ ΠΏΠΎΡ„ΠΈΠΊΡˆΠ΅Π½Ρ‹ с Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ.

МоТно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ физичСский ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Π½Π°ΡˆΠ΅ΠΌΡƒ пСрсонаТу ΠΈ ΠΎΡ‚ΠΊΠΎΡ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.

Π’ΠΎΠΎΠ±Ρ‰Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎ бСсконСчности. Но, Π΄ΡƒΠΌΠ°ΡŽ, основныС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π‘ΠŸΠžΠ‘ΠžΠ‘ΠžΠ’ ΠŸΠ•Π Π•Π”Π’Π˜Π–Π•ΠΠ˜Π― с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½Π΅Ρ‚Π΅ΡΡŒ, я Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΠ» πŸ™‚

ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π±Π°Π·Π΅ Ρ„ΠΈΠ·ΠΈΠΊΠΈ.

ΠŸΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ физичСскоС ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅.

РСализация нСстандартной Ρ„ΠΈΠ·ΠΈΠΊΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ.

Одним ΠΈΠ· ΠΌΠΎΠΈΡ… Π»ΡŽΠ±ΠΈΠΌΠ΅ΠΉΡˆΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² нСстандартной Ρ„ΠΈΠ·ΠΈΠΊΠΈ двиТСния являСтся ΠΈΠ³Ρ€Π° Ori and the Blind Forest

Π’Π°ΠΊΠΎΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅/Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€Ρ‹ΠΆΠΊΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° основС стандартной Ρ„ΠΈΠ·ΠΈΠΊΠΈ. ВСроятнСС всСго, это дСлалось Ρ‡Π΅Ρ€Π΅Π· физичСскоС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ + костыли для получСния Π½ΡƒΠΆΠ½Ρ‹Ρ… эфСктов ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡Π°Ρ‚ стандартной Ρ„ΠΈΠ·ΠΈΠΊΠ΅.

Π‘Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚Ρ‹ двиТСния. Они Π΄Π΅Π»Π°ΡŽΡ‚ΡΡ Π² любом Π²ΠΈΠ΄Π΅ΠΎΡ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ с ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π°ΠΌΠΈ. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ (Ссли станСт нСдоступным ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ Ori and the blind forest Enemy Concepts ) :

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‚ΠΎ здСсь прорисовано Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŒΠ΅ΠΊΡ‚Π°, Π½ΠΎ ΠΈ Π΅Π³ΠΎ вытягивания/сТатия. ИзмСнСния Ρ„ΠΎΡ€ΠΌΡ‹ Π²ΠΎ врСмя любого взаимодСйствия с внСшним ΠΌΠΈΡ€ΠΎΠΌ. Π’ Ρ‚.Ρ‡. выстрСлы Ρ‚Π°ΠΊ ΠΆΠ΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ. А Ρ‚Π°ΠΊ ΠΆΠ΅ Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ радиусы опознавания Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ гСроя ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ€Π°Π³ΠΎΠΌ.

ΠšΠΎΡΡ‚Ρ‹Π»ΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ пСрсонаТа/Π²Ρ€Π°Π³Π° свои собствСнныС. Π­Ρ‚ΠΎ дСлаСтся Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΎΠ±Π»Π°Π΄Π°Π» своСй ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΈΠ·ΠΈΠΊΠΎΠΉ. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это Π½Π° ΠΎΠ±Ρ‰Π΅ΠΉ Ρ„ΠΈΠ·ΠΈΠΊΠ΅ навряд Π»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ «ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ» Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ всС Ρ€Π°Π²Π½ΠΎ ΠΏΡ€ΠΎΠ»Π΅Ρ‚Π°Π΅Ρ‚ сквозь стСну

ДАЖЕ Ссли Π²Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ физичСскоС ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ вашСго пСрсонаТа, всС Ρ€Π°Π²Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ случится Ρ‚Π°ΠΊΠΎΠ΅, Ρ‡Ρ‚ΠΎ просчСт CollisionDetect ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ с ошибками. Π’Π°ΠΊΠΎΠ΅ Π±Ρ‹Π²Π°Π΅Ρ‚.

Для Ρ‚Π°ΠΊΠΈΡ… случаСв Π΅ΡΡ‚ΡŒ настройки ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ CollisionDetect Π² настройках самого RigidBody.

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d

Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚.ΠΊ. это Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎ сказываСтся Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π§Π΅ΠΌ Π½Π° большСм количСствС ΠΎΠ±ΡŒΠ΅ΠΊΡ‚ΠΎΠ² Π²Ρ‹ мСняСтС эти настройки, Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ вСроятно Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ Π΄ΠΈΡ‡ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π΄Π΅Π»Π°Ρ‚ΡŒ совсСм Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ. Π‘Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ это ΡΠΏΠ°ΡΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΡ€ΡƒΠ³ΠΎΠΌ, Π° Π½Π΅ ΠΏΠ°Π½Π°Ρ†Π΅Π΅ΠΉ. А Ссли Π²Ρ‹ Ρ‚Π°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‚ΠΎ Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ Π²Ρ‹ ΠΏΡ€ΠΈΠΉΠ΄Π΅Ρ‚Π΅ Π½Π° SO с вопросом ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠ³Ρ€Π° Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚, вас попросят ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π½Π°ΠΉΠ΄ΡƒΡ‚ просто ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΎΠ² Π½Π΅ Π² ΠΊΠΎΠ΄Π΅. И Π½Π°ΠΌΡƒΡ‡Π°Π΅Ρ‚Π΅ΡΡŒ Π²Ρ‹ с оптимизациями ΠΎΠΉ ΠΊΠ°ΠΊ сильно.

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

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Unity Character Controller (ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠŸΠ΅Ρ€ΡΠΎΠ½Π°ΠΆΠ°)?

Команда Unity3D заботится ΠΎ рядовых ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΡ… ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Ρ… ΠΈΠ³Ρ€. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² Unity Π±Ρ‹Π»Π° Π²Π²Π΅Π΄Π΅Π½Π° интСрСсная систСма, называСтся ΠΎΠ½Π° – Character Controller, Π° ΠΏΠΎ русски – ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠŸΠ΅Ρ€ΡΠΎΠ½Π°ΠΆΠ°. Π§Ρ‚ΠΎ ΠΆΠ΅ ΠΎΠ½Π° Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈ для Ρ‡Π΅Π³ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΡƒΠΆΠ½Π°? Π’ основном ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для управлСния пСрсонаТСм ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ Π»ΠΈΡ†Π° Π±Π΅Π· использования Ρ„ΠΈΠ·ΠΈΠΊΠΈ Rigidbody.

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2dΠ˜Ρ‚Π°ΠΊ для Π½Π°Ρ‡Π°Π»Π° Π½Π°ΠΌ слСдуСт ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ сцСну. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Terrain, МСню GameObject>3d Object>Terrain

И создадим Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ нашСго пСрсонаТа. Для этого ΠΎΠΏΡΡ‚ΡŒ, МСню GameObject>Create Empty ΠΈ Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π³ΠΎ Player. Π—Π°Ρ‚Π΅ΠΌ Π΄Π΅Π»Π°Π΅ΠΌ Π½Π°ΡˆΡƒ ΠΊΠ°ΠΌΠ΅Ρ€Ρƒ Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΉ Π½Π°ΡˆΠ΅ΠΌΡƒ свСТСсозданному Player.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠ»Π΅Π΅Ρ€Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Character Controller. Для этого Π² ΠΎΠΊΠ½Π΅ инспСктора Π½Π°ΠΆΠΌΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Add Component ΠΈ Π² появившСмся спискС Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ Physics Π½Π°ΠΆΠΌΠ΅ΠΌ Π½Π° Character Controller.

Когда ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ пСрсонаТа Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊ нашСй Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅, рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ поля Π΅Π³ΠΎ настроСк.

Slope Limit: этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пСрсонаТу Π²Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ прСпятствия. НапримСр, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ стоит число 45, это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ссли ΡƒΠ³ΠΎΠ» прСпятствия большС 45 градусов, Ρ‚ΠΎ пСрсонаТ Π½Π° Π½Π΅Π³ΠΎ Π½Π΅ смоТСт Π²Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ.

Step Offset: пСрсонаТ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ ΠΏΠΎ лСстницС, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΎΠ½ Π±Π»ΠΈΠΆΠ΅ ΠΊ Π·Π΅ΠΌΠ»Π΅, Ρ‡Π΅ΠΌ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Skin width: 2 ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€Π° ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΡΠ΅Ρ‡ΡŒΡΡ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π½Π° Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ, Ρ€Π°Π²Π½ΡƒΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Skin Width.

Min Move Distance: Ссли пСрсонаТ пытаСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΡΡ Π½ΠΈΠΆΠ΅ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ значСния, ΠΎΠ½ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ Π²ΠΎΠΎΠ±Ρ‰Π΅.

Center: сдвиг ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.

Radius: радиус ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚, насколько ΠΆΠΈΡ€Π½Ρ‹ΠΉ получился пСрсонаТ.

Height: высота ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€Π°. Ну ΠΈ, соотвСтствСнно, высота ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. НапримСр, Ссли ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹ΡˆΠ΅ высоты Π΄Π²Π΅Ρ€Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΌΠΎΠ², Ρ‚ΠΎ пСрсонаТ просто застрянСт Π² Π½ΠΈΡ….

Пока всС значСния оставим ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π’ дальнСйшСм ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… для Π»ΡƒΡ‡ΡˆΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. И ΠΊΠ°ΠΊ, это Π½Π΅ странно, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° пСрсонаТа Π³ΠΎΡ‚ΠΎΠ²Π°. Нам ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ нСбольшой скрипт управлСния ΠΊΠ°ΠΌΠ΅Ρ€ΠΎΠΉ ΠΈ нашим ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ ΠΈ пСрсонаТ Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ².

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½ΠΎΠ²Ρ‹ΠΉ скрипт ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Player. Π­Ρ‚ΠΎΡ‚ скрипт Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ для ΠΎΡ‚Π΄Π°Ρ‡ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ CharacterController, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, двигая ΠΈ поворачивая пСрсонаТа. Для этого Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ нашСго пСрсонаТа ΠΈ Π² инспСкторС Π½Π°ΠΆΠΌΠ΅ΠΌ Add Component. Π”Π°Π»Π΅Π΅, Π² ΠΊΠΎΠ½Ρ†Π΅ появившСгося списка, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ New Script, Π² появившСмся ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° Π²Π²ΠΎΠ΄ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ скрипта, Π² нашСм случаС – Player.

Π—Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΠΈΠ΅ дСйствиС – это ΠΊΠ½ΠΎΠΏΠΊΠ° Create and Add. НаТимаСм! ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ, скрипт создан ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ пСрсонаТу!

ΠžΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Π΅Π³ΠΎ, ΠΊΠ»ΠΈΠΊΠ½ΡƒΠ² ΠΏΠΎ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π΄Π²Π° Ρ€Π°Π·Π°.

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d

Π’ этом скриптС Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΠΎΠ±ΡŒΡΠ²ΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. ΠŸΠ΅Ρ€Π²Π°Ρ – это ссылка Π½Π° CharaсterController. Вторая – ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ двиТСния. Π’Ρ€Π΅Ρ‚ΡŒΡ-ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π°. И ΡƒΠΊΠ°ΠΆΠ΅ΠΌ ΠΈΠΌ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 1 ΠΈ 3 соотвСтствСнно.

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d

Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Start, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΊΠ°ΠΊ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, вызываСтся ΠΏΡ€ΠΈ стартС сцСны, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ строку, которая Π½Π°ΠΉΠ΄Π΅Ρ‚ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ CharacterController ΠΊ нашСй ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ ΠΎΠ½ присутствуСт Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ GameObject Ρ‡Ρ‚ΠΎ ΠΈ наш скрипт.

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Update. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызываСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€. Π’ Π½Π΅Π³ΠΎ для Π½Π°Ρ‡Π°Π»Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ строку, которая ΠΏΠΎΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ наш пСрсонаТ Π²ΠΎΠΊΡ€ΡƒΠ³ оси Y, посрСдством клавиш leftArrow ΠΈ RightArrow.

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ Π·Π°Π΄Π°Π΅ΠΌ, ΠΊΡƒΠ΄Π° Π½Π°ΠΌ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ. Π’ΠΎΡ‡Π½Π΅Π΅ – Π²Π΅ΠΊΡ‚ΠΎΡ€ направлСния. Он Ρƒ нас forward ΠΈΠ»ΠΈ z.

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ устанавливаСм ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ двиТСния. Π’ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, какая клавиша Π½Π°ΠΆΠ°Ρ‚Π°, ΠΎΠ½Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΈΠ»ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ. Π’ΠΎ Π΅ΡΡ‚ΡŒ Π²ΠΏΠ΅Ρ€Π΅Π΄ ΠΈ Π½Π°Π·Π°Π΄.

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d

И Π½Π°ΠΊΠΎΠ½Π΅Ρ†, собираСм всС это вмСстС ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π½Π° Character Controller.

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d

БохраняСм наш скрипт ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² Unity. На нашСм пСрсонаТС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π΄Π²Π° скрипта Charaster Controller ΠΈ Player.

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2dΠ–ΠΌΠ΅ΠΌ Play ΠΈ стрСлочками Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅ Π΄Π²ΠΈΠ³Π°Π΅ΠΌ ΠΈ ΠΏΠΎΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ нашСго пСрсонаТа. Π£Ρ€Π°Π°Π°, ΠΏΠΎΠ±Π΅ΠΆΠ°Π»ΠΈ!

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

2D ΠΈΠ³Ρ€Π° Π½Π° Unity. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство. Π§Π°ΡΡ‚ΡŒ 2

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ³Ρ€ΠΎΠΊΠ° Π² Unity

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠΊΠΎΠΌ, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ наличия ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… элСмСнтов: спрайт, способ управлСния ΠΈΠΌ ΠΈ способ Π΅Π³ΠΎ взаимодСйствия с ΠΈΠ³Ρ€ΠΎΠ²Ρ‹ΠΌ ΠΌΠΈΡ€ΠΎΠΌ. Рассмотрим этот процСсс шаг Π·Π° шагом ΠΈ Π½Π°Ρ‡Π½Π΅ΠΌ, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, со спрайта. Π’ΠΎΡ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ:

Если Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ ΡƒΡ€ΠΎΠΊΡƒ. ΠœΡ‹ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π»ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅ дСйствия для Ρ„ΠΎΠ½Π° ΠΈ «Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°».

Π’Π΅ΠΏΠ΅Ρ€ΡŒ нСсколько слов ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ…. ΠœΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ «Sprite Renderer». Если Π²Ρ‹ Π΅Ρ‰Π΅ Π½Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ», ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ³Ρ€Ρ‹ состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… Π² ΠΏΠ°Π½Π΅Π»ΠΈ «Π˜Π½ΡΠΏΠ΅ΠΊΡ‚ΠΎΡ€».

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ пустой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ³Ρ€Ρ‹ выглядит Ρ‚Π°ΠΊ:

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d

(Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° Π³Π°Π»ΠΎΡ‡ΠΊΡƒ чСкбокса, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΏΡ€Π΅ΠΆΠ½Π΅Π΅ свойство, ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΈ Ρ‚.Π΄.

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ. Если ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ сомпонСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ трСбуСтся Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ вСсь ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Π½ΡƒΡ‚Ρ€ΡŒ этого ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, ΠΈ Ρ‚ΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ сам Π½Π°ΠΉΠ΄Π΅Ρ‚ всС, Ρ‡Ρ‚ΠΎ Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ.

Sprite Renderer являСтся ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ способСн ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ спрайт-тСкстуру. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΡƒΠ·Π½Π°Π»ΠΈ ΠΎ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΎΠ΄ΠΈΠ½ ΠΊ ΠΈΠ³Ρ€ΠΎΠΊΡƒ!

ДобавляСм бокс-ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€ (Box Collider)

НаТмитС Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ³Ρ€ΠΎΠΊΠ°. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ «Box Collider 2D». Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ «Π‘Ρ†Π΅Π½Π°» зрСния ΠΈ настройки Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π² «Π˜Π½ΡΠΏΠ΅ΠΊΡ‚ΠΎΡ€Π΅» Π² ΠΏΠΎΠ»Π΅ «Π Π°Π·ΠΌΠ΅Ρ€» (Size).

БущСствуСт Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ рСдактирования бокс-ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€Π°. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ бокс-ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€Π° ΠΈ Π·Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ shift Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅. Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π° бокс-ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€Π΅ (Π·Π΅Π»Π΅Π½Ρ‹ΠΉ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ) появились Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… Ρ€Ρ‹Ρ‡Π°ΠΆΠΊΠ°. ΠŸΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ бокс-ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€Π°. Π‘ΡƒΠ΄ΡŒΡ‚Π΅ остороТны, синий ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ прСдставляСт собой ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Transform вашСго ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π° Π½Π΅ ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€.

Π­Ρ‚ΠΎ слишком ΠΌΠ½ΠΎΠ³ΠΎ для настоящСго шмапа, Π½ΠΎ всС ΠΆΠ΅ мСньшС, Ρ‡Π΅ΠΌ спрайт:

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d

Π’ настоящСС врСмя, этого Π²ΠΏΠΎΠ»Π½Π΅ достаточно.

Π‘ΠΎΠ²Π΅Ρ‚: Если Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ шмап, Π²Π°ΠΌ придСтся ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ настройкС хитбоксов – ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΎΠΌΡƒ элСмСнту Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ спрайта. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€Π°, ΠΊΠ°ΠΊ shape – Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ «Circle Collider 2D». Благодаря Unity, Π΅Π³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ этом Π½Π΅ мСняСтся, Π½ΠΎ это позволяСт Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π³Π΅ΠΉΠΌΠΏΠ»Π΅ΠΉ.

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ³Ρ€ΠΎΠΊ ΠΊΠ°ΠΊ ΠΏΡ€Π΅Ρ„Π°Π±. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΅ΡΡ‚ΡŒ Π±Π°Π·ΠΎΠ²ΡƒΡŽ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠΊΠ°!

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d

2D ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ супСр Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ хитбокс, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ Unity «ΠŸΠΎΠ»ΠΈΠ³ΠΎΠ½Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€ 2D» (Polygon Collider 2D). Π­Ρ„Ρ„Π΅ΠΊΡ‚ ΠΎΡ‚ этого Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, Π½ΠΎ Π·Π°Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ, ΠΊΠ°ΠΊΡƒΡŽ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅.

Магия Rigidbody

ПослСдний ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для добавлСния Π½Π° нашСго ΠΈΠ³Ρ€ΠΎΠΊΠ°: «Rigidbody 2D». Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ физичСскому Π΄Π²ΠΈΠΆΠΊΡƒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌ пространствС. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, это ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ столкновСния Π² скриптС.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠΈΠ³Ρ€Π°Ρ‚ΡŒ» ΠΈ смотритС, Ρ‡Ρ‚ΠΎ Ρƒ нас Π²Ρ‹ΡˆΠ»ΠΎ:

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d

ΠšΠΎΡ€Π°Π±Π»ΡŒ ΠΏΠ°Π΄Π°Π΅Ρ‚! И ΠΊΠ°ΠΊ ΠΏΠ°Π΄Π°Π΅Ρ‚! ΠŸΠ΅Ρ€Π΅Π΄Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ²Π΅Ρ‚ нашСй любимой силС тяТСсти. По ΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊΠ°Π΄Ρ€Ρ‹ с Π·Π°Ρ€Π°Π½Π΅Π΅ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ rigidbodies прибавляСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ массы, ΠΊΠΎΡ€Π°Π±Π»ΡŒ притягиваСтся ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΉ части экрана.

Гравитация ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована Π² любой ΠΈΠ³Ρ€Π΅, Π½ΠΎ Π½Π°ΠΌ ΠΎΠ½Π° Π½Π΅ Π½ΡƒΠΆΠ½Π°. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΡŽ Π½Π° Rigidbody ΠΌΠΎΠΆΠ½ Π»Π΅Π³ΠΊΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ. ΠŸΡ€ΠΎΡΡ‚ΠΎ установитС «Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΌΠ°ΡΡˆΡ‚Π°Π±» Ρ€Π°Π²Π½Ρ‹ΠΌ Π½ΡƒΠ»ΡŽ. Π’ΠΎΡ‚ ΠΈ всС, ΠΊΠΎΡ€Π°Π±Π»ΡŒ снова Π»Π΅Ρ‚ΠΈΡ‚. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π³Π°Π»ΠΎΡ‡ΠΊΡƒ Π² окошкС «Fixed Angles», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ корабля, обусловлСнноС Ρ‚Π°ΠΊΠΎΠΉ Ρ„ΠΈΠ·ΠΈΠΊΠΎΠΉ.

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΈΠ³Ρ€ΠΎΠΊΠ°

Настало врСмя Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ скриптик (Π²Ρ‹ вСдь Π½Π΅ Π΄ΡƒΠΌΠ°Π»ΠΈ, Ρ‡Ρ‚ΠΎ всС Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ само)? Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π² Unity C#-скрипт Π² ΠΏΠ°ΠΏΠΊΠ΅ «Scripts» ΠΈ Π½Π°Π·ΠΎΠ²ΠΈΡ‚Π΅ это «PlayerScript». ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ваш Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ подмСню «Sync» (Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° «Assets» Π² строкС мСню, Π·Π°Ρ‚Π΅ΠΌ Π½Π° «Sync MonoDevelop Project») для ΠΏΡ€Π°Π²ΠΊΠΈ созданного Unity скрипта.

«Sync MonoDevelop Project»: Π­Ρ‚ΠΎ подмСню Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ странноС.Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ имя, Π΄Π°ΠΆΠ΅ Ссли ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°.
ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это мСню ΠΏΡ€ΠΈ создании ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ скрипта, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Unity создаст Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ привяТСт ΠΈΡ… ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌ Unity (для Visual Studio, Xamarin Studio ΠΈΠ»ΠΈ MonoDevelop).
Если вмСсто этого Π²Ρ‹ просто ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚Π΅ скрипт, компилятор вашСго IDE, скорСС всСго, зарСгистрируСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ошибки, Π½Π΅ Unity. Π­Ρ‚ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ придСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π½ΠΎ функция автоматичСского Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Unity Π½Π΅ ΠΏΠΎΠΌΠ΅ΡˆΠ°Π΅Ρ‚.

Π£ вас Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ столкновСний:

Π’ скрипт для нашСго ΠΈΠ³Ρ€ΠΎΠΊΠ° ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ нСсколько простых элСмСнтов управлСния, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ: клавиши со стрСлками, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΊΠΎΡ€Π°Π±Π»ΡŒ.

Поясню Ρ†ΠΈΡ„Ρ€Ρ‹ Π² коммСнтариях ΠΊ ΠΊΠΎΠ΄Ρƒ:

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ° ΠΎ ΡΠΎΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡΡ… C# : ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ speed Ρ‡Π»Π΅Π½Π° класса – ΠΎΠ½ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ ΠΊΠ°ΠΊ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ. Π’ C# пСрСмСнная Ρ‡Π»Π΅Π½Π° класса Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠΉ для ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ сохранСния Π΅Π³ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Ρ€Π΅ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.
Но смСна Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π° ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ позволяСт Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ Π² Unity Ρ‡Π΅Ρ€Π΅Π· панСль «Inspector», Π΄Π°ΠΆΠ΅ Π² процСссС ΠΈΠ³Ρ€Ρ‹. Π­Ρ‚ΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· самых ΠΌΠΎΡ‰Π½Ρ‹Ρ… возмоТностСй Unity, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π³Π΅ΠΉΠΌΠΏΠ»Π΅ΠΉ Π±Π΅Π· использования ΠΊΠΎΠ΄Π°.
ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΌΡ‹ создаСм скрипты, Π° это Π½Π΅ Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ классичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° C#. Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ» ΠΈ соглашСний.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ скрипт ΠΊ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. Для этого ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚Π΅ скрипт ΠΈΠ· ΠΎΠΊΠ½Π° «ΠŸΡ€ΠΎΠ΅ΠΊΡ‚» (Project) Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² «Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ» (Hierarchy). Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° «Add Component» ΠΈ Π΄ΠΎΠ±Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ «Play» Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части ΠΎΠΊΠ½Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°. ΠšΠΎΡ€Π°Π±Π»ΡŒ двиТСтся! Congratulations, Π’Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ сдСлали эквивалСнт «Hello, World!» для ΠΈΠ³Ρ€Ρ‹ πŸ™‚

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ: Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° ΠΈΠ³Ρ€ΠΎΠΊΠ°, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ значСния скорости Π² «Π˜Π½ΡΠΏΠ΅ΠΊΡ‚ΠΎΡ€Π΅», ΠΈ посмотритС Ρ‡Ρ‚ΠΎ ΠΈΠ· этого получится.

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π²Ρ€Π°Π³

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ нСприятСлСй, стрСмящихся ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ΡŒ наш ΠΊΠΎΡ€Π°Π±Π»ΡŒ. ΠŸΡƒΡΡ‚ΡŒ ΠΈΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π»ΠΎΠ²Π΅Ρ‰ΠΈΠΉ спрут, Π½Π°Π·Π²Π°Π½Π½Ρ‹ΠΉ «Poulpi»:

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½ΠΎΠ²Ρ‹ΠΉ спрайт. Для этого:

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΏΡ€Π΅Ρ„Π°Π± ΠΈ. вуаля!

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d

Π‘ΠΊΡ€ΠΈΠΏΡ‚

Π’Π΅ΠΏΠ΅Ρ€ΡŒ напишСм ΠΏΡ€ΠΎΡΡ‚Π΅Π½ΡŒΠΊΠΈΠΉ скрипт, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ осьминога Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ. Для этого создайтС Π½ΠΎΠ²Ρ‹ΠΉ скрипт, Π½Π°Π·Π²Π°Π² Π΅Π³ΠΎ «MoveScript».

ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ обСспСчиваСтся систСмой Π½Π° основС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Unity. Π­Ρ‚ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ способ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° скрипты с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ функциями. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ гигантский скрипт с большим количСством ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Π­Ρ‚ΠΎ ваш Π²Ρ‹Π±ΠΎΡ€, Π½ΠΎ я Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π²Π°ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ это.

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ части ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ написали Π² Β«PlayerScript» для двиТСния пСрсонаТа. We will add another designer (a public member you can alter in the «Inspector») variable for the direction:

ΠŸΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΡ‚Π΅ скрипт ΠΊ ΠΎΡΡŒΠΌΠΈΠ½ΠΎΠ³Ρƒ. НаТмитС «Play» ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ спрут двиТСтся Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рисункС Π½ΠΈΠΆΠ΅:

скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d. Π€ΠΎΡ‚ΠΎ скрипт для двиТСния 2d пСрсонаТа Π² unity2d

Если Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ€Π°Π³ΠΎΠΌ, ΠΎΠ±Π° спрайта столкнутся. Они просто Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ Π΅Ρ‰Π΅ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ ΠΈΡ… ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ столкновСнии.

Π’Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠΊΠ°, двиТущСгося с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. Π’Π°ΠΊΠΆΠ΅, ΠΌΡ‹ создали Π²Ρ€Π°Π³Π° с Π·Π°Ρ‡Π°Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ AI. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ΡŒ Π΅Π³ΠΎ! А для этого, Π½Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ боСприпасы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ создадим Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΡƒΡ€ΠΎΠΊΠ΅ 2D ΠΈΠ³Ρ€Π° Π½Π° Unity. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство. Π§Π°ΡΡ‚ΡŒ 3.

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

Π‘ΠΊΡ€ΠΈΠΏΡ‚ для двиТСния 2d пСрсонаТа Π² unity2d

Π’ΠΎΡ‚ нСбольшой скрипт ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒ пСрсонаТСм с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. Π—Π°ΠΊΠΈΠ½ΡƒΠ»Π° Π½Π° сцСну Ρ‚Ρ€ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ, для ΠΊΠ½ΠΎΠΏΠΊΠΈ Π²Π΅Ρ€Ρ… ΠΏΡ€ΠΈ событии onclick выполняСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ Jump. А ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎΠ±Ρ‹ пСрсонаТ двигался Π²Π»Π΅Π²ΠΎ ΠΈ Π²ΠΏΡ€Π°Π²ΠΎ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ?

using UnityEngine;
using System.Collections;

public class Character : MonoBehaviour
<
private float speed = 5.0F;
private float jumpForce = 10.0F;

public float score = 0;
public float key = 0;

private bool isGrounded = false;

private Rigidbody2D rb;
private Animator animator;
private SpriteRenderer sprite;

public void FixedUpdate()
<
CheckGround();

if (Mathf.Abs(direction.x) > 0.1)
transform.position = Vector3.MoveTowards(transform.position, transform.position + direction, speed * Time.fixedDeltaTime);
>

private void Update()
<
if (isGrounded)
animator.SetInteger(«State», 0);

if (Input.GetButton(«Horizontal»))
Run();
else
direction = Vector3.zero;
if (Input.GetKeyDown(KeyCode.UpArrow)) Jump();
>

public void Run()
<
direction = transform.right * Input.GetAxis(«Horizontal»);
sprite.flipX = direction.x 1;

if (!isGrounded)
animator.SetInteger(«State», 2);
>
>

Re: Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ пСрсонаТа ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ.

Re: Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ пСрсонаТа ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ.

Re: Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ пСрсонаТа ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ.

Re: Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ пСрсонаТа ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ.

public class PointerListener : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
<
bool _pressed = false ;

public void OnPointerDown ( PointerEventData eventData )
<
_pressed = true ;
>

public void OnPointerUp ( PointerEventData eventData )
<
_pressed = false ;
>

Re: Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ пСрсонаТа ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ.

public class PointerListener : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
<
bool _pressed = false ;

public void OnPointerDown ( PointerEventData eventData )
<
_pressed = true ;
>

public void OnPointerUp ( PointerEventData eventData )
<
_pressed = false ;
>

Re: Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ пСрсонаТа ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ.

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

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

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