Показать сообщение отдельно
Старый 25.10.2011, 15:29   #1
listan
AnyKey`щик
 
Регистрация: 21.09.2011
Сообщений: 15
Написано 0 полезных сообщений
(для 0 пользователей)
Передвижение объектов, создание animation, используя JS

Здравствуйте) Накопился ряд вопрос по JS скриптам в Unity. Помогите их решить)
Идея такая: пользователь используя кнопки мыши и кнопки клавиатуры передвигает сферу как ему угодно в приделах комнаты.
1)Как сделать так, чтобы при движение сферы,она не застревали в ограничивающих её координатах(стенках комнаты) ,а плавно двигалась по ним вдоль стенки (при движении,если пользователь как бы хочет завести шарик за стенку)?
2)Как можно получить координаты сферы и используя эти координаты создать такую animation (используя JS) таким образом,чтобы при нажатии на какой-нибудь предмет(пусть это будет кнопка) сфера опускалась вниз, например вот мы подвинули сферу? используя предыдущий скрипт передвижения,нажали на кyопку,сфера опустилась вниз.
Заранее спасибо за ответы)

Cам скрипт передвижения объекта

function OnMouseDown () {
var screenSpace = Camera.main.WorldToScreenPoint(transform.position) ;
var offset = transform.position - Camera.main.ScreenToWorldPoint(Vector3(Input.mouse Position.x, Input.mousePosition.y, screenSpace.z));
var curPosition=transform.position;
var curScreenSpace = Vector3(0,0,0);
while (Input.GetMouseButton(0) )
{
curScreenSpace = Vector3(Input.mousePosition.x, Input.mousePosition.y, screenSpace.z);
curPosition = Camera.main.ScreenToWorldPoint(curScreenSpace) + offset;
/*ограничение области передвижения сферы*/
if ((curPosition.x>=-5)&&(curPosition.x<=5)&&(curPosition.y<=4.5)&&(cur Position.y>=0.&&(curPosition.z<=13)&&(curPositio n.z>=-5)) {
transform.position = curPosition;}
yield;
}
}
(Offline)
 
Ответить с цитированием