ΠΏΠΎΠ²ΠΎΡΠΎΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° Π² ΡΡΠΎΡΠΎΠ½Ρ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ unity
ΠΠΎΠ²ΠΎΡΠΎΡ ΡΠΈΠ³ΡΡΡ Π² ΡΡΠΎΡΠΎΠ½Ρ Π΅Π³ΠΎ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ
ΠΠΎΠ²ΠΎΡΠΎΡ Π² ΡΡΠΎΡΠΎΠ½Ρ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ 2Π΄ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
Π΅ΡΡΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ 3 Π½Π° 3 ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π½ΠΎΠ΅ ΠΊΠ»Π΅ΡΠΊΠ°ΠΌΠΈ, Π΅ΡΡΡ ΠΊΠΎΡΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΡΠ°Π±Π»Ρ, ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ»Π΅ΡΠΊΡ.
ΠΠΎΠ²ΠΎΡΠΎΡ ΡΠΈΠ³ΡΡΡ Π² ΡΡΠΎΡΠΎΠ½Ρ Π΅Π³ΠΎ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ
Π ΠΎΠ±ΡΠ΅ΠΌ. ΠΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΏΡΡΡ ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΈΠ΄Π΅Ρ ΡΠΈΠ³ΡΡΠ°. Π‘ΠΎ ΡΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π½Π΅Ρ ΠΈΠ±ΠΎ Π½Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ Π³Π΄Π΅ Ρ.
Unity ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎΠ²ΠΎΡΠΎΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° Π² ΡΡΠΎΡΠΎΠ½Ρ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· Π΄ΠΆΠΎΠΉΡΡΠΈΠΊ
using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; public class.
Π Π΅ΡΠ΅Π½ΠΈΠ΅
Π Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π’Π°ΠΊ ΠΆΠ΅ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ))
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΡΠ΅ΡΠ΅Π· 5 ΠΌΠΈΠ½ΡΡ
ΠΡΡ, Ρ ΠΏΡΠΎΡΡΠΎ ΡΡΠΏΠ°Π½ΡΠ» ΠΈ Π½Π΅ ΡΠΎΡ ΡΠΊΡΠΈΠΏΡ Π½Π°Π·Π½Π°ΡΠΈΠ». Π° ΡΠ°ΠΊ ΡΠΎ ΡΡΠΎ Ρ ΡΠΊΠΈΠ½ΡΠ» ΠΈ Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
ΠΠΎΠ²ΠΎΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² ΡΡΠΎΡΠΎΠ½Ρ ΠΈΠ³ΡΠΎΠΊΠ°
ΠΠ΅Π»Π°Π» ΡΠ°ΠΊΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ public class LookAtPlayer : MonoBehaviour < public Transform target;.
ΠΠΎΠ²ΠΎΡΠΎΡ ΡΠΏΡΠ°ΠΉΡΠ° Π² ΡΡΠΎΡΠΎΠ½Ρ ΠΊΡΡΡΠΎΡΠ°
ΠΠ΅Π»Π°Ρ ΠΈΠ³ΡΡ, Π½Π°Π΄ΠΎ ΠΏΠΎΠ²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠΏΡΠ°ΠΉΡ Π² ΡΡΠΎΡΠΎΠ½Ρ ΠΊΡΡΡΠΎΡΠ° ΠΌΡΡΠΈ, ΠΏΠΎΠΌΠΎΠ³ΠΈΡΠ΅ ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°! ΠΠΎΡ ΠΊΠΎΠ΄: #include.
ΠΠΎΠ²ΠΎΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² ΡΡΠΎΡΠΎΠ½Ρ ΠΌΡΡΠΈ
ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ, ΡΠ΅ΡΠΈΠ» ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ° Π² ΠΏΠ°ΠΉΠ³Π΅ΠΉΠΌ ΡΡΠΎ-ΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ. ΠΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΡΡ Π½Π° 2Π΄ ΠΈΠ³ΡΠ΅(Π².
ΠΠΎΠ²ΠΎΡΠΎΡ ΡΠΏΡΠ°ΠΉΡΠ° Π² ΡΡΠΎΡΠΎΠ½Ρ ΠΊΡΡΡΠΎΡΠ°
ΠΠΎΠ±ΡΡΠΉ Π²Π΅ΡΠ΅Ρ. ΠΠΌΠ΅Π΅ΡΡΡ 2D ΠΏΡΠΎΠ΅ΠΊΡ. ΠΡΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²ΠΎΡΠΎΡ ΡΠΏΡΠ°ΠΉΡΠ° ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° Π² ΡΡΠΎΡΠΎΠ½Ρ ΠΊΡΡΡΠΎΡΠ°.
ΠΠΎΠ²ΠΎΡΠΎΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° Π² ΡΡΠΎΡΠΎΠ½Ρ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ unity
ΠΏΠΎΠ²ΠΎΡΠΎΡ Π² ΡΡΠΎΡΠΎΠ½Ρ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ
priestevi | ΠΠ°ΡΠ°: Π§Π΅ΡΠ²Π΅ΡΠ³, 09 Π€Π΅Π²ΡΠ°Π»Ρ 2017, 16:28 | Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ # 1 | |
Π΄ΠΎΠ±ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ ΡΠ²Π°ΠΆΠ°Π΅ΠΌΡΠ΅! Π²ΠΎΡ Π½Π΅Π»ΡΠ³ΠΊΠ°Ρ Π·Π°Π½Π΅ΡΠ»Π° ΠΌΠ΅Π½Ρ Π½Π° ΡΠΎΡΡΠΌ ΠΈΠ±ΠΎ ΡΠΆΠ΅ Π²ΡΡ Π³ΠΎΠ»ΠΎΠ²Ρ ΡΠ»ΠΎΠΌΠ°Π» ΠΏΡΡΠ°ΡΡΡ ΠΏΠΎΠ½ΡΡΡ Π² ΠΊΠ°ΠΊΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΈΠ΄ΡΠΈ. ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ΄Π΅Π»Π°Π» ΠΊΠ°ΠΏΡΡΠ»Ρ Π½Π° Π½Π΅Π΅ ΠΏΠΎΠ²Π΅ΡΠΈΠ» ΡΠΊΡΠΈΠΏΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΈ Π΄ΠΎΠΏΠΈΡΠ°Π» ΡΡΠ΄Π° ΠΊΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΡΡΠΎ Π±Ρ ΠΊΠ°ΠΏΡΡΠ»Π° ΠΏΠΎΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Π»Π°ΡΡ Π² ΡΡΠΎΡΠΎΠ½Ρ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π½ΠΎ ΠΏΠΎΡΠ»Π΅ Π΅Π΅ ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° ΠΎΡΠΈ ΠΊΠ°ΠΊ ΡΠΎ ΠΏΡΠΎΠ²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ ΡΡΠΎ Π»ΠΈ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Ρ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π²Π»Π΅Π²ΠΎ ΠΊΠ°ΠΏΡΡΠ»Π° ΠΏΠΎΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΡΠ΄Π° ΠΈ Π΅Π΄Π΅Ρ Π²Π½ΠΈΠ·. Ρ ΡΠ°ΠΊ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ ΡΡΠΎ ΠΎΡΠΈ Π²Π²ΠΎΠ΄Π° ΠΏΠΎΠ²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΊΠ°ΠΏΡΡΠ»ΠΎΠΉ Π½ΠΎ ΡΡΠΎ ΡΠΎ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΏΠΎΠ½ΡΡΡ ΡΠΆΠ΅ ΡΠ°ΡΠΎΠ² 5 ΠΊΠ°ΠΊ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΏ.Ρ. ΠΊΠ°ΠΌΠ΅ΡΠ° ΡΡΠ°ΡΠΈΡΠ½Π°Ρ ΠΊΠ°ΠΊ Π² Π΄ΠΈΠ°Π±Π»ΠΎ 200?’200px’:»+(this.scrollHeight+5)+’px’);»> public class PlayerController : MonoBehaviour void Start () void FixedUpdate () Quaternion rot = Quaternion.Euler(dir); | ||
falcoware | ΠΠ°ΡΠ°: Π§Π΅ΡΠ²Π΅ΡΠ³, 09 Π€Π΅Π²ΡΠ°Π»Ρ 2017, 16:55 | Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ # 2 | |
| priestevi, Π― ΡΠ°ΠΊ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ Π΅ΡΡΡ Π΄Π²Π° Π²Π΅ΠΊΡΠΎΡΠ°. ΠΠ΅ΠΊΡΠΎΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ VTMOVE. Π§ΡΠΎ Π΅ΡΠ»ΠΈ Π²Π΅ΠΊΡΠΎΡ Π₯ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΡΠ°ΠΊ: Π₯ = X + (-Π₯ + Π£)/NTIME * TIME; Π’ΠΎΠ³Π΄Π° Π²Π΅ΠΊΡΠΎΡ Π₯ ΡΡΠ°Π½Π΅Ρ Π²Π΅ΠΊΡΠΎΡΠΎΠΌ Π£ ΡΠ΅ΡΠ΅Π· NTIME. ΠΡ ΠΈ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΡΡΠΎΠΉΠΊΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ² ΠΏΠΎΡΠΎΠΌ Ρ ΡΡΠ΅ΡΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Π΅ΠΊΡΠΎΡΠ° Π₯? | |
Wite | ΠΠ°ΡΠ°: Π§Π΅ΡΠ²Π΅ΡΠ³, 09 Π€Π΅Π²ΡΠ°Π»Ρ 2017, 19:08 | Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ # 3 | |
Euler ΠΡΠΎ ΡΠ³Π»Ρ ΡΠΉΠ»Π΅ΡΠ°, ΡΠ΅ ΡΠ°ΠΌΡΠ΅ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΏΡΠΈΠ²ΡΠΊΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡ 0 Π΄ΠΎ 360. ΠΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ ΡΡΠ΄Π° Π²Π΅ΠΊΡΠΎΡ Π²Ρ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅ 1 Π³ΡΠ°Π΄ΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΡΠΈ. ΠΡΠ»ΠΈ Π²Π΅ΠΊΡΠΎΡ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½. ΠΠΎΠΌΠ½ΠΎΠΆΠ°Ρ ΠΎΠ΄ΠΈΠ½ ΠΠ²Π°ΡΠ΅ΡΠ½ΠΈΠΎΠ½ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΎΡΠΎΠ³ΠΎ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ. Π Π΄Π°Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄Π²ΠΈΠ³Π°ΡΡ Π²Π°ΡΠ΅Π³ΠΎ Π³Π΅ΡΠΎΡ ΡΠ°ΠΊ rb.MovePosition(rb.position+transform.forward)*speed*Time.deltaTime; ΠΠ°Ρ Π²Π΅ΠΊΡΠΎΡ dir Π½Π°Π΄ΠΎ ΠΏΠ΅ΡΠ΅Π΄ΠΎΠ²Π°ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡ Quaternion.LookRotation(dir.normalized,Vector3.up). | ||
Rean | ΠΠ°ΡΠ°: Π§Π΅ΡΠ²Π΅ΡΠ³, 09 Π€Π΅Π²ΡΠ°Π»Ρ 2017, 20:21 | Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ # 4 | |
| priestevi, Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π³ΠΎ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅: ΠΊΠ°ΠΌΠ΅ΡΡ, ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° ΠΈΠ»ΠΈ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ Ρ Wite. ΠΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ³Π»Ρ ΠΠΉΠ»Π΅ΡΠ° ΠΈ/ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Ρ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ°. 200?’200px’:»+(this.scrollHeight+5)+’px’);»> 200?’200px’:»+(this.scrollHeight+5)+’px’);»> // ΠΠ½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ transform.rotation *= Quaternion.Euler(0f, rotation, 0f); | Π²ΡΠ΅ΠΌ ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΎΡΠ²Π΅ΡΡ! ΡΠ΅ΠΉΡΠ°Ρ ΡΡΠ΄Ρ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»ΡΠ²Π°ΡΡ ΠΈ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠΎΠ±ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Rean Π²Π°Ρ ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Ρ Ρ ΠΎΡΡ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΈΡΠ°ΠΊ Π² ΠΎΠ±ΡΠ΅ΠΌ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠΎΠ²Π°ΡΠΈΡΠ° Rean`Π° ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΏΠΎΠΌΠΎΡΡ, Ρ Π±Ρ Π² ΡΡΠΈΡ Π½ΡΠ°Π½ΡΠ°Ρ ΡΠ°ΠΌ Π½Π΅ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΡΡ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ. ΠΠΎΡ ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄ Π΅ΡΠ»ΠΈ Π²Π΄ΡΡΠ³ ΠΊΠΎΠΌΡ ΡΠΎ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ 200?’200px’:»+(this.scrollHeight+5)+’px’);»> public class PlayerController : MonoBehaviour void Start () void FixedUpdate () ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ (10 ΡΠ΅Π²ΡΠ°Π»Ρ 2017, 11:49) Rotation and Orientation in UnitySummaryRotations in 3D applications are usually represented in one of two ways, Quaternions or Euler angles. Each has its own uses and drawbacks. Unity uses Quaternions internally, but shows values of the equivalent Euler angles in the inspector to make it easy for you to edit. The Difference Between Euler Angles and QuaternionsEuler AnglesEuler angles have a simpler representation, that being three angle values for X, Y and Z that are applied sequentially. To apply a Euler rotation to a particular object, each rotation value is applied in turn, as a rotation around its corresponding axis. QuaternionsQuaternions can be used to represent the orientation or rotation of an object. This representation internally consists of four numbers (referenced in Unity as x, y, z & w) however these numbers donβt represent angles or axes and you never normally need to access them directly. Unless you are particularly interested in delving into the mathematics of Quaternions, you only really need to know that a Quaternion represents a rotation in 3D space and you will never normally need to know or modify the x, y & z properties. In Unity all Game Object rotations are stored internally as Quaternions, because the benefits outweigh the limitations. In the Transform Inspector however, we display the rotation using Euler angles, because this is more easily understood and edited. New values entered into the inspector for the rotation of a Game Object are converted βunder the hoodβ into a new Quaternion rotation value for the object. As a side-effect, it is possible in the inspector to enter a value of, say, X: 0, Y: 365, Z: 0 for a Game Objectβs rotation. This is a value that is not possible to represent as a quaternion, so when you hit Play youβll see that the objectβs rotation values change to X: 0, Y: 5, Z: 0 (or thereabouts). This is because the rotation was converted to a Quaternion which does not have the concept of βA full 360-degree rotation plus 5 degreesβ, and instead has simply been set to be oriented in the same way as the result of the rotation. Implications for ScriptingCreating and Manipulating Quaternions DirectlyUnityβs Quaternion class has a number of functions which allow you to create and manipulate rotations without needing to use Euler angles at all. For example: However sometimes itβs desirable to use Euler angles in your scripts. In this case itβs important to note that you must keep your angles in variables, and only use them to apply them as Euler angles to your rotation. While itβs possible to retrieve Euler angles from a quaternion, if you retrieve, modify and re-apply, problems will arise. Here are some examples of mistakes commonly made using a hypothetical example of trying to rotate an object around the X axis at 10 degrees per second. This is what you should avoid: And here is an example of using Euler angles in script correctly: Implications for AnimationMany 3D authoring packages, and indeed Unityβs own internal animation window, allow you to use Euler angles to specify rotations during an animation. These rotations values can frequently exceed range expressable by quaternions. For example, if an object should rotate 720 degrees in-place, this could be represented by Euler angles X: 0, Y: 720, Z:0. But this is simply not representable by a Quaternion value. Unityβs Animation WindowExternal Animation SourcesWhen importing animation from external sources, these files usually contain rotational keyframe animation in Euler format. Unityβs default behaviour is to resample these animations and generate a new Quaternion keyframe for every frame in the animation, in an attempt to avoid any situations where the rotation between keyframes may exceed the Quaternionβs valid range. For example, imagine two keyframes, 6 frames apart, with values for X as 0 on the first keyframe and 270 on the second keyframe. Without resampling, a quaternion interpolation between these two keyframes would rotate 90 degrees in the opposite direction, because that is the shortest way to get from the first orientation to the second orientation. However by resampling and adding a keyframe on every frame, there are now only 45 degrees between keyframes so the rotation will work correctly. ΠΠΎΠ²ΠΎΡΠΎΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° Π² Unity ΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΠΏΠΎΠ²ΠΎΡΠΎΡΠ°ΠΠ΅Π΄Π°Π²Π½ΠΎ ΡΠΊΠ°ΡΠ°Π» ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° ΠΈΠ· UnityAssetsStore, ΠΊ ΡΡΠΎΠΌΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Animator, Π² Π½Π΅ΠΌ(Π² ΠΠ½ΠΈΠΌΠ°ΡΠΎΡΠ΅) Π΅ΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ°, ΠΈΠ· ΠΊΠΎΠ΄Π° Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΠ°Ρ ΡΠ΅ΡΠ΅Π· ΡΡΠ½ΠΊΡΠΈΡ SetTrigger(). Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ° Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΠΏΠΎΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ (ΠΈΠ±ΠΎ Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ transform Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ), ΡΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΡΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠ΅ΠΉ Ρ Ρ ΠΎΡΡ ΠΏΠΎΠ²Π΅ΡΠ½ΡΡΡ Π΅Π³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ (ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ transform.rotation), ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΡΠΎΡ ΡΡΠΈΠ³Π³Π΅Ρ TurnLeft (ΠΈ TurnRight ΡΠΎΠΆΠ΅) ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ Π² Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Idle (ΠΏΠΎΠΊΠΎΠΉ), ΠΏΠΎΠ²ΠΎΡΠΎΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ΄ ΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ. ΠΡΡΡ Π»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ·Π½Π°ΡΡ ΠΏΠΎΠ²ΠΎΡΠΎΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π΅Π³ΠΎ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΡ, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎΠ²ΠΎΡΠΎΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ? ΠΡΠΈΠ»Π°Π³Π°Ρ ΡΠΊΡΠΈΠ½ Π°Π½ΠΈΠΌΠ°ΡΠΎΡΠ° ΠΠ½Π°Π΅ΡΠ΅ ΠΊΠΎΠ³ΠΎ-ΡΠΎ, ΠΊΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ? ΠΠΎΠ΄Π΅Π»ΠΈΡΠ΅ΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ ΠΏΠΎ ΠΏΠΎΡΡΠ΅, ΡΠ΅ΡΠ΅Π· Π’Π²ΠΈΡΡΠ΅Ρ ΠΈΠ»ΠΈ Facebook.ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ Ρ ΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ c# unity3d ΠΈΠ»ΠΈ Π·Π°Π΄Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ.ΠΠΎΡ ΠΎΠΆΠΈΠ΅ΠΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° Π»Π΅Π½ΡΡΠΠ»Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ Π½Π° Π»Π΅Π½ΡΡ ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈ Π²ΡΡΠ°Π²ΡΡΠ΅ ΡΡΡ ΡΡΡΠ»ΠΊΡ Π² Π²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ RSS. Π΄ΠΈΠ·Π°ΠΉΠ½ ΡΠ°ΠΉΡΠ° / Π»ΠΎΠ³ΠΎΡΠΈΠΏ Β© 2021 Stack Exchange Inc; ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π½Π° ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ cc by-sa. rev 2021.11.24.40828 ΠΠ°ΠΆΠΈΠΌΠ°Ρ Β«ΠΡΠΈΠ½ΡΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ cookieΒ» Π²Ρ ΡΠΎΠ³Π»Π°ΡΠ°Π΅ΡΠ΅ΡΡ, ΡΡΠΎ Stack Exchange ΠΌΠΎΠΆΠ΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ cookie Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΠΈ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π½Π°ΡΠ΅ΠΉ ΠΠΎΠ»ΠΈΡΠΈΠΊΠΎΠΉ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² cookie. ΠΠΎΠ²Π΅ΡΠ½ΠΈΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ Π² Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ Π΄Π²ΠΈΠΆΠ΅ΡΡΡ Π² UnityΠ£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ 2D-ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΡΠΎ Π΄Π²ΠΈΠΆΠ΅ΡΡΡ ΠΏΡΡΠΌΠΎ, ΠΏΠΎΠΊΠ° Π½Π΅ ΡΡΠΎΠ»ΠΊΠ½Π΅ΡΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΡΡΠΊΠ°ΠΊΠΈΠ²Π°ΡΡ ΠΎΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. Π― Π½Π΅ Π»ΡΡΡΠΈΠΉ Π² ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, Π½ΠΎ Π²ΠΎΡ ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Ρ Ρ ΠΎΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π΄Π΅Π»Π°Π»: (Π‘ΡΡΠ΅Π»ΠΊΠ° Π² ΡΡΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, Π² ΠΊΠ°ΠΊΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΡΡΠ΅ΡΠ° Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠΌΠΎΡΡΠΈΡ) Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°, Π½ΠΎ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π½Π΅ Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ: Π― Π·Π½Π°Ρ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ ΠΊΠ°ΠΊ Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π° Π·Π°ΡΠ΅ΠΌ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π² ΡΡΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ? 4 ΠΎΡΠ²Π΅ΡΠ°ΠΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΡΠ½ΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΠΈΠ·ΠΈΠΊΠ° Π°ΠΊΡΠΈΠ²Π½Π°, ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΡΡ Π²Π°ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ°Π½Π½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ, Π½ΠΎ Π·Π΄Π΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΡΠ»ΠΈ Π²Π°ΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π²ΡΠ°ΡΠ°ΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠΏΡΠΈΠΊΠ°ΡΠ°ΡΡΡΡ Ρ ΡΠ΅ΠΌ-ΡΠΎ (ΡΠΎ Π΅ΡΡΡ, Π³Π΄Π΅ ΡΡΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π΅ΡΠΎΡΡΠ½ΠΎ), ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΊΠ°Π·ΠΈΡΡ ΡΠΈΠ·ΠΈΠΊΡ. ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ ΡΠΈΠ·ΠΈΠΊΠΈ ΠΈ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΎΠ². Π₯ΠΎΡΡ Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΡΡΠΎ Π·Π²ΡΡΠΈΡ ΡΠ°ΠΊ, Π±ΡΠ΄ΡΠΎ Π²Π°ΠΌ Π΄Π°ΠΆΠ΅ Π½Π΅ Π½ΡΠΆΠ½Ρ ΡΠ²Π΅ΡΠ΄ΡΠ΅ ΡΠ΅Π»Π°, ΠΈ ΡΠΈΠ·ΠΈΠΊΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΡ ΡΠ°ΡΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠ²Π΅ΡΠ΄ΡΠ΅ ΡΠ΅Π»Π°, ΡΠ°ΡΡΡΠΈΡΠ°ΠΉΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ: Π― Π½Π΅ ΠΌΠΎΠ³Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠΎ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, Π½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΡΠ΅, ΡΡΠΎ ΠΌΡ Π΄Π΅Π»Π°Π΅ΠΌ, ΡΡΠΎ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΡΠ΅ΠΉΠΌΠ΅ Ρ Π΅Π³ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π² ΡΡΠΎΠΌ ΡΡΠ΅ΠΉΠΌΠ΅, Π²ΡΡΠΈΡΠ°Ρ ΡΡΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²Π΅ΠΊΡΠΎΡ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Ρ Π΅Π³ΠΎ Π»ΠΈΡΠΎΠΌ ΠΊ ΡΡΠΎΠΌΡ Π²Π΅ΠΊΡΠΎΡΡ. Π ΠΌΠ΅ΡΠΎΠ΄Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠ°Π΄Ρ, Π½Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Ρ, Π½ΠΎ Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΡΡΡΡΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ.
|