forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общие вопросы (http://forum.boolean.name/forumdisplay.php?f=166)
-   -   следование объекта за мышью (http://forum.boolean.name/showthread.php?t=17064)

pax 07.08.2012 19:57

Ответ: следование объекта за мышью
 
в консоли отожми кнопочку Collapce чтоли

Huruffus 07.08.2012 20:02

Ответ: следование объекта за мышью
 
спасибо pax! Из за этой кнопки. Скажите, она влияет на результат?

pax 07.08.2012 20:03

Ответ: следование объекта за мышью
 
нет, не влияет

Huruffus 08.08.2012 13:42

Ответ: следование объекта за мышью
 
как один объект сделать дочерним по отношению к другому из скрипта?
т.е. у меня есть куб, на котором навешен скрипт (ниже). Этот скрипт работает так: подходим к кубу, выпускаем луч из камеры, если луч столкнулся с нужным нам объектом, то объект становится на позицию кубика, который является потомком камеры.
А я хочу куб стал потомком камеры.

посмотрел вот эту страницу, но не разобрал что да как.
http://docs.unity3d.com/Documentatio...rm-parent.html

мой код:
Код:

public class takeObject : MonoBehaviour {
        public GameObject takingHands;
        public Transform originTransformTakingHands;
        public Transform myParent;
        public Ray _ray;
        public RaycastHit _hit;
       
        void Start () {
               
        }
       
        void Update () {
                Screen.lockCursor = true;
                if (Input.GetKeyUp(KeyCode.E)){
                        _ray = Camera.main.ScreenPointToRay(Input.mousePosition);
                        if (Physics.Raycast(_ray, out _hit, 5)){                                               
                                originTransformTakingHands.transform.position = transform.position;
                                transform.position = takingHands.transform.position;
                                rigidbody.isKinematic = true;

                                //if (Input.GetMouseButton(0)){
                                //        gameObject.rigidbody.AddForce();
                                //}
                        }
                }
        }
}


pax 08.08.2012 13:59

Ответ: следование объекта за мышью
 
Оно?
PHP код:

_hit.collider.transform.parent Camera.main.transform 


Huruffus 08.08.2012 16:13

Ответ: следование объекта за мышью
 
нет :) когда я добавил эту строчку в скрипт, то начинается жуткий психодел: плэйн, на котором всё стоит, становится потомком камеры, и они вместе начинают падать.

распишите пожалуйста что значит, написанная вами строчка. Что она делает?

Huruffus 08.08.2012 16:28

Ответ: следование объекта за мышью
 
разобрался. правильно работает)
Спасибо!

pax 08.08.2012 16:29

Ответ: следование объекта за мышью
 
_hit.collider.transform.parent = Camera.main.transform

попадание.колайдерПопадания.трансформПопадания.его Парент = камера;

т.е. камера становится парентом объекта, в который попали

Huruffus 09.08.2012 03:43

Ответ: следование объекта за мышью
 
объект потомок камеры. При нажатии кнопки "F", нужно чтобы объект летел с заданной силой в направлении камеры. Как это организовать?
В моём случае направление движения объекта в результате применения сил оказывается одинаковым (из за forward).

Код:

if (Input.GetKey(KeyCode.F)){
        print ("F - entered");//
        transform.parent = null;//отцепляем объект от камеры
        rigidbody.isKinematic = false;// включаем физику. Что такое "кинематик"?
                                                            gameObject.rigidbody.AddForce(Vector3.forward*5, ForceMode.Impulse);// толкаю объект с силой. На этом месте и загвоздка.
}


pax 09.08.2012 07:10

Ответ: следование объекта за мышью
 
замени Vector3.forward на Camera.main.transform.forward

IsKinematic - объект, двигаемый вручную, не физикой.

Huruffus 09.08.2012 17:33

Ответ: следование объекта за мышью
 
Вложений: 1
что обозначает эта ошибка на скрине?

pax 09.08.2012 17:35

Ответ: следование объекта за мышью
 
Добавь в конце функции return ХХХ;

Huruffus 09.08.2012 17:43

Ответ: следование объекта за мышью
 
не работает. говорит "ХХХ отсутствует в текущем контексте".
да и такого никогда не видел

pax 09.08.2012 17:45

Ответ: следование объекта за мышью
 
ну я думал догадаешься, что ХХХ надо заменить на true или false...

В твоем случае надо наверное так:
PHP код:

public bool _LockCursorByButton()
    {
        return 
Input.GetKey(KeyCode.LeftShift);
    } 


Huruffus 09.08.2012 17:57

Ответ: следование объекта за мышью
 
:) ясно, спасибо


Часовой пояс GMT +4, время: 11:55.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot