forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общие вопросы (http://forum.boolean.name/forumdisplay.php?f=166)
-   -   Помогите с transform.Rotate (http://forum.boolean.name/showthread.php?t=13553)

reyn90 21.10.2010 20:35

Помогите с transform.Rotate
 
Создал сцену с кубиком и прикрепил к нему камеру.(куда куб туда и камера)
Вот скрипт обработки движения для куба.
PHP код:

using UnityEngine;
using System.Collections;
public class 
Move MonoBehaviour {

    public 
Transform targ//для камеры
    
public float sped;     //для куба
    
public float hor;      
    public 
float vert;


    
void FixedUpdate () {

        if(
Input.GetKey(KeyCode.W)) transform.Translate(00sped*Time.deltaTime);
    if(
Input.GetKey(KeyCode.S)) transform.Translate(00, -1*sped*Time.deltaTime);

        
float h hor Input.GetAxis("Mouse X");
        
float v vert Input.GetAxis("Mouse Y");

        
targ.transform.Rotate(v00);

    
transform.Rotate(0h0);
}


При запуске камера управляет поворотом объекта по горизонтали и двигается по вертикали. Когда она двигается по вертикали, она крутится вокруг своей оси на все 360. Как ограничеть угол вращения камеры? Как у головы человека.

pax 21.10.2010 20:50

Ответ: Помогите с transform.Rotate
 
Проще так:
PHP код:

using UnityEngine;
using System.Collections;
public class 
Move MonoBehaviour
{

    public 
Transform targ//для камеры 
    
public float sped;     //для куба 
    
public float hor;
    public 
float vert;

    private 
Vector3 _angles Vector3.zero;

    
void FixedUpdate()
    {

        if (
Input.GetKey(KeyCode.W)) transform.Translate(00sped Time.deltaTime);
        if (
Input.GetKey(KeyCode.S)) transform.Translate(00, -sped Time.deltaTime);

        
float h hor Input.GetAxis("Mouse X");
        
float v vert Input.GetAxis("Mouse Y");

        
targ.transform.Rotate(v00);

        
_angles.+= h;
        
_angles.Mathf.Clamp(_angles.y, -6060);
        
transform.eulerAngles_angles;


    }


Вообще FixedUpdate предназначен для операций с физикой.

reyn90 21.10.2010 20:56

Ответ: Помогите с transform.Rotate
 
А что за шифт+минус перед angles? Что он означает?

pax 21.10.2010 20:58

Ответ: Помогите с transform.Rotate
 
Знак подчеркивания чтоли? Так часто приватные переменные объявляют.

reyn90 21.10.2010 21:04

Ответ: Помогите с transform.Rotate
 
она обязательна?

pax 21.10.2010 21:19

Ответ: Помогите с transform.Rotate
 
нет, это такой стиль программирования ;) От меня примеры могут быть часто такие.


Часовой пояс GMT +4, время: 02:34.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot