Показать сообщение отдельно
Старый 23.07.2012, 02:24   #10
Huruffus
Оператор ЭВМ
 
Регистрация: 22.07.2012
Сообщений: 37
Написано одно полезное сообщение
Ответ: следование объекта за мышью

написал часть скрипта. Как только появляется мышка на экране, сразу же начинает перемещаться объект. В сцене 2 перпендикулярно поставленные плоскости. Мышка по ним скользит - по ним же скользит объект.

Но дело в том, что по вертикальной плоскости объект движется более-менее нормально(иногда плавно движется от камеры к плоскости), а по горизонтальной скачет от камеры к точке на плоскости с большущей частотой.

Раньше объект скакал и по вертикальной плосскости, но после включения isKinematic почти перестал.

А ещё до этого объект крутился в разные стороны - решилось строчками:
Quaternion deltaRotation = Quaternion.Euler(rot);
rigidbody.MoveRotation(deltaRotation);


как это исправить?

скрипт:
using UnityEngine;
using System.Collections;

public class 
transformIngreedients MonoBehaviour {    
    public 
Ray _ray;
    public 
RaycastHit _hit;
    
    public 
Vector3 rot = new Vector3(0,0,0);    
    
    
void Start () {
        
gameObject.collider.enabled true;
    }
    
    
void Update() {
            
_ray Camera.main.ScreenPointToRay(Input.mousePosition);
            if (
Physics.Raycast(_rayout _hit1)){
                
rigidbody.isKinematic true;//-------------------------------------
                //запрещаю поворачиваться
                
Quaternion deltaRotation Quaternion.Euler(rot);
                
rigidbody.MoveRotation(deltaRotation);
                
//------------
                
rigidbody.detectCollisions false;
                
transform.position _hit.point;
            }
        }

(Offline)
 
Ответить с цитированием