![]() |
Ответ: Фак по Юнити.
Цитата:
Pax, а как бы ты решил задачу? : нужно создать болванку модели, не отображающуюся в проекте как добавленный объект. То есть не как в блитце - грузим модель, хайдим, а потом CopyEntity. Модели не должно быть в сцене вообще, она должна быть загружена лишь в память один раз. А после этого нужно делать ее инстансы. |
Ответ: Фак по Юнити.
Создать из модели префаб, назначить скрипту на переменную как сказал Lestar
В сцене сделать пустой объект со скриптом респавна. Этот скрипт будет создавать модель в нужном месте с помощью функции Instantiate(). В общем смотри пост №571 |
Ответ: Фак по Юнити.
Вложений: 1
Делим все ассеты на группы.Для каждой группы делаем своего родителя отвечающего за загрузку и выгрузку обьектов.Для всех родителей делаем один Main обьект,который будет ими управлять.По делфолту в сцене находится один единственный обьект Main. После запуска сцены загружаются полностью все обьекты и согласно логике необходимости не нужные отправляем в пулл ,по необходимости достаем и убираем .Если уж сильно печет можно Main обьект грузить из ресурсов.
|
Ответ: Фак по Юнити.
Спасибо за совет... у меня последний на сегодня вопрос, если не сложно - ответьте пожалуйста:
Вот я создал в редакторе префаб, закинул его в созданную папку Prefabs и назвал его fighter_model Теперь мне в главном скрипте, не привязанном компонентом к этому префабу, нужно найти этот префаб и создать его инстанс. Код в посте №571, как я понял, работает если для префаба писать свой скрипт, что мне делать сейчас не хотелось бы. |
Ответ: Фак по Юнити.
В главном скрипте создай переменную GameObject типа, публичную. В редакторе появится поле для назначения префаба или другого нужного объекта (это готовая ссылка на объект, находящийся в сцене или ресурсах, смотря что назначить). Назначь свой перфаб этой переменной в редакторе. Дальше с ним делай в главном скрипте что нужно. Пример, все тот же скрипт от Lestar'а. Считай что это главный скрипт.
Тут вообще система какая - Unity собирает в проект ресурсы по зависимостям. Если есть ссылки на объекты ресурсов в открытых переменных скриптов, то эти ресурсы погружаются автоматом при старте сцены, а следовательно включает в конечный билд. А папку Resources Unity подгружает в билд полностью, даже если есть ресурсы ни разу не использовавшиеся. |
Ответ: Фак по Юнити.
Опять застрял.
В общем, функции Sin и Cos в Блитце работают с угловым значением (90, 180, 360 и т.д.). А вот в C# функции Mathf.Sin в Mathf.Cos при изменении угла от 0 до 360 выдают какие-то дикие значения, постоянно скачущие (например если изменять угол от 0 до 90 значение синуса несколько раз изменится от 0 до 1). В чем может быть проблема? Все, решил проблему. Нужно было сделать угол в пределах от -180 до 180 (то есть отнять от угла поворота модели 180), потом умножить на Pi и разделить на 180. Усе работает, спасибо |
Ответ: Фак по Юнити.
Mathf.Cos и Sin возвращают радианы.
|
Ответ: Фак по Юнити.
Sin возвращает радианы?oO
|
Ответ: Фак по Юнити.
http://unity3d.com/support/documenta...Mathf.Sin.html Документация иногда спасает от лишних вопросов.
|
Ответ: Фак по Юнити.
Цитата:
|
Ответ: Фак по Юнити.
Returns the sine of angle f in radians.
Угол f в радианах. Радианы - !мера угла!. Sin возвращает значение, которое углом не является. |
Ответ: Фак по Юнити.
Примеры перевода из радиан в градусы и обратно:
Mathf.Deg2Rad Mathf.Rad2Deg С использованием констант. |
Ответ: Фак по Юнити.
Lestar, не возвращают радианы, а работают с радианами, а не градусами. Возвращают они разумеется числа от -1 до 1.
Amatsu, Пи(=3.14...)/2 радиан - это угол 90 градусов. Пи радиан - это 180 градусов. pax, знание Unity освобождает от знания школьной математики :) |
Ответ: Фак по Юнити.
Я вот тут подумываю сделать тему, в которой сделать таблицу соответствия команд блица и как такое на Unity сделать... Есть желающие помочь?
|
Ответ: Фак по Юнити.
Цитата:
|
Ответ: Фак по Юнити.
Сейчас перешел к спрайтам. Подскажите, в юнити есть какой-нить класс спрайта в 3д пространстве, или его нужно создать из двух полигонов и одной текстуры?
|
Ответ: Фак по Юнити.
Смотря для чего они нужны. Как таковых спрайтов нету, есть частицы.
|
Ответ: Фак по Юнити.
Цитата:
|
Ответ: Фак по Юнити.
Частицы по разному можно использовать ;)
|
Ответ: Фак по Юнити.
Подскажите. Создал GameObject, загрузил в него текстуру. А есть ли в Юнити какой-нибудь аналог флага FullBright из Блитца? Бо сам диффузный материал белого цвета, но все равно спрайт освещается
Все, сам нашел как программно выбирать шейдеры. Поставил Unlit\Texture |
Ответ: Фак по Юнити.
Цитата:
Если в билде не работает, то вероятно стоит создать материал и передать скрипту. |
Ответ: Фак по Юнити.
Так я материал и создаю кодом.
Вот сейчас вопрос, для другого спрайта выбрал шейдер Particles/Additive. Как бы мне программно поменять ему параметр альфы? Не маски, а именно прозрачности всего спрайта. В параметрах материала в редакторе у шейдера такой пункт есть (в настройках цвета, канал "а"). Но мне нужно менять альфу в процессе игры. Никак не могу получить доступ к этому параметру |
Ответ: Фак по Юнити.
Через mesh.colors.
|
Ответ: Фак по Юнити.
Color color = material.color
color.a = 0.5f; material.color = color; |
Ответ: Фак по Юнити.
Через mesh.color не получалось, видимо шейдер накладывал свою альфу.
Получилось через mesh.renderer.material.SetColor("_TintColor", new Color32(255, 255, 255, 50)); |
Ответ: Фак по Юнити.
PHP код:
|
Ответ: Фак по Юнити.
Доброй ночи. Не могу нигде найти пример создания и активации системы партиклов кодом на C#, динамически, не прибегая к визуальному редактору. Если кто знает годный пример - подскажите плиз
|
Ответ: Фак по Юнити.
http://unity3d.com/support/resources...sion-framework Зачем все делать вручную ,если можно предподготовить и затем рулить параметрами.
По дефолту создаем gameObject ,далее добавляем ему компоненты ParticleEmitter ,ParticleAnimator ,ParticleRenderer. Проходимся по всем полям,настраиваем систему частиц. |
Ответ: Фак по Юнити.
|
Ответ: Фак по Юнити.
Характерконтролёр не умеет двигать физ объекты,почему:''((?
|
Ответ: Фак по Юнити.
Цитата:
Вешай этот скрипт только добавь Rigidbody и коллидер. |
Ответ: Фак по Юнити.
Куда вешать,заместо Motion?
|
Ответ: Фак по Юнити.
Вложений: 1
Пакадж в аттаче
|
Ответ: Фак по Юнити.
Столкнулся с проблемой - создал эмиттер кодом
Код:
engine_emitter_l = new GameObject("engine_emitter_l"); Сейчас нагуглил, что это недоработка юнити и возможность изменять размер элипса кодом (например для анимации источника партиклов) авторы все никак не запилят аж с 2009 года Как вариант, народ предлагает вместо элипса использовать в качестве эмиттера меш и скейлить его. Подскажите плиз, как мне изменить код под меш-эмиттер |
Ответ: Фак по Юнити.
Не понимаю зачем все создавать кодом? Чую никак кодом не создать. Вобщем выход - префаб с меш эмиттером, либо ждать Unity 3.5. Там будет новая система частиц - Shuriken.
Еще вариант - создавать частицы вручную изменяя свойство particles. Но накладно по расходу памяти и будет пахать сборщик мусора - это самый простой выход. |
Ответ: Фак по Юнити.
Цитата:
Пойду гуглить примеры работы с меш-эмиттером |
Ответ: Фак по Юнити.
Меш эмиттер кодом не создать.
|
Ответ: Фак по Юнити.
Цитата:
|
Ответ: Фак по Юнити.
Можно.
GetComponent<MeshFilter>().mesh = myMesh; ток не знаю чем тебе это поможет... |
Ответ: Фак по Юнити.
Спасибо, не помогло. То есть я создал MeshFilter, но эта команда не прикрепляет к нему меш. Потом при компиляции в мешфильтре все равно стаит параметр None вместо меша.
Вопрос - если я хочу сделать эмиттер, мне нужно в сцене создать хотя бы один полигон, привязать к нему эмиттер, настроить, а потом этот го захайдить, и инстансировать при необходимости в нужных местах сцены? |
Ответ: Фак по Юнити.
Хайдить его не надо, из него надо сделать префаб (в проекте, не в сцене) - объект для копирования. Потом из ресурсов или по ссылке создавай.
|
Ответ: Фак по Юнити.
Цитата:
|
Ответ: Фак по Юнити.
Вот тебе вариант решения:
PHP код:
|
Ответ: Фак по Юнити.
Хм... а какой командой добавить созданный префаб в сцену?
|
Ответ: Фак по Юнити.
Instantiate(Resources.Load("myPrefab", typeof(GameObject)))
где myPrefab должен лежать в папке Resources |
Ответ: Фак по Юнити.
Цитата:
|
Ответ: Фак по Юнити.
Моментальное движение физического объекта? У тебя система взрываться будет при столкновении с таким объектом. Если нет необходимости чтобы объект проваливался (игра в плоскости), то можно просто сделать RigidBody.IsKinematic = true и двигать этот объект с помощью transform'а.
Либо у физического объекта изменить скорость до нуля при остановке (отжатии кнопки). |
Ответ: Фак по Юнити.
Цитата:
Просто смотреть пока тело разгонится как-то не очень |
Ответ: Фак по Юнити.
Силу "разгона" увеличь..
|
Ответ: Фак по Юнити.
А чтобы останавливался, Drag поставь на максимум
|
Ответ: Фак по Юнити.
Возникла необходимость научиться писать модули для самого редактора Unity. Киньте кто-нибудь, пожалуйста, в меня ссылкой на какой-нить годный туториал или сэмплы по этому вопросу
|
Ответ: Фак по Юнити.
У нас на форуме есть пара туторов, я писал. Их посмотри.
|
Ответ: Фак по Юнити.
Подстажите, пожалуйста, есть ли в GUILayot компонент списка? Чтобы пользователь мог выбрать один из элементов и получить результат этого выбора
|
Ответ: Фак по Юнити.
|
Ответ: Фак по Юнити.
|
Ответ: Фак по Юнити.
Хм. Наткнулся на Unity Forms http://code.google.com/p/unityforms/...rms/ListBox.cs
Но не понял, как заставить ее работать (файл поместил в папку Editor). А про Грид, не знаю, уместно ли это в моем случае. Поясню - мне нужно прочитать папку с огромным числом файлов и на основе просмотра сделать список всех найденных элементов в своем собственном модуле для юнити. Как-то грид с кнопками на овер 200 позиций... |
Ответ: Фак по Юнити.
200 это не много, у нас в меню блоков визуального редактора несколько тысяч итемов. Это не обязательно кнопки, можно рисовать кнопку, но стиль для нее выбрать Label. Тогда будет просто кликабельный текст.
|
Ответ: Фак по Юнити.
Использую EditorUtility.OpenFilePanel, вопрос - как в третьем параметре расширения типа string указать несколько расширений? Заранее спасибо
|
Ответ: Фак по Юнити.
А через запятую нельзя? Вообще там название переменной в единственном числе... Может быть еще разделитель |
|
Ответ: Фак по Юнити.
Пробовал, не помогло
|
Ответ: Фак по Юнити.
Создал папку Assets\Plugins, закинул туда файл System.Windows.Forms.dll, но не могу разобраться, как правильно импортировать ее в проект, а точнее - получить ее функцию OpenFileDialog
UPDATE Мне нужно вызвать системный диалог выбора файла в редакторе, а не игре. В какой-то заднице нашел, что достаточно кинуть библиотеку в папку Editor. Кинул - ВС начала видеть функции из этой библиотеки. Вот только при попытке вызвать OpenFileDialog - ничего не просходит. UPDATE 2 Разобрался, нужно было писать: Код:
OpenFileDialog open = new OpenFileDialog(); |
Ответ: Фак по Юнити.
Теперь другая проблема: через раз вылезает ошибка при вызове диалога "oops! Could not register window class : win32 error 0"
|
Ответ: Фак по Юнити.
System.Windows.Forms.dll официально не поддерживается. Сделай диалог с помощью GUI.
|
Ответ: Фак по Юнити.
А всего то авторам надо было добавить возможность указывать несколько фильтров для OpenFilePanel...
Да, Юнити все еще сыроват |
Часовой пояс GMT +4, время: 00:45. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot