- Код: Выделить всё
import UnityEngine
[RequireComponent (Rigidbody)]
class HoverControls (MonoBehaviour):
public accForce as single = 75.0
public maxSpeed as single = 100.0
public rotYSens as single = 8.0
public rotYSpeed as single = 6.0
public distToGround as single = 2.0
public surfRotSpeed as single = 0.25
angY as single
def Update ():
mXAxis as single = Input.GetAxis('Mouse X')
angY = Mathf.SmoothStep(angY, mXAxis*rotYSens, Time.deltaTime*rotYSpeed)
transform.rotation *= Quaternion.AngleAxis(angY, Vector3.up)
def FixedUpdate ():
vertAxis as single = Input.GetAxis('Vertical')
velVec as Vector3 = Vector3(rigidbody.velocity.x, 0.0, rigidbody.velocity.z)
vel as single = velVec.magnitude
if vertAxis > 0.0:
if vel < maxSpeed:
rigidbody.AddRelativeForce(-Vector3.right*accForce*vertAxis)
hitNorm as Vector3
surfAng as Quaternion
newAng as Quaternion
centerRayHit as RaycastHit
Physics.Raycast(transform.position, -Vector3.up, centerRayHit)
hitNorm = centerRayHit.normal
surfAng = Quaternion.FromToRotation (Vector3.up, hitNorm)
newAng = surfAng*Quaternion.AngleAxis(transform.eulerAngles.y, Vector3.up)
transform.rotation = Quaternion.Slerp(transform.rotation, newAng, surfRotSpeed)
Очень надеюсь на вашу помощь, т.к опыта работы в Юнити у меня немного...