Среда, 27 Ноября 2024, 02:28

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

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

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

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

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • noTformaTДата: Среда, 23 Февраля 2011, 12:28 | Сообщение # 321
    Ukrainian independent game developer
    Сейчас нет на сайте
    Quote (Order)
    А с контроллерами так не поможете?

    какими?


    @noTformaT
    pixeyeДата: Среда, 23 Февраля 2011, 12:28 | Сообщение # 322
    Red Winter Software
    Сейчас нет на сайте
    Quote (Order)
    большое спасибо. А с контроллерами так не поможете?

    если вы про аналоговый джойстик на экран, то в стандартных уроках юнити есть.


    ACTORS - мой фреймворк на Unity
    Until We Die - игра над которой работаю

    OrderДата: Среда, 23 Февраля 2011, 12:38 | Сообщение # 323
    частый гость
    Сейчас нет на сайте
    pixeye,
    спасибо большое.


    pixeyeДата: Среда, 23 Февраля 2011, 12:47 | Сообщение # 324
    Red Winter Software
    Сейчас нет на сайте
    Quote (Order)
    pixeye,
    спасибо большое.

    единственный косяк - там этот джойстик "квадратный" а вы наверно хотели бы круговой. Ну если я правильно понял о каком джойстике речь ( типа тянешь пальцем кнопку и игрок двигается, кнопка достигает критической точки и кнопка дальше не тянется за пальцем )


    ACTORS - мой фреймворк на Unity
    Until We Die - игра над которой работаю

    EyeДата: Воскресенье, 27 Февраля 2011, 13:15 | Сообщение # 325
    заслуженный участник
    Сейчас нет на сайте
    Ребят, помогите написать скрипт.
    При наведении на спец. объект (тег) и нажатии ЛКМ он исчезает. При нажатии в любом месте опять ЛКМ, он появляется на том месте, куда навели. Нужно чтобы еще он придерживался спец. высоты.
    Нужно копать в сторону лучей - но я до сей поры с ними не разобрался.
    Заранее благодарю.


    ICQ: 422190728,
    E-Mail: funnyalien@yandex.ru,
    Jabber: funnyalien@jabber.ru,
    Steam: funnyalienvalentine,
    Twitter: MrFunnyAlien,
    Skype: happyconsole,
    ВКонтакте: vk.com/twinemen,
    Мобильный: +79199212414.


    Сообщение отредактировал Eye - Воскресенье, 27 Февраля 2011, 13:22
    AtomKriegДата: Понедельник, 28 Февраля 2011, 10:55 | Сообщение # 326
    частый гость
    Сейчас нет на сайте
    Quote (Eye)
    Ребят, помогите написать скрипт.
    При наведении на спец. объект (тег) и нажатии ЛКМ он исчезает. При нажатии в любом месте опять ЛКМ, он появляется на том месте, куда навели. Нужно чтобы еще он придерживался спец. высоты.
    Нужно копать в сторону лучей - но я до сей поры с ними не разобрался.
    Заранее благодарю.

    как-то примерно так:

    Code
    private GameObject objToHideInsert;

    if (Input.GetMouseButtonDown(0) && (objToHideInsert == null))
    {
        Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
        RaycastHit rcHit;
        if (Physics.Raycast (ray, out rcHit))
        {   
           if (rcHit.collider.gameObject.tag = "TheTag")
           {
             objToHideInsert = rcHit.collider.gameObject;
             objToHideInsert.transform = new Vector3(99999,99999,99999); // или любой другой код чтобы скрыть объект с поля зрения.
           }
        }
    }

    Для того чтобы поставить объект на определенную высоту (если я правильно понимаю что ты хочешь реализовать) тебе нужна плоскость и делать проверку на пересечение с ней. На всех объектах должны быть коллайдеры.

    Code

    if (Input.GetMouseButtonDown(0) && (objToHideInsert != null))
    {
        Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
        RaycastHit rcHit;
        if (Physics.Raycast (ray, out rcHit))
        {   
           if (rcHit.collider.gameObject.name = "planeForRaycast")
           {
             objToHideInsert.position = rcHit.point;
             objToHideInsert = null;
           }
        }
    }

    Либо через это: http://unity3d.com/support/documentation/ScriptReference/Plane.Raycast.html

    Сообщение отредактировал AtomKrieg - Понедельник, 28 Февраля 2011, 20:38
    vetoloДата: Вторник, 01 Марта 2011, 17:48 | Сообщение # 327
    участник
    Сейчас нет на сайте
    как активировать ???я на сайте скачал какой-то файлик в формате хмл...но запихнуть его немогу((или скиньте в лс кряк)

    Добавлено (01.03.2011, 17:48)
    ---------------------------------------------
    как сделать так,что бы игрок не проваливался?(от 3 лица)


    I like Minimal techno.
    ЛевшаДата: Вторник, 01 Марта 2011, 23:17 | Сообщение # 328
    почти ветеран
    Сейчас нет на сайте
    Quote (vetolo)
    как сделать так,что бы игрок не проваливался?(от 3 лица)

    1. Приподними его над тем, на чем он стоит.
    2. Назначь колайдер, тому на чем он стоит. smile


    X.cor.R (Prologue)
    vetoloДата: Среда, 02 Марта 2011, 17:31 | Сообщение # 329
    участник
    Сейчас нет на сайте
    Левша, я нуб в юнити...можно сказать просто что нажимать?

    I like Minimal techno.
    seamanДата: Среда, 02 Марта 2011, 21:27 | Сообщение # 330
    старожил
    Сейчас нет на сайте
    Quote
    Левша, я нуб в юнити...можно сказать просто что нажимать?

    Что нажать? - Нажать на каждую ссылку ниже прочитать, разобраться...
    http://unity3d.ru/distribution/viewtopic.php?f=11&t=430
    http://unity3d.ru/distribution/viewtopic.php?f=11&t=656
    http://unity3d.ru/distribution/viewtopic.php?f=11&t=753
    Нажать наверху в Юнити Help => Manual прочитать, разобраться...
    Надеюсь после этого не будет таких вопросов...
    vetoloДата: Среда, 02 Марта 2011, 21:42 | Сообщение # 331
    участник
    Сейчас нет на сайте
    seaman, умничать вредно.
    Quote (seaman)
    Что нажать? - Нажать на каждую ссылку ниже прочитать, разобраться... http://unity3d.ru/distribution/viewtopic.php?f=11&t=430http://unity3d.ru/distribution/viewtopic.php?f=11&t=430 http://unity3d.ru/distribution/viewtopic.php?f=11&t=656http://unity3d.ru/distribution/viewtopic.php?f=11&t=656 http://unity3d.ru/distribution/viewtopic.php?f=11&t=753http://unity3d.ru/distribution/viewtopic.php?f=11&t=753

    их переводили через ПК переводчик,сами немогут...
    Quote (seaman)
    Нажать наверху в Юнити Help => Manual прочитать, разобраться...

    я знаю английский на школьном уровне,увы мне 13лет

    Добавлено (02.03.2011, 21:37)
    ---------------------------------------------
    seaman,
    был задан кокретный вопрос!
    нехочешь отвечать,не умничай...

    Добавлено (02.03.2011, 21:39)
    ---------------------------------------------
    seaman, кроме http://unity3d.ru/distribution/viewtopic.php?f=11&t=430,уже прочитал и учил

    Добавлено (02.03.2011, 21:42)
    ---------------------------------------------
    seaman, был неправ,недоглядел в http://unity3d.ru/distribution/viewtopic.php?f=11&t=430(


    I like Minimal techno.
    seamanДата: Четверг, 03 Марта 2011, 00:12 | Сообщение # 332
    старожил
    Сейчас нет на сайте
    Quote
    seaman, умничать вредно.

    Умным быть никогда не вредно...

    Понимаешь таких вопросов миллион, таких нубов как ты еще больше. Умножь - сколько раз придется отвечать? А ведь большинство ответов уже есть в уроках, в справке. Просто большинство людей хотят все и сразу. Но так не бывает. Пока не прочитаешь кучу уроков ничего все-равно знать не будешь. Даже если на форуме найдется добрый дяденька, который все разжует, то на десятом вопросе и он взвоет и перестанет отвечать, а ты привыкнешь, что тебе все разжевывают, и не научишься сам искать ответы на вопросы.

    PS: А английский лучше учить, если собираешься быть игроделом. Увы он более востребован пока чем русский...

    andarkyДата: Четверг, 03 Марта 2011, 10:55 | Сообщение # 333
    старожил
    Сейчас нет на сайте
    есть код билборда:
    Code

    function Update ()  
    {
      var wk: float =  gameObject.Find("cam").transform.position.y;
      var v:Vector3 =  gameObject.Find("cam").transform.position+transform.position;
      transform.LookAt(gameObject.Find("cam").transform.position+Vector3(0,-90,0));
    }

    как мне сделать чтоб спрайт был лицом к камере и при движении по оY.

    в Blitz3d это сделано красиво, но зашито в объект Sprite
    Unity круче, но как на JS написать чтоб спрайт всегда смотрел камере в лицо?



    Моя страничка по дизайну
    GameDev//Design//3D
    Ютубчик
    pixeyeДата: Четверг, 03 Марта 2011, 11:20 | Сообщение # 334
    Red Winter Software
    Сейчас нет на сайте
    Quote (andarky)
    как мне сделать чтоб спрайт был лицом к камере и при движении по оY.

    в Blitz3d это сделано красиво, но зашито в объект Sprite
    Unity круче, но как на JS написать чтоб спрайт всегда смотрел камере в лицо?

    самый простой вариант - в центре вида камеры разместить объект сделав его прозрачным - сделать его чайлдом камеры чтобы он всегда оставался в "центре"

    Насколько я понял у вас 2д игра. Размещайте спрайт который смотрит на первый объект ( тот что в камере ) на одной высоте плоскости.

    Так же пользуйтесь EulerAngels. Это ползволит жестко "фиксировать" углы.

    Вот вам пример.

    Code
    var targetRotation = Quaternion.LookRotation(target.position-transform.position); //разница векторов цели и объекта смотрящего на цель. Таргет позишон это наш приатаченный к камере объект
      transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, Time.deltaTime * 1); // плавный поворот
      transform.eulerAngles = new Vector3(270, transform.eulerAngles.y, 0); //  рассчет углов объекта. ВСЕГДА повернут по X на 270, второй показатель это есть поворот вокруг оси Y, третий 0 - по z. У вас может быть иначе в зависимости от того какой ракурс камеры используете - но смысл думаю ясен )  


    ACTORS - мой фреймворк на Unity
    Until We Die - игра над которой работаю



    Сообщение отредактировал pixeye - Четверг, 03 Марта 2011, 11:27
    AtomKriegДата: Четверг, 03 Марта 2011, 11:34 | Сообщение # 335
    частый гость
    Сейчас нет на сайте
    Quote (andarky)
    как мне сделать чтоб спрайт был лицом к камере и при движении по оY.

    transform.LookAt(Camera.current.transform);

    andarkyДата: Четверг, 03 Марта 2011, 11:45 | Сообщение # 336
    старожил
    Сейчас нет на сайте
    pixeye,
    нет. Задача другая.
    При нажатии на определенную кнопку у меня на карте над объектами появляются иконки.
    А я летаю над картой.
    Сейчас (при моем вышеописанном коде), когда поднимаюсь высоко - то иконки не глядят на меня вверх.
    Есть скрины:



    Моя страничка по дизайну
    GameDev//Design//3D
    Ютубчик
    AtomKriegДата: Четверг, 03 Марта 2011, 12:40 | Сообщение # 337
    частый гость
    Сейчас нет на сайте
    Используй GuiTexture, всегда повернуты фейсом к камере. И вот эта функция поможет вычислить их координаты : Camera.WorldToScreenPoint
    andarkyДата: Четверг, 03 Марта 2011, 12:56 | Сообщение # 338
    старожил
    Сейчас нет на сайте
    AtomKrieg,
    наверное GuiTexture не пойдет.
    А если часть иконка должна выглядывать из-за стены или другого 3D объекта сцены?



    Моя страничка по дизайну
    GameDev//Design//3D
    Ютубчик
    AtomKriegДата: Четверг, 03 Марта 2011, 13:25 | Сообщение # 339
    частый гость
    Сейчас нет на сайте
    Code
    Quote (andarky)
    как мне сделать чтоб спрайт был лицом к камере и при движении по оY.

    transform.LookAt(Camera.current.transform);

    ты вот это читал?

    EyeДата: Четверг, 03 Марта 2011, 14:50 | Сообщение # 340
    заслуженный участник
    Сейчас нет на сайте
    Есть какие-нибудь готовые решения консоли для проектов юнити? Надо бы в игрушку добавить - тестеры вводят спец. команды - что-то происходит.
    Хотябы сорец GUI, там я уже сам smile


    ICQ: 422190728,
    E-Mail: funnyalien@yandex.ru,
    Jabber: funnyalien@jabber.ru,
    Steam: funnyalienvalentine,
    Twitter: MrFunnyAlien,
    Skype: happyconsole,
    ВКонтакте: vk.com/twinemen,
    Мобильный: +79199212414.
    Поиск:

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