|
3D-программирование Вопросы, касающиеся программирования 3D мира |
28.08.2012, 16:02
|
#1
|
AnyKey`щик
Регистрация: 23.08.2012
Адрес: Санкт-Петербург
Сообщений: 6
Написано одно полезное сообщение (для 2 участников)
|
Blitz3D и CellShader
Всем привет. Можно ли в blitz3d сделать эффект цел-шейдинга (CellShader) ???
Такой пример графики встречается в игре Bordelands !!!
|
(Offline)
|
|
28.08.2012, 16:15
|
#2
|
Чудо-кот
Регистрация: 22.02.2011
Сообщений: 901
Написано 480 полезных сообщений (для 1,471 пользователей)
|
Ответ: Blitz3D и CellShader
Для создания контура можно склонировать объект, сдвинуть вертексы в сторону нормали, а потом FlipMesh.
Эффект постеризации только силами библиотеки FastExt.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
28.08.2012, 18:23
|
#3
|
Бывалый
Регистрация: 17.12.2011
Сообщений: 862
Написано 443 полезных сообщений (для 1,133 пользователей)
|
Ответ: Blitz3D и CellShader
Тут наверное лучше использовать сразу два метода Dot3 там левой кнопкой покликай, пока чел из Doom3 не появиться и второй это оконтовка Bordering the object
|
(Offline)
|
|
28.08.2012, 18:24
|
#4
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Blitz3D и CellShader
Для примитивов сойдет.
Global tex,cam,planet,glow
Graphics3D 1024,768,32,2
camera=CreateCamera()
CameraZoom camera,1.5
cube = CreateCube ()
Cel_Shade (cube,0.05,255)
sphere = CreateSphere (6)
Cel_Shade (sphere,0.05,255)
PositionEntity sphere,-5,0,0
light=CreateLight(2)
MoveEntity light,1000,1000,-1000
MoveEntity camera,0,0,-10
While Not KeyHit(1)
TurnEntity cube,0.4,0.2,0.2
TurnEntity sphere,0.4,0.3,0.2
RenderWorld ()
Flip
Wend
End
Function Cel_Shade (Shaded_Entity, OutlineScale#=0.025, r#=0, g#=0, b#=0)
Local Outline_Entity = CopyMesh(Shaded_Entity)
UpdateNormals (Outline_Entity)
EntityFX (Outline_Entity, 1+8)
Local i
For i = 1 To CountSurfaces(Outline_Entity)
Local surf = GetSurface(Outline_Entity, i)
Local j
For j = 0 To CountVertices(surf) - 1
Local Vx# = VertexX#(surf, j)
Local Vy# = VertexY#(surf, j)
Local Vz# = VertexZ#(surf, j)
Local VNx# = VertexNX#(surf, j)
Local VNy# = VertexNY#(surf, j)
Local VNz# = VertexNZ#(surf, j)
VertexCoords (surf, j, Vx#+(VNx#*OutlineScale#), Vy#+(VNy#*OutlineScale#), Vz#+(VNz#*OutlineScale#))
Next
Next
FlipMesh Outline_Entity
EntityColor Outline_Entity, r, g, b
RotateEntity Outline_Entity,EntityPitch (Shaded_Entity, True),EntityYaw (Shaded_Entity, True),EntityRoll (Shaded_Entity, True)
PositionEntity Outline_Entity, EntityX#(Shaded_Entity, True), EntityY#(Shaded_Entity, True), EntityZ#(Shaded_Entity, True)
EntityParent Outline_Entity, Shaded_Entity
End Function
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо Nex за это полезное сообщение:
|
|
06.09.2012, 19:27
|
#5
|
Социал-сычевист
Регистрация: 24.06.2011
Сообщений: 611
Написано 342 полезных сообщений (для 1,359 пользователей)
|
Ответ: Blitz3D и CellShader
Вот у Нэкса отличный код, у меня используется точь-в-точь такой же алгоритм (единственное - обрисовка всегда чёрная), плюс юзаю текстуру-сфермап с блендом 2. Скрин и сама сфермапа ниже.
Сфермапа:
Какая-то лажа с загрузкой файлов на булку, грит прошла неудачно...
|
(Offline)
|
|
Эти 5 пользователя(ей) сказали Спасибо Кирпи4 за это полезное сообщение:
|
|
06.09.2012, 19:58
|
#6
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Blitz3D и CellShader
|
(Offline)
|
|
06.09.2012, 19:58
|
#7
|
Социал-сычевист
Регистрация: 24.06.2011
Сообщений: 611
Написано 342 полезных сообщений (для 1,359 пользователей)
|
Ответ: Blitz3D и CellShader
Ах да, там ещё используется функция разворота костей у обводки в такие же углы как и у оригинала
Сообщение от MoKa
|
Всмысле аватар? Кирпичи? Или перс?
|
(Offline)
|
|
18.09.2012, 18:01
|
#8
|
AnyKey`щик
Регистрация: 23.08.2012
Адрес: Санкт-Петербург
Сообщений: 6
Написано одно полезное сообщение (для 2 участников)
|
Ответ: Blitz3D и CellShader
Всем спасибо !!!
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо CorvusiiCorax за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 14:49.
|