Показать сообщение отдельно
Старый 26.07.2012, 11:45   #14
toyman
Оператор ЭВМ
 
Регистрация: 04.12.2011
Сообщений: 32
Написано одно полезное сообщение
(для 3 участников)
Ответ: Работа со встроенными скриптами Unity3d

Нашел себе подходящий скрипт камеры методом тыка подогнал под себя.
Можно немного коментариев как он работает
var target : Transform;
var 
distance = 10.0;

var 
xSpeed = 250.0;
var 
ySpeed = 120.0;

var 
yMinLimit = -20;
var 
yMaxLimit = 80;

private var 
x = 0.0;
private var 
y = 0.0;

@
script AddComponentMenu("Camera-Control/Mouse Orbit")

function 
Start () {
    var 
angles = transform.eulerAngles;
    
x = angles.y;
    
y = angles.x;

    
// Make the rigid body not change rotation
       
if (rigidbody)
        
rigidbody.freezeRotation = true;
}

function 
LateUpdate () {
    if (
target) {
        
//x += Input.GetAxis("Mouse X") * xSpeed * 0.02;
       // y -= Input.GetAxis("Mouse Y") * ySpeed * 0.02;
         
         
y = ClampAngle(y, yMinLimit, yMaxLimit);
                
        var 
rotation = Quaternion.Euler(y, x, 0);
        var 
position = rotation * Vector3(0.0, 0.0, -distance) + target.position;
        
        
transform.rotation = rotation;
        
transform.position = position;
    }
}

static function 
ClampAngle (angle : float, min : float, max : float) {
    if (
angle < -360)
        
angle += 360;
    if (
angle > 360)
        
angle -= 360;
    return 
Mathf.Clamp (angle, min, max);
} 
(Offline)
 
Ответить с цитированием