ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ³ΡΠΎΠΊΠ° Π² ΡΠ½ΠΈΡΠΈ
ΠΡΠ½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ 2D ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° Π² Unity 3D 4.3. Π§Π°ΡΡΡ 2: Π±Π΅Π³ΡΡΠΈΠΉ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ
ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ. ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Π΄Π΅Π»ΠΎ, Π½Π°ΡΠ°ΡΠΎΠ΅ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ°ΡΡΠΈ. Π‘Π΅ΠΉΡΠ°Ρ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΈ ΡΡΠΎΡΡΠΈΠΉ Π½Π° Π½Π΅ΠΉ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΏΠΎΠΊΠΎΡ. ΠΠ°ΡΡΠ°Π»ΠΎ Π²ΡΠ΅ΠΌΡ Π½Π°ΡΡΠΈΡΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° Π±Π΅Π³Π°ΡΡ Π²ΠΏΡΠ°Π²ΠΎ-Π²Π»Π΅Π²ΠΎ ΠΏΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅.
ΠΠ°Π³ΡΡΠ·ΠΈΠΌ ΡΡΠ΅Π½Ρ ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ°ΡΡΠΈ. ΠΠ°ΠΏΠΎΠΌΠ½Ρ, ΡΡΠΎ Π² ΠΏΡΠΎΡΠ»ΡΠΉ ΡΠ°Π· ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΡΠ°ΠΉΡΠΎΠ² Π² ΠΏΠ°ΠΏΠΊΡ Assets β Sprites. ΠΠ° Π²ΡΡΠΊΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ, Π²Π½ΠΈΠ·Ρ ΠΏΠΎΡΡΠ° Π΅ΡΠ΅ ΡΠ°Π· ΠΏΡΠΈΠ²Π΅Π΄Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΠΏΡΠ°ΠΉΡΡ. Π‘ΡΠ΅Π΄ΠΈ Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΏΡΠ°ΠΉΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Run. ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π±Π΅Π³Π°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΠΏΡΠΎΠ΄Π΅Π»Π°ΡΡ ΡΠ΅ ΠΆΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎ ΠΏΡΠ΅Π²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΏΡΠ°ΠΉΡΠ° Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ, ΠΊΠ°ΠΊ ΠΈ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΏΠΎΠΊΠΎΡ. ΠΠΊΡΠ°ΡΡΠ΅ Π½Π°ΠΏΠΎΠΌΠ½Ρ: Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌ ΡΠΏΡΠ°ΠΉΡ, Π² ΠΎΠΊΠ½Π΅ Inspector ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Sprite Mode ΠΊΠ°ΠΊ Multiple, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½ΠΈΠΆΠ΅ Sprite Editor, Π½Π°ΡΠ΅Π·Π°Π΅ΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Grid ΠΈΠ»ΠΈ Automatic.
Π’Π΅ΠΏΠ΅ΡΡ Π² ΠΎΠΊΠ½Π΅ Hierarchy Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Character ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² ΠΎΠΊΠ½ΠΎ Animation. ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΠΏΠΎΠ»Π΅ Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠ΅ΠΉ Idle ΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Create New Clip, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π±Π΅Π³Π°. Π‘ΠΎΡ ΡΠ°Π½ΠΈΠΌ ΡΠ°ΠΉΠ» Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π² ΠΏΠ°ΠΏΠΊΠ΅ Assets β Animations ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ Run.
ΠΠΎΠ²Π°Ρ ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Run ΡΡΠ°Π»Π° ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π² ΠΎΠΊΠ½Π΅ Animation. Π Π°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΠΌ ΡΠΏΡΠ°ΠΉΡ Run Π² ΠΎΠΊΠ½Π΅ Project, Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌ Π²ΡΠ΅ ΡΠ°Π»Ρ Run_0β¦ Run_9 ΠΈ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌ Π² ΠΎΠΊΠ½ΠΎ Animation. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ ΠΏΠΎΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Sample ΡΠ°Π²Π½ΠΎΠ΅ 24.
ΠΡΠ΅ ΡΡΠΎ ΠΌΡ ΡΠΆΠ΅ Π΄Π΅Π»Π°Π»ΠΈ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ°ΡΡΠΈ, Π° ΡΠ΅ΠΏΠ΅ΡΡ Π±ΡΠ΄Π΅Ρ Π½Π΅ΡΡΠΎ Π½ΠΎΠ²ΠΎΠ΅. ΠΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ Π² ΠΎΠΊΠ½ΠΎ Animator. Π‘Π΅ΠΉΡΠ°Ρ ΡΠ°ΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Ρ ΡΡΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ: Any State, Idle ΠΈ Run. ΠΠ°ΠΌ ΠΏΡΠ΅Π΄ΡΡΠΎΠΈΡ Π·Π°Π΄Π°ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΈΠ· Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Idle Π² Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Run, ΡΠΎ Π΅ΡΡΡ ΠΈΠ· ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΠΎΠΊΠΎΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π±Π΅Π³Π°. Π Π½ΠΈΠΆΠ½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΡΠ³Π»Ρ Π΅ΡΡΡ ΠΏΠΎΠ»Π΅ Parameters. ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΠΏΠ»ΡΡΠΈΠΊ, Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Float ΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠ°ΠΊ Speed. Π’Π΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΈΠΏΠ° ΡΠΈΡΠ»ΠΎ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΠΈΠΉ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ°. ΠΠΌΠ΅Π½Π½ΠΎ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΏΠΎΠΊΠΎΡ Π² Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π±Π΅Π³Π°. Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Idle, Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Make Transition ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Run. ΠΠ΅ΠΆΠ΄Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΡΠΌΠΈ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π»ΠΈΠ½ΠΈΡ ΡΠΎ ΡΡΡΠ΅Π»ΠΊΠΎΠΉ. ΠΠ΅ΡΠ΅Π΄Π²ΠΈΠ½ΡΡΠ΅ ΠΌΡΡΠΊΠΎΠΉ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, Π΅ΡΠ»ΠΈ ΠΏΠ»ΠΎΡ ΠΎ Π²ΠΈΠ΄Π½ΠΎ. ΠΠ»ΠΈΠΊΠ½Π΅ΠΌ ΠΏΠΎ Π»ΠΈΠ½ΠΈΠΈ ΡΠΎ ΡΡΡΠ΅Π»ΠΊΠΎΠΉ. Π ΠΎΠΊΠ½Π΅ Inspector ΠΎΡΠΎΠ±ΡΠ°Π·ΡΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΡΠΌΠΈ. ΠΠ±ΡΠ°ΡΠΈΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π½ΠΈΠ· ΠΎΠΊΠ½Π°, Π² ΡΠ°Π·Π΄Π΅Π» Conditions. ΠΠ»ΠΈΠΊΠ½Π΅ΠΌ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Exit Time ΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΠ΅ΠΌ Π΅Π³ΠΎ Π½Π° Speed. ΠΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ»Π΅ Greater ΠΎΡΡΠ°Π²ΠΈΠΌ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π° Π² ΡΡΠ΅ΡΡΠ΅ΠΌ Π²Π²Π΅Π΄Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 0.01. ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΈΠ· Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΏΠΎΠΊΠΎΡ Π² Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π±Π΅Π³Π° β ΠΎΠ½ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½ΡΠ»Ρ.
Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ β ΠΈΠ· Run Π² Idle. ΠΠ΅Π»Π°Π΅ΠΌ Π²ΡΠ΅ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ: Make Transition ΠΎΡ Run ΠΊ Idle, Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄, Π² Conditions ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Speed β Less β 0.01.
Π’Π΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π²Π΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. ΠΠΎ ΠΏΠΎΠΊΠ° Π½ΠΈΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²ΡΠ΅ ΡΡΠΎ ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π½ΡΠΆΠ½ΠΎ Β«ΠΎΠΆΠΈΠ²ΠΈΡΡΒ» ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΊΡΠΈΠΏΡΠ°. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ Π² ΠΎΠΊΠ½ΠΎ Project ΠΈ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π² ΠΏΠ°ΠΏΠΊΠ΅ Assets ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΡ Scripts. ΠΠΎΠ±Π°Π²ΠΈΠΌ Π² Π½Π΅Π΅ Π½ΠΎΠ²ΡΠΉ C# Script, Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π³ΠΎ CharacterControllerScript ΠΈ ΠΎΡΠΊΡΠΎΠ΅ΠΌ Π½Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
Π― ΠΏΡΠΈΠ²Π΅Π΄Ρ ΠΏΠΎΠ»Π½ΡΠΉ Π»ΠΈΡΡΠΈΠ½Π³ ΡΠΊΡΠΈΠΏΡΠ° Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ, Π° Π½ΠΈΠΆΠ΅ Π΅ΡΠ΅ ΠΏΠΎΡΡΠ½Ρ, ΡΡΠΎ Π² Π½Π΅ΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ.
ΠΡΠ°ΠΊ, ΠΌΡ Π·Π°Π²Π΅Π»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ : Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (Π²ΠΏΡΠ°Π²ΠΎ/Π²Π»Π΅Π²ΠΎ) ΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ Animator. ΠΠΎΡΡΠΈ Π²ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ FixedUpdate. Π Π½Π΅ΠΌ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΈ Π₯, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡ Π²Π»Π΅Π²ΠΎ-Π²ΠΏΡΠ°Π²ΠΎ ΠΈΠ»ΠΈ A-D (Π΅ΡΠ»ΠΈ Π½Π΅ ΠΌΠ΅Π½ΡΠ»ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°!). ΠΠ°ΡΠ΅ΠΌ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Speed ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Animator. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΡ Π±Π΅ΡΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° Mathf.Abs, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΡΠΌΠΈ ΠΏΠΎΠΊΠΎΡ ΠΈ Π±Π΅Π³Π° ΠΌΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ 0.01. ΠΠ°ΠΌ Π·Π΄Π΅ΡΡ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, Π² ΠΊΠ°ΠΊΡΡ ΡΡΠΎΡΠΎΠ½Ρ Π±Π΅ΠΆΠΈΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ. ΠΠ°ΠΆΠ½ΠΎ Π»ΠΈΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ°Π»Π΅Π΅ Π·Π°Π΄Π°Π΅ΠΌ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΎΡΠΈ Π₯ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ. Π, Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, Π² ΠΊΠ°ΠΊΡΡ ΡΡΠΎΡΠΎΠ½Ρ Π±Π΅ΠΆΠΈΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ, ΠΈ Π² ΠΊΠ°ΠΊΡΡ ΡΡΠΎΡΠΎΠ½Ρ ΠΎΠ½ Π² ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠΎΠ²Π΅ΡΠ½ΡΡ. ΠΡΠ»ΠΈ ΠΎΠ½ Π±Π΅ΠΆΠΈΡ Π²ΠΏΡΠ°Π²ΠΎ, Π° ΠΏΠΎΠ²Π΅ΡΠ½ΡΡ Π²Π»Π΅Π²ΠΎ β ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ Π²ΠΏΡΠ°Π²ΠΎ ΠΏΡΡΠ΅ΠΌ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΏΠΎ ΠΎΡΠΈ Π₯. Π Π½Π°ΠΎΠ±ΠΎΡΠΎΡ. ΠΡΠΈΠΌ Π½Π΅Ρ ΠΈΡΡΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΌΡ ΠΈΠ·Π±Π°Π²ΠΈΠ»ΠΈΡΡ ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄Π΅Π»Π°ΡΡ Π΄Π²Π΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠΉ: Π΄Π»Ρ Π±Π΅Π³Π° Π²ΠΏΡΠ°Π²ΠΎ ΠΈ Π΄Π»Ρ Π±Π΅Π³Π° Π²Π»Π΅Π²ΠΎ.
Π‘ΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡ. Π Unity ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ Π½Π° Π½Π°ΡΠ΅Π³ΠΎ Character Π² ΠΎΠΊΠ½Π΅ Hierarchy. ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΈΠ³ΡΡ, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π²Π»Π΅Π²ΠΎ-Π²ΠΏΡΠ°Π²ΠΎ ΠΈΠ»ΠΈ A-D.
ΠΠ°ΠΏΠΈΡΠ°Π½ ΠΠΎΠ³ΠΎΡΡ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΌΠ΅Π΅Ρ Π±Π΅Π³Π°ΡΡ! Π‘ΠΊΠΎΡΠΎΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ»Π°ΡΡ Π±ΡΡΡΡΠΎΠ²Π°ΡΠΎΠΉ. ΠΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ½ΠΈΠ·ΠΈΡΡ ΠΏΡΡΠ΅ΠΌ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Sample Π² ΠΎΠΊΠ½Π΅ Animation Π΄Π»Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Run (Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 12 Π±ΡΠ΄Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ). ΠΡΠ»ΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ ΠΈΠ³ΡΠΎΠΉ Ρ Π²Π°Ρ Π²ΠΈΠ΄Π½ΠΎ ΠΎΠΊΠ½ΠΎ Animator, ΡΠΎ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠΊΠΎΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Idle (Π±Π΅Π³Π°Π΅Ρ ΡΠΈΠ½ΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠ±Π°Ρ), Π° Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π±Π΅Π³Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Run, ΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΠ½Π°.
ΠΠ° ΡΡΠΎΠΌ ΠΏΠΎΠΊΠ° Π²ΡΠ΅. ΠΠ°ΠΌ ΠΎΡΡΠ°Π»ΠΎΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΠΏΡΡΠΆΠΊΠ°ΠΌΠΈβ¦ ΠΈ ΡΠ·Π½Π°ΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½ΠΎΠ²ΡΡ
Π²Π΅ΡΠ΅ΠΉ!
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠΏΡΠ°ΠΉΡΡ.
Update: Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π²ΠΈΠ΄Π΅ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.
ΠΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ°
ΠΠΎΡΠ΅ΠΌΡ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΠΊΠ²ΠΎΠ·Ρ Π΄ΡΡΠ³ΠΎΠΉ Ρ ΠΎΡΡ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅ΡΡ Π½Π° ΠΎΠ±ΠΎΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ ?
ΠΠΎΡΠ΅ΠΌΡ ΠΌΠΎΠΉ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΠΊΠ²ΠΎΠ·Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π° ΠΏΠΎΡΠΎΠΌ Π΅Π³ΠΎ ΠΎΡΠΊΠΈΠ΄ΡΠ²Π°Π΅Ρ Π½Π°Π·Π°Π΄?
ΠΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° Π² Unity3d ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ?
ΠΠΎΡΠ΅ΠΌΡ ΡΠ°ΠΊ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· transform.position ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ?
ΠΠΎΡΠ΅ΠΌΡ ΠΌΠΎΠΉ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ Π΄Π²ΠΈΠΆΠ΅ΡΡΡ Ρ ΡΠ°Π·Π½ΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΡΡ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΡΠ΅Π΄Π°Π΅Ρ FPS?
ΠΠΎΡΠ΅ΠΌΡ Π΄Π²ΠΈΠ³Π°ΡΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° ΡΠ΅ΡΠ΅Π· ΡΠΌΠ΅Π½Ρ transform.position Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ?
ΠΡΠ΅ ΡΡΠΈ Π²ΠΎΠΏΡΠΎΡΡ, ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ Π΅Π΄ΠΈΠ½ΡΠΌ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠΆ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ .
ΠΠ°ΠΎΠ΄Π½ΠΎ ΡΠΎΠ·Π΄Π°Π» ΡΡΠ³ unity3d-faq
1 ΠΎΡΠ²Π΅Ρ 1
ΠΠ΅ΡΠ΅Π΄ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°ΡΡ
Π₯ΠΎΡΡ Ρ Π·Π΄Π΅ΡΡ ΠΈ ΡΠ°Π·Π±ΠΈΡΠ°Ρ Π² Ρ.Ρ. Π½Π΅ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅, Ρ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π€ΠΠΠΠ§ΠΠ‘ΠΠΠ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅. Π ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ Π½Π° Π½Π΅ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ .
Π― Π±ΡΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π΄Π΅ΡΡ 2 ΡΠ΅ΡΠΌΠΈΠ½Π°: «ΡΠ΅Π»Π΅ΠΏΠΎΡΡΠ°ΡΠΈΡ» ΠΈ «ΠΏΠ»Π°Π²Π½ΠΎΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅». Π ΠΌΠΎΠ΅ΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ:
ΠΡΡΡ Π»ΡΠ΄ΠΈ Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ.
Π£ΡΡΠΈΡΠ΅, ΡΡΠΎ Π²ΡΠ΅ ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½ΠΈΠΆΠ΅ ΡΠΏΠΈΡΠ°Π΅ΡΡΡ Π² Π²Π΅ΡΡ Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ², Π° Π½Π΅ ΡΡΠΈ.
ΠΠ²ΠΈΠ³Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² ΠΈΠ³ΡΠΎΠ²ΡΡ Π΄Π²ΠΈΠΆΠΊΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ:
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ (Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΡΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ°)
ΠΠ²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌΠΎΠ΅ ΡΠ΅ΡΠ΅Π· CharacterController (Π·Π΄Π΅ΡΡ ΠΏΠΎΠΊΠ° ΡΡΠΎ Π½Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Ρ.ΠΊ. Π½ΠΎΠ²ΠΈΡΠΊΠΈ Π² Π΅Π³ΠΎ ΡΡΠΎΡΠΎΠ½Ρ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΡΠΌΠΎΡΡΡΡ, ΠΌΠΎΠΆΠ΅Ρ, ΠΏΠΎΠ·ΠΆΠ΅ ΡΠ°ΡΠΏΠΈΡΡ)
ΠΠΎΠ²ΠΈΡΠΊΠΈ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅Π»Π΅ΠΏΠΎΡΡΠ°ΡΠΈΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ°Π΄ΡΠ΅, ΡΡΠΎ Π΅ΡΡΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠΌ. ΠΠΎΡΠΎΠΌ Π½Π° SO ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΠΊΡΡΠΈ ΠΊΠ»ΠΎΠ½ΠΎΠ² Π²ΠΎΠΏΡΠΎΡΠΎΠ² Π²ΡΠΎΠ΄Π΅ «ΠΏΠΎΡΠ΅ΠΌΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° Π΄Π΅ΡΠ³Π°Π΅Ρ Π²ΠΎΠ·Π»Π΅ ΡΡΠ΅Π½Ρ?» ΠΈΠ»ΠΈ «ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ½ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΠΊΠ²ΠΎΠ·Ρ ΡΡΠ΅Π½Ρ?» ΠΈΠ»ΠΈ «ΠΏΠΎΡΠ΅ΠΌΡ ΠΏΡΠ»Ρ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π½Π°Π½ΠΎΡΠΈΡ ΡΡΠΎΠ½?» ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅.
ΠΡΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ: ΠΠ²ΠΈΠ³Π°ΡΡ/ΠΏΠΎΠ²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ transform.position / transform.rotation Π½Π΅Π»ΡΠ·Ρ. ΠΡΠΎ ΠΏΠΎΡΠΎΠΆΠ΄Π°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ Π²Π°ΠΌ Π²ΡΠ»Π΅Π·Π΅Ρ Π±ΠΎΠΊΠΎΠΌ.
ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ:
( Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°-ΡΠ°ΡΠ° )
Π² ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ ΠΏΠ΅ΡΡΡΡΡΠΈΡ Π΄ΠΈΡΡΡ ΡΠΎΡΡΠΌΠΎΠ², Π² Ρ.Ρ. ΡΠ΅ΡΠ²ΠΈΡΠ΅ Π²ΠΎΠΏΡΠΎΡΠΎΠ²/ΠΎΡΠ²Π΅ΡΠΎΠ² ΠΎΡ ΡΠ½ΠΈΡΠΈ. Π’Π°ΠΌ Π² ΡΠ°ΠΊΠΈΡ ΡΠ΅ΠΌΠ°Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ°ΡΡΠΎ ΠΏΠΈΡΡΡ ΠΎΡΠ²Π΅ΡΡ ΡΠ΅ Π»ΡΠ΄ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅.
Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΠ΅ΠΌΠΎΠΉ ΠΏΠΎΠ½ΡΡΠΈΡ:
ΠΡΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ (Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ RigitBody) ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΠΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ²ΠΎΡΠΎΡ ΠΊΠ°ΠΌΠ΅ΡΡ.
ΠΠ»ΠΈ ΠΊΡΡΡΡΡΠΈΠΉΡΡ ΠΊΡΠ± Π½Π° Π½Π΅Π±ΠΎΡΠ²ΠΎΠ΄Π΅.
ΠΡ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π΄Π΅ΡΠ³Π°ΡΡΡΡΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΏΡΠΈ ΠΏΡΠΎΡΠ΅Π΄Π°Π½ΠΈΠΈ ΠΊΠ°Π΄ΡΠΎΠ² Π΅ΡΠ»ΠΈ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΠΠΠ€ΠΠΠΠ§ΠΠ‘ΠΠΠ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ:
ΠΌΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ Π² Π½ΠΎΠ²ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ:
ΠΡΠΎ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ.
ΠΌΡ ΡΠ°Π·ΠΎΠ²ΠΎ Π·Π°Π΄Π°Π΅ΠΌ Π²Π΅ΠΊΡΠΎΡ ΡΠΊΠ°ΡΠΊΠ°. Π’ΠΎΠ»ΡΠΊΠΎ 1 Π΄ΠΎΠ»Ρ ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠ°ΡΡΡ ΠΏΠΎΠ΄ ΡΠΈΠ»ΠΎΠΉ ΡΡΠΆΠ΅Π½ΠΈΡ. ΠΠΎΠΊΠ° Π½Π΅ ΡΡΠ°Π½Π΅Ρ Π½ΡΠ»Π΅Π²ΡΠΌ (Π²Π΅ΡΡ Π½ΡΡ ΡΠΎΡΠΊΠ° ΠΏΡΡΠΆΠΊΠ°), Π° ΠΏΠΎΡΠΎΠΌ Π½Π΅ ΠΏΠΎΠΉΠ΄Π΅Ρ Π² ΠΌΠΈΠ½ΡΡ ΠΏΠΎ Y (ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅), Π° ΠΏΠΎΡΠΎΠΌ Π½Π΅ ΡΠΏΠ°Π΄Π΅Ρ Π½Π° Π·Π΅ΠΌΠ»Ρ ΠΈ Π½Π΅ ΠΎΡΡΠΊΠΎΡΠΈΡ ΠΎΡ Π½Π΅Π΅ (ΡΠ½ΠΎΠ²Π° ΠΏΠ»ΡΡ ΠΏΠΎ Y ) ΠΈ ΡΠ°ΠΊ Π΄ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π° Π·Π΅ΠΌΠ»Π΅.
ΠΡΠ»ΠΈ Π΄Π΅Π²Π°ΠΉΡ Ρ ΠΈΠ³ΡΠΎΠΉ ΡΠΈΠ»ΡΠ½ΠΎ Π·Π°Π³ΡΡΠΆΠ΅Π½, Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Update() / FixedUpdate() ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΡ Π² ΡΠΊΠΎΡΠΎΡΡΠΈ. Π Π΅ΡΠ»ΠΈ Π² ΡΠΈΠ·ΠΈΠΊΠ΅ ΡΡΠΎ ΡΡΡΠ΅Π½ΠΎ ΠΈ Π±Π΅Π· Π½Π°Ρ, ΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΠΌΡ Π΄Π΅Π»Π°Π΅ΠΌ ΠΠ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ-ΡΡΠΎΠΌΡ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»Ρ.
ΠΠΎ ΠΈ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»Ρ Ρ Π½Π°Ρ Π½Π΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΡΠΎΠ²Π°Π»Π°ΠΌΠΈ ΡΠΊΠ²ΠΎΠ·Ρ ΡΡΠ΅Π½Ρ. ΠΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΈΠΊΡ ΡΠΊΠΎΡΠΎΡΡΠΈ.
ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ Π½ΠΎ Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΠΠΠ€ΠΠΠΠ§ΠΠ‘ΠΠΠ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ°.
ΠΡΠ»ΠΈ Π² ΠΏΡΠΎΡΠ»ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π΄Π²ΠΈΠ³Π°Π»ΠΈ ΡΠ°Ρ, ΡΠΎ Π±ΡΠ»ΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ Π΅Π³ΠΎ ΡΠΎΠ»ΠΊΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠ·.ΠΌΠΎΠ΄Π΅Π»Ρ. Π’ΠΎ Π΅ΡΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ AddForce() Π΄Π»Ρ ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ Π΄Π°Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ°. ΠΡ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΎΠ»ΡΠ΅ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π° Π½Π΅-ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ΅, Π½ΠΎ ΠΠΠΠΠΠΠ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅:
Π‘ ΡΡΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ°ΠΊΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
Π‘ ΡΠ°ΠΊΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Ρ Π½Π°Ρ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π²ΡΠΎΠ΄Π΅ ΡΠΊΠ°ΡΠΊΠΎΠ² ΡΠΊΠΎΡΠΎΡΡΠΈ Π½Π° ΠΏΡΠΎΡΠ΅Π΄Π°Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° FPS, ΠΏΡΠΎΠ²Π°Π»ΠΈΠ²Π°Π½ΠΈΠΉ, Π΄Π΅ΡΠ³Π°Π½ΠΎΡΡΠΈ, ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠΊΠ²ΠΎΠ·Ρ ΡΡΠ΅Π½Ρ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΡ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΡΡΠ΅ΠΉ.
Π’Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π±Π΅Π³Π° Π½Π° Π½Π°ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° (Π½Ρ Π΅ΡΠ»ΠΈ Π±Ρ ΡΡΠΎ Π±ΡΠ» Π½Π΅ ΠΊΡΠ±).
ΠΠΎ ΠΊΠ°ΠΊ ΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠΈΠ·ΠΈΠΊΠ΅?
ΠΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈ Π½Π° ΡΠΈΠ·ΠΈΠΊΠ΅.
ΠΠ°ΡΠ° ΠΏΡΠΎΡΠ»Π°Ρ Π²Π΅ΡΡΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° ΠΈΠΌΠ΅Π»Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ². Π ΠΈΠΌΠ΅Π½Π½ΠΎ:
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠΌ Π½Π° Π½Π°Ρ ΠΊΡΠ± CapsuleCollider (ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡΠΌΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·-Π·Π° ΡΠΈΠ»Ρ ΡΡΠ΅Π½ΠΈΡ) ΠΈ Π·Π°Π±Π»ΠΎΡΠΈΠΌ Π² rigitBody rotateX ΠΈ rotateZ (ΡΡΠΎ Π± Π½Π°Ρ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ Π½Π΅ ΠΏΠ°Π΄Π°Π» Π½Π° Π±ΠΎΠΊ).
Π ΠΏΠΎΡΠΎΠΌ Π½Π°ΡΠ΅ΠΏΠΈΠΌ Π½Π° Π½Π΅Π³ΠΎ Π²ΠΎΡ ΡΡΠΎΡ ΡΠΊΡΠΈΠΏΡ:
ΠΡ Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΡΡ ΠΏΠ»Π°Π²Π½ΠΎΡΡΡ, ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ Π±Π΅ΠΆΠΈΡ, ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ, Π±Π΅ΠΆΠΈΡ Π² Π΄ΡΡΠ³ΡΡ ΡΡΠΎΡΠΎΠ½Ρ? ΠΡΠ°ΡΠΎΡΠ°!
Π ΡΠ΅ΠΏΠ΅ΡΡ Π²Π΅ΡΠ½ΠΈΡΠ΅ΡΡ ΠΊ ΠΏΡΠΎΡΠ»ΠΎΠΉ Π³ΠΈΡΠΊΠ΅ ΠΈ ΠΏΡΠΈΡΠΌΠΎΡΡΠΈΡΠ΅ΡΡ. ΠΠ²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ ΡΠ°ΠΊΠΎΠ΅ π Π’Π°ΠΌ ΠΊΠ°ΠΊ Π±ΡΠ΄-ΡΠΎ ΡΡΠΊΠΎΠΉ Π΄Π²ΠΈΠ³Π°ΡΡ ΡΠ°Ρ ΠΌΠ°ΡΠ½ΡΡ ΡΠΈΠ³ΡΡΡ ΠΏΠΎ Π΄ΠΎΡΠΊΠ΅.
ΠΡ ΠΈ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π²ΡΡΠ΅ Π±Π°Π³ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π±ΡΠ»ΠΈ ΠΏΠΎΡΠΈΠΊΡΠ΅Π½Ρ Ρ ΡΠ°ΠΊΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ.
ΠΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅ΡΠ΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π½Π°ΡΠ΅ΠΌΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΡ ΠΈ ΠΎΡΠΊΠΎΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.
ΠΠΎΠΎΠ±ΡΠ΅ ΡΠ»ΡΡΡΠ°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΠΈ. ΠΠΎ, Π΄ΡΠΌΠ°Ρ, ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π‘ΠΠΠ‘ΠΠΠΠ ΠΠΠ ΠΠΠΠΠΠΠΠΠ― Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ ΡΡΠΎΠ»ΠΊΠ½Π΅ΡΠ΅ΡΡ, Ρ Π·Π°ΡΡΠΎΠ½ΡΠ» π
ΠΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π±Π°Π·Π΅ ΡΠΈΠ·ΠΈΠΊΠΈ.
ΠΡΡΠ°ΠΉΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΡΠΈΠ·ΠΈΠΊΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ.
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΌΠΎΠΈΡ Π»ΡΠ±ΠΈΠΌΠ΅ΠΉΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΡΠΈΠ·ΠΈΠΊΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ³ΡΠ° Ori and the Blind Forest
Π’Π°ΠΊΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅/ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΡΠΆΠΊΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΡΠΈΠ·ΠΈΠΊΠΈ. ΠΠ΅ΡΠΎΡΡΠ½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΡΡΠΎ Π΄Π΅Π»Π°Π»ΠΎΡΡ ΡΠ΅ΡΠ΅Π· Π½Π΅ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ + ΠΊΠΎΡΡΡΠ»ΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΡΡ ΡΡΠ΅ΠΊΡΠΎΠ².
Π‘Π½Π°ΡΠ°Π»Π° ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ. ΠΠ½ΠΈ Π΄Π΅Π»Π°ΡΡΡΡ Π² Π»ΡΠ±ΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ Ρ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΌΠΈ ΡΠΈΠ³ΡΡΠ°ΠΌΠΈ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ (Π΅ΡΠ»ΠΈ ΡΡΠ°Π½Π΅Ρ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ ΠΈΡΠΊΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ Ori and the blind forest Enemy Concepts ) :
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΠΎ Π·Π΄Π΅ΡΡ ΠΏΡΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π½ΠΎ ΠΈ Π΅Π³ΠΎ Π²ΡΡΡΠ³ΠΈΠ²Π°Π½ΠΈΡ/ΡΠΆΠ°ΡΠΈΡ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡΠΌΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π»ΡΠ±ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΌΠΈΡΠΎΠΌ. Π Ρ.Ρ. Π²ΡΡΡΡΠ΅Π»Ρ ΡΠ°ΠΊ ΠΆΠ΅ Π²Π»ΠΈΡΡΡ Π½Π° ΡΠΎΡΠΌΡ. Π ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΡΠ°Π΄ΠΈΡΡΡ ΠΎΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ Π³Π΅ΡΠΎΡ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ Π²ΡΠ°Π³ΠΎΠΌ.
ΠΠΎΡΡΡΠ»ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ°/Π²ΡΠ°Π³Π° ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ Π±Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΠΎΠ±Π»Π°Π΄Π°Π» ΡΠ²ΠΎΠ΅ΠΉ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΈΠ·ΠΈΠΊΠΎΠΉ. Π‘Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π½Π° ΠΎΠ±ΡΠ΅ΠΉ ΡΠΈΠ·ΠΈΠΊΠ΅ Π½Π°Π²ΡΡΠ΄ Π»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
ΠΠ²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ «ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ» Π½ΠΎ ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΏΡΠΎΠ»Π΅ΡΠ°Π΅Ρ ΡΠΊΠ²ΠΎΠ·Ρ ΡΡΠ΅Π½Ρ
ΠΠΠΠ Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ°, Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΡΠΈΡΡΡ ΡΠ°ΠΊΠΎΠ΅, ΡΡΠΎ ΠΏΡΠΎΡΡΠ΅Ρ CollisionDetect ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ. ΠΡΠΎ ΡΠ΅Π΄ΠΊΠΎΡΡΡ, Π½ΠΎ ΡΠ°ΠΊΠΎΠ΅ Π±ΡΠ²Π°Π΅Ρ ΠΈΠ½ΠΎΠ³Π΄Π°.
ΠΠ»Ρ ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°Π΅Π² Π΅ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠ΅ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ CollisionDetect Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ RigitBody.
ΠΠ΅Π»Π°ΡΡ ΡΠ°ΠΊΠΎΠ΅ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Ρ.ΠΊ. ΡΡΠΎ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π’Π°ΠΊ ΡΡΠΎ ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΡΡΠΎ, ΡΠΊΠΎΡΠ΅Π΅, ΡΠΏΠ°ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΊΡΡΠ³ΠΎΠΌ, ΡΠ΅ΠΌ ΠΏΠ°Π½Π°ΡΠ΅Π΅ΠΉ.
ΠΡΠ½ΠΎΠ²Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΈΠ³ΡΡ Π½Π° Unity3D
Π―, ΠΊΠ°ΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π²Π°Ρ, Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ
ΠΈΠ³Ρ. Π Π½ΠΈΡ
ΠΌΠ΅Π½Ρ ΠΏΡΠ΅Π»ΡΡΠ°Π΅Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π΄ΡΡ
ΡΠΎΡΠ΅Π²Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ°ΡΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ, Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ. ΠΠ° ΠΈ ΡΠ°ΠΌΠ° ΠΈΠ΄Π΅Ρ Π²ΡΡ
ΠΎΠ΄Π° Π² ΡΠ²Π΅Ρ Π²ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΈΠ³Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΏΠΎΠ±ΡΠΆΠ΄Π°Π΅Ρ ΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
Π‘ Π½Π΅Π΄Π°Π²Π½Π΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Ρ ΠΈ ΡΠ°ΠΌ Π²Π·ΡΠ»ΡΡ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π° Π₯Π°Π±ΡΠ°Ρ
Π°Π±ΡΠ΅ ΡΡΠ°ΡΠ΅ΠΉ Π½Π° ΡΡΡ ΡΠ΅ΠΌΠ°ΡΠΈΠΊΡ Π½Π΅ Π½Π°ΡΠ΅Π» β ΡΠ΅ΡΠΈΠ» ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΎΠΏΡΡΠΎΠΌ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΈΠ³ΡΡ Π½Π° Π΄Π²ΠΈΠΆΠΊΠ΅ Unity3D. Π’Π°ΠΊΠΆΠ΅ Ρ
ΠΎΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ
Network ΠΈ NetworkView, Π°ΡΡΠΈΠ±ΡΡΠ΅ RPC ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ
ΠΌΠ΅ΡΠΎΠ΄Π°Ρ
-ΠΈΠ²Π΅Π½ΡΠ°Ρ
. Π ΠΊΠΎΠ½ΡΠ΅ ΡΡΠ°ΡΡΠΈ ΠΏΠΎΠ΄Π°Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ³ΡΡ ΠΈ, ΡΠ°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΡΠ°ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ Π΄Π»Ρ Unity. ΠΡΠ°ΠΊβ¦
ΠΠ»Π°ΡΡ Network
ΠΠ°Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Β«ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΒ». ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΏΡΠ΅ΡΠ°Π±Π°.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ:
Network.Connect (string host, int remotePort, string password = «») β Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ host Ρ ΠΏΠΎΡΡΠΎΠΌ remotePort ΠΈ ΠΏΠ°ΡΠΎΠ»Π΅ΠΌ password. ΠΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ NetworkConnectionError.
Network.InitializeSecurity() β Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ Network.InitializeServer() Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ ΡΠΈΡΠ΅ΡΡΡΠ²Π°. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅!
Network.Instantiate(Object prefab, Vector3 position, Quaternion rotation, int group) β ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΏΡΠ΅ΡΠ°Π±Π° prefab Π² ΡΠ΅ΡΠΈ Π² ΠΏΠΎΠ·ΠΈΡΠΈΠΈ position Ρ ΠΏΠΎΠ²ΠΎΡΠΎΡΠΎΠΌ rotation ΠΈ Π³ΡΡΠΏΠΏΠΎΠΉ group. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²Π΅ΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ β Π΄Π°Π»Π΅Π΅ Π² ΡΡΠ°ΡΡΠ΅.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°:
bool Network.isClient ΠΈ bool Network.isServer β ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΡΠ° ΠΈΠ³ΡΠ° ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Π»ΠΈΠ±ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ. ΠΠ±Π° ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ²Π»ΡΡΡΡΡ false, Π΅ΡΠ»ΠΈ Π½Π΅ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΡΠ΅ΡΠ²Π΅Ρ ΠΈΠ»ΠΈ Π½Π΅ Π±ΡΠ»ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ.
string Network.incomingPassword β ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π·Π°Π΄Π°Π΅Ρ ΠΏΠ°ΡΠΎΠ»Ρ Π΄Π»Ρ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ.
NetworkPlayer Network.player β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ³ΡΠΎΠΊΠ° NetworkPlayer.
NetworkPeerType Network.peerType β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ: Disconnected (ΠΎΡΠΊΠ»ΡΡΠ΅Π½), Server (Π·Π°ΠΏΡΡΠ΅Π½ ΠΊΠ°ΠΊ ΡΠ΅ΡΠ²Π΅Ρ), Client (ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ), Connecting (ΠΏΠΎΠΏΡΡΠΊΠ°, Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ).
NetworkPlayer[] Network.connections β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΈΠ³ΡΠΎΠΊΠΎΠ². ΠΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ³ΡΠΎΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ°.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈΠ²Π΅Π½ΡΡ (Π΄Π»Ρ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΡ MonoBehaviour):
OnConnectedToServer() β Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ ΠΏΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ.
OnDisconnectedFromServer(NetworkDisconnection info) β Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ ΠΏΡΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΏΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Network.Disconnect(). Π info ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΏΡΠΈΡΠΈΠ½Π° ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ: LostConnection (ΠΏΠΎΡΠ΅ΡΡ ΡΠ²ΡΠ·ΠΈ) ΠΈ Disconnected (ΠΏΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ).
OnFailedToConnect(NetworkConnectionError error) β Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ ΠΏΡΠΈ ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. error ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΡΠΈΠ±ΠΊΡ ΡΠΈΠΏΠ° NetworkConnectionError.
OnNetworkInstantiate(NetworkMessageInfo info) β Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ΅, Π΅ΡΠ»ΠΈ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Π½ΠΎΠ²ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Network.Instantiate(). Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ info ΡΠΈΠΏΠ° NetworkMessageInfo.
OnPlayerConnected(NetworkPlayer player) β Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΏΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ player ΡΠΈΠΏΠ° NetworkPlayer.
OnPlayerDisconnected(NetworkPlayer player) β Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΏΡΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ player ΡΠΈΠΏΠ° NetworkPlayer.
OnServerInitialized() β Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΡΠ΅ΡΠ²Π΅Ρ Π±ΡΠ» ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½.
OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info) β Π²Π°ΠΆΠ½ΡΠΉ ΠΈΠ²Π΅Π½Ρ Π΄Π»Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Ρ ΡΠ΅ΡΡΡ. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ β Π΄Π°Π»Π΅Π΅ Π² ΡΡΠ°ΡΡΠ΅.
ΠΠ»Π°ΡΡ NetwokView
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ:
networkView.RPC(string name, RPCMode mode, params object[] args) β Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ name, mode ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ, args β Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅.
networkView.RPC(string name, NetworkPlayer target, params object[] args) β ΡΠΎ ΠΆΠ΅, ΡΡΠΎ ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΎΠ΄Π½Π°ΠΊΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΈΠ³ΡΠΎΠΊΡ NetworkPlayer.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°:
bool networkView.isMine β ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅Π΅, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ. ΠΠ΅ΡΡΠΌΠ° ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
Component networkView.observed β ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΡΡ. ΠΡΠ»ΠΈ ΡΡΠΎ ΡΠΊΡΠΈΠΏΡ, ΡΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info), ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠΉ Π²ΡΡΠ΅.
NetworkPlayer networkView.owner β ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ΅Π΅ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
NetworkStateSynchronization networkView.stateSynchronization β ΡΠΈΠΏ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ: Off, ReliableDeltaCompressed, Unreliable.
NetworkViewID networkView.viewID β ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π² ΡΠ΅ΡΠΈ Π΄Π»Ρ NetworkView.
ΠΡΡΠΈΠ±ΡΡ RPC
ΠΠ΅ΡΠΎΠ΄ OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info)
ΠΠ°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π² ΡΠ΅ΡΠΈ. ΠΠ½ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π· ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ Π»ΠΈΠ±ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ Π΄Π°Π½Π½ΡΡ
ΠΏΠΎ ΡΠ΅ΡΠΈ.
ΠΠΎΡ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ/ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Serialize: bool, char, short, int, float, Quaternion, Vector3, NetworkPlayer, NetworkViewID.
ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, ΠΈΠ΄Π΅Ρ Π»ΠΈ ΠΏΡΠΈΠ΅ΠΌ Π»ΠΈΠ±ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° isReading ΠΈΠ»ΠΈ isWriting.
ΠΡΠΈΠ²ΠΎΠΆΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
ΠΠ°Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π΅ ΠΈΠ΄Π΅Π°Π»Π΅Π½, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΈ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅ Π½Π°ΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π±ΡΠ΄ΡΡ Β«Π΄Π΅ΡΠ³Π°ΡΡΡΡΒ». Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠΎΠ³ΠΎ, Π½ΡΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΈΠ΅ΠΉ. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ β Π΄Π°Π»Π΅Π΅ Π² ΡΡΠ°ΡΡΠ΅.
ΠΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΈΡ
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎ ΡΠ΅ΡΠΈ ΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠ°ΠΉΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²: Valve Developer Community β Source Multiplayer Networking
ΠΡΠΈΠΌΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΈΠ³ΡΡ
ΠΡΠ°ΠΊ, ΠΈΠΌΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠ½ΠΎΠ²Π°Ρ , ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ Π·Π° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΈΠ³ΡΡ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ NetworkView. ΠΠ°ΠΌ ΠΎΡΡΠ°Π΅ΡΡΡ Π»ΠΈΡΡ Π²ΡΠ±ΡΠ°ΡΡ Π΄Π»Ρ ΡΠ΅Π±Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ±.
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΊΡΠΈΠΏΡ ServerSide.cs ΠΈ ΠΏΠΈΡΠ΅ΠΌ ΡΡΠ΄Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΊΡΠΈΠΏΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ClientSide.cs:
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°Ρ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½Π°Ρ Π»ΠΎΠ³ΠΈΠΊΠ° Π΅ΡΡΡ, ΡΠ΅ΠΏΠ΅ΡΡ Π΄Π»Ρ Π½Π΅Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ MainMenu.cs:
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΎ. ΠΠ°Π»Π΅Π΅ ΠΏΠΈΡΠ΅ΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ³ΡΠΎΠΊΠΎΠΌ PlayerControls.cs. Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° NetworkView:
ΠΠ½Π°Ρ, ΡΡΠΎ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΠΎ, Π½ΠΎ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° Ρ ΡΠ΅ΡΠΈΠ» ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΡ
. ΠΠ°ΠΊ Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ, Π·Π΄Π΅ΡΡ NetworkView ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΊΡΠΈΠΏΡΠ°. ΠΠ° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, ΡΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ Β«Π·Π°Π±ΡΠ» Π΄ΠΎΠ±Π°Π²ΠΈΡΡΒ» (ΡΠ°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ RequireComponent( typeof( Rigidbody ))), Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ Π² ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΎΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ΅.
Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ» ΡΠ»ΡΡΠ°ΠΉ: ΠΊΠΎΠ³Π΄Π°, Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄, Π²ΡΠ΅ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠΉ ΡΠΊΡΠΈΠΏΡ Π½Π΅ Π΄Π΅Π»Π°Π» ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΈΡ, ΠΈ Π²ΡΠ΅ ΠΌΠΎΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π». Π’Π°ΠΊ Π²ΠΎΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ ΡΠΎ, ΡΡΠΎ Observed Π±ΡΠ» Π½Π΅ ΠΌΠΎΠΈΠΌ ΡΠΊΡΠΈΠΏΡΠΎΠΌ, Π° ΡΡΠ°Π½ΡΡΠΎΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
ΠΡΠ°ΠΊ, ΡΠ΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΌΠΈΠ½ΠΈ-ΠΈΠ³ΡΡ.
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΡΡΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈ Π½Π°Π·Π½Π°ΡΠ°Π΅ΠΌ Π΅ΠΌΡ ΡΠΊΡΠΈΠΏΡΡ MultiplayerMenu, ServerSide, ClientSide.
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠ»ΠΎΡΠΊΠΎΡΡΡ ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΡΠΊΠ°Π΅ΠΌ.
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΠ΅ΡΠ°Π± ΠΈΠ³ΡΠΎΠΊΠ° (Π² ΠΌΠΎΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠΎ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡ). Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ Β«ΡΡΠ΅ΡΠ°Β», Π½Π°Π·Π½Π°ΡΠ°Π΅ΠΌ Π΅ΠΌΡ ΡΠΊΡΠΈΠΏΡ PlayerControls ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π² ΠΏΡΠ΅ΡΠ°Π±. ΠΡΠ΅ΡΠ°Π± ΠΏΠ΅ΡΠ΅ΡΡΠ³ΠΈΠ²Π°Π΅ΠΌ Π½Π° ClientSide Π² ΠΏΠΎΠ»Π΅ Player Prefab.
ΠΠ° ΡΡΠΎΠΌ Π²ΡΠ΅, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ (Π½Π΅ Π·Π°Π±ΡΠ²Π°Ρ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
ΠΈΠ³ΡΠΎΠΊΠ° Π²ΠΊΠ»ΡΡΠΈΡΡ Run in background) ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·. Π ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΎΠΊΠΎΠ½ ΠΆΠΌΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅Ρ, Π½Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
β ΠΊΠ»ΠΈΠ΅Π½Ρ, ΠΈ ΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡ.
*Π ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, Π½ΠΎ Π½Π° ΡΡΡΡ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ ΠΎΠ½ΠΈ Π½Π΅ Π²Π»ΠΈΡΡΡ.
ΠΡΠ΅Ρ
Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!
ΠΠ΅Π»Π°Ρ ΡΡΠΏΠ΅Ρ
ΠΎΠ² Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ
ΠΈΠ³Ρ!