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

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

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

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

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

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • zaicev9797Дата: Среда, 19 Февраля 2014, 12:58 | Сообщение # 5621
    AbRaKaDaBrA
    Сейчас нет на сайте
    Цитата lolskill ()
    есть персонаж куб платформер, под ним тоже куб 2d. Персонаж проваливается и улетает вниз. Что нужно сделать



    коллайдеры повесить

    Добавлено (19.02.2014, 12:58)
    ---------------------------------------------
    и ригид боди 2д


    проект Mysterious Space. The losted moment
    lentinantДата: Среда, 19 Февраля 2014, 17:12 | Сообщение # 5622
    ленивый программист
    Сейчас нет на сайте
    Еще такой вопрос будет: есть какое-то обозначение времени между вызовами OnGUI? Или сюда подходит deltaTime?

    Добавлено (19.02.2014, 17:12)
    ---------------------------------------------
    Чтобы уточнить - это нужно для управления с сенсорного экрана. Будет вращение через две кнопки. Сейчас это идет в апдейте через ось Horizontal, и там, собсно, есть deltaTime. Нашел, кстати, такую вещь как Touch.deltaTime. Она подойдет?


    Когда-то тут будут ссылки на крутые проекты. Или нет.
    castielblackДата: Среда, 19 Февраля 2014, 18:09 | Сообщение # 5623
    почетный гость
    Сейчас нет на сайте
    Ничего такого нет, Touch.deltaTime - эта штука работает как для мышки.
    Проблема в том, что OnGUI может вызываться несколько раз за кадр.
    имхо, от гуишек, которые в данный момент есть в юнити нужно отказываться.


    Знания : C#, Lua, C++, Unity, Dreemchest, DirectX 11
    Выпущенные проекты : BuildAndRun, Match 3 Cubes
    lentinantДата: Среда, 19 Февраля 2014, 18:36 | Сообщение # 5624
    ленивый программист
    Сейчас нет на сайте
    Цитата castielblack ()
    Ничего такого нет, Touch.deltaTime - эта штука работает как для мышки.

    Погуглил и понял, что использовать кнопки все равно не удастся. Перешел на GUITexture с использованием Input.touches. Проверка все равно происходит в Update, так что Input.deltaTime весьма подходит. Touch.deltaTime буду пробовать, если с текущий вариант будет неадекватно работать.


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

    Сообщение отредактировал lentinant - Среда, 19 Февраля 2014, 18:37
    polzavatelДата: Среда, 19 Февраля 2014, 18:58 | Сообщение # 5625
    был не раз
    Сейчас нет на сайте
    Помогите решить проблемку, как в 2d проекте у Sprite сменить сам текстуру(картинку), через скрипты csharp?
    castielblackДата: Среда, 19 Февраля 2014, 19:14 | Сообщение # 5626
    почетный гость
    Сейчас нет на сайте
    this.GetComponent<SpriteRenderer>().sprite = твой новый спрайт;

    Знания : C#, Lua, C++, Unity, Dreemchest, DirectX 11
    Выпущенные проекты : BuildAndRun, Match 3 Cubes
    TiodorДата: Среда, 19 Февраля 2014, 21:18 | Сообщение # 5627
    участник
    Сейчас нет на сайте
    Цитата
    Кто подскажет как сделать сетку в юнити внутри редактора, чтобы можно было по сетке ставить спрайты?

    Повторю вопрос, может кто-то знает


    VK: Tiodor
    NEBRДата: Среда, 19 Февраля 2014, 22:39 | Сообщение # 5628
    почти ветеран
    Сейчас нет на сайте
    Tiodor, окно сцены, сверху gizmos, там выбираешь show grid. Появится сетка, ячейки которой по дефолту равны 1 юниту (многие считают эту еденицу за 1 метр).

    King Size #Gamiron12
    TiodorДата: Среда, 19 Февраля 2014, 23:49 | Сообщение # 5629
    участник
    Сейчас нет на сайте
    NEBR, а нужного размера сетку?
    да и я имел ввиду, чтобы спрайты можно было к сетке привязать. аля тайловые карты делать


    VK: Tiodor

    Сообщение отредактировал Tiodor - Четверг, 20 Февраля 2014, 00:06
    lentinantДата: Четверг, 20 Февраля 2014, 00:12 | Сообщение # 5630
    ленивый программист
    Сейчас нет на сайте
    Подскажите хотя бы один адекватный метод вращения спрайта по направлению к другому спрайту. LookRotation и LookAt не подходят - они работают с вектором forward, а в 2D игре нужно, чтобы поворачивало вектор up. Я пытался задать ось вращения через второй параметр, однако безрезультатно. Также пытался поворачивать спрайт на угол между tranform.up и вектором от объекта к цели, однако там тоже есть косяки.

    Когда-то тут будут ссылки на крутые проекты. Или нет.
    castielblackДата: Четверг, 20 Февраля 2014, 01:01 | Сообщение # 5631
    почетный гость
    Сейчас нет на сайте
    Попробуй так :
    Код

    var newRotation = Quaternion.LookRotation(lookPoint.transform.position - transform.position).eulerAngles;

    newRotation.x = Mathf.Clamp(-90, -90, -90);

    newRotation.z = 0;

    transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.Euler(newRotation), 1);



    Знания : C#, Lua, C++, Unity, Dreemchest, DirectX 11
    Выпущенные проекты : BuildAndRun, Match 3 Cubes
    lentinantДата: Четверг, 20 Февраля 2014, 01:29 | Сообщение # 5632
    ленивый программист
    Сейчас нет на сайте
    Шаманство такое шаманство.
    Код
    void Update()
    {
          Vector3 moveDirection = gameObject.transform.position - _origPos;   
          if (moveDirection != Vector3.zero)   
          {
             float angle = Mathf.Atan2(moveDirection.y, moveDirection.x) * Mathf.Rad2Deg;
             transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward);
          }
    }

    Вот такая фигня. Будет поворачивать к позиции вектор x спрайта. Если вам надо, чтобы поворачивался вектор y, поставьте минус перед moveDirection.y.

    Добавлено (20.02.2014, 01:29)
    ---------------------------------------------
    Цитата castielblack ()
    Попробуй так :

    В LookRotation больше нет у меня веры.


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

    Сообщение отредактировал lentinant - Четверг, 20 Февраля 2014, 01:30
    darkduelistДата: Четверг, 20 Февраля 2014, 21:39 | Сообщение # 5633
    частый гость
    Сейчас нет на сайте
    Народ в раненнере на большой скорости перестает работать физика, не срабатывает OnTriggerEnter... Кто что подскажет?

    AhmadДата: Четверг, 20 Февраля 2014, 21:55 | Сообщение # 5634
    частый гость
    Сейчас нет на сайте
    Здравствуйте. Помогите решить проблему. Когда я захожу в триггер анимация нормально идет и доходит до конца.Но когда я выхожу из триггера анимация сбрасывается в начало sad Как сделать что бы она не сбрасывалась а медленно проигрывалась в начало? Подскажите пожалуйста ;3

    Код
    #pragma strict
    var speed:float;
    function Start () {

    }

    function OnTriggerEnter (tr:Collider) {
    if (tr.gameObject.tag == "lvl6")
    animation.Play("laserone");
    animation["laserone"].speed = (0.1);

    }
    function OnTriggerExit (tr:Collider) {
    if (tr.gameObject.tag == "lvl6")
    animation["laserone"].speed = (speed);
    animation.Play("laserone");

    }
    lentinantДата: Четверг, 20 Февраля 2014, 22:42 | Сообщение # 5635
    ленивый программист
    Сейчас нет на сайте
    Цитата darkduelist ()
    Народ в раненнере на большой скорости перестает работать физика, не срабатывает OnTriggerEnter... Кто что подскажет?

    Косяк физики юнити для быстродвижущихся тел. Поменяйте collisionDetectionMode в вашем rigidbody на CollisionDetectionMode.Continuous.

    Добавлено (20.02.2014, 22:42)
    ---------------------------------------------
    Можно ли вытянуть параметры LineRenderer с класса? Например, позиции и ширину. Чтобы, к примеру, из одного LineRenderer передавать параметры другому.


    Когда-то тут будут ссылки на крутые проекты. Или нет.
    berilДата: Пятница, 21 Февраля 2014, 14:38 | Сообщение # 5636
    Я не ленивый, я — энергосберегающий
    Сейчас нет на сайте
    У меня есть респаун моба, на нем висит скрипт. Нужно проиницализировать переменные. Я так понимаю это нужно делать в OnEnable ? Awake & Start не покатит? При условие, что при старте игры моба на карте нет он появляется через несколько секунд



    Накодил? Убери за собой!
    Инвентарь в Unity(UI)
    Инвентарь в Unity(GUI)
    NEBRДата: Пятница, 21 Февраля 2014, 15:13 | Сообщение # 5637
    почти ветеран
    Сейчас нет на сайте
    beril, нужно проинициализировать переменные на скрипте который висит на мобе или на спауне? ) Если Awake не подходит то ... вижу тут два варианта.
    1) При спауне моба в Start() отправлять сообщение в скрипт - спаун с командой на инициализацию переменных.
    2) Придумать что нибудь с конструктором классов


    King Size #Gamiron12
    berilДата: Пятница, 21 Февраля 2014, 15:33 | Сообщение # 5638
    Я не ленивый, я — энергосберегающий
    Сейчас нет на сайте
    Цитата NEBR ()
    beril, нужно проинициализировать переменные на скрипте который висит на мобе или на спауне?

    Да который висит на мобе. Я инициализирую в функции OnEnable, но мне кажется, что это не оптимальное решение




    Накодил? Убери за собой!
    Инвентарь в Unity(UI)
    Инвентарь в Unity(GUI)
    NEBRДата: Пятница, 21 Февраля 2014, 15:49 | Сообщение # 5639
    почти ветеран
    Сейчас нет на сайте
    beril, если моб появляется через несколько секунд после старта сцены то все правильно, в OnEnable
    Вообще я бы сделал в конструкторе класса инициализацию, но это дело вкуса


    King Size #Gamiron12
    polzavatelДата: Пятница, 21 Февраля 2014, 17:11 | Сообщение # 5640
    был не раз
    Сейчас нет на сайте
    А если я разбил большую текстуру на несколько маленьких (пример: http://gyazo.com/5ebd1842c3052b8e06b97e2934f92f56.png). Могу ли я загрузив только главную картинку в скрипт, использовать эти маленькие?
    Поиск:

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