Пятница, 22 Ноября 2024, 15:54

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос-[ответ] по Unity
QWER56Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1
старожил
Сейчас нет на сайте
Вопрос-[Ответ] по Unity3d

  • База скриптов Unity3d
  • Курс Уроков по Unity 3D от Alcatraz

    ConsMark - поисковик по интернет магазинам.

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • AdomДата: Суббота, 23 Августа 2014, 23:49 | Сообщение # 6441
    Печенька!
    Сейчас нет на сайте
    GantZ_Yaka , Ой блин , совсем голова ночью не варит , спасибо biggrin

    Добавлено (23.08.2014, 23:49)
    ---------------------------------------------
    Эх , как-то стремно еще спрашивать , но все-же , этот домик который я создаю при создании становиться дочернией того объекта который я клацнул мышкой.
    Как сделать что-бы домик посылал это сообщение только своему родителю ?

    LucckyyДата: Воскресенье, 24 Августа 2014, 07:40 | Сообщение # 6442
    частый гость
    Сейчас нет на сайте
    Помогите - у меня стоит Unity PRO версии 4.5.3
    Как поменять логотип при загрузке веб-плеера?
    logoimage не помогает и не знаю куда и как его написать. Кто знает как это сделать,желательно по-русский.(в официальной документации unity написано ТОЛЬКО ОПИСАНИЕ функции,но не инструкция)


    Ласки
    AdomДата: Воскресенье, 24 Августа 2014, 12:20 | Сообщение # 6443
    Печенька!
    Сейчас нет на сайте
    Тык
    На русском не нашел.
    LucckyyДата: Воскресенье, 24 Августа 2014, 13:55 | Сообщение # 6444
    частый гость
    Сейчас нет на сайте
    Так я писал что это читал,там только описания функции

    Ласки
    GetShukДата: Воскресенье, 24 Августа 2014, 23:35 | Сообщение # 6445
    был не раз
    Сейчас нет на сайте
    Доброго времени суток, господа игроделы. У меня возникла следующая проблема: при навешивании скрипта (собственного написания) на объект, вылезает ошибка : "Сan't add skript. Can't add component "Jump" because it doesn't exist. Check to see if the file name and class name match". Совпадают или не совпадают имена, а ошибка остается та же. То ли я дурак, то ли лыжи не едут. Прошу помощи.
    SarCasmДата: Понедельник, 25 Августа 2014, 00:10 | Сообщение # 6446
    заслуженный участник
    Сейчас нет на сайте
    Скрин

    Моя игра Gamiron#11 - Тема Скачать
    AstralangelДата: Понедельник, 25 Августа 2014, 00:12 | Сообщение # 6447
    STF Games
    Сейчас нет на сайте
    Цитата GetShuk ()
    Доброго времени суток, господа игроделы. У меня возникла следующая проблема: при навешивании скрипта (собственного написания) на объект, вылезает ошибка : "Сan't add skript. Can't add component "Jump" because it doesn't exist. Check to see if the file name and class name match". Совпадают или не совпадают имена, а ошибка остается та же. То ли я дурак, то ли лыжи не едут. Прошу помощи.

    Скрипт должен называться "Jump.cs" и имя класса в скрипте также должно называться "Jump", тогда подобных проблем не будет, других причин возникновения данной ошибки вроде как нет.


    Весь мир театр, все люди в нем актеры и каждый не одну играет роль (с) Шекспир
    GetShukДата: Понедельник, 25 Августа 2014, 00:23 | Сообщение # 6448
    был не раз
    Сейчас нет на сайте
    Цитата Astralangel ()
    тогда подобных проблем не будет

    В том-то и прикол, что имена совпадают.

    Добавлено (25.08.2014, 00:23)
    ---------------------------------------------
    Скрин
    https://yadi.sk/i/MeNxN0NcaLwes

    Сообщение отредактировал GetShuk - Понедельник, 25 Августа 2014, 00:22
    SarCasmДата: Понедельник, 25 Августа 2014, 00:26 | Сообщение # 6449
    заслуженный участник
    Сейчас нет на сайте
    удали и скопируй в новый

    Моя игра Gamiron#11 - Тема Скачать
    GetShukДата: Понедельник, 25 Августа 2014, 00:40 | Сообщение # 6450
    был не раз
    Сейчас нет на сайте
    Все, разобрался. Пересоздал заново вкладку в Project с этим скриптом. Откликнувшимся на проблему - огромное спасибо.

    Сообщение отредактировал GetShuk - Понедельник, 25 Августа 2014, 00:40
    polousДата: Понедельник, 25 Августа 2014, 21:09 | Сообщение # 6451
    частый гость
    Сейчас нет на сайте
    Ребята, вопрос такой возник - у меня объект перемещается по клику мышки по terrain, в проекте на экране есть кнопки (OnGUI), выполняющие всякое-разное, и когда я кликаю по кнопке на экране, то выполняется сразу 2 действия - то, что должна делать кнопка и непосредственно перемещение по тиррэйну. Как бы сквозной клик через кнопку ГУИ на террейн.
    Как мне избежать вызов перемещения, когда я кликаю по кнопке на экране?


    Сообщение отредактировал polous - Понедельник, 25 Августа 2014, 21:12
    ArtanielДата: Вторник, 26 Августа 2014, 00:01 | Сообщение # 6452
    частый гость
    Сейчас нет на сайте
    polous, у меня два варианта.
    Логический: после клика по GUI элементу надо както отменить действия совершенные кликом на террейне (на случай если тиррейтн уже обработал клик) и блокировать реакцию на клик (на случай если обработает позже) на один фрейм. Может быть сложно, если при клике на тиррейн происходит чтото совсем уж необратимое и легко восстановить состояние до клика не получится.

    Геометрический: делаешь для камеры маску из коллаедров (наверное можно и триггеры), так чтобы эти коллаедры закрывали нужные участки поля видимости камеры. Маска естественно прозрачная, дочерний объект камеры. Клик по объектам за этими коллаедрами будет обработан только ими и не пропущен дальше. Я например так при всплывающих окошках блокирую все сзади них одним сплошным забралом. Весьма геморройно при перспективной камере, адово сложно при большом количестве подвижных GUI элементов.

    Добавлено (26.08.2014, 00:01)
    ---------------------------------------------
    А потом я подумал, погуглил и понял что всю жизнь делал все не так.
    Третий способ: есть такой метод GUILayer.HitTest(Vector3 screenPosition) Он пробует что будет если кликнуть по так то позиции на экране. Возращает GUIElement.
    Т.е.

    Код
    Camera.main.GetComponent<GUILayer>().HitTest(Input.mousePosition) == null

    будет true, если под мышкой сейчас нет GUI элементов.
    Просто вставляем эту проверку в клик по тиррейну и должно работать. Если сильно захотеть, можно получать сам GUI элемент, анализировать его и разбираться должен ли он быть прозрачным для клика или нет.
    AstralangelДата: Вторник, 26 Августа 2014, 00:06 | Сообщение # 6453
    STF Games
    Сейчас нет на сайте
    Цитата polous ()
    Как мне избежать вызов перемещения, когда я кликаю по кнопке на экране?

    Вариант с коллайдерами даже не бери в расчет, это не есть хорошо.
    Просмотри видео - https://www.youtube.com/watch?v=N2zdwKIsXJs должно помочь.
    Также вот прекрасное обсуждение этого вопроса (осторожно english)


    Весь мир театр, все люди в нем актеры и каждый не одну играет роль (с) Шекспир

    Сообщение отредактировал Astralangel - Вторник, 26 Августа 2014, 00:07
    polousДата: Вторник, 26 Августа 2014, 00:43 | Сообщение # 6454
    частый гость
    Сейчас нет на сайте
    Благодарю вас за помощь, буду пробовать.

    Добавлено (26.08.2014, 00:43)
    ---------------------------------------------
    Не думаю, что стоит создавать отдельную тему для этого вопроса, поэтому задам тут. При повороте в указанную точку пространства объект наклоняется. При перемещении - уходит пот "землю". И это понятно, ведь я указываю точку на тиррэйне, т.е. y=0 при прочих x,z. А центр масс у объекта находится в y=1 при прочих x,z. Так вот, как же избавиться от этого наклона и уползания в тиррэйн? Обшарил форумы, куча примеров, как перемещать объекты, но как-то не нахожу ответа. Подскажете?)

    berilДата: Вторник, 26 Августа 2014, 03:39 | Сообщение # 6455
    Я не ленивый, я — энергосберегающий
    Сейчас нет на сайте
    Нормализуй вектор после поворота.
    Ты используешь CharacterController?




    Накодил? Убери за собой!
    Инвентарь в Unity(UI)
    Инвентарь в Unity(GUI)
    berilДата: Вторник, 26 Августа 2014, 03:45 | Сообщение # 6456
    Я не ленивый, я — энергосберегающий
    Сейчас нет на сайте
    Цитата polous ()
    Как мне избежать вызов перемещения, когда я кликаю по кнопке на экране?

    Есть много вариантов, можно к примеру проверять является ли кнопка GUI активной.
    Если у тебя управление к примеру ты клацаешь по точке на земле и персонаж двигается в ту точку тогда так можно

    if (Input.GetMouseButton(0) && GUIUtility.hotControl == 0)
    {
    здесь действия перемещения и т.д
    }




    Накодил? Убери за собой!
    Инвентарь в Unity(UI)
    Инвентарь в Unity(GUI)


    Сообщение отредактировал beril - Вторник, 26 Августа 2014, 03:47
    polousДата: Вторник, 26 Августа 2014, 03:52 | Сообщение # 6457
    частый гость
    Сейчас нет на сайте
    я спрашивал 2 постами выше про одновременный запуск двух разных методов одним "сквозным" кликом по кнопке гуи и тирэйну, располагающейся за кнопкой... так вот, похожая ситуация возникает, когда есть 2 юнита игрока (оба стоят и способны перемещаться по тиррэйну по клику мыши). Проблема возникает, когда пытаюсь сменить выделение с одного юнита на другого - вновь происходит вызов 2х методов одновременно - метод перемещения и метод выделения, т.е. клик по невыделенному юниту приводит к выделению этого юнита и перемещению ранее выделенного юнита в точку, где стоит вновь выделяемый юнит...
    Точка, в которую нужно двигаться по клику, находится по рейкасту; выделение юнитов также по рейкасту (конечно, другому) и я думал, что введение уникальных слоев тиррейна и юнитов для рейкастов решит эту проблему, но, увы... Есть идеи, как с этим бороться?
    GantZ_YakaДата: Вторник, 26 Августа 2014, 08:31 | Сообщение # 6458
    почетный гость
    Сейчас нет на сайте
    polous, логично предположить, что необходим контроль за событиями со стороны отдельным скриптом либо связями внутри скриптов.
    allodsДата: Четверг, 28 Августа 2014, 05:17 | Сообщение # 6459
    почти ветеран
    Сейчас нет на сайте
    Для моей игры мне нужно сделать чтоб каждый мог сделать свой аккаунт в игре.

    Вот в принципе вопрос, как лучше всего это реализовать? правильно и грамотно.

    Думал что через MySQL , начал изучать и устанавливать, и тут на хабре наткнулся на одни урок, где все были не довольны, типо Жди кучу хакеров итп итд. И короче я ничего не понял. Что тогда делать?

    Может кто просветить на эту тему ?
    morgloddddДата: Четверг, 28 Августа 2014, 05:23 | Сообщение # 6460
    участник
    Сейчас нет на сайте
    Цитата allods ()
    Жди кучу хакеров

    Скорее всего вы не поняли суть урока))
    Хацкеров не будет, если проверять SQL запросы, вот и все happy
    Поиск:

    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг