Обьекты появляются ПОД префабом

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Обьекты появляются ПОД префабом

Сообщение Pikov 23 ноя 2017, 22:50

Здравствуйте уважаемые игроделы, прошу помощи , начал обучение UNITY смотрю гайды на офф.канале unity и вот такая штука у меня вышла :Мне нужно что бы при клике на браш у меня он либо заменялся префабом ,либо как ниже описано в коде просто создавался на нём ,но у меня как то не выходит это ,префаб создаётся ниже браша и меньше размером.Что нужно исправить?

Синтаксис:
Используется csharp
public GameObject card;
        public Camera camera;
        public bool ch = false;
        // Use this for initialization
        void Start () {
               
        }
       
        // Update is called once per frame
        void Update ()
        {
                RaycastHit hit;
                Ray ray = camera.ScreenPointToRay (Input.mousePosition);
                if (Physics.Raycast (ray, out hit)) {
                        Transform objectHit = hit.transform;
                        if (Input.GetMouseButton (0)) {
                                if (hit.collider.tag == "karta") {
                                       
                                        Instantiate (card, objectHit);
                                               
                                        }
                                }
                        }
                }
        }
Последний раз редактировалось Pikov 24 ноя 2017, 14:38, всего редактировалось 1 раз.
Pikov
UNец
 
Сообщения: 7
Зарегистрирован: 23 ноя 2017, 22:43

Re: Обьекты появляются ПОД префабом

Сообщение samana 24 ноя 2017, 00:22

А этот код точно работает? Вы передаёте трансформ туда, где нужно передать позицию (Instantiate (card, objectHit)).
Если это псевдокод, то не делайте так больше, а показывайте оригинальный. К тому же код надо оформлять тегами (кнопка CS в редактировании сообщения).
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Обьекты появляются ПОД префабом

Сообщение Pikov 24 ноя 2017, 14:40

samana писал(а):А этот код точно работает? Вы передаёте трансформ туда, где нужно передать позицию (Instantiate (card, objectHit)).
Если это псевдокод, то не делайте так больше, а показывайте оригинальный. К тому же код надо оформлять тегами (кнопка CS в редактировании сообщения).


Я знаю что это БЫДЛОкод ,но пока что по другому не умею:)Можете подсказать как будет правильнее его оформить?И желательно как сделать что бы префаб появлялся с определённым размером.
Pikov
UNец
 
Сообщения: 7
Зарегистрирован: 23 ноя 2017, 22:43

Re: Обьекты появляются ПОД префабом

Сообщение Cr0c 24 ноя 2017, 16:04

Сначала прочесть все перегрузки Instantiate. Прочесть какие свойства имеет Transform (например про свойство localScale).
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: Обьекты появляются ПОД префабом

Сообщение samana 24 ноя 2017, 16:12

Лучше пускать луч и делать все расчёты после нажатия мыши, а не постоянно до него.
Вот так должно сработать, теоретически. На счёт размера нового объекта не подскажу, так как вы должны задать его сами.

Синтаксис:
Используется csharp
void Update()
{
    if (Input.GetMouseButton(0))
    {
        RaycastHit hit;
        Ray ray = camera.ScreenPointToRay(Input.mousePosition);
        if (Physics.Raycast(ray, out hit))
        {
            if (hit.collider.tag == "karta")
            {
                Transform newCard = Instantiate<GameObject>(card).transform;
                newCard.position = hit.transform.position;
                newCard.transform.localScale = new Vector(0.5,0.5,0.5)
            }
        }
    }
}
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Обьекты появляются ПОД префабом

Сообщение Pikov 24 ноя 2017, 16:33

samana писал(а):Лучше пускать луч и делать все расчёты после нажатия мыши, а не постоянно до него.
Вот так должно сработать, теоретически. На счёт размера нового объекта не подскажу, так как вы должны задать его сами.

Синтаксис:
Используется csharp
void Update()
{
    if (Input.GetMouseButton(0))
    {
        RaycastHit hit;
        Ray ray = camera.ScreenPointToRay(Input.mousePosition);
        if (Physics.Raycast(ray, out hit))
        {
            if (hit.collider.tag == "karta")
            {
                Transform newCard = Instantiate<GameObject>(card).transform;
                newCard.position = hit.transform.position;
                newCard.transform.localScale = new Vector(0.5,0.5,0.5)
            }
        }
    }
}


Я так понял в коде небольшая ошибка в строке newCard.transform.localScale = new Vector(0.5,0.5,0.5) нужно написать new Vector3 ,но и так и так выдаёт ошибку.Либо Vector нужно сделать переменной какого либа вида?
p.s.извините что туплю только начинаю учиться)
Pikov
UNец
 
Сообщения: 7
Зарегистрирован: 23 ноя 2017, 22:43

Re: Обьекты появляются ПОД префабом

Сообщение Cr0c 24 ноя 2017, 16:36

samana писал(а):На счёт размера нового объекта не подскажу, так как вы должны задать его сами.

Он задается из префаба и потом ещё раз скейлится по родителю, а тот по своему родителю и так до корня.
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: Обьекты появляются ПОД префабом

Сообщение Cr0c 24 ноя 2017, 16:37

new Vector3(0.5f, 0.5f, 0.5f)
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: Обьекты появляются ПОД префабом

Сообщение Pikov 24 ноя 2017, 16:39

Cr0c писал(а):new Vector3(0.5f, 0.5f, 0.5f)


Спасибо,а что даёт это предписание f?
Pikov
UNец
 
Сообщения: 7
Зарегистрирован: 23 ноя 2017, 22:43

Re: Обьекты появляются ПОД префабом

Сообщение samana 24 ноя 2017, 16:40

Cr0c писал(а):
samana писал(а):На счёт размера нового объекта не подскажу, так как вы должны задать его сами.

Он задается из префаба и потом ещё раз скейлится по родителю, а тот по своему родителю и так до корня.

Да, скорее всего так, автор ведь ничего не говорил по этому поводу.
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Обьекты появляются ПОД префабом

Сообщение Anonymyx 24 ноя 2017, 16:41

'f' явно указывает что число типа float, а не double.
Извинюсь что вмешиваюсь.
Последний раз редактировалось Anonymyx 24 ноя 2017, 16:41, всего редактировалось 1 раз.
Аватара пользователя
Anonymyx
Адепт
 
Сообщения: 1973
Зарегистрирован: 05 апр 2015, 15:55

Re: Обьекты появляются ПОД префабом

Сообщение samana 24 ноя 2017, 16:41

Pikov писал(а):
Cr0c писал(а):new Vector3(0.5f, 0.5f, 0.5f)


Спасибо,а что даёт это предписание f?


Очень просто, это сокращенно от
Флипендо — Отталкивающие чары в играх «Гарри Поттер и Философский камень» и «Гарри Поттер и Тайная комната».
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Обьекты появляются ПОД префабом

Сообщение Pikov 24 ноя 2017, 16:42

samana писал(а):
Cr0c писал(а):
samana писал(а):На счёт размера нового объекта не подскажу, так как вы должны задать его сами.

Он задается из префаба и потом ещё раз скейлится по родителю, а тот по своему родителю и так до корня.

Да, скорее всего так, автор ведь ничего не говорил по этому поводу.


Размер в префабе устанавливал изначально)СПасибо большое всем за помощь:)
Pikov
UNец
 
Сообщения: 7
Зарегистрирован: 23 ноя 2017, 22:43

Re: Обьекты появляются ПОД префабом

Сообщение samana 24 ноя 2017, 16:43

Anonymyx писал(а):'f' явно указывает что число типа float, а не double.
Извинюсь что вмешиваюсь.

Приготовьтесь отвечать на вопрос - что такое float и double :D
Последний раз редактировалось samana 24 ноя 2017, 16:43, всего редактировалось 1 раз.
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Обьекты появляются ПОД префабом

Сообщение Pikov 24 ноя 2017, 16:43

Anonymyx писал(а):'f' явно указывает что число типа float, а не double.
Извинюсь что вмешиваюсь.

Спасибо за объяснение :)
Pikov
UNец
 
Сообщения: 7
Зарегистрирован: 23 ноя 2017, 22:43

След.

Вернуться в Почемучка

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

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