MAIN MENU - Форум
  • Страница 1 из 1
  • 1
Модератор форума: terex  
MAIN MENU
terexДата: Четверг, 24.03.2011, 04:22 | Сообщение # 1
Zzz
Группа: Администраторы
Сообщений: 71
Награды: 1
Репутация: 32767
Статус: Offline
скрипт, который воспроизводит видео или анимацию, которою наложили вы на предмет в качестве текстуры
Code
renderer.material.mainTexture.Play();
 
terexДата: Вторник, 29.03.2011, 20:59 | Сообщение # 2
Zzz
Группа: Администраторы
Сообщений: 71
Награды: 1
Репутация: 32767
Статус: Offline
скрипт RotateCamera позволяет вращать камеру с помощью W,S,A,D кнопок

Code
var target : Transform;
var edgeBorder = 0.1;
var horizontalSpeed = 360.0;
var verticalSpeed = 120.0;
var minVertical = 20.0;
var maxVertical = 85.0;

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

function Start()
{
  x = transform.eulerAngles.y;
     y = transform.eulerAngles.x;
     distance = (transform.position - target.position).magnitude;
}

function LateUpdate()
{
  var dt = Time.deltaTime;
  x -= Input.GetAxis("Horizontal") * horizontalSpeed * dt;
  y += Input.GetAxis("Vertical") * verticalSpeed * dt;
   
  y = ClampAngle(y, minVertical, maxVertical);
    
  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);
}
 
terexДата: Вторник, 29.03.2011, 21:32 | Сообщение # 3
Zzz
Группа: Администраторы
Сообщений: 71
Награды: 1
Репутация: 32767
Статус: Offline
скрипт MouseOrbit в отличии от скрипта RotateCamera, вращает камеру с помощью движения мыши (как в GTA 4)

Code
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);
}
 
terexДата: Пятница, 01.04.2011, 05:48 | Сообщение # 4
Zzz
Группа: Администраторы
Сообщений: 71
Награды: 1
Репутация: 32767
Статус: Offline
скрипт KeyboardOrbit в отличии от скрипта MouseOrbit, у него есть возможность приближать и отдалять камеру с помощью колесика мыши (scrol)
Code
var target : Transform;
var distanceMin = 10.0;
var distanceMax = 15.0;
var distanceInitial = 12.5;
var scrollSpeed = 1.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;
private var distanceCurrent = 0.0;

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

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

  distanceCurrent = distanceInitial;

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

function LateUpdate () {
     if (target) {
         x += Input.GetAxis("Horizontal") * xSpeed * 0.02;
         y -= Input.GetAxis("Vertical") * ySpeed * 0.02;
    distanceCurrent -= Input.GetAxis("Mouse ScrollWheel") * scrollSpeed;
    
   distanceCurrent = Mathf.Clamp(distanceCurrent, distanceMin, distanceMax);
    y = ClampAngle(y, yMinLimit, yMaxLimit);
            
         var rotation = Quaternion.Euler(y, x, 0);
         var position = rotation * Vector3(0.0, 0.0, -distanceCurrent) + 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);
}
 
  • Страница 1 из 1
  • 1
Поиск:
 Сайт временно находится в стадии разработки, приношу свои извинения за не удобства
 
 This site is temporarily under construction, I apologize for the convenience of not