Четверг, 28 Марта 2024, 18:05

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

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

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

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

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • allodsДата: Среда, 09 Июля 2014, 00:02 | Сообщение # 6261
    почти ветеран
    Сейчас нет на сайте
    я тоже
    AdomДата: Среда, 09 Июля 2014, 11:00 | Сообщение # 6262
    Печенька!
    Сейчас нет на сайте
    allods, А как еще ? Если ставить коллайдеры на оружие то когда резко вниз делаешь игрок подлетает. По моему с камерами способ проще.
    EchoITДата: Среда, 09 Июля 2014, 11:31 | Сообщение # 6263
    старожил
    Сейчас нет на сайте
    Adom, поскольку от первого лица играет только сам клиент, то делай так, чтобы слой с игроком и оружием присваивался только самому игроку, а на остальных забей. Даже в топовых играх оружие проходит сквозь стены, с этим ничего не поделать, по крайней мере с твоими знаниями.

    Долгожданный анонсик: State of War
    owerДата: Среда, 09 Июля 2014, 16:53 | Сообщение # 6264
    был не раз
    Сейчас нет на сайте
    Подскажите пожалуйста как написать простенького инфобота.
    Набросок такой.

    Код C#

    private bool _visible = false;

    void OnMouseUp () {
    if(Input.GetMouseButtonUp(0)) {
    _visible = true;
    }
    }

    void OnGUI () {
    if(_visible) {
    GUI.Box(new Rect((Screen.width - 300) / 2, (Screen.height - 300) / 2, 300, 300), "Здраствуй");
    if(active)
    GUI.Label(new Rect((Screen.width - 300) / 2 + 5, (Screen.height - 300) / 2 + 30, 290, 250), "1");
    if(active)
    GUI.Label(new Rect((Screen.width - 300) / 2 + 5, (Screen.height - 300) / 2 + 60, 290, 250), "2");
    if(active)
    GUI.Label(new Rect((Screen.width - 300) / 2 + 5, (Screen.height - 300) / 2 + 90, 290, 250), "3");
    if(GUI.Button(new Rect((Screen.width - 100) / 2, (Screen.height - 300) / 2 + 250, 100, 40), "Ок"))
    {
    _visible = false;}

    А хотелось бы что бы при нажатии на "1" - выводилось в Томже GUI сообщение
    При нажатии "2" другое сообщение. И т.д.
    White9Дата: Среда, 09 Июля 2014, 18:52 | Сообщение # 6265
    заслуженный участник
    Сейчас нет на сайте
    Всем привет, скажите как можно и можно ли вообще в бесплатной версии Unity выделить контур объекта? Варианты "шейдером" без подробного описания или ссылки просьба не предлагать )
    Пример того, чего я хочу добиться, под спойлером. Заранее спасибо )
    AdomДата: Среда, 09 Июля 2014, 19:42 | Сообщение # 6266
    Печенька!
    Сейчас нет на сайте
    ower, [code]-Для слабаков ?
    EchoITДата: Среда, 09 Июля 2014, 19:52 | Сообщение # 6267
    старожил
    Сейчас нет на сайте
    White9, только шейдером вообще-то. smile
    Adom, а разницы?


    Долгожданный анонсик: State of War
    White9Дата: Среда, 09 Июля 2014, 19:58 | Сообщение # 6268
    заслуженный участник
    Сейчас нет на сайте
    EchoIT, это и так очевидно, я же написал - просьба ссылку или пример чего-то подобного )
    Пробовал стандартные Toon shader, но результат далёк от идеального )


    Сообщение отредактировал White9 - Среда, 09 Июля 2014, 20:00
    allodsДата: Среда, 09 Июля 2014, 20:04 | Сообщение # 6269
    почти ветеран
    Сейчас нет на сайте
    Цитата White9 ()
    Варианты "шейдером" без подробного описания или ссылки просьба не предлагать

    Тебя поняли как "варианты шейдером не предлагать " ну по крайней мере я
    White9Дата: Среда, 09 Июля 2014, 22:19 | Сообщение # 6270
    заслуженный участник
    Сейчас нет на сайте
    allods, видимо, я иногда как Кличко высказываюсь biggrin
    lentinantДата: Среда, 09 Июля 2014, 22:38 | Сообщение # 6271
    ленивый программист
    Сейчас нет на сайте
    White9, в непосредственно коде шейдеров я не разбираюсь, но шейдер обводки работает приблизительно по следующему принципу: берем какие-то два пикселя, которые находятся на экране вместе, смотрим их расположение в игровом мире; если расстояние слишком большое, значит, один пиксель относится к фону, в таком случае, оба пикселя можно менять на цвет обводки. И так прогнать для всех пикселей, или пикселей объекта, который надо обвести.

    Когда-то тут будут ссылки на крутые проекты. Или нет.
    allodsДата: Среда, 09 Июля 2014, 22:53 | Сообщение # 6272
    почти ветеран
    Сейчас нет на сайте
    Цитата White9 ()
    видимо, я иногда как Кличко высказываюсь

    Сегодня в завтрашний день ...
    AdomДата: Среда, 09 Июля 2014, 23:05 | Сообщение # 6273
    Печенька!
    Сейчас нет на сайте
    Как сделать счетчик смертей и убийств ? Опять-же в Онлайн что-бы видели все.
    White9Дата: Среда, 09 Июля 2014, 23:25 | Сообщение # 6274
    заслуженный участник
    Сейчас нет на сайте
    lentinant, спасибо за идею, но в коде шейдеров я тоже совсем не разбираюсь ) Неужели нигде нет готовых примеров? Вроде как в современных играх это используется довольно часто...)
    zisXДата: Четверг, 10 Июля 2014, 16:34 | Сообщение # 6275
    Neto Zis
    Сейчас нет на сайте
    Как сделать так чтобы в textfield вводились только определенные символы(например цифры и латиницу) ?

    lentinantДата: Пятница, 11 Июля 2014, 05:03 | Сообщение # 6276
    ленивый программист
    Сейчас нет на сайте
    zisX, есть такая штука, как Regex.Replace. Пример использования. Правда, только для шарпа, и сложновато разобраться, как составлять критерий для замены.

    Когда-то тут будут ссылки на крутые проекты. Или нет.

    Сообщение отредактировал lentinant - Пятница, 11 Июля 2014, 05:05
    DantorSДата: Пятница, 11 Июля 2014, 05:32 | Сообщение # 6277
    заслуженный участник
    Сейчас нет на сайте
    Как делается в играх и как это реализовать в unity: когда стреляешь в бота, который стоит рядом со стеной, на стене появляется кровавое пятно? Понятно, что надо делать с помощью системы частиц. Но как определить что бот стоит у стены
    RangerДата: Пятница, 11 Июля 2014, 06:00 | Сообщение # 6278
    почти ветеран
    Сейчас нет на сайте
    DantorS,
    при помощи raycastall.
    на выходе получаешь массив хитов.
    Дальше - простая аналитика.
    Цитата DantorS ()
    Понятно, что надо делать с помощью системы частиц.

    Вообще-то это делается декалями, а не частицами.


    DantorSДата: Пятница, 11 Июля 2014, 23:51 | Сообщение # 6279
    заслуженный участник
    Сейчас нет на сайте
    Цитата Ranger ()
    DantorS,
    при помощи raycastall.
    на выходе получаешь массив хитов.
    Дальше - простая аналитика.

    Спс
    Цитата Ranger ()
    Вообще-то это делается декалями, а не частицами.

    Ошибся, в 5 утра не до декалей smile

    Добавлено (11.07.2014, 18:56)
    ---------------------------------------------
    Ranger, вопрос по аналитике: вот я получил массив из стен (представь вот у меня есть несколько комнат, и рэйкаст касается нескольких стен во всех комнатах). Как мне определить какую стену надо оставлять (в общем определение нужной стены в комнате в которой персонаж)? Как мне определить с какой стороны лепить декаль?

    Добавлено (11.07.2014, 19:05)
    ---------------------------------------------
    Ranger, и вообще как декаль лепить на стену? Она же должна находиться за ботом. Поэтому просто рэйкаст не вариант. Тогда что?

    Добавлено (11.07.2014, 19:06)
    ---------------------------------------------
    Ну если бы стеной был обычный плэйн, а не бокс - тогда проблем бы не было

    Добавлено (11.07.2014, 23:51)
    ---------------------------------------------
    up

    lentinantДата: Пятница, 11 Июля 2014, 23:57 | Сообщение # 6280
    ленивый программист
    Сейчас нет на сайте
    Цитата DantorS ()
    Ranger, и вообще как декаль лепить на стену? Она же должна находиться за ботом. Поэтому просто рэйкаст не вариант. Тогда что?

    Сказали же, используй RaycastAll. Если между тобой и врагом нет препятствий, в массиве результатов, первый элемент должен обозначать именно пересечение с врагом (ну, или по тегу искать элемент, обозначающий врага). Следующий после врага результат - точка соприкосновения со стеной, которая за врагом. Вот в точку соприкосновения и лепишь декаль, если расстояние между точкой попадания во врага и ней позволяет.


    Когда-то тут будут ссылки на крутые проекты. Или нет.
    Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Вопрос-[ответ] по Unity (Задаём свои вопросы)
    Поиск:

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