Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity > Общие вопросы

Общие вопросы вопросы не попадающие ни в один из доступных разделов

Ответ
 
Опции темы
Старый 18.04.2014, 16:51   #1921
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Можно экспортировать сцены книжек в бандли и скачивать в приложение библиотеку. Вероятно надо для каждой книги свои имена сцен... (вот только не помню что на счет кода) Вероятно все сцены должны работать с одним набором кода и быть в одном проекте...
http://docs.unity3d.com/Documentatio...setBundle.html
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Morganolla (19.04.2014)
Старый 22.04.2014, 04:17   #1922
ANIK123
Знающий
 
Аватар для ANIK123
 
Регистрация: 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
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Сделай перед присвоением новых массивов mesh.Clear(); возможно надо сохранить нормали и uv в отдельные массивы, если они есть...
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ANIK123 (22.04.2014)
Старый 22.04.2014, 20:02   #1924
ANIK123
Знающий
 
Аватар для ANIK123
 
Регистрация: 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
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

Никто с многопоточностью не экспериментировал? В юнити конечно с этим туго, но все же, если не использовать юнитивских объектов, то можно.
В .Net Parallel.For. В Mono эти классы вырезали(
Вот думаю как написать свой Parallel.For.
(Offline)
 
Ответить с цитированием
Старый 24.04.2014, 16:18   #1926
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 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
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Сообщение от WISHMASTER35 Посмотреть сообщение
Visual Studio 2013 юнити еще не начал поддерживать? А то старый 2012 не хочется ставить.
Давно работаю в VS 2013. Никаких проблем не испытываю.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 25.04.2014, 21:34   #1928
pie
ПроЭктировщик
 
Аватар для pie
 
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений
(для 64 пользователей)
Ответ: Вопросы от новичка

Такая ситуация. На сцене один меш без коллайдера (слой Default), коллайдер (слой TransparentFX) и объект с Lens Flare. Как расположены объекты на сцене и настройки можно посмотреть ниже. Но тут что-то не так. Lens Flare настроен таким образом чтобы игнорировать только слой коллайдера, но тогда он становиться виден даже через меш. Скорее всего это происходит из-за того что они "друг в друге". Кто что может сказать по этому поводу?
Миниатюры
Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 599
Размер:	34.7 Кб
ID:	20474  Нажмите на изображение для увеличения
Название: 2.jpg
Просмотров: 538
Размер:	30.5 Кб
ID:	20475  Нажмите на изображение для увеличения
Название: 3.jpg
Просмотров: 587
Размер:	41.9 Кб
ID:	20476  Нажмите на изображение для увеличения
Название: 4.jpg
Просмотров: 570
Размер:	31.9 Кб
ID:	20477  
(Offline)
 
Ответить с цитированием
Старый 25.04.2014, 22:22   #1929
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Собственно Lens Flare работает только с коллайдерами, а единственный коллайдер игнорируется.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 26.04.2014, 22:23   #1930
DaHuJIbI4
AnyKey`щик
 
Регистрация: 22.10.2011
Сообщений: 15
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Вопросы от новичка

Народ, подскажите пожалуйста, мне нужно затекстурировать куб. Но чтобы один полигон был одной текстурой закрашен, а второй другой. Т.е. перефразируя, как текстурировать отдельные полигоны меша? В Unity это вообще возможно?
(Offline)
 
Ответить с цитированием
Старый 27.04.2014, 09:58   #1931
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Сделай куб в максе, каждой грани назначь свой Material ID. Импортируй в Unity и пользуйся.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 29.04.2014, 01:37   #1932
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

Сообщение от pax Посмотреть сообщение
Давно работаю в VS 2013. Никаких проблем не испытываю.
Ты express используешь?
У меня Unity с ним не работает. Или я настраиваю как-то не так.
(Offline)
 
Ответить с цитированием
Старый 29.04.2014, 01:56   #1933
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Сообщение от WISHMASTER35 Посмотреть сообщение
Ты express используешь?
У меня Unity с ним не работает. Или я настраиваю как-то не так.
Ultimate конечно же )
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 03.05.2014, 03:28   #1934
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

pax, подключил visual studio. Вроде все работает, только при изменении файлов из под юнити выскакивает сообщение.
И еще не нравится, что открывающая скобка переносится на новую строку. Это можно как-то отключить?
И можно включить автодополнение названия всяких классов\полей?
(Offline)
 
Ответить с цитированием
Старый 03.05.2014, 14:14   #1935
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

1. Unity перестраивает файл проекта при изменении в файлах с кодом или текстовых ассетах, студия спрашивает о его перезагрузке. Все логично.
2. Не испытываю с этим проблем. Везде код на C# так пишут.
3. Оно работает. Зачем его включать? Я для большей удобности использую ReSharper (правда с ним студия дольше запускается).
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 08:27.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com