Первую часть сделал, но корабль не раворачивается, подскажите пожалуйста как это реализовать, вот код, в нем попробовал на выход еще повесить пустой геймобжект для ориентации на него, но корабль как бы начинает очень быстро крутиться.
Вот код.
Скрипт Hangar включает стыковочный скрипт.
Синтаксис:
Используется javascript
static var target : GameObject;
function OnTriggerEnter (collision : Collider) {
target = collision.gameObject;
gameObject.AddComponent(Dock);
}
function Update () {
}
function OnTriggerEnter (collision : Collider) {
target = collision.gameObject;
gameObject.AddComponent(Dock);
}
function Update () {
}
Скрипт inOut - координаты входа.
Синтаксис:
Используется javascript
static var inOut;
function start () {
inOut = transform.position;
}
Сам стыковочный скрипт.
Синтаксис:
Используется javascript
private var Starget : GameObject;
private var distance;
private var docked=0;
private var rotationSpeed = 10;
function FixedUpdate () {
Starget = Hangar.target;
if(Starget){
distance = Vector3.Distance(transform.position,Starget.transform.position);
if(!docked) {
var relativePos = transform.position - Starget.transform.position;
var rotation = Quaternion.LookRotation(relativePos);
Starget.transform.rotation = rotation;
Starget.transform.Translate(Vector3.forward*5*Time.deltaTime);
}
if(distance==0) {
docked =1;
}
}
}
function OnTriggerStay (c : Collider) {
if(docked) {
yield WaitForSeconds (5);
Destroy (GetComponent (Dock));
}
if(distance==0) {
opos= inOut.inOut;
var backPos = opos-transform.position;
var rotation_back = Quaternion.LookRotation(backPos);
Starget.transform.rotation = rotation_back;
}
}
Пожалуйста, подскажите, что я делаю не так, в каком направлении копать? Заранее благодарен.