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

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

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 17.01.2012, 03:36   #1
Colossus
Разработчик
 
Аватар для Colossus
 
Регистрация: 12.10.2008
Адрес: Самара
Сообщений: 437
Написано 55 полезных сообщений
(для 92 пользователей)
Как сделать правильнее

делал на досуге "декали" дырок от попадания пуль в обьект, и столкнулся с проблемой - когда попадаешь в ребро модели так сказать, то спрайт как бы торчит из нее:


как исправить положение? может можно как то рисовать декаль в текстуру или что то в этом роде чтобы декаль при попадании на ребро накладывалась так сказать на обе поверхности а не торчала как у меня ?

если кому не лень накатайте примерчик чтоли

заранее благодарен
__________________
Пекарня: Intel Core i3 - 3240(3.40Ghz), ram 8 gb, video Gigabyte Nvidia GeForce GTX 650 1gb

Лэптоп : Intel Core i3 - 2365(1.40Ghz), ram 4gb, video Int Intel HD3000(512mb)

Мой набор: 3ds Max 9 + Xors3d(Blitz3d) + Photoshop
(Offline)
 
Ответить с цитированием
Старый 17.01.2012, 03:49   #2
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Как сделать правильнее

По-хорошему деколь копирует часть поверхности, на которой лежит.
Так что тебе придётся брать треугольник, на который попала декаль и проверять, не выходит ли декаль за его пределы. Если выходит - обрезать.
Другой вариант - сразу копировать треугольники, которые "попадают" под деколь и обрезать их, формируя из них саму деколь.
Примерчик сложно и долго.

Ну естественно можно придумать и другие способы, менее качественные, но более простые
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Colossus (17.01.2012)
Старый 17.01.2012, 03:58   #3
Colossus
Разработчик
 
Аватар для Colossus
 
Регистрация: 12.10.2008
Адрес: Самара
Сообщений: 437
Написано 55 полезных сообщений
(для 92 пользователей)
Ответ: Как сделать правильнее

вот мне желательно попроще бы ))
__________________
Пекарня: Intel Core i3 - 3240(3.40Ghz), ram 8 gb, video Gigabyte Nvidia GeForce GTX 650 1gb

Лэптоп : Intel Core i3 - 2365(1.40Ghz), ram 4gb, video Int Intel HD3000(512mb)

Мой набор: 3ds Max 9 + Xors3d(Blitz3d) + Photoshop
(Offline)
 
Ответить с цитированием
Старый 17.01.2012, 09:08   #4
Crayzi
ПроЭктировщик
 
Регистрация: 26.06.2007
Сообщений: 194
Написано 21 полезных сообщений
(для 25 пользователей)
Ответ: Как сделать правильнее

А пробовал попытатся на текстуре рисовать? Мож так проще... Это так, мысли вслух)
(Offline)
 
Ответить с цитированием
Старый 17.01.2012, 11:07   #5
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Как сделать правильнее

В Half-Life 2 декали рисовались так чтобы не попадать на изломы поверхности. Т.е. при стрельбе точно в угол здания деколь рисовалась на одной из сторон угла на расстоянии от угла так чтобы она сама не вылезала за стену. Если же места для размещения деколи недостаточно (например небольшая полоска стены между трубами) то там деколь не создаётся.

Вот так было сделано в одной из лучших игр, думайте сами надо ли вам делать деколи честнее.
__________________
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо SBJoker за это полезное сообщение:
Crayzi (17.01.2012), FireOwl (17.01.2012), Hurrit (19.01.2012), LLI.T.A.L.K.E.R. (17.01.2012)
Старый 17.01.2012, 11:35   #6
Crayzi
ПроЭктировщик
 
Регистрация: 26.06.2007
Сообщений: 194
Написано 21 полезных сообщений
(для 25 пользователей)
Ответ: Как сделать правильнее

Сообщение от SBJoker Посмотреть сообщение
В Half-Life 2 декали рисовались так чтобы не попадать на изломы поверхности. Т.е. при стрельбе точно в угол здания деколь рисовалась на одной из сторон угла на расстоянии от угла так чтобы она сама не вылезала за стену. Если же места для размещения деколи недостаточно (например небольшая полоска стены между трубами) то там деколь не создаётся.

Вот так было сделано в одной из лучших игр, думайте сами надо ли вам делать деколи честнее.
Я тоже думал посоветовать чтобы либо при попадении в угол не рисовал ничего, либо смещал туда где эффект поместится... только вот незнаю как такое реализовать, посему посоветовал нассчет текстур помутить ))
(Offline)
 
Ответить с цитированием
Старый 17.01.2012, 12:01   #7
Colossus
Разработчик
 
Аватар для Colossus
 
Регистрация: 12.10.2008
Адрес: Самара
Сообщений: 437
Написано 55 полезных сообщений
(для 92 пользователей)
Ответ: Как сделать правильнее

тогда как узнать можно ли рисовать декаль или нельзя? тоесть как узнать как близко до "излома" чтобы было условие - рисовать\не рисовать декаль
__________________
Пекарня: Intel Core i3 - 3240(3.40Ghz), ram 8 gb, video Gigabyte Nvidia GeForce GTX 650 1gb

Лэптоп : Intel Core i3 - 2365(1.40Ghz), ram 4gb, video Int Intel HD3000(512mb)

Мой набор: 3ds Max 9 + Xors3d(Blitz3d) + Photoshop
(Offline)
 
Ответить с цитированием
Старый 17.01.2012, 12:37   #8
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Как сделать правильнее

Тоже хотел предложить, но
Сообщение от SBJoker Посмотреть сообщение
Т.е. при стрельбе точно в угол здания деколь рисовалась на одной из сторон угла на расстоянии от угла так чтобы она сама не вылезала за стену.
О, рилли? В самой лучшей игре делали как раз как положено.

Непосредственно Half-Life 2 на компе не оказалось, но в CS:S деколи точно такие же.
Кстати то, что ты говоришь, по-моему, было в Hlaf-Life 1
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Mr_F_ (17.01.2012)
Старый 17.01.2012, 12:42   #9
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Как сделать правильнее

Сообщение от Colossus Посмотреть сообщение
тогда как узнать можно ли рисовать декаль или нельзя? тоесть как узнать как близко до "излома" чтобы было условие - рисовать\не рисовать декаль
Перевести треугольник, на который попала деколь, в систему координат его нормали. Перевести в неё же деколь (её два треугольника). Проверить, не пересекает ли хоть 1 линия деколи хоть 1 линию треугольника. Пересекает = будет вылезать за пределы. На этом можно остановиться и просто не рисовать деколь.
Можно пойти дальше, и сдвинуть деколь перпендикулярно пересекаемой линии на длину наиболее выступающего участка (тригонометрия во все поля).
Сделать такую же проверку после этого. Если он пересекает теперь уже что-то другое, то не создавать.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 17.01.2012, 15:15   #10
Colossus
Разработчик
 
Аватар для Colossus
 
Регистрация: 12.10.2008
Адрес: Самара
Сообщений: 437
Написано 55 полезных сообщений
(для 92 пользователей)
Ответ: Как сделать правильнее

то что ты написал, для меня все равно что букварь на японском...
__________________
Пекарня: Intel Core i3 - 3240(3.40Ghz), ram 8 gb, video Gigabyte Nvidia GeForce GTX 650 1gb

Лэптоп : Intel Core i3 - 2365(1.40Ghz), ram 4gb, video Int Intel HD3000(512mb)

Мой набор: 3ds Max 9 + Xors3d(Blitz3d) + Photoshop
(Offline)
 
Ответить с цитированием
Старый 17.01.2012, 15:55   #11
MadMedic
ПроЭктировщик
 
Регистрация: 05.08.2006
Сообщений: 183
Написано 107 полезных сообщений
(для 410 пользователей)
Re: Ответ: Как сделать правильнее

то что ты написал, для меня все равно что букварь на японском...
Оставь как делал раньше и не парься:
делал на досуге "декали" дырок от попадания пуль в обьект, и столкнулся с проблемой - когда попадаешь в ребро модели так сказать, то спрайт как бы торчит из нее:
(Offline)
 
Ответить с цитированием
Старый 17.01.2012, 16:34   #12
reumep
Знающий
 
Аватар для reumep
 
Регистрация: 04.11.2011
Сообщений: 285
Написано 66 полезных сообщений
(для 159 пользователей)
Ответ: Re: Ответ: Как сделать правильнее

Свойства изображения: 1.4МБ
я опять скачал дискету
(Offline)
 
Ответить с цитированием
Старый 17.01.2012, 18:31   #13
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Как сделать правильнее

Сообщение от ABTOMAT Посмотреть сообщение
Тоже хотел предложить, но

О, рилли? В самой лучшей игре делали как раз как положено.

Непосредственно Half-Life 2 на компе не оказалось, но в CS:S деколи точно такие же.
Кстати то, что ты говоришь, по-моему, было в Hlaf-Life 1
В тот время когда я играл в half-Life 2, на уровне про тюрьму, наблюдал такое поведение воочию чем долго развлекался.
Возможжно с других версиях игры или модах пофиксили.

Кроме того в Unreal Tournament 2004 аналогично. Хотя там декали умели иногда завернуть за угол. Принцип изменения поведения неизучен. Скорее всего для заворачивающих декалей кое где используется мультитекстурирование с занесением в текстуру соответствующих изображений. И эти спец слои предусмотрены не везде. Кстати возможно и в халве так же, гдето на видном месте заворачивают, а где то нет.
__________________
(Offline)
 
Ответить с цитированием
Старый 17.01.2012, 18:49   #14
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Как сделать правильнее

Сообщение от SBJoker Посмотреть сообщение
В тот время когда я играл в half-Life 2, на уровне про тюрьму, наблюдал такое поведение воочию чем долго развлекался.
Возможжно с других версиях игры или модах пофиксили.

Кроме того в Unreal Tournament 2004 аналогично. Хотя там декали умели иногда завернуть за угол. Принцип изменения поведения неизучен. Скорее всего для заворачивающих декалей кое где используется мультитекстурирование с занесением в текстуру соответствующих изображений. И эти спец слои предусмотрены не везде. Кстати возможно и в халве так же, гдето на видном месте заворачивают, а где то нет.
Ок, вот вам скрин из HL2, из уровня Nova Prospect. Проблемы?
Миниатюры
Нажмите на изображение для увеличения
Название: hl2%202012-01-17%2017-44-03-43.jpg
Просмотров: 829
Размер:	60.1 Кб
ID:	15970  
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Colossus (17.01.2012)
Старый 17.01.2012, 20:31   #15
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Как сделать правильнее

Действительно установил запутсил всё ок. Значит то я ещё в бету играл.
__________________
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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