Проблема. Двигается не весь объект, а только его коллайдер.

Программирование на Юнити.

Проблема. Двигается не весь объект, а только его коллайдер.

Сообщение Battou 18 дек 2010, 16:07

В общем, ситуация. Есть префаб, дом, в нём есть префаб двери, к ней приделан скрипт что бы она отодвигалась на нное расстояние после клика по ней. Когда тестирую на кубах и прочем - всё отлично. Но когда на этом вот префабе в префабе - двигает куда надо только коллайдер, сама двер сотаётся на месте. 0_о Из-за чего так может быть? Что я не так написал? Привожу скрипт в пример. Там есть отсылки на другой скрипт, но он с движением не связан.

Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class openDoor : MonoBehaviour {

        public bool closed = true;
        private float sdvig = 0F;
        private float dist;
        public Transform player;
       
        // Use this for initialization
        void Start () {
       
        }
       
        // Update is called once per frame
        void Update () {
       
        dist = Vector3.Distance(player.position, gameObject.transform.position);       
               
               
                if(closed == false){
                       
                        if(sdvig <=0.9){
                        gameObject.transform.Translate(-(0.9F*Time.deltaTime),0F,0F);
                        sdvig = sdvig+Time.deltaTime;
                        }
                }
               
               
                if(closed == true){
                       
                        if(sdvig >0.0){
                        gameObject.transform.Translate(+(0.9F*Time.deltaTime),0F,0F);
                        sdvig = sdvig-Time.deltaTime;
                        }
                }      
               
               
        }
       
       
        void OnMouseEnter() {
                if(dist <= 1.5){
                         Cursors.onobject = 1;
                }        
        }

        void OnMouseExit(){
               
                Cursors.onobject = 0;
               
        }
       
        void OnMouseDown(){
       
        if(dist <= 1.5){
               
                if( closed == true){
                       
                        closed = false;
                        return;
                }
               
                        if( closed == false){
                       
                        closed = true;
                        return;
                }
               
        }      
       
        }
       
       
        void OnGUI(){
               
                GUI.Label (new Rect(10,200,100,100),"Distanse: " + dist);
               
               
        }
       
}
 
Battou
UNIт
 
Сообщения: 116
Зарегистрирован: 24 ноя 2010, 18:08

Re: Проблема. Двигается не весь объект, а только его коллайдер.

Сообщение Zaicheg 18 дек 2010, 16:28

Одно можно сказать точно -- двигается у вас тот геймобъект, на котором висит скрипт, а не его коллайдер или что-либо ещё.
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Проблема. Двигается не весь объект, а только его коллайдер.

Сообщение Battou 18 дек 2010, 16:35

Вот и я говорю, странно. Сейчас сделал подругому. Прицепил скрипт к двери не добавляя модель в префаб, тоесть объекты в игре небыли связаны с моделью или префабом в ассетах - всё заработало. Видно проблема в связи объекта с файлом модели FBX. Или ещё ХЗ в чём. Буду копаться дальше. Может потом кому-то поможет.
Battou
UNIт
 
Сообщения: 116
Зарегистрирован: 24 ноя 2010, 18:08

Re: Проблема. Двигается не весь объект, а только его коллайдер.

Сообщение Zaicheg 18 дек 2010, 16:38

Проблема скорее всего в чём-то вроде невнимательности. Если соберёте минипроект, где только ваш дом с дверью проблемный будет -- я посмотрю.
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Проблема. Двигается не весь объект, а только его коллайдер.

Сообщение Battou 18 дек 2010, 16:39

Всё, нашёл в чём беда. Проблема была в том что я сделал префаб не из файла модели в тот раз, а из объекта уже в игре. Сейчас сделал такой же префаб, но перетащил в него модель из ассетов и всё стало нормально. Не думал что есть разница откуда перетягивать. 0_о.
Battou
UNIт
 
Сообщения: 116
Зарегистрирован: 24 ноя 2010, 18:08


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 1