|
3D-программирование Вопросы, касающиеся программирования 3D мира |
23.02.2011, 13:38
|
#16
|
|
Ответ: Текстура
Сообщение от }{@KeR
А чтобы эти линии в разных частях Plane были надо для каждого Mesh'a свою поверхность делать....да????
|
1) Меш на каждый такой участок с линиями (но тогда проще использовать встроеные спрайты)
+ будет отсечение невидимых спрайтов
- каждый спрайт\меш - одтельный ентити, много ентитей - тяжелее блицу
2) Меш один, на каждый участок свой сурфейс
+ т.к. сурфейсы отдельные, можно юзать разные материалы
+ можно заранее смоделировать все участки с линиями
- много сурфейсов тоже не хорошо, но лучше чем много ентитей
- отсечения отдельных участков линий не будет, т.к. идет по ентитям
3) Меш один и один сурфейс, на каждый участок просто свой квад (полигон)
+ рисоваться будет быстрее всего
+ можно заранее смоделировать все участки с линиями
- один материал на все линии
- отсечения тоже естественно не будет
Выбирай короче говоря по вкусу Я бы заранее смоделил вместе с уровнем.
|
|
|
Сообщение было полезно следующим пользователям:
|
|
23.02.2011, 14:57
|
#17
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Текстура
Мешу квада портала (ну или спрайту, что ты там используешь) включай альфа-смешивание (EntityFX флаг 32), текстуры в два слоя - изображение и маску. Изображению, т.е. текстуре в которую копируешь с экрана, нужно поставить флажок 256 чтобы в видеопамяти была, так быстрее копируется. Маска - обычная белая текстура с альфа-каналом.
Пример в аттаче, там в основном мишура для демонстрации, так что сразу по текстурам (в начале) смотри.
ЗЫ
А вообще, по порталам, рекомендую глянуть FastExt библиотеку, там вроде есть сразу рендер в текстуру, все же CopyRect не очень хорошее решение.
|
портал.Рар
В чём косяк...висит сильно.и текстура криво..и не могу написать Function для плайнов (заместо спрайтов) написать...с твоего кода вырезать не получается...
|
(Offline)
|
|
23.02.2011, 15:56
|
#18
|
|
Ответ: Текстура
Сообщение от Костян
портал.Рар
В чём косяк...висит сильно.и текстура криво..и не могу написать Function для плайнов (заместо спрайтов) написать...с твоего кода вырезать не получается...
|
Ужасный код, даже незнаю с чего начать, глаза разбегаются
Укажу пару-тройку самых больших косяков:
1) в функции renderimg создаешь рисунок, он нигде не удаляется -> утечка памяти.
2) ставишь размеры текстур кривые, старайся ставить 2^n, т.е. 2,4,8,16,32,64...
3) юзаешь рисунки для внеэкранного рендеринга. Советую вообще забыть про все 2д в блице, юзай FastImage библиотеку например, т.к. в блице все 2D не имеет аппаратной поддержки. Пример я приводил как с камеры снимать изображение, смотри код.
|
|
|
24.02.2011, 08:12
|
#19
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Текстура
в функции renderimg создаешь рисунок, он нигде не удаляется -> утечка памяти.
|
-->IF img=0 img=CreateImage(w,h)
Нах удалять...он его обновляет..перерисовывает на нём...
2) ставишь размеры текстур кривые, старайся ставить 2^n, т.е. 2,4,8,16,32,64...
|
я просто проверить решил...256*256 маленькая*пойдёт) была, а 512*512 большая
3) юзаешь рисунки для внеэкранного рендеринга. Советую вообще забыть про все 2д в блице, юзай FastImage библиотеку например, т.к. в блице все 2D не имеет аппаратной поддержки. Пример я приводил как с камеры снимать изображение, смотри код.
|
тоже самое......только я не знал ещё как маску на текстуру сделать...вот и юзал имги...а fastImage---ПЛАТНЫЙ
|
(Offline)
|
|
24.02.2011, 08:59
|
#20
|
|
Ответ: Текстура
Сообщение от Костян
-->IF img=0 img=CreateImage(w,h)
Нах удалять...он его обновляет..перерисовывает на нём...
|
У тебя переменная img нигде в глобальных не обьявлена, а значит она автоматом как локальная обьявляется и каждый раз условие срабатывает, ёпта. И кстати глобальные переменные тоже зло, не только синтаксически, но и по отношению к блицу (запись в них гораздо медленнее чем в локальные, хз почему)
Сообщение от Костян
я просто проверить решил...256*256 маленькая*пойдёт) была, а 512*512 большая
|
С чего вдруг большая? Чем больше текстура, тем четче будет изображение к чему и надо стремиться. Но т.к. копирование с экрана, размер текстуры нельзя больше размера экрана делать. Т.е. по хорошему нужен нормальный рендеринг в текстуру, а это только библиотеками.
Сообщение от Костян
тоже самое......только я не знал ещё как маску на текстуру сделать...вот и юзал имги...а fastImage---ПЛАТНЫЙ
|
Для отладки сойдет и так, а потом можешь попробывать договориться с автором. Тем более цена очень низкая
ЗЫ
Кстати у меня в примере неверно изображение в порталы рендерится. На самом деле нужно по проекции рисовать. Т.е. в зависимости от того под каким углом смотрит и насколько удалена камера игрока. Т.к. чем ближе подходишь к порталу, тем больше через него видишь. В примере камеры статичные, что неверно. Но это довольно сложно, особенно на блице. Камеру портала надо ставить по идее инвертировано и зеркально по отношению к камере игрока, чтобы получить корректное изображение
Попробуй на бумаге прорисуй ситуации,так гораздо проще понять.
|
|
|
Сообщение было полезно следующим пользователям:
|
|
24.02.2011, 09:05
|
#21
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Текстура
У тебя переменная img нигде в глобальных не обьявлена, а значит она автоматом как локальная обьявляется и каждый раз условие срабатывает, ёпта. И кстати глобальные переменные тоже зло, не только синтаксически, но и по отношению к блицу (запись в них гораздо медленнее чем в локальные, хз почему)
|
зы...я не знал что функция скидывается...я тумал что в ней грузится в память...на бумаге удаляется..перепишу..ок
ЗЫ
Кстати у меня в примере неверно изображение в порталы рендерится. На самом деле нужно по проекции рисовать. Т.е. в зависимости от того под каким углом смотрит и насколько удалена камера игрока. Т.к. чем ближе подходишь к порталу, тем больше через него видишь. В примере камеры статичные, что неверно. Но это довольно сложно, особенно на блице. Камеру портала надо ставить по идее инвертировано и зеркально по отношению к камере игрока, чтобы получить корректное изображение
Попробуй на бумаге прорисуй ситуации,так гораздо проще понять.
|
на бумаги даже зум есть, когда подходишь отходишь....я сначала его отрисовать попытался..
--исправил...Ща удаляет, и работать стал быстрей..но всё равно FPS более 50 не прыгает..ограничил Таймером до 60
|
(Offline)
|
|
01.03.2011, 16:15
|
#22
|
Разработчик
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений (для 289 пользователей)
|
Ответ: Текстура
Опиши какой портал хочешь - как чтобы он выглядел визуально?
|
(Offline)
|
|
05.03.2011, 11:18
|
#23
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Текстура
Опиши какой портал хочешь - как чтобы он выглядел визуально?
|
тип как в Portal .....но на персонаже не будет меша..и порталы не будут смотреть прямо на него..
|
(Offline)
|
|
05.03.2011, 20:20
|
#24
|
Разработчик
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений (для 289 пользователей)
|
Ответ: Текстура
не играл в портал!
|
(Offline)
|
|
05.03.2011, 21:24
|
#25
|
ПроЭктировщик
Регистрация: 01.02.2011
Сообщений: 148
Написано 7 полезных сообщений (для 8 пользователей)
|
Ответ: Текстура
__________________
Ученье свет, а не ученье тень!
|
(Offline)
|
|
05.03.2011, 23:47
|
#26
|
Разработчик
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений (для 289 пользователей)
|
Ответ: Текстура
выше пример подходит
|
(Offline)
|
|
06.03.2011, 07:07
|
#27
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Текстура
да портал то есть..а вот как такое же перемещение мешей сделать..
|
(Offline)
|
|
06.03.2011, 16:23
|
#28
|
Разработчик
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений (для 289 пользователей)
|
Ответ: Текстура
что не понятного? есть исходная точка и точка назначения (для особо одаренных замечу что портала 2) , реализацию думай сам - подсказка :
по событиям - positionentity или translateentity или moveentity, чтоб морда смотрела все время правильно поворачиваешь ТАК ЖЕ КАК ПОВЕРУТ ПОРТАЛ ТОЧКИ НАЗНАЧЕНИЯ.
В коде писать не буду. но вопрос ОЧЕНЬ ПРОСТО РЕАЛИЗУЕМЫЙ!
|
(Offline)
|
|
07.03.2011, 13:59
|
#29
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Текстура
что не понятного? есть исходная точка и точка назначения (для особо одаренных замечу что портала 2) , реализацию думай сам - подсказка :
по событиям - positionentity или translateentity или moveentity, чтоб морда смотрела все время правильно поворачиваешь ТАК ЖЕ КАК ПОВЕРУТ ПОРТАЛ ТОЧКИ НАЗНАЧЕНИЯ.
В коде писать не буду. но вопрос ОЧЕНЬ ПРОСТО РЕАЛИЗУЕМЫЙ!
|
что, за дуба держишь....это справедливо для гепоя...а для иных вешей НЕТ...герой будет видеть как Вещь будет ТЕЛЕПОРТИРОВАТСЯ..А в PORTAL она вваливается и вываливается ОДНОВРЕМЕННО...
|
(Offline)
|
|
07.03.2011, 14:23
|
#30
|
Дэвелопер
Регистрация: 21.11.2009
Адрес: Киев
Сообщений: 1,699
Написано 657 полезных сообщений (для 1,962 пользователей)
|
Ответ: Текстура
Сообщение от Костян
-----удалить этот пост надо
|
А сам не разберёшься как удалять, программист?
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:49.
|