![]() |
Ответ: Вопросы от новичка
Потому что в 4.2 бандлы не совместимы с предыдущими версиями.
|
Ответ: Вопросы от новичка
seaman, офигеть. Ну ладно формат файла поменять, но в чем проблема оставить поддержку предыдущей версии. И как мне теперь запустить этот пример?
|
Ответ: Вопросы от новичка
Цитата:
Спасибо за пример, покопаюсь |
Ответ: Вопросы от новичка
Цитата:
http://unity3d.com/unity/download/archive |
Ответ: Вопросы от новичка
Цитата:
|
Ответ: Вопросы от новичка
|
Ответ: Вопросы от новичка
А в C# нельзя создавать анонимные классы? Как в Java http://www.javenue.info/post/7
Хочу сделать метод, который будет создавать и возвращать IEnumerable<int>, который потом будет в цикле foreach использоваться. |
Ответ: Вопросы от новичка
А зачем для этого анонимный класс? Реализуйте интерфейс IEnumerable
|
Ответ: Вопросы от новичка
seaman, я не хочу его реализовывать. Мне просто нужен энумератор, который типа будет пробегать по 3д массиву. Надоело все время писать кучу вложенных циклов.
|
Ответ: Вопросы от новичка
Цитата:
PHP код:
http://stackoverflow.com/questions/2...t-ienumerablet один из ответов: PHP код:
|
Ответ: Вопросы от новичка
pax, в java можно было создавать анонимные классы с методами.
Например: Код:
var obj = new ArrayExtensions() { |
Ответ: Вопросы от новичка
Трудно написать один раз, зато не трудно в каждом методе писать анонимные классы с вложенными методами? Я чет запутался.
|
Ответ: Вопросы от новичка
pax, зачем его в каждом методе писать? Это можно в одном методе написать, который будет возвращать объект анонимного класса.
И таких методов я хотел несколько, которые будят немного отличатся в реализации. Ну да черт с ним. |
Ответ: Вопросы от новичка
Бесплатная юнити поддерживает только sm 2.0?
|
Ответ: Вопросы от новичка
Цитата:
#pragma target 3.0 - по моему так |
Ответ: Вопросы от новичка
Как определить объекты, которые мешают обзору главного объекта?
Т.е. камера кружится вокруг объекта и могут попадаться между камерой и объектом другие объекты, которые мешают обзору. |
Ответ: Вопросы от новичка
Пустить луч
|
Ответ: Вопросы от новичка
seaman, и сколько лучей мне пускать?
Как найти область которую объект занимает на экране? Уж лучше искать пересечение этих областей. |
Ответ: Вопросы от новичка
пускай не луч, а сферу в сторону от игрока до камеры.
http://docs.unity3d.com/Documentatio...phereCast.html |
Ответ: Вопросы от новичка
|
Ответ: Вопросы от новичка
seaman, ну в камере у меня тоже так коллизия работает.
Но чтобы определить перекрывает ли собой один объект, другой объект, лучше проверять 2д bounds. Только не пойму как найти 2д описывающий квадрат. Точнее не пойму как спроэцировать точку на экран в систему координа т GUI. Код:
Vector3 min = bounds.min; |
Ответ: Вопросы от новичка
Цитата:
Или Вы хотите сделать свой собственный Occlusion Culling? |
Ответ: Вопросы от новичка
Цитата:
Да и не OcclusionCulling я делаю. Мне просто надо делать прозрачными объекты, которые закрывают главный объект - цель. |
Ответ: Вопросы от новичка
Цитата:
|
Ответ: Вопросы от новичка
dsd, и что выйдет? Мне надо весь объект скрывать, а не пиксель.
|
Ответ: Вопросы от новичка
Ну есть допустим какая то область в которую то что должно быть точно впишется. У этой области есть центр и какой нить радиус. Вот и проверяется если пиксель лежит внутри области и ближе к камере чем то что должно быть видно, то этот пиксель не рисуется. В итоге должен получиться овальчик наподобие того что в фаллауте втором был когда в здания заходишь.
|
Ответ: Вопросы от новичка
Ну эту задачу проще сделать второй камерой, которая рисует только персонажа и рисует поверх всех камер. Только правда это будет выглядеть не так красиво, как если сделать прозрачный овал о котором пишет dsd.
|
Ответ: Вопросы от новичка
seaman, у меня и так главный объект рендерится второй камерой. Чтобы все кроме главного объекта было размыты. Правда проблема есть, что на главный объект вообще никакие пост эффекты не действуют( Может подскажите как исправить?
Тем не менее рисовать поверх других это ужасный вариант. Сейчас пробую как ты советовал лучи пускать. Пускаю лучи из всех 4х краев камеры и из центра в одну точку - центр главного объекта. Но если объект перекрывается частично и его центр не перекрыт, то и перекрытие не определяется. Надо пускать лучи на в центр объекта, а в его крайнии точки. Только хз как найти те крайние точки. |
Ответ: Вопросы от новичка
Никто не использовал это https://www.assetstore.unity3d.com/#/content/368 ?
Интересно чем отличается от Antares Universe. Судя по скриншотам Playmaker больше ориентирован на скриптинг уровня, а Antares на алгоритмы, хотя для алгоритмов мне кажется лучше C# использовать. Была когда-то идея научится левел скриптингу на атарасе, но так руки до этого и не дошли. Да и некоторых вопросов не понял как решить. |
Ответ: Вопросы от новичка
Playmaker - стейтмашина, и "скриптинг" в нем это навешивание компонентов на стейты. Простые вещи на нем получаются достаточно просто, но если надо сделать что-то сложное, то тут без программирования на C# не обойтись.
Antares Universe мы задумывали как альтернативу обычному кодингу и не потому что C# проще. Эта среда не для программистов C# (хотя последние могут написать для нее модули), ее используют люди, кто не умеет или не хочет писать код руками. Достаточно покликать мышкой. У многих получается сделать свой проект чисто на Antares Universe не прибегая к классическому кодингу. http://forum.unity3d.com/threads/183...VIZIO-Showcase |
Ответ: Вопросы от новичка
pax, я раньше пытался продумать функции необходимые для скриптинга персонажей.
По моему мнению нужны такие функции: 1) создание в графе глобальных ссылок на объекты, которыми будем управлять. 2) Простой вызов методов в этих объектов. Причем я имею ввиду, чтобы метод можно было выбирать из списка, а не писать имя вручную. И список был только из методов с моим атрибутом, чтобы остальные методы не мешались. 3) Разветвление потока выполнения команд (например в какой-то момент начинаем управлять несколькими объектами). Это по-моему можно сделать запуская корутину для каждого потока. 4) Дождаться в одной точке завершения выполнения всех потоков или некоторых. 5) Ожидание каких-то событий. Этот список можно сделать в Antares Universe или Playmaker? |
Ответ: Вопросы от новичка
1. Глобальные переменные это не хорошо, но сылки в графах AU хранить можно, как локальные переменные, как входящие значения блоков.
2. Вызывать методы у объектов AU умеет с помощью специальных блоков, работающих с помощью рефлексии. Атрибуты никакие не использовали, иначе все что нужно вызвать, пришлось бы помечать. Задача AU исключить обычное программирование (хотя программисты могут писать свои блоки). Но показываются в списках только публичные методы. 3. Не понял про потоки, ты можешь вешать графы на объекты как обычные скрипты. Делать Объекты префабами и их копировать для повторения логики. Блоки триггеров вроде бы есть какие-то, я не работаю с AU больше года. 4. Судя по всему, то что ты хочешь в AU нет. У графов есть не наглядная стейт машина, можно проверять в каком состоянии графы. Если все достигли определенного стейта - делать событие из следящего графа. 5. AU перехватывает все события Unity (перехватывал на момент, когда я с ним работал). Start/Update/OnCollisionEnter и т.д. Все работают, причем с интеграцией со стейт машиной. В определенном состоянии могут сробатывать одни события, в другом другие. Что касается плеймейкера, я с ним особо не занимался. Но как я понимаю это просто стейт машина, обрабатывающая события и переключающая состояния. Состояния выполняют какое-то действие. Тут стейт машина наглядная. Виден граф стейтов, но сами стейты "программируются" компонентами. Ну а так, под себя ни одна система не подойдет. Ты видишь ее так, другие так, третьи эдак. Мы частично скопировали идею virtools. |
Ответ: Вопросы от новичка
Вложений: 1
pax, вот допустим так можно запустить три "потока"
StartCoroutine( F1() ); StartCoroutine( F2() ); StartCoroutine( F3() ); А как дождаться завершения всех или любой одной корутины я не представляю. Ну я бы не сказал, что все по разному видят. В ходе работы все придут к одному мнению. Кстати, почему ты больше AU не разрабатываешь? И еще пару вопросов. 1) Попробовал использовать шейдер Transparent/Diffuse, но почему он не работает с Z буфером? Пробовал дописать ZWrite on и ZTest LEqual, но не помогло. Шейдер этот, кстати, от обычного отличается лишь строчкой alpha в стоке "#pragma surface surf Lambert alpha". В документации http://docs.unity3d.com/Documentatio...ceShaders.html мало написано про это, точнее просто написано используйте для прозрачный шейдеров. 2) Попробовал использовать grap pass, поначалу этот шейдер рисовал какую-то искаженную фигню, но сейчас уже заработал. Я вот спросить хочу, он действительно копирует весь FullHD в текстуру? Накладная наверно операция. Я почему-то думал, что в grap текстуру рисуется сначала модель, а потом эта текстура рисуется. Если бы работало так, как я думал, то можно было бы сделать объект полупрозрачным, если во втором проходе рисовать текстуру с блендингом. |
Ответ: Вопросы от новичка
В коде с корутинами достаточно в каждой функции сделать инкремент общей переменной на один, по завершении делать декремент. И ждать когда переменная станет нулем.
В AU нет понятия потоков, мы корутины туда внедрили для остоновки потока на какое-то время. По поводу того, почему я над ней больше не работаю - одно время было тяжелым, пришлось. И поддерживать ее не было времени. 1. Прозрачная геометрия не использует запись в глубину потому, что если нарисовать сначала передние треугольники, потом задние, то задние не нарисуются. А если нарисуются сначала задние, а потом передние, то все нарисуется. Это ты и наблюдаешь. Обычно в таких случаях прибегают к техникам в несколько проходов. Чтобы не рисовать внутренние грани сначала делают проход с глубиной, потом уже рисуют с учетом буфера. Но это наверное не решит все проблемы. 2. Почти не работал с ним, поэтому не знаю копируемый размер текстуры. |
Ответ: Вопросы от новичка
Странно, что нельзя проверить выполняется ли корутина.
Объект Coroutine ничего не содержит, хотя yield может с ним работать, поэтому в цикле можно дождаться выполнения каждой корутины. IEnumerator тоже не дает возможности узнать состояние выполнения корутины. Правда есть метод MoveNext() в IEnumerator, думаю возможно сделать свой StartCoroutine. Кстати, не понятно зачем StartCoroutine_Auto, в документации его нету, а StartCoroutine просто вызывает его. В юнити это не первый такой странный случай. Я вот хотел расширить класс Material унаследовав от него свой класс Atlas, но не получилось. Я так понимаю формат mat это не asset? Странно, что не сделали обычным ассетом. |
Ответ: Вопросы от новичка
*.asset - это произвольный ассет, а *.mat это материал.
|
Ответ: Вопросы от новичка
Возможно ли на юньке сделать игру для Windows Phone подобную этой:
|
Ответ: Вопросы от новичка
Возможно.
|
Ответ: Вопросы от новичка
Там же вроде ток анбройд и айклон?
|
Ответ: Вопросы от новичка
Цитата:
|
Ответ: Вопросы от новичка
На винфон и блекберри тоже, с новой политикой на все мобильные платформы есть бесплатная версия Unity.
|
Ответ: Вопросы от новичка
Как сделать глобальный ивент который распространяется на все скрипты. Например фотоновские методы: OnJoinedRoom и тд
|
Ответ: Вопросы от новичка
К примеру так:
PHP код:
|
Ответ: Вопросы от новичка
pax, а если скрипты будут добавляться\удаляться? Каждый раз искать все объекты?
Кстати, если в GUI при нажати на кнопку включить скрипт, то у этого скрипта зачем-то выполняется метод Update. А вот корутина не выполняется после этого апдейта. Это можно как-то исправить? |
Ответ: Вопросы от новичка
Цитата:
|
Ответ: Вопросы от новичка
Такая проблема в 2Д игре... На айфоне 4G сильно тормозят ФПС спрайты заднего фона ( те , которые во весь экран ). Буквально на прорисовку такого спрайта уходит 10-20 мсек, а ФПС падает с 25 до 15-10. С чем это может быть связано и как это устранить? Кто то сталкивался с этим? Попытки компресить текстуры практически ничего не дают.
|
Ответ: Вопросы от новичка
Цитата:
|
Ответ: Вопросы от новичка
Шейдеры тоже пробовал менять transp. diffuse - diffuse
|
Ответ: Вопросы от новичка
Ты пробовал шейдеры из мобильной группы?
Вот здесь еще посмотри варианты http://wiki.unity3d.com/index.php?title=Shaders |
Ответ: Вопросы от новичка
Спс, посмотрю.
|
Ответ: Вопросы от новичка
Как узнать цвет и глубину пикселя под курсором? Никаких решений для этого не вижу. Из шейдера можно использовать буфер глубины, а из кода никак.
И RenderTexture тоже не дает возможности получить значения. Вообще нужно получить 3д координату пикселя под курсором, а в идеале и номер треугольника. |
Ответ: Вопросы от новичка
Цитата:
http://docs.unity3d.com/Documentatio....GetPixel.html |
Ответ: Вопросы от новичка
Треугольники в экранный буфер не пишутся, пишется только цвет и глубина. Прочитать с экрана можно с помощью http://docs.unity3d.com/Documentatio...eadPixels.html
Все остальное мешколлайдеры и рейкаст |
Ответ: Вопросы от новичка
pax, Texture2D.ReadPixels читает с камеры только цвета. Т.е. мне придется перевести глубину в цвет, загрузить это функцией ReadPixels, а потом восстановить нормальную картинку. Вообщем через жирную жопу.
Пытался через Graphics.SetRenderTarget не задать буфер глубины как буфер цвета, но какие-то ошибки начались))) Странно, что юнити не сделала нормального способа. Хочу сделать скульпинг модели. Изменение большого коллайдера вообще секунды занимает. Поэтому надо свою коллизию придумать. Интересно как работают 3д редакторы. ZBrush вообще работает с миллионами полигонами и требования у него очень маленькие. |
Ответ: Вопросы от новичка
Чем этот Linear Lighting лучше? Смотрю на картинки http://docs.unity3d.com/Documentatio...rLighting.html
Шар с Linear Space выглядит как 2д кружок с двумя цветами. А с Gamma Scace шар выглядит объемным. Я конечно понимаю, что Linear Lighting более реальный т.к. в реале свету пофиг на нормаль поверхности, хотя поверхность нормали и не имеет т.к. это просто набор атомов. Но если придумали SSAO для добавления псевдо теней, то зачем Linear Space? |
Ответ: Вопросы от новичка
Интересует плавная смена материала. Material.Lerp - почему то не работает. Сделал так же как в справке. Какие условия должны быть чтобы он работал?
|
Ответ: Вопросы от новичка
Там интерполяция числовых значений и цветов между материалами с одинаковыми шейдерами.
|
Ответ: Вопросы от новичка
То есть если оба материала имеют разную текстуру, то я не смогу поменять первый на второй плавно?
|
Ответ: Вопросы от новичка
Не сможешь, надо иметь шейдер, смешивающий две текстуры.
|
Ответ: Вопросы от новичка
Абалденный баг заметил для текстур с альфа каналом (png), которые накладываю на спрайт. Если один край текстуры прозрачный, а другой нет, то на спрайте образуется рамка с прозрачной стороны!!! при билинейной фильтрации!!! Видимо при фильтрации он использует противоположный край для усреднения крайних точек прозрачной стороны!!! Кто с этим сталкивался? Рамка очень тонкая в пол-пиксела, но шов виден и может испортить всю картинку. При увеличении на сцене рамка четко видна!!!
|
Ответ: Вопросы от новичка
Это не баг, это не правильные настройки импорта, поставь Wrap Mode = Clamp
|
Ответ: Вопросы от новичка
О спасибо рах!!! Век живи век учись...)
|
Ответ: Вопросы от новичка
Еще вопросик - как влияют на ФПС ( и вообще на быстродействие ) висящие не активные объекты, отключенные ф-ией GameObject.SetActive(false)? Если на них навешено много чилдов? Удобно ли сцены в игре менять просто выключением их "глобального" родительского объекта? Или в этом есть подводные камни?
|
Ответ: Вопросы от новичка
1. Думаю не влияют.
2. А какие плюсы от этого? Из минусов вижу что в одной сцене сразу ресурсы из всех сцен, игра не загнется на мобильниках от такого? На практике чаще бывает загрузка не сцен а префабов уровней из ресурсов. Но в этом случае асинхронно нельзя грузить. |
Часовой пояс GMT +4, время: 21:01. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot