Суббота, 28 Декабря 2024, 11:53

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

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

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

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

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • ExcelsiorerДата: Среда, 02 Декабря 2015, 22:51 | Сообщение # 7441
    частый гость
    Сейчас нет на сайте
    MANMANA, Спасибо огромное! Я гуглил, но на эти темы не натыкался почему-то
    xMoonGuarDxДата: Четверг, 03 Декабря 2015, 21:21 | Сообщение # 7442
    участник
    Сейчас нет на сайте
    Такой вопрос: использую ортогональную проекцию в 2д. Так понимаю, что сетка в юнити представляет собой 1 юнит, обычно воспринимаемый как 1 кв.м. В интернете вычитал, что размер камеры надо рассчитывать по формуле ( высота/(2*100) ). Так же у самих спрайтов есть такой параметр, как Pixels per unit. Вот задаю я его 100, мой спрайт 50х200, создаю его на сцене и мой спрайт занимает 4 квадрата в высоту и 1 в ширину. Т.е. в два раза больше, чем я ожидаю (scale выставлен в 1). И для высоты 768 он занимает чуть больше половины, что опять же не верно. В чем может быть проблема? Что упускаю из виду?
    Заранее спасибо.
    allodsДата: Пятница, 04 Декабря 2015, 13:19 | Сообщение # 7443
    почти ветеран
    Сейчас нет на сайте
    Ребят помогите решить задачку.

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

    Добавлено (04 декабря 2015, 13:19)
    ---------------------------------------------

    Цитата allods ()
    Такой вопрос: использую ортогональную проекцию в 2д. Так понимаю, что сетка в юнити представляет собой 1 юнит, обычно воспринимаемый как 1 кв.м. В интернете вычитал, что размер камеры надо рассчитывать по формуле ( высота/(2*100) ). Так же у самих спрайтов есть такой параметр, как Pixels per unit. Вот задаю я его 100, мой спрайт 50х200, создаю его на сцене и мой спрайт занимает 4 квадрата в высоту и 1 в ширину. Т.е. в два раза больше, чем я ожидаю (scale выставлен в 1). И для высоты 768 он занимает чуть больше половины, что опять же не верно. В чем может быть проблема? Что упускаю из виду?
    Заранее спасибо.


    1 квадрат это может быть метром километром сантиметром, настрой под себя и не парься
    xMoonGuarDxДата: Пятница, 04 Декабря 2015, 13:36 | Сообщение # 7444
    участник
    Сейчас нет на сайте
    allods, вопрос в том, что спрайт оценивается, как 100 пикселей на юнит, но на сцене спрайт 50х200 занимает 1 блок в ширину и 4 в высоту. Почему?
    allodsДата: Пятница, 04 Декабря 2015, 13:40 | Сообщение # 7445
    почти ветеран
    Сейчас нет на сайте
    а Width и Heigth сколько у картинки
    xMoonGuarDxДата: Пятница, 04 Декабря 2015, 14:05 | Сообщение # 7446
    участник
    Сейчас нет на сайте
    allods, у самого атласа спрайтов - 2048х1393, у конкретного изображения с этого атласа - 50х214. Или ты о каких-то других размерах говоришь?
    allodsДата: Пятница, 04 Декабря 2015, 14:21 | Сообщение # 7447
    почти ветеран
    Сейчас нет на сайте
    да нет про это
    А сколько Size у камеры
    xMoonGuarDxДата: Пятница, 04 Декабря 2015, 14:38 | Сообщение # 7448
    участник
    Сейчас нет на сайте
    allods, 3.84
    allodsДата: Пятница, 04 Декабря 2015, 14:55 | Сообщение # 7449
    почти ветеран
    Сейчас нет на сайте
    а если поставить на 5

    Добавлено (04 декабря 2015, 14:52)
    ---------------------------------------------
    Выставите на 2,4 и должно быть норм

    Добавлено (04 декабря 2015, 14:55)
    ---------------------------------------------
    у меня с камерой Size 2,4 100 пикселей при Canvas Scale scale 1 и 100 на пиксель занимает 1 большой квадрат

    HoneyДата: Пятница, 04 Декабря 2015, 15:45 | Сообщение # 7450
    уже был
    Сейчас нет на сайте
    Всем привет) Нужна небольшая помощь. Делаю передвижение объекта и необходимо сделать наклон его на бок при движении влево либо вправо
    Код

    public class PlayerController : MonoBehaviour {
        
        public float speed;
        public float tilt;
        public Transform tr;
        void Start(){
              tr = GetComponent<Transform> ();
        }

      void FixedUpdate() {

             float moveHorizontal = Input.GetAxis("Horizontal") * Time.deltaTime * speed;
             float moveVertical = Input.GetAxis("Vertical")* Time.deltaTime * speed;

             Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);

             tr.position += movement;
             tr.rotation = Quaternion.Euler (0.0f, 0.0f, Mathf.Clamp(tr.position.x*-tilt,-1.0f,1.0f));
        }
    }

    Вращение было сделано с помощью Euler, но оно не было ничем ограниченно, при попытке ограничения через Mathf.Clamp вращение происходит пересекая лишь определенную позицию и не возвращается в исходное состояние. Подскажите как можно поворачивать объект лишь на небольшое значение и после прекращения движения вдоль данной оси возвращать его в обычное состояние.
    NEBRДата: Пятница, 04 Декабря 2015, 16:06 | Сообщение # 7451
    почти ветеран
    Сейчас нет на сайте
    Honey, я бы для этого дела юзал DoTween
    Вращение на нужный угол за нужное время всего одной строкой кода


    King Size #Gamiron12
    allodsДата: Пятница, 04 Декабря 2015, 16:12 | Сообщение # 7452
    почти ветеран
    Сейчас нет на сайте
    NEBR, а для этого сгодится ?

    Есть скорость полета ядра, есть скажем так физика которая тянет ядро в низ, есть дистанция до которой снаряд должен долететь
    Нужно узнать угол от горизонта под которым снаряд должен вылететь.
    Не могу составить формулу а еще меньше перевести ее под код
    Dj_FroZTBiteДата: Суббота, 05 Декабря 2015, 13:03 | Сообщение # 7453
    Серебряная душа
    Сейчас нет на сайте
    Господа игроделы. Скажие пожалуйста, как правильно менять уровень в Unity (игра от первого лица) ? Чтобы игрок как бы переносился на другую сцену, а не создавался новый

    Рук нет, есть только кривые культяпки.

    Сообщение отредактировал Dj_FroZTBite - Суббота, 05 Декабря 2015, 13:04
    MaxplantДата: Суббота, 05 Декабря 2015, 15:49 | Сообщение # 7454
    был не раз
    Сейчас нет на сайте
    Подскажите пожалуйста, как организовать переход на заранее заданный сайт с открытием браузера по нажатию кнопки (с#, android). Искал в сети, но нашел ответ только по отношению к ПК.
    allodsДата: Суббота, 05 Декабря 2015, 18:23 | Сообщение # 7455
    почти ветеран
    Сейчас нет на сайте
    Цитата Dj_FroZTBite ()
    Господа игроделы. Скажие пожалуйста, как правильно менять уровень в Unity (игра от первого лица) ? Чтобы игрок как бы переносился на другую сцену, а не создавался новый

    DontDestroyOnLoad(transform.gameObject); не удаляется при переходе от одной сцены в другую

    Добавлено (05 декабря 2015, 18:23)
    ---------------------------------------------

    Цитата Maxplant ()
    Подскажите пожалуйста, как организовать переход на заранее заданный сайт с открытием браузера по нажатию кнопки (с#, android). Искал в сети, но нашел ответ только по отношению к ПК.

    А какая разница, что там что там открывает браузер и переходит. Посмотри код кнопки телефона и все
    AndVolkoVДата: Суббота, 05 Декабря 2015, 18:37 | Сообщение # 7456
    участник
    Сейчас нет на сайте
    Цитата Maxplant ()
    переход на заранее заданный сайт с открытием браузера

    Application.OpenURL
    ExcelsiorerДата: Суббота, 05 Декабря 2015, 21:06 | Сообщение # 7457
    частый гость
    Сейчас нет на сайте
    Код: При заходе в триггер увеличить переменную CText один, а он ее увеличивает на два, не могу понять почему

    Код
    public bool hasCollided = false; // Проверка столкновения с триггером
        public int CText = 0; // Номер текущего текстового сообщения
        public string[] CurrentText; //Массив всех текстовых сообщений

    ....тут идет остальной код
    ....где не используются
    ....данные переменные

        void OnTriggerEnter (Collider col)
        {    
       if (CText >= CurrentText.Length)  // Если номер текущего сообщения больше чем всего сообщений в массиве,
        {
       CText = CurrentText.Length; // то приравниваем номер текущего сообщения к последнему номеру в массиве. Но оно почему-то не работает

      }
            else // Если номер текущего текстового сообщения входит в массив
       {
      
       hasCollided = true;
       CText += 1; //Увеличиваем номер текущего сообщения на 1. Но он почему-то увеличивает на 2
      }
        }


    Сообщение отредактировал Excelsiorer - Суббота, 05 Декабря 2015, 21:09
    MaxplantДата: Суббота, 05 Декабря 2015, 22:08 | Сообщение # 7458
    был не раз
    Сейчас нет на сайте
    Цитата AndVolkoV ()
    ри код кнопки телефона и все
    Бесконечно благодарен!
    Dj_FroZTBiteДата: Воскресенье, 06 Декабря 2015, 00:52 | Сообщение # 7459
    Серебряная душа
    Сейчас нет на сайте
    Цитата allods ()
    DontDestroyOnLoad(transform.gameObject)

    Куда впихивать? Впихнул в скрипт рейкаста-двери и перехода на след. уровень - ничего нового.


    Рук нет, есть только кривые культяпки.
    AndVolkoVДата: Воскресенье, 06 Декабря 2015, 09:51 | Сообщение # 7460
    участник
    Сейчас нет на сайте
    Dj_FroZTBite, Посмотри короткое видео:

    Хоть на английском, но понять можно.
    Поиск:

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