|
3D-программирование Вопросы, касающиеся программирования 3D мира |
26.08.2013, 00:45
|
#1
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
AShadow и рукожопие
Последний раз когда пользовался ашадоу для подобной задачи - всё работало без нареканий. Цель: фрагментировано осветить лабиринт.
В актуальной реализации, стенки лабиринта (на это грешу) создаются следующим кодом:
Function TLevel_MISC_CreateWallSprite%(zx#,y#,TF%)
Local cx#, cy#, cz#, mesh%, surf%, v1%, v2%, v3%, v4%
cx = zx * 0.5
cy = y * 0.5
cz = 0
mesh = CreateMesh()
br=CreateBrush()
If TF<>0
BrushTexture br,TF
EndIf
surf = CreateSurface(mesh,br)
v1 = AddVertex(surf, +cx, +cy, +cz, 0.0, 0.0)
v2 = AddVertex(surf, -cx, +cy, +cz, 1.0, 0.0)
v3 = AddVertex(surf, -cx, -cy, +cz, 1.0, 1.0)
v4 = AddVertex(surf, +cx, -cy, +cz, 0.0, 1.0)
AddTriangle(surf, v1, v2, v3)
AddTriangle(surf, v3, v4, v1)
FreeBrush br
EntityBox mesh,-zx*0.5,-y*0.5,-0.05,zx,y,0.1
CreateReceiver(mesh)
CreateCaster(mesh)
Return mesh
End Function
Наблюдаю следующий артефакт (см. скрнишот).
Серия снимков одного и того же места с разного (слабо отличающегося) расстояния. И под разными углами.
1 снимок - всё идеально, как и должно быть в природе.
2 снимок - чуть двинулся вперед и тень развалилась.
3 снимок - ещё несколько шагов и тень начинает появляться.
4 снимок - влияние угла обзора.
Свет создаётся так (паллиатив):
LIGHT=CreateLight(2)
RotateEntity light,90,0,0
PositionEntity light,*****
LightRange LIGHT,10
LightColor LIGHT,255,255,0
SetSLight(LIGHT,2,100)
ЧЯДНТ?
Ещё один вопрос (уже не касаемо ашадоу, но возможно, связанный с первым).
См. скриншот.
Два кубика прекрасно освещены и малый бросает тень на большой. Тут же мы видим серые унылые стены. Насколько я помню из речей Джокера, в б3д повертексное освещение, и, как я понял, такие скудные (в полигональном смысле) модели будут освещены весьма дискретно и убого (и про тени ашадоу можно тоже забыть). Но что же делать? Усложнять сетку? Или дело в другом?
Спасибо!
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
27.08.2013, 00:27
|
#2
|
Мастер
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений (для 1,836 пользователей)
|
Ответ: AShadow и рукожопие
Может от того что нормали по человечески не заданы в коде? В смысле что никак
.
|
(Offline)
|
|
27.08.2013, 01:25
|
#3
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: AShadow и рукожопие
Разве недостаточно направления обхода вершин при создании треугольника?
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
27.08.2013, 01:29
|
#4
|
|
Ответ: AShadow и рукожопие
В коде выше вообще нормали не устанавливаются. По умолчанию они в нулях.
Самый простой способ - это UpdateNormals(mesh), блиц автоматом просчитает их, правда иногда бывает он высчитывает при помощи бубна.
Наскок я помню вручную нормали ставятся через TriangleNormal(nx, ny, nz), компоненты вектора нормализованы [0..1].
Получить нормали же TriangleNX(Y\Z).
|
|
|
Сообщение было полезно следующим пользователям:
|
|
27.08.2013, 01:29
|
#5
|
Мастер
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений (для 1,836 пользователей)
|
Ответ: AShadow и рукожопие
неа, это только задаст с какой стороны треугольник виден будет. Так что надо еще и саму нормаль указывать , либо же UpdateNormals() чтобы оно само посчитало.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
27.08.2013, 01:35
|
#6
|
|
Ответ: AShadow и рукожопие
Насчет теней, наскок помню это Z-буффер виноват. вроде CameraClsMode()
|
|
|
Сообщение было полезно следующим пользователям:
|
|
27.08.2013, 01:35
|
#7
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: AShadow и рукожопие
Спасибо! UpdateNormals(mesh) решил вторую проблему, но первая осталась (CameraClsMode не помог)
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
27.08.2013, 04:15
|
#8
|
Бывалый
Регистрация: 17.12.2011
Сообщений: 862
Написано 443 полезных сообщений (для 1,133 пользователей)
|
Ответ: AShadow и рукожопие
Интересно, impersonalis? ты видео на ютуб не заливаешь, потому что живёшь в соседней галактике
Я вот сейчас сам с AShadowЭ работаю, но только с его эффектами, тени не трогаю... они у меня не отображаются просто...
Библиотека на новом пк стала работать не стабильно и вообще через раз то-есть нет смысла делать игры, Я вот даже демки на ютуб заливаю а то белый экран вместо демки после компиляции ну это ладно, есть же он - Unity3DЭ
Я уже писал что учился Unity партируя проект Владислава crystalium [0.9a demo] http://forum.boolean.name/showthread.php?t=17970
Но Я не писал что проект в 3D ну что естественно и конечно-же Я экспериментировал с тенями, так вот перед тем как изучать язык! Я освоил сам Unity редактор - и вот там тени! такие какие тебе нужны как раз, мне так кажется...
Да!!! а ещё есть такой вот исходник лабиринта;
Прям как-будто, кто-то! специально для тебя делал представляешь!!! полностью эффектами заряжен, только включи.
Но Я! не буду предлагать тебе Unity3D.
А там где тени разъезжаются? не туман у тебя?
Да кстати Я когда-то... для своего проекта использовал не тени, а это -затенение, ну там у меня много объектов было всяких, мне какбэ не подошло, но красиво смотрелась а у тебя только лабиринт да? один источник света да? вот тут посмотри Синий динамический свет посмотри может тебе и AShadowЭ не нужен будет
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Wegox за это полезное сообщение:
|
|
27.08.2013, 07:15
|
#9
|
Бывалый
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений (для 853 пользователей)
|
Ответ: AShadow и рукожопие
А я бы предложил лидверкс, там освещение просто шикарное, и твой код практически без изменений можно в нем запустить.
__________________
Абсолютли!
|
(Offline)
|
|
27.08.2013, 19:36
|
#10
|
Социал-сычевист
Регистрация: 24.06.2011
Сообщений: 611
Написано 342 полезных сообщений (для 1,359 пользователей)
|
Ответ: AShadow и рукожопие
Антон, вегокс
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо Кирпи4 за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:38.
|