forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Normal mapping (http://forum.boolean.name/showthread.php?t=11946)

Spiderman 17.02.2010 18:04

Normal mapping
 
Решил заняться импортированием сего эффекта, необходима тузла, которая создает normal mapping текстуры. Кто что предлагает?

Mhyhr 17.02.2010 18:17

Ответ: Normal mapping
 
1) Плагины для редакторов, например для фотошопа.
2) CrazyBump и подобные...
Google знает...

ARA 17.02.2010 18:29

Ответ: Normal mapping
 
PixPlant круто из картинок делает нормалмапы. Как крейзибамп почти.

ABTOMAT 17.02.2010 18:57

Ответ: Normal mapping
 
nVidia Tools включает в себя плаг для фотошопа, который из карты высот делает карту нормалей.
Ещё Crazy Bump (кстати если у кого есть вылеченная версия, буду благодарен)

ARA 17.02.2010 21:19

Ответ: Normal mapping
 
Грю-же. PixPlant попробуй - аналог)

h1dd3n 17.02.2010 21:28

Ответ: Normal mapping
 
У crazybump уже давным давно обманули триал. Смысла в таблетке нет.

Flash 17.02.2010 23:19

Ответ: Normal mapping
 
Для фотошопа называется NVIDIA NORMAL MAP FILTER.
чтоб не создавать еще одну тему, пользуясь случаем хочу задать вопрос по нормал мапу.
Вместе с Damp с апреля создавали экшн Птичий грипп
есть одна качественнная модель, созданная одним серьезным моделлером
в максе смотрится совершенно по другому в отличие о рендера блица
макс


блиц


текстуру спекуляра для курицы вообще пришлось сделать черно-белой, т.к. в блице она смотрелась отвратно.

Кстати как пониманию с т.з. блица накладывать текстуру по слоям надо след. образом (тип бленда)
0 слой бамп(нормал мап) (dot3)
1 (лайтмап) может не быть
2 спекулар (mod 2x)
3 Диффуз(multiply)
Поправьте если не прав.
Так вот бамп в некоторых местах вообще виден в виде черных пятен.
Я по разному инвертировал каналы цвета нормал карты, кроме blue конечно
зеленый и красный. - помогает очень часто.
Но все равно в максе рендер отличный - в блице черные пятна.

ARA 17.02.2010 23:48

Ответ: Normal mapping
 
Ну типа в блице нету шейдерного нормалмапа. Самый лучший вариант для вас - в максе запеч дифуз вместе с освещением и нормалью в одну текстуру. Будет смотреться так же красиво тогда. Но не будет динамичности. Но будет как в максе текстура смотреться :)

Damp 18.02.2010 19:20

Ответ: Normal mapping
 
Есть такая програмка еще, из всех картинок в текущей папке делает нормалмэпы, не помню откуда функцию стянул :)
;========================
; this is a grayscale image. Each pixel is height information.
; White being the heighest and black being the lowest.
; you can use a color image but only the blue channel is used

myDir=ReadDir(CurrentDir () )
Repeat
.nex
file$=NextFile$(myDir)
Print file$
If file$="" Then End
If FileType(file$) =2 Goto nex
If Right (file$, Len ("_MBP.bmp")) = "_MBP.bmp" Then Goto nex


heightmap = LoadImage( file$)
If heightmap =0 Goto nex

img_w = ImageWidth(heightmap)-1
img_h = ImageHeight(heightmap)-1
lightmap = CreateImage(img_w+1,img_h+1)


LockBuffer ImageBuffer(heightmap)
LockBuffer ImageBuffer(lightmap)

For y = 0 To img_h
If y>0 : ym1=y-1 : Else : ym1=0 : EndIf
If y<img_h : yp1=y+1 : Else : yp1=img_h : EndIf

For x = 0 To img_w
If x>0 : xm1=x-1 : Else : xm1=0 : EndIf
If x<img_w : xp1=x+1 : Else : xp1=img_w : EndIf

; get the pixel value for height info - up, down,
; left and right of current pixel
; And $0000FF restricts to blue channel
y_u = ReadPixelFast(x,yp1,ImageBuffer(heightmap)) And $0000FF
y_d = ReadPixelFast(x,ym1,ImageBuffer(heightmap)) And $0000FF
x_r = ReadPixelFast(xp1,y,ImageBuffer(heightmap)) And $0000FF
x_l = ReadPixelFast(xm1,y,ImageBuffer(heightmap)) And $0000FF

;calculate x and y gradient exactly the same as bumpmapping
nx = (x_l - x_r)
ny = (y_u - y_d)

; nx and ny can potentially fall into the range of -255 to 255,
; so we offest it To get rid of the negative value,
; Then half it To keep the value in the range of 255
red = (nx + 255)/2
green = (ny + 255)/2
blue = 255

; red is horizontal (x axis)
; red = 0 normal points left, red = 255 normal points right
; red = 128 normal points out of screen at you

;green is vertical (y axis)
; green = 0 normal points down, green = 255 normal points up
; green = 128 normal points out of screen at you


; shift the colors into the right place
cr = (red Shl 16) + (green Shl 8) + (blue)
WritePixelFast(x,y,cr,ImageBuffer(lightmap))
Next
Next
UnlockBuffer ImageBuffer(lightmap)
UnlockBuffer ImageBuffer(heightmap)


SaveImage lightmap, Mid( file$, 1, Len(file$)-4)+"_MBP.bmp"
FreeImage heightmap
FreeImage lightmap
Until file$=""
;========================

IGR 18.02.2010 19:38

Ответ: Normal mapping
 

курица хороша !! :super:

Tormaz 24.02.2010 01:29

Ответ: Normal mapping
 
Не понятно.. Если ты имеешь хайполи модель в 3d max (я так понял она есть в наличии судя по картинке) , генерируй карту нормалей в максе и накладывай на лоуполи.
А программы какие не используй ... Просто генерация нормал на основе текстуры не даст результата который бы ты хотел видеть. Если только не простенькая карта нужна , да и то желательно все лишнее с текстуры убрать преобразовать в монохромное. Если нужны плавные переходы размыть . Если резкие резкость увеличить и тд тп. Я для преобразования в нормал использую из leadwerks engine тулзу 900 кб .

Flash 24.02.2010 01:35

Ответ: Normal mapping
 
Естественно карта нормалей сгенерирована в максе
Arenshi спасибо! запекли одну текстуру с номалями и диффузом, вот что получилось

Tormaz 24.02.2010 01:45

Ответ: Normal mapping
 
Значит накладываете ее криво. Смысл запекать с освещенностью и дифузом карту на динамический объект :4to: И что значит с нормалями и дифузом :-D Хотя каждый с ума по своему сходит :)

Flash 24.02.2010 03:14

Ответ: Normal mapping
 
Цитата:

Сообщение от Tormaz (Сообщение 139122)
Значит накладываете ее криво. Смысл запекать с освещенностью и дифузом карту на динамический объект :4to: И что значит с нормалями и дифузом :-D Хотя каждый с ума по своему сходит :)

Друг мой, ты плохо осведомлен о 7 директе. В максе с этой же нормалью и диффузом, курица выглядит отлично смотри посты выше. Дело в в отсутствии шейдеров или же нормаль нужно просчитывать для блица по другому. Так, что не знаешь не советуй.

НУБ 24.02.2010 05:39

Ответ: Normal mapping
 
Вообще-то в блице на 7-м директе бамп со спекуляром можно вполне нормально делать, смотрится более-менее(особенно если с группами сглаживания не накосячить). Единственный минус - легко и без проблем он делается только для направленного света, с точечным нужно повозиться.

http://andreyman.ucoz.ru/_ph/2/864146995.jpg - этому скрину уже 5 лет.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot