|
Общие вопросы вопросы не попадающие ни в один из доступных разделов |
18.04.2014, 16:51
|
#1921
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Можно экспортировать сцены книжек в бандли и скачивать в приложение библиотеку. Вероятно надо для каждой книги свои имена сцен... (вот только не помню что на счет кода) Вероятно все сцены должны работать с одним набором кода и быть в одном проекте...
http://docs.unity3d.com/Documentatio...setBundle.html
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
22.04.2014, 04:17
|
#1922
|
Знающий
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений (для 49 пользователей)
|
Ответ: Вопросы от новичка
Здравствуйте
Понадобилось мне обновлять меш процедурно каждый кадр, но тут узрел сильное падение фпс
Делаю так:
void Start(){
gameObject.AddComponent("MeshFilter");
gameObject.AddComponent("MeshRenderer");
mesh = GetComponent<MeshFilter>().mesh;
}
void Update(){
//создаю массивы точек и треугольников, тут падения фпс нет точно
//но вот когда присваиваю их мешу...
mesh.vertices = my_vertices;
mesh.triangles = my_triangles;
//больше никакого кода связанного с мешом нету, нормали не пересчитываю и т д
}
И еще интересно то, что изменение количества полигонов никак не влияет, будь то 10 или 1000
__________________
Intel Core i3-4005U (1.7 ГГц), 4 ГБ ОЗУ, nVidia GeForce 940M 4 ГБ, Win8.1
|
(Offline)
|
|
22.04.2014, 10:11
|
#1923
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Сделай перед присвоением новых массивов mesh.Clear(); возможно надо сохранить нормали и uv в отдельные массивы, если они есть...
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
22.04.2014, 20:02
|
#1924
|
Знающий
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений (для 49 пользователей)
|
Ответ: Вопросы от новичка
Ура! Фпс прямо таки взлетел!
.......................................................
for(int i = 0; i < mynormals.Length; i++){
mynormals[i] = Vector3.zero;
}
.......................................................
mesh.Clear();//влияния не заметил, но пусть будет
mesh.MarkDynamic();//говорят что на разных платформах дает прирост, пусть будет
mesh.vertices = myvertices;
mesh.uv = myuv;
mesh.normals = mynormals;
mesh.triangles = mytriangles;
Надо присваивать свои нормали и развертку, ибо движку приходилось их самому придумывать
Спасибо
__________________
Intel Core i3-4005U (1.7 ГГц), 4 ГБ ОЗУ, nVidia GeForce 940M 4 ГБ, Win8.1
|
(Offline)
|
|
22.04.2014, 23:54
|
#1925
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
Никто с многопоточностью не экспериментировал? В юнити конечно с этим туго, но все же, если не использовать юнитивских объектов, то можно.
В .Net Parallel.For. В Mono эти классы вырезали(
Вот думаю как написать свой Parallel.For.
|
(Offline)
|
|
24.04.2014, 16:18
|
#1926
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
написал свой parallel for.
public static void ParallelFor(Action<int, int> loop, int count) {
count /= SystemInfo.processorCount;
ManualResetEvent[] events = new ManualResetEvent[SystemInfo.processorCount];
for(int i=0; i<SystemInfo.processorCount; i++) {
events[i] = InvokeLoop( loop, count*i, count*i+count );
}
WaitHandle.WaitAll( events );
}
private static ManualResetEvent InvokeLoop(Action<int, int> loop, int from, int to) {
ManualResetEvent evt = new ManualResetEvent(false);
ThreadPool.QueueUserWorkItem( arg => {
loop (from, to);
evt.Set();
} );
return evt;
}
Конечно в юнити или в моно с этим туго.
В .net есть ManualResetEventSlim, который должен быть быстрее. Да и CountdownEvent тут бы лучше подошел.
Но что есть - то есть.
Кстати, чертов MonoDevelop перестал видеть классы из System.Threading и System. Все красным выделяет и подсказки не работают(
Visual Studio 2013 юнити еще не начал поддерживать? А то старый 2012 не хочется ставить.
|
(Offline)
|
|
24.04.2014, 19:47
|
#1927
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от WISHMASTER35
Visual Studio 2013 юнити еще не начал поддерживать? А то старый 2012 не хочется ставить.
|
Давно работаю в VS 2013. Никаких проблем не испытываю.
|
(Offline)
|
|
25.04.2014, 21:34
|
#1928
|
ПроЭктировщик
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений (для 64 пользователей)
|
Ответ: Вопросы от новичка
Такая ситуация. На сцене один меш без коллайдера (слой Default), коллайдер (слой TransparentFX) и объект с Lens Flare. Как расположены объекты на сцене и настройки можно посмотреть ниже. Но тут что-то не так. Lens Flare настроен таким образом чтобы игнорировать только слой коллайдера, но тогда он становиться виден даже через меш. Скорее всего это происходит из-за того что они "друг в друге". Кто что может сказать по этому поводу?
|
(Offline)
|
|
25.04.2014, 22:22
|
#1929
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Собственно Lens Flare работает только с коллайдерами, а единственный коллайдер игнорируется.
|
(Offline)
|
|
26.04.2014, 22:23
|
#1930
|
AnyKey`щик
Регистрация: 22.10.2011
Сообщений: 15
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Вопросы от новичка
Народ, подскажите пожалуйста, мне нужно затекстурировать куб. Но чтобы один полигон был одной текстурой закрашен, а второй другой. Т.е. перефразируя, как текстурировать отдельные полигоны меша? В Unity это вообще возможно?
|
(Offline)
|
|
27.04.2014, 09:58
|
#1931
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Сделай куб в максе, каждой грани назначь свой Material ID. Импортируй в Unity и пользуйся.
|
(Offline)
|
|
29.04.2014, 01:37
|
#1932
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от pax
Давно работаю в VS 2013. Никаких проблем не испытываю.
|
Ты express используешь?
У меня Unity с ним не работает. Или я настраиваю как-то не так.
|
(Offline)
|
|
29.04.2014, 01:56
|
#1933
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от WISHMASTER35
Ты express используешь?
У меня Unity с ним не работает. Или я настраиваю как-то не так.
|
Ultimate конечно же )
|
(Offline)
|
|
03.05.2014, 03:28
|
#1934
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
pax, подключил visual studio. Вроде все работает, только при изменении файлов из под юнити выскакивает сообщение.
И еще не нравится, что открывающая скобка переносится на новую строку. Это можно как-то отключить?
И можно включить автодополнение названия всяких классов\полей?
|
(Offline)
|
|
03.05.2014, 14:14
|
#1935
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
1. Unity перестраивает файл проекта при изменении в файлах с кодом или текстовых ассетах, студия спрашивает о его перезагрузке. Все логично.
2. Не испытываю с этим проблем. Везде код на C# так пишут.
3. Оно работает. Зачем его включать? Я для большей удобности использую ReSharper (правда с ним студия дольше запускается).
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:27.
|