Rotación y ampliación de objetos Unity 3D.
Utilice el mouse para arrastrar, rotar, hacer zoom y mostrar objetos unity3d
Aprenda esto. .
var objetivo: Transformar
var xSpeed = 250,0
var ySpeed = 120,0
var yMinLimit = -20;
var yMaxLimit = 80;
var initDis = 20;
var minDis = 3.0
var maxDis = 50.0; >var ruedaVelocidad = 5;
var estática x = 0.0;
var estática y = 0.0;
distancia var estática;
posición de var privada;
rotación de var privada;
función Inicio () {
x = 130
y = 30; ;
transformar.rotación = Quaternion.Euler(y, x, 0);;
transformar.posición = Quaternion.Euler(y, x, 0) * Vector3(0.0, 0.0, -initDis)
target.position;
// Hacer que el cuerpo rígido no cambie de rotación
if (rigidbody)
cuerpo rígido.freezeRotation = true;
}
función Actualizar () {
if (objetivo) {
distancia = Vector3.Distance (objetivo.posición, transformar .posición);
if(Input.GetMouseButton(1)){
x = Input.GetAxis("Mouse X") * xSpeed * 0.02;
y -= Input.GetAxis("Mouse Y") * ySpeed * 0.02;
y = ClampAngle(y, yMinLimit, yMaxLimit
);}
distancia-= Input.GetAxis("Mouse ScrollWheel")*wheelSpeed; //Obtiene la respuesta del centro del mouse
distancia = Mathf.Clamp(distance, minDis, maxDis); //La distancia toma la suma máxima Valor mínimo
rotación = Quaternion.Euler(y, x, 0);
posición = rotación * Vector3(0.0, 0.0, -distancia) target.position;
transform.rotation = rotación;
transform.posit
ion = posición;
}
}
función estática ClampAngle (ángulo: flotante, min: flotante, máx: flotante) {
si (ángulo lt; -360)
ángulo = 360;
si (ángulo gt; 360)
ángulo -= 360;
return Mathf.Clamp (angle, min, max);
}
Si aún no entiendes nada, puedes buscar en Baidu: Memorias de programación, son Ahora, al grabar tutoriales en esta área, todos comenzamos desde cero y procedemos de lo menos profundo a lo más profundo.