Как сделать так чтоб стандартная камера от первого лица приседала при нажатии на ctrl? Да, я программист, дизайнер, сценарист, Я сам себе издатель и сам себе игрок...
// Use this for initialization function Awake () { motor = GetComponent(CharacterMotor); }
// Update is called once per frame function Update () { // Get the input vector from kayboard or analog stick var directionVector = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
if (directionVector != Vector3.zero) { // Get the length of the directon vector and then normalize it // Dividing by the length is cheaper than normalizing when we already have the length anyway var directionLength = directionVector.magnitude; directionVector = directionVector / directionLength;
// Make sure the length is no bigger than 1 directionLength = Mathf.Min(1, directionLength);
// Make the input vector more sensitive towards the extremes and less sensitive in the middle // This makes it easier to control slow speeds when using analog sticks directionLength = directionLength * directionLength;
// Multiply the normalized direction vector by the modified length directionVector = directionVector * directionLength; }
// Apply the direction to the CharacterMotor motor.inputMoveDirection = transform.rotation * directionVector; motor.inputJump = Input.GetButton("Jump"); }
// Require a character controller to be attached to the same game object @script RequireComponent (CharacterMotor) @script AddComponentMenu ("Character/FPS Input Controller")
Добавлено (17.02.2012, 23:18) --------------------------------------------- А вот и на приседание... Просто вешаешь на камеру. И камеру в иерархии привязываешь.
Code
using UnityEngine; using System.Collections;
public class SidDown : MonoBehaviour { public Camera camere; float camPos; Vector3 yy; Vector3 ym;
// Use this for initialization void Start () { camPos = camere.transform.localPosition.y; yy.y = 0.8133545f; ym.y = -0.2154129f; } // Update is called once per frame void Update () { if(Input.GetKeyDown(KeyCode.C)) { camere.transform.localPosition = ym; } if(Input.GetKeyUp(KeyCode.C)) { camere.transform.localPosition = yy; } } }
Добавлено (17.02.2012, 23:20) --------------------------------------------- Мдааа.... Разбаловал я тебя