Воскресенье, 29 Декабря 2024, 03:25

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

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

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

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

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • krapДата: Суббота, 09 Мая 2015, 13:27 | Сообщение # 6961
    почетный гость
    Сейчас нет на сайте
    Кто знает как используя юнитискрипт в классе получить доступ к внешней переменной?
    Например,
    Код

    var example;
    ...
    class someClass {
    var T : int = example;
    }

    В данном примере example почему то не виден.
    Раньше эту проблему устранял с помощью доп. переменной. Но это неправильный подход на мой взгляд
    Да и весьма не удобный. Кто знает как это решить?
    MANMANAДата: Суббота, 09 Мая 2015, 13:43 | Сообщение # 6962
    почти ветеран
    Сейчас нет на сайте
    а как к ней стучишься?
    если просто скрипт.example, то тут нужно использовать статическую переменную
    Код
    static var example;

    Если же через компоненты, то
    насколько я помню ЮнитиСкрипт, просто var - публичная переменная, и доступ к ней должен осуществляться через GetComponent
    Код
    var otherScript: OtherScript = GetComponent(OtherScript);    
    otherScript.example = 1;

    если не работает последний вариант, попробовать добавить public перед var example;
    Справочно: http://docs.unity3d.com/410....ts.html

    Добавлено (09 мая 2015, 13:40)
    ---------------------------------------------
    p.s. а ты где объявляешь var example;?
    Если внутри какого либо метода/функции (того же Update), то такое объявление считается приватным объявлением,
    если сразу после класса, то публичным

    Добавлено (09 мая 2015, 13:43)
    ---------------------------------------------
    в Unity, канеш, может и отличаться http://answers.unity3d.com/questio....ar.html
    есть еще комбинация public static


    http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
    VKонтакте 3Dbuffer

    Последнее:

    Новый раздел "Текстуры"

    Как запатентовать, защитить техническое решение, игру, идею


    Сообщение отредактировал MANMANA - Суббота, 09 Мая 2015, 13:40
    krapДата: Суббота, 09 Мая 2015, 14:12 | Сообщение # 6963
    почетный гость
    Сейчас нет на сайте
    MANMANA, example объявлен в самом скрипте как публичная переменная - я ей задаю значения через инспектор
    Цитата
    GetComponent(OtherScript);

    юнити такую запись ругает и типа считает устаревший
    я всегда использую GetComponent.<OtherScript>()
    Цитата
    var otherScript: OtherScript = GetComponent(OtherScript);
    otherScript.example = 1;

    Т.е. для того чтобы обратиться к публичной переменной в скрипте
    мне нужно в классе получить компонент этого же скрипта?

    Добавлено (09 мая 2015, 14:12)
    ---------------------------------------------
    MANMANA, да ты прав, написал я значт
    Код
    var example : int;
    class someClass {
    var otherScript = GameObject.Find("myExampleObject").GetComponent.<Script>()
    otherScript.example = 100;
    }

    Попробывал вместо файнд написать просто gameObject.GetComponent...
    но класс ругается, мол незнаю такой.
    Ладно пока буду использовать файнд т.к. хотябы работает)


    Сообщение отредактировал krap - Суббота, 09 Мая 2015, 14:14
    MANMANAДата: Суббота, 09 Мая 2015, 15:01 | Сообщение # 6964
    почти ветеран
    Сейчас нет на сайте
    Цитата krap ()
    но класс ругается, мол незнаю такой.

    если скрипты висят на разных объектах, то тебе придется использовать либо Find, либо FindWithTag, FindGameObjectsWithTag. Это API Unity

    либо использовать в скрипте из которого стучишься код

    Код
    var player : GameObject; //сюда перетаскиваешь объект со сцены в Инспекторе, к скрипту которого хочешь достучаться
    player.GetComponent.<Script>().example =100;//начисление баллов :)


    либо такой код

    Код
    var player : GameObject; //сюда перетаскиваешь объект со сцены в Инспекторе, к скрипту которого хочешь достучаться
    var otherScript = player.GetComponent.<Script>();
    otherScript.example =100;//начисление баллов :)


    не помню сейчас UnityScript, что там работает, что нет
    Пересаживайся на C#

    Добавлено (09 мая 2015, 15:01)
    ---------------------------------------------
    не хочешь так делай статичной переменную и сможешь достучаться до нее откеда хошь

    p.s. а бублик работает только между скриптами одного объекта


    http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
    VKонтакте 3Dbuffer

    Последнее:

    Новый раздел "Текстуры"

    Как запатентовать, защитить техническое решение, игру, идею
    sem6666Дата: Суббота, 09 Мая 2015, 15:34 | Сообщение # 6965
    участник
    Сейчас нет на сайте
    На сколько сложно будет в Unity сделать 2D платфоремр? Не просто спрайтовый, а используя 3D модели. Как пример Trine.
    MANMANAДата: Суббота, 09 Мая 2015, 15:43 | Сообщение # 6966
    почти ветеран
    Сейчас нет на сайте
    2,5 D?
    а насколько тебе сложно было сделать на других системах, например UE? smile
    как хорошо ты знаешь языки программирования?
    знаешь ли C#?
    Моделлить умеешь? развертка, текстурирование?

    а так, ответ: нет, не долго.
    вот уже готовый https://www.assetstore.unity3d.com/en/#!/content/1726 запихувай свои модели и вс готово
    поискать - еще набрать можно

    Добавлено (09 мая 2015, 15:43)
    ---------------------------------------------
    p.s. анимирование персов забыл smile


    http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
    VKонтакте 3Dbuffer

    Последнее:

    Новый раздел "Текстуры"

    Как запатентовать, защитить техническое решение, игру, идею
    sem6666Дата: Суббота, 09 Мая 2015, 16:07 | Сообщение # 6967
    участник
    Сейчас нет на сайте
    MANMANA, Спасибо за Asset. Что то вроде того и нужно. C# не знаю. Только паскаль. С моделями могут помочь. Это же будет простой проект и не коммерческий.
    MR_BorgДата: Понедельник, 11 Мая 2015, 15:47 | Сообщение # 6968
    участник
    Сейчас нет на сайте
    Добрый день господа, возник вопрос по поводу лицензии asset store. Допустим я купил какой либо объект, могу ли я его использовать в проектах не связанных с Unity?

    Изучаю C++ попутно пишу игру.
    MANMANAДата: Вторник, 12 Мая 2015, 01:24 | Сообщение # 6969
    почти ветеран
    Сейчас нет на сайте
    Цитата MANMANA ()
    Добрый день господа, возник вопрос по поводу лицензии asset store. Допустим я купил какой либо объект, могу ли я его использовать в проектах не связанных с Unity?


    http://forum.unity3d.com/threads.....236557
    https://answers.unrealengine.com/questio....e4.html

    Дефолтная лицензия

    Я правда не нашел упоминающиеся здесь "Terms and Asset Store Guidelines".
    С точки зрения обычного пользователя: при анализе лицензии я не выявил упоминания запрета на использования в других движках и т.д. (кроме пункта 3.8, описанного ниже).
    Также стоит обращать на каждую поставляемую вместе с компонентом лицензию (если таковая присутствует, в которой такой запрет может быть прописан!!! Если вместе с ассетом "идет" еще одна лицензия, то вы должны использовать данный ассет и все его компоненты согласно вложенной лицензии и дефолтной лицензии. Если вложенной лицензии нет, то используется только дефолтная лицензия. Если обе лицензии противоречат друг другу, то необходимо использовать ассет так, чтобы не касаться данного спорного пункта, поскольку суд будет не на вашей стороне: Юнитеки переведут стрелки на авторов ассетов, что их лицензия не удовлетворяет требованиям сайта, а они - да, просмотрели, бывает. Ассет изымут. Это один процесс, который не касается Вас/нас smile (а касается только Юнити и автора ассета). Второй процесс это нарушение пользователем внутриассетовской лицензии - это уже касается только нас и продавца ассета. Скорее всего совместного процесса не будет, поскольку продавцы ассетов не будут иметь претензий к Юнити. Возбуждение же дела против двух компаний сразу - дохлое дело.

    Помните, что ассет может быть распространяться под одной и более лицензиями (помимо упомянутой выше дефолтной Юнитековской лицензии):
    например, ассет распространяется под лицензией GPL v2 и выше, с также указана часть скриптов, которые распространяются под лицензией BSD, а модели могут распространяться под лицензией CC-BY

    С точки зрения юридической. В пункте 3.8 сказано: "You agree that you will not, and will not allow any third party to,
    (i) copy, sell, license, distribute, transfer, modify, adapt, translate, prepare derivative works from, decompile, reverse engineer, disassemble or otherwise attempt to derive source code from the Unity Asset Store or the Assets, unless otherwise permitted,"
    т.е. согласно этому пункту Мы ничего не можем делать с исходными кодами из Ассетов, кроме как ПРОСТО ЮЗАТЬ их в Unity.
    Это очень странно... Однако ничего не сказано про модели... Хотя возможно, что в одной из EULA сказано, что понятие сорсов относится и к моделям. Юристы - такие юристы...


    http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
    VKонтакте 3Dbuffer

    Последнее:

    Новый раздел "Текстуры"

    Как запатентовать, защитить техническое решение, игру, идею


    Сообщение отредактировал MANMANA - Вторник, 12 Мая 2015, 01:35
    gogogo3Дата: Вторник, 12 Мая 2015, 09:15 | Сообщение # 6970
    частый гость
    Сейчас нет на сайте
    Тема достойная 2010 года biggrin

    UнайTI iKS
    MR_BorgДата: Вторник, 12 Мая 2015, 10:22 | Сообщение # 6971
    участник
    Сейчас нет на сайте
    MANMANA, Спасибо, написал продавцу, жду ответа.

    Изучаю C++ попутно пишу игру.
    nik3122Дата: Пятница, 15 Мая 2015, 08:16 | Сообщение # 6972
    почетный гость
    Сейчас нет на сайте
    Как реализовать смену текстуры на Terrain во время игры? как на скриншоте


    Проект друзей: Lost World Online – хардкорная многопользовательская онлайн-игра по мотивам книги братьев Стругацких "Пикник на Обочине".

    Сообщение отредактировал nik3122 - Пятница, 15 Мая 2015, 08:16
    MANMANAДата: Пятница, 15 Мая 2015, 11:54 | Сообщение # 6973
    почти ветеран
    Сейчас нет на сайте
    Цитата nik3122 ()

    Как реализовать смену текстуры на Terrain во время игры? как на скриншоте

    Смешивание текстур ландшафта

    http://habrahabr.ru/post/144016/
    http://answers.unity3d.com/questio....er.html
    через прозрачность текстур с доработкой рашпилем
    не совсем по теме, но интересно https://alastaira.wordpress.com/2013....shaders


    http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
    VKонтакте 3Dbuffer

    Последнее:

    Новый раздел "Текстуры"

    Как запатентовать, защитить техническое решение, игру, идею
    krapДата: Понедельник, 18 Мая 2015, 00:21 | Сообщение # 6974
    почетный гость
    Сейчас нет на сайте
    Как узнать колличество секунд прошедших с момента запуска функции и ее окончания?
    MANMANAДата: Понедельник, 18 Мая 2015, 12:46 | Сообщение # 6975
    почти ветеран
    Сейчас нет на сайте
    Цитата krap ()
    Как узнать колличество секунд прошедших с момента запуска функции и ее окончания?

    запустить таймер после старта функции/метода (после открывающейся скобки) и остановить таймер перед закрывающей скобкой? Или вам еще нужно значть, когда завершатся все внутренние процессы данной функции?
    но ведь у функции/метода есть return, вызов функции - есть время начало функции, как только функция вернет, например, true, то это будет момент окончания работы функции.
    стандартные методы мне не известны, это уже к гуру вопросы, наверное


    http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
    VKонтакте 3Dbuffer

    Последнее:

    Новый раздел "Текстуры"

    Как запатентовать, защитить техническое решение, игру, идею
    krapДата: Понедельник, 18 Мая 2015, 20:54 | Сообщение # 6976
    почетный гость
    Сейчас нет на сайте
    MANMANA,
    Цитата
    Или вам еще нужно значть, когда завершатся все внутренние процессы данной функции?

    да, у меня в функции дохренища вложенных циклов и подциклов. выход из функции осуществаляется в разных частях кода при разных условиях.
    нужно что то типа этого:
    Код
    var time : float = StartTime();
    MyFunc();
    EndTime();
    prinе(time);

    Только как это реализовать я хз


    Сообщение отредактировал krap - Понедельник, 18 Мая 2015, 20:54
    MANMANAДата: Понедельник, 18 Мая 2015, 22:14 | Сообщение # 6977
    почти ветеран
    Сейчас нет на сайте
    я тож пока хз. Если создать еще один поток, то измерить мона smile

    http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
    VKонтакте 3Dbuffer

    Последнее:

    Новый раздел "Текстуры"

    Как запатентовать, защитить техническое решение, игру, идею
    krapДата: Понедельник, 18 Мая 2015, 22:59 | Сообщение # 6978
    почетный гость
    Сейчас нет на сайте
    MANMANA, я понял как это сделать:
    Код
    var start : float = Input.realtimeSinceStartup;
    SomeFunction();
    var end : float = Input.realtimeSinceStartup;
    var diff_time = end - start;
    print(diff_time);
    Все просто)


    Сообщение отредактировал krap - Понедельник, 18 Мая 2015, 23:00
    FrostenДата: Среда, 20 Мая 2015, 13:59 | Сообщение # 6979
    частый гость
    Сейчас нет на сайте
    Нужна помощь эксперта
    Вообщем есть пуля, у нее может быть одно из двух поведений : "Обычная пуля" и "Ракета".
    Как сделать так, чтобы при выборе одного из этих поведений исчезали переменные в инспекторе которые относятся ко второму.
    MANMANAДата: Среда, 20 Мая 2015, 22:24 | Сообщение # 6980
    почти ветеран
    Сейчас нет на сайте
    Цитата Frosten ()
    Как сделать так, чтобы при выборе одного из этих поведений исчезали переменные в инспекторе которые относятся ко второму.

    http://answers.unity3d.com/questio....um.html
    http://answers.unity3d.com/questio....or.html
    http://forum.unity3d.com/threads....s.83054


    http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
    VKонтакте 3Dbuffer

    Последнее:

    Новый раздел "Текстуры"

    Как запатентовать, защитить техническое решение, игру, идею
    Поиск:

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