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

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

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

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

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

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • drcrackДата: Четверг, 10 Мая 2018, 03:42 | Сообщение # 8541
    старожил
    Сейчас нет на сайте
    Цитата
    Не знаю как получить вторую из префаба

    Не понимаю что мешает добавить второе поле)
    Код
    public Image img2;
    img2.fillAmount = Random.Range(0f,1f);

    И да, не надо менять размер, поставь тип изображения Filled и меняй fillAmount
    DeveloperGameДата: Четверг, 10 Мая 2018, 21:42 | Сообщение # 8542
    частый гость
    Сейчас нет на сайте
    Прохожу одновременно несколько видеоуровков, в надежде хоть какой-нибудь пройти до конца. В итоге нечего у меня не получается. То ли версии несовместимы, то ли авторы используют скрытые библиотеки. Вот функция которая никак не хочет работать.
    Версия: Unity 4
    Код

    public void CheckTile(Vector3 direction, float jumpHeight)
        {
           // 0,25f, (1+jumpHeight)/2.0f, 0.25f
            Vector3 halfExtents = new Vector3();
            Collider[] colliders = Physics.OverlapBox(transform.position + direction, halfExtents);
            //if(Physics.SphereCast(origign))
            //{
            //}
            foreach(Collider item in colliders)
            {
                 Tile tile = tile.GetComponent<Tile>();
                 if(tile != null && tile.walkable)
                 {
                      RaycastHit hit;
                      if(Physics.Raycast(tile.transform.position, Vector3.up, out hit, 1))
                        adjacencyList.Add(tile);
                 }
            }
        }

    Выдает ошибки.
    Assets/Tile.cs(72,40): error CS0117: `UnityEngine.Physics' does not contain a definition for `OverlapBox'
    Assets/Tile.cs(78,26): error CS0165: Use of unassigned local variable `tile'

    В чем проблема, судя по ошибки программа не может найти функцию OverlapBox, хотя у автора видеокурса все работает, есть ли альтернатива этой функции?


    Developer online game

    Сообщение отредактировал DeveloperGame - Четверг, 10 Мая 2018, 21:44
    drcrackДата: Четверг, 10 Мая 2018, 22:36 | Сообщение # 8543
    старожил
    Сейчас нет на сайте
    Unity 4 устарела лет 5 назад, обновись

    Цитата
    Assets/Tile.cs(78,26): error CS0165: Use of unassigned local variable `tile'

    замени tile.GetComponent на item.GetComponent
    DeveloperGameДата: Четверг, 10 Мая 2018, 23:33 | Сообщение # 8544
    частый гость
    Сейчас нет на сайте
    И как обновится если единственную версию которую я нашел и скачал через торрент это Unity 4? Пятую не знаю как достать. Тем более у меня Windows XP SP 3.0. Пойдёт ли пятая часть, на этой операционке?

    Developer online game

    Сообщение отредактировал DeveloperGame - Четверг, 10 Мая 2018, 23:37
    drcrackДата: Четверг, 10 Мая 2018, 23:55 | Сообщение # 8545
    старожил
    Сейчас нет на сайте
    Цитата
    Пятую не знаю как достать.

    Скачать с официального сайта

    Цитата
    Тем более у меня Windows XP SP 3.0.

    Обновись до Windows 7


    Сообщение отредактировал drcrack - Четверг, 10 Мая 2018, 23:58
    DeveloperGameДата: Пятница, 11 Мая 2018, 17:45 | Сообщение # 8546
    частый гость
    Сейчас нет на сайте
    Слишком хлопотно переустанавливать. По системным требованиям Windows 7 сразу использует 1 гб памяти, то есть половину того, что у меня есть, а дискового пространства 16 гб. Для операционки у меня выделено 20 гб. т.е на установку другого ПО просто не хватит место. Лучше пока попользуюсь Unity 4. В unity 4 есть какая-нибудь альтернатива кнопки, а то во время прохождения видеокурса автор использует UI->Button? Дело в том, что у автора стоит Unity 4.6.1f1. у меня Unity 4.5.0f6 и кнопки Button я не нашёл.

    И ещё один вопрос какая на данный момент последняя версия Unity которая идёт на Windows XP SP 3?

    P.S. Системные требования Windows 7 я прочитал через wikipedia


    Developer online game
    НезНалДата: Воскресенье, 13 Мая 2018, 12:16 | Сообщение # 8547
    участник
    Сейчас нет на сайте
    сейчас (хоть и со скрипом) все потребители переходят на Windows 7 ... 64 бит (и андроиды)
    (в продаже ноут или системный блок под 32 битные ОС найти не так уж и легко)
    какой смысл делать для ХР?

    регистрация бесплатной программы Unity на ее сайте малость придурковатая.
    еле слепил пароль
    (надо не лениться переводить их слова, чтобы понять чего хотят)


    кратко о себе
    в прогах дуб липовый


    Сообщение отредактировал НезНал - Четверг, 17 Мая 2018, 22:44
    zhuravelsvДата: Воскресенье, 13 Мая 2018, 12:33 | Сообщение # 8548
    почетный гость
    Сейчас нет на сайте
    Цитата НезНал ()
    сейчас (хоть и со скрипом) все потребители переходят на Windows 7

    это было актуально лет шесть назад, а вин7 уже почти десять лет, все уже начали переходить на вин10


    Разработка программного обеспечения для ОС Windows и Android, клиент-серверные, облачные приложения, работа с БД и многое другое - https://www.weblancer.net/users/zhuravelsv/

    Сообщение отредактировал zhuravelsv - Воскресенье, 13 Мая 2018, 12:33
    НезНалДата: Воскресенье, 13 Мая 2018, 12:34 | Сообщение # 8549
    участник
    Сейчас нет на сайте
    zhuravelsv

    на десятке очень много жалоб масового потребителя,
    на семерке значительно меньше


    кратко о себе
    в прогах дуб липовый


    Сообщение отредактировал НезНал - Воскресенье, 13 Мая 2018, 12:37
    zhuravelsvДата: Воскресенье, 13 Мая 2018, 12:37 | Сообщение # 8550
    почетный гость
    Сейчас нет на сайте
    Цитата НезНал ()
    на десятке очень много жалоб масового потребителя

    опять же это устаревшая инфа, пользуюсь десяткой с того момента как только она появилась в доступе, изначально некоторые проблемы были, сейчас же уже полтора года она у меня на рабочем компе стоит и всё идеально, вин7 до десятки очень далеко и по удобству и по стабильности
    НезНалДата: Воскресенье, 13 Мая 2018, 12:40 | Сообщение # 8551
    участник
    Сейчас нет на сайте
    не вижу смысла спорить,
    возможно, для разработок лучше десятка (только предположение),
    я пользуюсь семеркой (но я потребитель).

    но в одном мы сходимся - ХР для игроманов уже не актуален


    кратко о себе
    в прогах дуб липовый


    Сообщение отредактировал НезНал - Воскресенье, 13 Мая 2018, 12:42
    STRATEG766Дата: Вторник, 15 Мая 2018, 23:03 | Сообщение # 8552
    частый гость
    Сейчас нет на сайте
    Цитата НезНал ()
    Не понимаю что мешает добавить второе поле)
    Ахаха, добавил второе и все ок. Спс.))

    Добавлено (15 Мая 2018, 23:03)
    ---------------------------------------------
    Цитата drcrack ()
    Не понимаю что мешает добавить второе поле)

    .


    Сообщение отредактировал STRATEG766 - Вторник, 15 Мая 2018, 23:04
    sim22xДата: Четверг, 17 Мая 2018, 14:29 | Сообщение # 8553
    был не раз
    Сейчас нет на сайте
    Можно ли как то плавно отображать изменения параметров transform?
    У меня есть спрайт, я хочу что бы при клике на него, он плавно увеличился в размере.
    Если написать
    Код
    transform.localScale += new Vector3(1.5F, 1.5F, 0);

    То изменение происходит одномоментно.
    Есть решение через анимацию, но пилить её для каждого объекта муторно %)


    Сообщение отредактировал sim22x - Четверг, 17 Мая 2018, 14:30
    drcrackДата: Четверг, 17 Мая 2018, 15:25 | Сообщение # 8554
    старожил
    Сейчас нет на сайте
    Vector3.MoveTowards или Vector3.Lerp по ситуации, в твоем случае:
    Код

    // transform.localScale += new Vector3(1.5F, 1.5F, 0);
    transform.localScale = Vector3.MoveTowards(transform.localScale, new Vector3(1.5F, 1.5F, 0), 0.5f * Time.deltaTime);

    где 0.5f это скорость


    Сообщение отредактировал drcrack - Четверг, 17 Мая 2018, 15:26
    sim22xДата: Четверг, 17 Мая 2018, 15:52 | Сообщение # 8555
    был не раз
    Сейчас нет на сайте
    Цитата drcrack ()
    в твоем случае:

    На OnMouseOver действительно даёт гладкий переход, но спрайт скейлится до указанной величины (1.5).
    Если я поменяю на
    Код

    transform.localScale += ...

    То спрайт растягивается до невменяемых размеров.

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

    Мне бы хотелось, что бы скейл происходил от исходного значения +1.5f.
    Например есть спрайт cо значением (0.3, 0.4, 0). Вызваем команду и он становится (1.8, 1.9, 0).
    Спрайты могут быть с разными исходными значениями, а уровень скейла один и тот же +1.5f.


    Сообщение отредактировал sim22x - Четверг, 17 Мая 2018, 16:13
    drcrackДата: Четверг, 17 Мая 2018, 16:27 | Сообщение # 8556
    старожил
    Сейчас нет на сайте
    Цитата
    На OnMouseDown() размеры изменяются лишь по чуть чуть с каждым кликом, перехода нет.

    Ну так ты его 1 раз вызываешь, он 1 раз и меняет
    А надо каждый кадр, например в корутине:

    Код
      IEnumerator ScaleUp(Transform transform, float scaleMultiplier, float time) {

        var startTime = Time.time;
        var endTime = startTime + time;
        var startScale = transform.localScale;
        var targetScale = startScale * scaleMultiplier;

        while (Time.time < endTime) {

          var k = (Time.time - startTime) / time;

          transform.localScale = Vector3.Lerp(startScale, targetScale, k);

          yield return null;
        }

        transform.localScale = targetScale;

      }

    // ....
    StartCoroutine(ScaleUp(transform, 1.5f, 1f));
    sim22xДата: Четверг, 17 Мая 2018, 17:02 | Сообщение # 8557
    был не раз
    Сейчас нет на сайте
    Чет у меня уже голова не варит, мой прошлый вариант не верен, я просто подогнал до параметра, а не сложил :/

    targetScale = startScale * scaleMultiplier;
    было 0.3 0.4
    стало 0.45 0.6

    update...
    подправил
    Код

    var targetScale = startScale;
    targetScale.x += scaleMultiplier;
    targetScale.y += scaleMultiplier;

    Теперь ок. Спасибо ^_^


    Сообщение отредактировал sim22x - Четверг, 17 Мая 2018, 17:15
    drcrackДата: Четверг, 17 Мая 2018, 17:39 | Сообщение # 8558
    старожил
    Сейчас нет на сайте
    Цитата
    Теперь ок.

    Ну кроме того что ты прибавляешь переменную которая называется "множитель". Переименуй ее, во имя Бога Стиля Кода! :D


    Сообщение отредактировал drcrack - Четверг, 17 Мая 2018, 17:39
    ДанилаСтержневДата: Четверг, 24 Мая 2018, 01:47 | Сообщение # 8559
    постоянный участник
    Сейчас нет на сайте
    Подскажите, как "считать" переменную объекта при его входе в триггер?

    Красочная сюжетно ориентированная игра-головоломка
    VostruginДата: Четверг, 24 Мая 2018, 08:46 | Сообщение # 8560
    постоянный участник
    Сейчас нет на сайте
    ДанилаСтержнев,

    Код

    void OnTriggerEnter(Collider other) {
            Debug.Log(other.gameObject.GetComponent<MyScript>.MyVariable);
        }





    Поиск:

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