Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Unity3d Π½Π° C#

Π”ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток.

БСгодня ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΏΡ€ΠΎ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° экранС Π² Unity3D. Π­Ρ‚Π° Ρ‚Π΅ΠΌΠ° ΠΎΡ‡Π΅Π½ΡŒ проста, Π½ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° ΠΈΠ³Ρ€Π°Ρ….

Для Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ создадим пустой 3D ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Unity, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ с надписью Β«NewΒ». Π’ ΠΏΠΎΠ»Π΅ Β«Project nameΒ» ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ строкС Β«LocationΒ» ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ располоТСниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° дискС. НиТС поля Β«LocationΒ» ставим Ρ„Π»Π°ΠΆΠΎΠΊ Β«3DΒ» ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Β«Create projectΒ».

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d

Π—Π°Ρ‚Π΅ΠΌ создаСм ΠΊΡƒΠ± ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π°ΠΌ зСмлю (GameObject->3D Object->Cube). ΠŸΠΎΡ‚ΠΎΠΌ сдСлаСм Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ плоским ΠΈ растянСм. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ ΠΎΠΊΠ½ΠΎ Β«InspectorΒ», выдСляСм наш ΠΊΡƒΠ±, Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ Β«TransformΒ» ΠΏΡƒΠ½ΠΊΡ‚ Β«ScaleΒ» Π·Π°Π΄Π°Π΅ΠΌ x:10, y:0.2, z:10. Π£ нас Π΄ΠΎΠ»ΠΆΠ½ΠΎ получится Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΎΡ‚Π½ΠΎ:

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ ΠΊΠ°ΠΌΠ΅Ρ€Ρƒ Π½Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ x:0,y:5,z:0. Π—Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ Π΅Π΅ Π½Π° 90 градусов ΠΏΠΎ оси x. Π—Π°Ρ‚Π΅ΠΌ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ сфСру (GameObject->3D Object->Sphere), Π·Π°Π΄Π°Π΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Β«PositionΒ» Π² Β«TransformΒ» ΠΊΠ°ΠΊ x:0, y:1, z:0. ПослС этого Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π°ΡˆΡƒ сцСну ΠΈΡ‰Π΅ΠΌ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«HierarchyΒ» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«Directional LightΒ» ΠΈ Π·Π°Π΄Π°Π΅ΠΌ Π΅ΠΌΡƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Β«RotationΒ» Π² Β«TransformΒ» ΠΊΠ°ΠΊ x:180, y:-30, z:0. Наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½Π° ΠΊΠ½ΠΎΠΏΠΊΠ°, ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒ Π»ΠΈ наш ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π‘Π½Π°Ρ‡Π°Π»Π° создаСм экран Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ наша ΠΊΠ½ΠΎΠΏΠΊΠ° (GameObject->UI->Canvas). Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ этап β€” создаСм ΠΊΠ½ΠΎΠΏΠΊΡƒ (GameObject->UI->Button). Π—Π°Ρ‚Π΅ΠΌ Π½Π°Π΄ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипт для пСрСмСщСния нашСй сфСры. Π’ ΠΎΠΊΠ½Π΅ Β«ProjectΒ» Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Β«CreateΒ», Π° Ρ‚Π°ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ C# Script. Π”Π°Π»Π΅Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄:

Π‘Π½Π°Ρ‡Π°Π»Π° создаСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ нашСго ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° для пСрСмСщСния. Вторая пСрСмСнная β€” это расстояниС Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Β«OnButtonDownΒ» ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ. Π‘Π½Π°Ρ‡Π°Π»Π° Π·Π°Π΄Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ S Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1 ΠΈΠ»ΠΈ 2, послС Ρ‡Π΅Π³ΠΎ Π΄Π²ΠΈΠ³Π°Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎ оси X Π½Π° S расстояниС.

Π—Π°Ρ‚Π΅ΠΌ выдСляСм Π½Π°ΡˆΡƒ ΠΊΠ½ΠΎΠΏΠΊΡƒ, Π² ΠΏΠ°Π½Π΅Π»ΠΈ Β«InspectorΒ» Π² самом Π½ΠΈΠ·Ρƒ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Add ComponentΒ», Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π² Β«ScriptsΒ» наш ΠΊΠΎΠ΄. Π”Π°Π»Π΅Π΅ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ Β«ButtonΒ» снизу Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ Β«On Click ()Β» Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ «+». НаТимаСм Π½Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ΅Π΅ΡΡ ΠΎΠΊΠ½ΠΎ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ Β«On Click ()Β» Π² ΠΏΠΎΠ»Π΅, Π³Π΄Π΅ стоит Β«None (Object)Β». Π’ Π½Π΅ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π½Π°ΡˆΡƒ ΠΊΠ½ΠΎΠΏΠΊΡƒ. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ:

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d

ΠŸΠΎΡ‚ΠΎΠΌ Π² нашСм ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ Β«On Click ()Β» Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π±Π»ΠΎΠΊ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ стоит Β«No FunctionΒ», Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ нашСго ΠΊΠΎΠ΄Π°, Π° Π² Π½Π΅ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ Β«OnButtonDown()Β». Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠΎΠ³Π΄Π° ΠΊΠ½ΠΎΠΏΠΊΠ° настроСна ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΊΠΎΠ΄Ρƒ. Π’ ΠΎΠΊΠ½Π΅ Β«InspectorΒ» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ нашСго ΠΊΠΎΠ΄Π°. Π’ ΠΏΠΎΠ»Π΅ Β«SphereΒ» Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π½Π°ΡˆΡƒ сфСру. Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ получится:

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d

Π—Π°Ρ‚Π΅ΠΌ Π² ΠΎΠΊΠ½Π΅ Β«GameΒ» Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° Β«Maximize On PlayΒ». Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ запуска ΠΈΠ³Ρ€Ρ‹. На экранС отобраТаСтся наша ΠΊΠ½ΠΎΠΏΠΊΠ°. Если ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎ Π½Π΅ΠΉ, Ρ‚ΠΎ наша сфСра пСрСмСстится ΠΏΠΎ оси X.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d

Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ спасибо Π·Π° ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ. НадСюсь, Π’Ρ‹ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Π»ΠΈ для сСбя Π½ΠΎΠ²Ρ‹Π΅ знания.

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

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

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

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

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

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

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

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

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

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

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d

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

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

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

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

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

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

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

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

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

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

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

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

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d

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

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

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d

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

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

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

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

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

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

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

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d

Π”Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚.ΠΊ. это Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎ сказываСтся Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ считайтС это, скорСС, ΡΠΏΠ°ΡΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΡ€ΡƒΠ³ΠΎΠΌ, Ρ‡Π΅ΠΌ ΠΏΠ°Π½Π°Ρ†Π΅Π΅ΠΉ.

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

ΠžΡΠ½ΠΎΠ²Ρ‹ создания 2D пСрсонаТа Π² Unity 3D 4.3. Π§Π°ΡΡ‚ΡŒ 2: Π±Π΅Π³ΡƒΡ‰ΠΈΠΉ пСрсонаТ

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚. ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Π΄Π΅Π»ΠΎ, Π½Π°Ρ‡Π°Ρ‚ΠΎΠ΅ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ части. БСйчас Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΈ стоящий Π½Π° Π½Π΅ΠΉ пСрсонаТ с Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠ΅ΠΉ покоя. Настало врСмя Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ нашСго пСрсонаТа Π±Π΅Π³Π°Ρ‚ΡŒ Π²ΠΏΡ€Π°Π²ΠΎ-Π²Π»Π΅Π²ΠΎ ΠΏΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅.

Π—Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ сцСну ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΎΠΉ части. Напомню, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΡˆΠ»Ρ‹ΠΉ Ρ€Π°Π· ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ нСсколько спрайтов Π² ΠΏΠ°ΠΏΠΊΡƒ Assets β€” Sprites. На всякий случай, Π²Π½ΠΈΠ·Ρƒ поста Π΅Ρ‰Π΅ Ρ€Π°Π· ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ ссылку Π½Π° спрайты. Π‘Ρ€Π΅Π΄ΠΈ Π½ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ спрайт ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Run. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для создания Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π±Π΅Π³Π°. Для этого Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π΅ ΠΆΠ΅ дСйствия ΠΏΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΡŽ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½ΠΎΠ³ΠΎ спрайта Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ, ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€ΠΈ создании Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ покоя. Π’ΠΊΡ€Π°Ρ‚Ρ†Π΅ напомню: выдСляСм спрайт, Π² ΠΎΠΊΠ½Π΅ Inspector устанавливаСм свойство Sprite Mode ΠΊΠ°ΠΊ Multiple, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½ΠΈΠΆΠ΅ Sprite Editor, Π½Π°Ρ€Π΅Π·Π°Π΅ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Grid ΠΈΠ»ΠΈ Automatic.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π² ΠΎΠΊΠ½Π΅ Hierarchy Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Character ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² ΠΎΠΊΠ½ΠΎ Animation. НаТимаСм Π½Π° ΠΏΠΎΠ»Π΅ с Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠ΅ΠΉ Idle ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Create New Clip, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ Π±Π΅Π³Π°. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΠΌ Ρ„Π°ΠΉΠ» Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π² ΠΏΠ°ΠΏΠΊΠ΅ Assets β€” Animations ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ Run.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d

Новая созданная анимация Run стала Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π² ΠΎΠΊΠ½Π΅ Animation. Π Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ спрайт Run Π² ΠΎΠΊΠ½Π΅ Project, выдСляСм всС Ρ„Π°Π»Ρ‹ Run_0… Run_9 ΠΈ пСрСтаскиваСм Π² ΠΎΠΊΠ½ΠΎ Animation. Установим ΠΏΠΎΠΊΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Sample Ρ€Π°Π²Π½ΠΎΠ΅ 24.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d

ВсС это ΠΌΡ‹ ΡƒΠΆΠ΅ Π΄Π΅Π»Π°Π»ΠΈ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ части, Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ΅. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ Π² ΠΎΠΊΠ½ΠΎ Animator. БСйчас Ρ‚Π°ΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ Ρ‚Ρ€ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ: Any State, Idle ΠΈ Run. Нам прСдстоит Π·Π°Π΄Π°Ρ‚ΡŒ условия ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΈΠ· Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Idle Π² Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ Run, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΈΠ· состояния покоя Π² состояниС Π±Π΅Π³Π°. Π’ Π½ΠΈΠΆΠ½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»Π΅ Parameters. НаТимаСм Π½Π° плюсик, Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Float ΠΈ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊΠ°ΠΊ Speed. Π’Π΅ΠΌ самым ΠΌΡ‹ создали ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚ΠΈΠΏΠ° число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΠΉ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ пСрСмСщСния пСрсонаТа. ИмСнно Π² зависимости ΠΎΡ‚ значСния этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ покоя Π² Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ Π±Π΅Π³Π°. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ Idle, Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Make Transition ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ Run. ΠœΠ΅ΠΆΠ΄Ρƒ анимациями появится линия со стрСлкой. ΠŸΠ΅Ρ€Π΅Π΄Π²ΠΈΠ½ΡŒΡ‚Π΅ ΠΌΡ‹ΡˆΠΊΠΎΠΉ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, Ссли ΠΏΠ»ΠΎΡ…ΠΎ Π²ΠΈΠ΄Π½ΠΎ. КликнСм ΠΏΠΎ Π»ΠΈΠ½ΠΈΠΈ со стрСлкой. Π’ ΠΎΠΊΠ½Π΅ Inspector отобразятся свойства ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρƒ анимациями. ΠžΠ±Ρ€Π°Ρ‚ΠΈΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π½ΠΈΠ· ΠΎΠΊΠ½Π°, Π² Ρ€Π°Π·Π΄Π΅Π» Conditions. КликнСм Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Exit Time ΠΈ помСняСм Π΅Π³ΠΎ Π½Π° Speed. Π’Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Greater оставим Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π° Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ Π²Π²Π΅Π΄Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0.01. ΠœΡ‹ создали условиС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΈΠ· Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ покоя Π² Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ Π±Π΅Π³Π° β€” ΠΎΠ½ΠΎ происходит, ΠΊΠΎΠ³Π΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° скорости становится Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΠΌ большС нуля.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ β€” ΠΈΠ· Run Π² Idle. Π”Π΅Π»Π°Π΅ΠΌ всС с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚: Make Transition ΠΎΡ‚ Run ΠΊ Idle, выдСляСм ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄, Π² Conditions устанавливаСм Speed β€” Less β€” 0.01.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΈ условия ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ. Но ΠΏΠΎΠΊΠ° Π½ΠΈΡ‡Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ всС Ρ‡Ρ‚ΠΎ ΠΌΡ‹ сдСлали Π½ΡƒΠΆΠ½ΠΎ Β«ΠΎΠΆΠΈΠ²ΠΈΡ‚ΡŒΒ» ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ скрипта. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ Π² ΠΎΠΊΠ½ΠΎ Project ΠΈ создадим Π² ΠΏΠ°ΠΏΠΊΠ΅ Assets ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΡƒ Scripts. Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π½Π΅Π΅ Π½ΠΎΠ²Ρ‹ΠΉ C# Script, Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π³ΠΎ CharacterControllerScript ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Π½Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d

Π― ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ листинг скрипта с ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ коммСнтариями, Π° Π½ΠΈΠΆΠ΅ Π΅Ρ‰Π΅ поясню, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΌ происходит.

Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ Π·Π°Π²Π΅Π»ΠΈ нСсколько ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…: для задания максимальной скорости пСрСмСщСния, для опрСдСлСния направлСния (Π²ΠΏΡ€Π°Π²ΠΎ/Π²Π»Π΅Π²ΠΎ) ΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ Animator. ΠŸΠΎΡ‡Ρ‚ΠΈ всС дСйствия происходят Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ FixedUpdate. Π’ Π½Π΅ΠΌ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ оси Π₯, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ мСняСтся ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅ клавиш Π²Π»Π΅Π²ΠΎ-Π²ΠΏΡ€Π°Π²ΠΎ ΠΈΠ»ΠΈ A-D (Ссли Π½Π΅ мСняли ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ настройки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°!). Π—Π°Ρ‚Π΅ΠΌ устанавливаСм это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ Speed ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Animator. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π±Π΅Ρ€Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ этого значСния ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Mathf.Abs, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ создании условий ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρƒ анимациями покоя ΠΈ Π±Π΅Π³Π° ΠΌΡ‹ сравниваСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° с ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ числом 0.01. Нам здСсь Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, Π² ΠΊΠ°ΠΊΡƒΡŽ сторону Π±Π΅ΠΆΠΈΡ‚ пСрсонаТ. Π’Π°ΠΆΠ½ΠΎ лишь Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° значСния. Π”Π°Π»Π΅Π΅ Π·Π°Π΄Π°Π΅ΠΌ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ пСрСмСщСния ΠΏΠΎ оси Π₯ Π² соотвСтствии со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ максимальной скорости. И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, провСряСм, Π² ΠΊΠ°ΠΊΡƒΡŽ сторону Π±Π΅ΠΆΠΈΡ‚ пСрсонаТ, ΠΈ Π² ΠΊΠ°ΠΊΡƒΡŽ сторону ΠΎΠ½ Π² этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚. Если ΠΎΠ½ Π±Π΅ΠΆΠΈΡ‚ Π²ΠΏΡ€Π°Π²ΠΎ, Π° ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚ Π²Π»Π΅Π²ΠΎ β€” Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ Π²ΠΏΡ€Π°Π²ΠΎ ΠΏΡƒΡ‚Π΅ΠΌ инвСртирования Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΠΎ оси Π₯. И Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. Π­Ρ‚ΠΈΠΌ Π½Π΅Ρ…ΠΈΡ‚Ρ€Ρ‹ΠΌ способом ΠΌΡ‹ избавились ΠΎΡ‚ нСобходимости Π΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²Π΅ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ вмСсто ΠΎΠ΄Π½ΠΎΠΉ: для Π±Π΅Π³Π° Π²ΠΏΡ€Π°Π²ΠΎ ΠΈ для Π±Π΅Π³Π° Π²Π»Π΅Π²ΠΎ.

БохраняСм скрипт. Π’ Unity пСрСтаскиваСм Π΅Π³ΠΎ Π½Π° нашСго Character Π² ΠΎΠΊΠ½Π΅ Hierarchy. ЗапускаСм ΠΈΠ³Ρ€Ρƒ, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π²Π»Π΅Π²ΠΎ-Π²ΠΏΡ€Π°Π²ΠΎ ΠΈΠ»ΠΈ A-D.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² unity3d

ΠšΠ°ΠΏΠΈΡ‚Π°Π½ ΠšΠΎΠ³ΠΎΡ‚ΡŒ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΠΌΠ΅Π΅Ρ‚ Π±Π΅Π³Π°Ρ‚ΡŒ! Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ быстроватой. Π•Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚Π΅ΠΌ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ значСния Sample Π² ΠΎΠΊΠ½Π΅ Animation для Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Run (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 12 Π±ΡƒΠ΄Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ). Если ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с ΠΈΠ³Ρ€ΠΎΠΉ Ρƒ вас Π²ΠΈΠ΄Π½ΠΎ ΠΎΠΊΠ½ΠΎ Animator, Ρ‚ΠΎ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²ΠΎ врСмя покоя Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ анимация Idle (Π±Π΅Π³Π°Π΅Ρ‚ синий прогрСссбар), Π° Π²ΠΎ врСмя Π±Π΅Π³Π° происходит ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ Run, ΠΈ, соотвСтствСнно, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ½Π°.

На этом ΠΏΠΎΠΊΠ° всС. Нам ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с прыТками… ΠΈ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ этом Π΅Ρ‰Π΅ нСсколько Π½ΠΎΠ²Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ!
Бсылка Π½Π° спрайты.

Update: Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π²ΠΈΠ΄Π΅ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

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

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ наш Unity for dummies ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Ρ€.

ΠŸΠΎΠ»Π½Ρ‹Π΅ вСрсии ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΊΠΎΠ½Ρ†Π΅ поста.

Если Π²Ρ‹ Π½Π΅ Π² курсС, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ…ΡƒΠΊΠΈ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Π² Unity, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΡ‘ΠΉ.

Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ Π² ΠΏΠ°Π½Π΅Π»ΠΈ ассСтов C# cΠΊΡ€ΠΈΠΏΡ‚ PlayerBehaviour, ΠΈ Π·Π°ΠΏΠΈΡ…ΠΈΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ Π² ΠΏΠ°ΠΏΠΊΡƒ Scripts (Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ ассСтов).

Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ наш ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Player слСва, Π² мСню ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ, ΠΈ закрСпляСм инспСктор (мСню справа), Π½Π°ΠΆΠ°Π² Π½Π° Π·Π°ΠΌΠΎΠΊ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΠΏΡ€Π°Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ.

Пока Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ всС Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ (Box Collider 2D, etc), наТимая Π½Π° стрСлочку Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ….

Π’Π΅ΠΏΠ΅Ρ€ΡŒ пСрСтаскиваСм наш скрипт Π² инспСктор, ΠΈ ΠΎΠ½ прикрСпляСтся ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Player (Ссли Π²Ρ‹ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄Ρ‰ΡƒΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚ с Π·Π°ΠΊΡ€Π΅ΠΏΠ΅Π½ΠΈΠ΅ΠΌ мСню, Ρ‚ΠΎ Π²Ρ‹ этого ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ смоТСтС).

Если Π·Π°ΠΉΡ‚ΠΈ Π² Edit => Project Settings => Input Manager, Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΡ‘ΠΌ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ настройки управлСния. НапримСр, ΠΏΡ€Ρ‹ΠΆΠΎΠΊ (Jump) Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π½Π° ΠΏΡ€ΠΎΠ±Π΅Π», Π² Ρ‚ΠΎ врСмя, ΠΊΠ°ΠΊ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ Π½Π° a, d, ←,β†’.

Π—Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ это для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ΄Π΅ (названия ΠΈΠ½ΠΏΡƒΡ‚ΠΎΠ² Jump, Horizontal).

ΠŸΠΎΡ€Π° ΠΏΠΎΠΊΠΎΠ΄ΠΈΡ‚ΡŒ. Π”Π²Π° Ρ€Π°Π·Π° Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° наш скрипт PlayerBehaviour, ΠΈ Unity отдаст Π΅Π³ΠΎ Π² Ρ€ΡƒΠΊΠΈ Visual Studio.

БохраняСм Ρ„Π°ΠΉΠ», ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Unity. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Unity ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ ΠΊΠΎΠ΄ (Π»ΠΈΠ½Ρ‚ΠΈΠ½Π³, ошибки, пустыС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅). Если Ρ‡Ρ‚ΠΎ Ρ‚ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Ρ‚ΠΎ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ сообщСниС ΠΎΠ± ошибкС.

Π˜ΡΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌ ΠΊΠΎΠ΄, ΠΈ ΡΡ‚Ρ€Π°ΡˆΠ½Ρ‹Π΅ красныС Π±ΡƒΠΊΠ²Ρ‹ ΠΈΡΡ‡Π΅Π·Π°ΡŽΡ‚. МоТно Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈΠ³Ρ€Ρƒ, ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

МнС Π½Π΅ нравится, Ρ‡Ρ‚ΠΎ пСрсонаТа ΠΏΠ΅Ρ€Π΅Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚. Π˜ΡΠΏΡ€Π°Π²ΠΈΠΌ.

Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² инспСктор, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Rigidbody2D ΠΈ ставим Π³Π°Π»ΠΎΡ‡ΠΊΡƒ Π½Π° Freeze Rotation Z.

Π•ΡΡ‚ΡŒ Π΄Π²Π° основных способа Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΌΠ΅Ρ€Ρƒ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ Π·Π° пСрсонаТСм.

1. ΠŸΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΡŒ ΠΊΠ°ΠΌΠ΅Ρ€Ρƒ Π²Π½ΡƒΡ‚Ρ€ΠΈ сцСны, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° Π±Ρ‹Π»Π° Π½Π° пСрсонаТС, Π° Π·Π°Ρ‚Π΅ΠΌ Π² ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΊΠ°ΠΌΠ΅Ρ€Ρƒ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ пСрсонаТа Ρ‡Π΅Ρ€Π΅Π· мСню ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ.

2. Π—Π°Π΄Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ Π·Π° пСрсонаТСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ½ΠΎ.

Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ скрипт CameraBehaviour, ΠΈ привязываСм Π΅Π³ΠΎ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Main Camera (добавляСм Ρ‡Π΅Ρ€Π΅Π· инспСктор).

ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ наш Π½ΠΎΠ²Ρ‹ΠΉ скрипт, ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ ΠΊΠΎΠ΄ΠΈΡ‚ΡŒ (Π΄Π°, ΠΌΠ½Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽ ΠΈ послС).

ЀиксируСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ Π½Π° Π·Π°ΠΌΠΎΠΊ Π² инспСкторС, ΠΈ пСрСтаскиваСм наш ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Player Π² GameObject.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠ°ΠΌΠ΅Ρ€Π° двигаСтся Π·Π° ΠΈΠ³Ρ€ΠΎΠΊΠΎΠΌ.

Однако ΠΊΠ°ΠΌΠ΅Ρ€Π° постоянно Π²Ρ‹Π»Π΅Π·Π°Π΅Ρ‚ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ уровня, показывая синий Ρ„ΠΎΠ½.

Π― Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ ΠΌΠΎΡ‘ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅. Π‘ΡƒΠ΄Ρƒ Ρ€Π°Π΄, Ссли ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ подСлится своими сообраТСниями Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ счёт.

ДобавляСм Π² наш скрипт CameraBehaviour ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

Π”Π²ΠΈΠ³Π°Π΅ΠΌ ΠΊΠ°ΠΌΠ΅Ρ€Ρƒ, ΠΈ снимаСм наши измСрСния Π΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

На скринС Π½ΠΈΠΆΠ΅ ΠΊΠ°ΠΌΠ΅Ρ€Π° стоит Π² Π»Π΅Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ сцСны.

ΠŸΡ€ΠΎΡΡ‚Π°Π²Π»ΡΠ΅ΠΌ снятыС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ для ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ (ΠΌΠΎΠΈ ΠΈ ваши ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ).

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ±Π½ΠΎΠ²ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ UpdateCameraPosition Π² скриптС CameraBehaviour

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ, ΠΊΠ°ΠΌΠ΅Ρ€Π° пСрСстала «Π³ΡƒΠ»ΡΡ‚ΡŒ». Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ дальшС.

Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ наш Foreground, ΠΈ создаём Π½ΠΎΠ²Ρ‹ΠΉ слой ‘Ground’ Π² инспСкторС.

Π‘Π½ΠΎΠ²Π° Ρ‚Ρ‹ΠΊΠ°Π΅ΠΌ Π½Π° Foreground, ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π² ΠΏΠΎΠ»Π΅ Layer наш Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ созданный слой.

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π² PlayerBehaviour Ρ‚Π°ΠΊΡƒΡŽ строчку.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Player ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ наш свСТСсозданный слой.

ОбновляСм наш PlayerBehaviour. Π”ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€ (rigidBody ΠΌΡ‹ создавали Ρ€Π°Π½Π΅Π΅).

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ пСрСмСщСния пСрсонаТа Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ updatePlayerPosition

Π›Π΅Ρ‚Π°Ρ‚ΡŒ ΠΌΡ‹ Ρ€Π°Π·ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ, Π° ΠΏΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ большС Π½Π΅ скользим. ПобСда!

Π― Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ ΠΌΠΎΡ‘ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅. Π‘ΡƒΠ΄Ρƒ Ρ€Π°Π΄, Ссли ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ подСлится своими сообраТСниями Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ счёт

ΠŸΡ€ΠΈΠ²Π΅Ρ‚.
Π―, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, дохуя воврСмя, ΠΊΠΎΠ³Π΄Π° Ρƒ тСбя ΡƒΠΆΠ΅ ΠΏΡΡ‚ΡŒ статСй ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³, Π½ΠΎ Π²ΠΎΡ‚ щас ΠΈΠ΄Ρƒ Π·Π° Ρ‚ΠΎΠ±ΠΎΠΉ ΠΏΠΎΠΊΠ° Π²ΠΎΡ‚ Π½Π° этом мСстС.
ΠšΠΎΡ€ΠΎΡ‡Π΅, Π² ассСт-сторС Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ 2D Game Kit ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΠ² Π΄Π²ΠΈΠΆΠΊΠ°. Π’Π°ΠΌ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ сдСлано Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли помню (Π΄Π°Π²Π½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π»). Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ Π·Π°Π²Ρ‘Ρ€Π½ΡƒΡ‚ Π² ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€, Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€ Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€Π΅. БоотвСтствСнно, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° ΠΎ Π½Π΅Π³ΠΎ стукаСтся, Ρ‚ΠΎ расслабляСтся ΠΈ Π½Π΅ двигаСтся. И Π΅Ρ‰Ρ‘ Ρ‚Π°ΠΌ ΡƒΠ³Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠ°ΠΌΠ΅Ρ€Π°-Π»Π°Π³ стоит, Ρ‡Ρ‚ΠΎΠ± ΠΊΠ°ΠΌΠ΅Ρ€Π° Π½Π΅ Тёстко слСдовала Π·Π° пСрсонаТСм, Π° ΠΊΠ°ΠΊ Π±Ρ‹ Π·Π° Π²Π΅Ρ€Ρ‘Π²ΠΎΡ‡ΠΊΡƒ.

ΠŸΡ€ΠΈΠ²Π΅Ρ‚.
Π”Π°, я ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π».
Но пСрсонаТ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ, попросту исчСзаСт ΠΏΡ€ΠΈ стартС ΠΈΠ³Ρ€Ρ‹.
ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΡŽ Ρ€Π°Π΄ΠΈ экспСримСнта Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ.

Надо Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ ΠΊΡƒΠ΄Π° исчСзаСт. Π‘Π°ΠΌΠΎΠ΅ простоС, ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π° ΠΏΠ°ΡƒΠ·Ρƒ, ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΈΠ· ΠΎΠΊΠ½Π° Game Π² Scene, ΠΈ просто ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ. А ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΠΆΠ΅ Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Ρ‹.

coll.IsTouchingLayers(ground)

ΠΈΠ»ΠΈ сдСлай ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Π½ΠΈΠ·Ρƒ пСрсонаТа, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ°ΡΠ°Ρ‚ΡŒΡΡ *повСрхности*, Π° Π½Π΅ всСго подряд ΠΈΠ»ΠΈ Π΄Π΅Π»Π°ΠΉ рСйкаст Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ Π²Π½ΠΈΠ·

ЗдравствуйтС, подскаТитС ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρƒ мСня пСрсонаТ Π½Π΅ ΠΏΡ€Ρ‹Π³Π°Π΅Ρ‚?

ПолСзная ΡΡ‚Π°Ρ‚ΡŒΡ 👍👍👍
Бпасибо большоС ))

ΠŸΠ»ΡŽΡΠ°Π½ΡƒΡ‚ΡŒ Π½Π΅ ΠΌΠΎΠ³Ρƒ, Π΅Ρ‰Ρ‘ Π΄ΠΎ рСгистрации написана, Π½ΠΎ Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ Π·Π°Π±Π΅Ρ€Ρƒ ))

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

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

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