![]() |
Ответ: Вопросы от новичка
Цитата:
|
Ответ: Вопросы от новичка
C этой функцией (RotateAround) вообще не ясно как повернуть на определенный угол, проясни задачу подробнее.
|
Ответ: Вопросы от новичка
Как создавать на юнити 2д игры? Что значит Parallax и RageSpline ?
|
Ответ: Вопросы от новичка
2d = ортогональная камера + текстуры на квадах
Parallax - несколько слоев, имитирующих объемность (фон двигается мдленнее, чем уровнь, декорации на переднем плане двигаются быстрее) RageSpline - средство создания "2d" в Unity чем то похожее на векторный редактор. http://www.youtube.com/watch?v=XzRJosAiD98 |
Ответ: Вопросы от новичка
А как сделать чтобы фон двигался медленнее?
Если камера двигается в след за игроком, то фон должен двигаться немного в противоположную сторону? |
Ответ: Вопросы от новичка
Поставьте квадр фона поодаль от камеры нечто-ли квадр ГГ и окружения. Правда я не разу не имел чести пользоваться ортогональной камерой, так как сия не рисовала волшебные картинки.
|
Ответ: Вопросы от новичка
Цитата:
|
Ответ: Вопросы от новичка
Привет, я в Юнити пока полный нуб. Подкажите, какой лучше выбрать скриптовый язык при освоении и дальнейшем использовании движка. Ваши за и против...
|
Ответ: Вопросы от новичка
с#
он мощен и прост. |
Ответ: Вопросы от новичка
Проще явно джава, но я думаю что эта простота себе же в убыток ;)
|
Ответ: Вопросы от новичка
Цитата:
|
Ответ: Вопросы от новичка
C# - русская документация (MSDN), может пригодиться потом не только в Unity.
|
Ответ: Вопросы от новичка
а на быстродействии это никак не сказывается? Все компилируется одинаково? В некий промежуточный байт-код?
|
Ответ: Вопросы от новичка
Все компилируется в Net dll, на быстродействии не сказывается
|
Ответ: Вопросы от новичка
Вообщем. Создаю с помощью кода куб.
PHP код:
PHP код:
PHP код:
Двигаю сферы при помощи изменения beams[i].transform.position И когда коллайдер сфейры касается коллайдера куба, то ничего в консоль не пишется. |
Ответ: Вопросы от новичка
Прочитай справку внимательнее, триггеры срабатывают, кода хотя бы на одном объекте есть Rigidbody. И сразу совет на будущее - двигать объекты с колайдерами без Rigidbody сильно нагружает физику. Чтобы объект не "падал", надо поставить rigidbody.isKinematic = true;
|
Ответ: Вопросы от новичка
Цитата:
Просто я двигаю все через изменение position и rotation у transform и мне физика вообще не нужна в моей игре. и еще, при изменении transform.rotation, BoxCollider тоже повернется как нужно или нет? вот например при изменении transform.Scale , size никак не изменяеца. Или там каждый кадр идет умножение size на Scale? |
Ответ: Вопросы от новичка
Тебе надо чтобы на сфере был Rigidbody с isKinematic = true
|
Ответ: Вопросы от новичка
Цитата:
отключает действия сил на колайдер? Кстати сделал так и заработало. ) |
Ответ: Вопросы от новичка
Цитата:
|
Ответ: Вопросы от новичка
Кстати заметил. для сфераколайдера радиус 0.5 охватывает сферу. А size для бокс колайдера 1 1 1 стандартные весь куб охватывает.
Как я понял эти параметры вроде как скейла для колайдера. А сам колайдер подстраивается автоматически под размеры меша, так? |
Ответ: Вопросы от новичка
0,5 радиус => диаметр 1
Скейл объекта влияет на размер колайдера. Но я бы не советовал делать непропорциональный скейл. Для бокса это может и прокатит (для мешколайдера тоже), но для сферы/капсулы врядли. |
Ответ: Вопросы от новичка
Как можно в Андроиде создать что-то типа БД, где будет хранится информация о игроке? PlayerPrefs?
|
Ответ: Вопросы от новичка
is.SarCasm, скорее тогда как сохранить в Unity.
PlayerPrefs довольно простой способ хранения данных. Все в одном простом ini файле будет. Вот что-то http://unity3d.ru/distribution/viewt...hp?f=13&t=1039 Вот еще http://gcup.ru/forum/59-22076-1 не очень понял этот пример, но похоже надо вручную писать пусть к файлу. Не очень кроссплатформенно. pax, в смысле непропорциональный scale? И что там для капсулы будет не так? |
Ответ: Вопросы от новичка
Цитата:
![]() |
Ответ: Вопросы от новичка
Ааа, конечно сферу по одной оси нельзя масштабировать.
|
Ответ: Вопросы от новичка
Возможно ли отключить backface culling?
|
Ответ: Вопросы от новичка
Цитата:
|
Ответ: Вопросы от новичка
А как сделать свою сериализацию? А то мои классы не сохраняются.
Т.е. я хочу вручную превращать класс в byte[] и создавать класс и byte[]. |
Ответ: Вопросы от новичка
Ну... рефлексия + MemoryStream + BinaryWriter/BinaryReader
|
Ответ: Вопросы от новичка
Как связать два Toggle, то есть как радио баттон: один включаешь, другой выключается?
|
Ответ: Вопросы от новичка
Цитата:
|
Ответ: Вопросы от новичка
Как решить проблему с тем что в телефонах высота экрана больше ширины? То есть на компьютере удобней отображать так, а на телефоне всё повернуть( в том числе и ГУИ же)
|
Ответ: Вопросы от новичка
Ничего поворачивать не надо, при билде сам выбираешь landskape или portrait. Просто привязать GUI к краям/углам экрана. Конечно можно делать 2 GUI.
|
Ответ: Вопросы от новичка
Цитата:
|
Ответ: Вопросы от новичка
Не знаю какой сериализатор в юнити, но System.Runtime.Serialization отлично сохраняет и восстанавливает классы не зная их типа.
В Unity сохраняется только по типу ссылки. Т.е. если ссылка MonoBehaviour, то ни черта не сохранит, даже если в эту ссылку будет записан объект с кучей инфы( Пример просто на C#, но надеюсь Mono тоже поддерживает. Код:
private static byte[] Serialize(object obj) |
Ответ: Вопросы от новичка
Mono поддерживает, но оно не применимо к объектам Unity. Ни одной ссылки на ресурсы в рантайме сохранить если явно не знать как получить объект из ресурса. К тому же как сохранять и восстанавливать компоненты, которые добавляются через AddComponent() и GetComponent()? Так что только вручную и с помощью своего менеджера ресурсов, "знающего" как воссоздать тот или иной объект (хранящий пути для Resource.Load или непосредственно ссылки на объекты) и "знающий", какой объект как создан (т.е. вероятнее всего придется либо создавать все объекты и через этот менеджер, либо на объекты вешать специальный компонент, содержащий информацию для сериализации).
|
Ответ: Вопросы от новичка
Забыл написать, у меня задача проще. Мои классы - не скрипты.
Если помнишь я делал свой MineCraft. Там есть два типа блоков: Cube и Cross(трава). Оба они наследуют один класс Block. Но списки сейчас приходится делать для каждого типа. Вот хочу, чтобы хватало одного List<Block> blockSet. Хотя, наверно было бы лучше использовать XML, но я так и не разобрался как для него делать инспектор. Если инспектор для TextAsset сделать, то он будет для всех левых форматов. И еще не понятно как в XML хранить путь к объектам\ассетам. Наверно можно хранить их ID, а сами объекты хранить в папке Resources. Или напрямую пусть к файлу. Просто еще хочется сделать, чтобы BlockSet с текстурами мог грузится из проекта и из вне проекта. |
Ответ: Вопросы от новичка
По сериализации у нас Dream писал урок http://forum.boolean.name/showthread.php?t=12638
|
Ответ: Вопросы от новичка
Вложений: 2
Всем привет! Возник такой вопрос. Как сделать круглый бесконечный рандомный тоннель. Под рандомностью понимается смещение центра окружности. Видно на скриншотах. Я могу нарисовать окружность и смещать его центр относительно какой то величины рандомом. Но как формировать поверхность между 1-ой и второй окружностью.
Спасибо за внимание. |
Ответ: Вопросы от новичка
http://blog.nobel-joergensen.com/201...mesh-in-unity/
http://gamesmaker.ru/programming/dir...trianglestrip/ ![]() Окружность - многоугольник с огромным числом рёбер(векторное представление) А потом что-то типо такого: PHP код:
|
Ответ: Вопросы от новичка
Интересно ваше мнение. Если нужно сделать GUI с анимационными кнопка, красивой сменой экранов(допустим, чтобы одни элементы улетали в одну сторону, а с другой стороны прилетали другие) и подобными эффектами, то как лучше сделать такое?
Я сейчас для каждого элемента делаю свой GameObject и на нем проигрывал анимации или просто смещаю его, а сам элемент рисуется, через GUILayout, но смещается\масштабируется в зависит от трансформации. Но GameObject для каждого элемента не супер. Как бы вы это сделали? Код:
public enum ScaleType { |
Ответ: Вопросы от новичка
ИМХО такое с помощью OnGUI лучше вообще не делать... Если это чисто кнопки...
|
Ответ: Вопросы от новичка
А чем делать? Вручную плашками делать лень. Еще больше проблем получишь.
OnGUI у меня, кстати, один на все элементы. Иерархически посылается сообщение Draw всем элементам. |
Ответ: Вопросы от новичка
Ну если ты делаешь только для PC/Mac то сойдет, если под Android/iOS, то я бы подумал о плейнах или о том, чтобы взять готовое GUI.
|
Ответ: Вопросы от новичка
готовое GUI это ngui например? Там свои проблемы, и не бесплатен он. Ориентируюсь на смартфоны.
Я пытался делать свой gui плашками, но сильно застопорился на системе отслеживания нажатий. Во первых я из главного(родительского) объекта иерархически искать на всех объектах мои коллайдеры и пускал в них луч, что конечно не быстро. Во вторых там были какие-то проблемы с очередностью выполнения Update'ов. К сожалению нельзя перед Update проверить все кнопки и задать им например pressedDown = true, а после Update'ов сбросить все значения. С первой проблемой можно разобраться сделав, чтобы каждый элемент сам себя проверял на нажатие, но перекрытие элементов тут уже не сработает. Да и размещать элементы вручную оказалось напряжно. Пусть лучше это делает GUILayout. |
Ответ: Вопросы от новичка
http://docs.unity3d.com/Documentatio...Execution.html это возможно решение одной из твоих проблем.
Есть вот такое http://nic-starc.ru/dev/GLU/EN/files/GLUDemo.zip |
Ответ: Вопросы от новичка
Лучше бы каждому скрипту аннотацией можно было бы задавать приоритет)
Нет, я конечно могу попробовать своему главному скрипту задать приоритет, чтобы он первым выполнялся. Но во первых при переносе в другой проект это сломается. Во вторых, если мне вздумается еще паре скриптов задать приоритеты, то может такая каша получится... Кстати, update у дочерних объектов не должен вызываться позже? Если бы это было так, то проблемы наверно не было. Кажется на сайте Unity писали, что на разных платформах оно вообще по разному вызывается. Стремно полагаться на очередность выполнения скриптов. Можно корутиной дождаться конца кадра и сделать все проверки. И для следующего кадра уже было бы все готово. Но блин после конца кадра Input уже не работает. |
Ответ: Вопросы от новичка
Мне бы твои проблемы)
Чтобы проверить обрабатывался элемент в текущем кадре можно использовать номер кадра (хранить кадр последней обработки) - http://docs.unity3d.com/Documentatio...rameCount.html Конец кадра ты знаешь как использовать. Надо иметь свою очередь - Собери все компоненты свои с нужной очередью в массив или список. |
Ответ: Вопросы от новичка
Через "жопу" можно многие проблемы решить, но выльется это в тормоза, баги или просто не удобно использовать.
Ну узнаю я, что в данном кадре элемент еще не обрабатывался и что дальше? Насильно вызвать обработчик? Вариант конечно, но как говорится через Ж. Хотя, когда делаешь коммерческий проект, то делаешь только бы работало, и то порой фигово работает)) А у тебя какие проблемы? Unity4 уже используешь? Наверно еще баги есть? |
Ответ: Вопросы от новичка
Четвертую не использую. Кнопки - плейны. Мои проблемы решаются по ходу возникновения.
По поводу лайоута - Unity делает дополнительный проход (вызов) OnGUI каждый кадр для расчета положений. Так что считай твой OnGUI вызывается минимум 2 раза за кадр (Layout, Repaint). Еще он обрабатывает события мыши или клавиатуры - это отдельный вызов OnGUI. Исходя из этого - функция OnGUI вызывается 2+ раза за кадр. Делай выводы). |
Ответ: Вопросы от новичка
Ну из-за того, что OnGUI вызывается два раза он не делает два раза одно и тоже. Отсутствие батчинга в gui больше тормозит.
|
Ответ: Вопросы от новичка
|
Ответ: Вопросы от новичка
|
Ответ: Вопросы от новичка
Код:
NullReferenceException |
Ответ: Вопросы от новичка
ну так ищи где ошибка, щелкни по ней два раза в консоли, а там по ситуации.
|
Ответ: Вопросы от новичка
Код:
_animation[jumpPoseAnimation.name].speed = jumpAnimationSpeed; |
Ответ: Вопросы от новичка
Наверняка отсутствует jumpPoseAnimation. Попробуй назначить вручную.
|
Ответ: Вопросы от новичка
Сейчас с удивлением обнаружил, что FixedUpdate вызывается пару раз при старте сцены и перестает вызываться. Как такое происходит?
В скрипте ничего нету, только в debug.log пишу. Это только у меня такое? |
Ответ: Вопросы от новичка
Отключи в консоли колапс
|
Ответ: Вопросы от новичка
Блин! затупил. Просто я сразу же ставил игру на паузу, а при Time.scale = 0.0001 понятно FixedUpdate не часто вызывается.
|
Ответ: Вопросы от новичка
VC# Express автоматически не открывает скрипты, хотя и прописана в настройках как внешний редактор. Как посоветуете работать?
|
Ответ: Вопросы от новичка
Я использую Visual Studio 2010 Ultimate + ReSharper
|
Ответ: Вопросы от новичка
Не знаете для чего CharacterController.slopeLimit?
|
Часовой пояс GMT +4, время: 21:15. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot