Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Dismiss Notice

[Решено] Положение партиклов

Discussion in 'Разработка плагинов для новичков' started by misterney, Feb 19, 2016.

Thread Status:
Not open for further replies.
  1. Автор темы
    misterney

    misterney Активный участник Пользователь

    Trophy Points:
    78
    Skype:
    misterney
    Имя в Minecraft:
    misterney
    Столкнулся с проблемой.
    Имеется генерация партиклов на фиксированном расстояние от игрока, но подвох в том, что расстояние фиксировано по всем параметрам.
    А хотелось бы чтобы при повороте головы игрока положение этих партиклов менялось, то есть как бы спавнились партиклы за головой. Но поворот чтобы был по горизонтали (Без pitch)
    Понимаю что нужно зайдействовать параметр Yaw, но вот как вычислить, не понимаю.
    Помогите пожалуйста.
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    misterney

    misterney Активный участник Пользователь

    Trophy Points:
    78
    Skype:
    misterney
    Имя в Minecraft:
    misterney
  4. Reality_SC

    Reality_SC Старожил Пользователь

    Trophy Points:
    123
    Имя в Minecraft:
    Reality_SC
    Ну просто повернуть каждую точку вокруг игрока на угол yaw, что сложного?
     
  5. Автор темы
    misterney

    misterney Активный участник Пользователь

    Trophy Points:
    78
    Skype:
    misterney
    Имя в Minecraft:
    misterney
    В том то и проблема...
     
  6. Reality_SC

    Reality_SC Старожил Пользователь

    Trophy Points:
    123
    Имя в Minecraft:
    Reality_SC
    Синус, косинус ... знакомые слова? :)
     
  7. Автор темы
    misterney

    misterney Активный участник Пользователь

    Trophy Points:
    78
    Skype:
    misterney
    Имя в Minecraft:
    misterney
    Я через них и пытался делать T.T
    xnew = x * Math.cos(yaw) - z * Math.sin(yaw);
    znew = z * Math.sin(yaw) + x * Math.cos(yaw);
    В итоге белиберда...
    Подскажи как правильнее, а то уже крыша едет.
     
  8. Reality_SC

    Reality_SC Старожил Пользователь

    Trophy Points:
    123
    Имя в Minecraft:
    Reality_SC
    upload_2016-2-19_22-2-46.png
    Ну смотри, координаты частиц (например, точки A и B) указываются векторами OA и OB (O — начало системы координат с центром в игроке). Надо посчитать для каждой точки из X и Z её R (расстояние) и Y (угол), то есть перевести в полярную систему координат. Затем прибавляешь к углу yaw игрока, и переводишь обратно в координаты X/Z. Получаешь две новые точки, A' и B', которые повернуты вместе с игроком.
    Прибавляешь к полученным числам координаты игрока в мире — получаешь координаты частички эффекта в мире.
    x = r * cos(yaw); z = r * sin(yaw)
    Вроде бы так ... я уже всё :)
     
  9. Автор темы
    misterney

    misterney Активный участник Пользователь

    Trophy Points:
    78
    Skype:
    misterney
    Имя в Minecraft:
    misterney
    Ты прекрасен! Спасибо большое! Пойду кодить.
    upd. Всего тебе там наилучшего и здоровья и денег, короче всего, выручил ты меня!
     
Thread Status:
Not open for further replies.

Share This Page