OpenGL中用bmp图片做纹理贴图的三种方法

OpenGL中用bmp图片做纹理贴图的三种方法
OpenGL中用bmp图片做纹理贴图的三种方法

OpenGL中用bmp图片做纹理贴图的三种方法

方法一:

首先获取位图句柄

HBITMAP hBmp = (HBITMAP) ::LoadImage (AfxGetResourceHandle(),

MAKEINTRESOURCE(IDB_BITMAP1), IMAGE_BITMAP, 0, 0,

LR_CREATEDIBSECTION);

然后根据位图句柄得到位图信息

BITMAP BM;

::GetObject (hBmp, sizeof (BM), &BM);

最后根据位图信息中的RGB值建立纹理

gluBuild2DMipmaps( GL_TEXTURE_2D, 3, BM.bmWidth, BM.bmHeight, GL_BGR_EXT, GL_UNSIGNED_BYTE, BM.bmBits );

方法二:

首先用OpenGL辅助库获得位图信息

AUX_RGBImageRec* TextureImage[1];

TextureImage[0]=auxDIBImageLoad("1.bmp");

然后建立纹理

gluBuild2DMipmaps(GL_TEXTURE_2D, 3, TextureImage[0]->sizeX, TextureImage[0]->sizeY, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[0]->data);

方法三:

从底层做,需要了解bmp文件的结构,首先读取bmp文件结构,包括文件头、信息头和数据,数据用于后面定义纹理

long ImageWidth=256;

long ImageHeight=256;

GLubyte Image[256][256][3];

void ReadHeader(FILE *fp , BITMAPFH * p_bitmapheader , BITMAPIH *p_bitmapinfo)

{

fseek(fp, 0, SEEK_SET) ;

fread( &p_bitmapheader->bfType,sizeof(unsigned short), 1, fp );

fseek(fp, 2, SEEK_SET) ;

fread( &p_bitmapheader->bfSize,sizeof(unsigned long), 1, fp );

fseek(fp, 6, SEEK_SET) ;

fread( &p_bitmapheader->bfReserved1,sizeof(unsigned short), 1, fp );

fseek(fp, 8, SEEK_SET) ;

fread( &p_bitmapheader->bfReserved2,sizeof(unsigned short), 1, fp );

fseek(fp, 10, SEEK_SET) ;

fread( &p_bitmapheader->bfOffBits,sizeof(unsigned long), 1, fp );

fseek(fp, 14, SEEK_SET) ;

fread( &p_bitmapinfo->biSize, sizeof(unsigned long), 1, fp );

fseek(fp, 18, SEEK_SET) ;

fread( &p_bitmapinfo->biWidth, sizeof(unsigned long), 1, fp );

fseek(fp, 22, SEEK_SET) ;

fread( &p_bitmapinfo->biHeight, sizeof(unsigned long), 1, fp );

fseek(fp, 26, SEEK_SET) ;

fread( &p_bitmapinfo->biPlanes, sizeof(unsigned short), 1, fp );

fseek(fp, 28, SEEK_SET) ;

fread( &p_bitmapinfo->biBitCount, sizeof(unsigned short), 1, fp );

fseek(fp, 30, SEEK_SET) ;

fread( &p_bitmapinfo->biCompression, sizeof(unsigned long), 1, fp );

fseek(fp, 34, SEEK_SET) ;

fread( &p_bitmapinfo->biSizeImage, sizeof(unsigned long), 1, fp );

fseek(fp, 38, SEEK_SET) ;

fread( &p_bitmapinfo->biXPelsPerMeter, sizeof(unsigned long), 1, fp );

fseek(fp, 42, SEEK_SET) ;

fread( &p_bitmapinfo->biYPelsPerMeter, sizeof(unsigned long), 1, fp );

fseek(fp, 46, SEEK_SET) ;

fread( &p_bitmapinfo->biClrUsed, sizeof(unsigned long), 1, fp ); fseek(fp, 50, SEEK_SET) ;

fread( &p_bitmapinfo->biClrImportant, sizeof(unsigned long), 1, fp );

}

void ReadBitmapFile()

{

BITMAPFH bitmapheader ;

BITMAPIH bitmapinfo ;

FILE *fp;

fp = fopen("6.bmp" , "r") ;

if(!fp)

{

puts("Read file failed.") ;

return;

}

ReadHeader(fp, &bitmapheader , &bitmapinfo) ;

if(bitmapinfo.biBitCount != 24)

{

puts("UNSUPPORT") ;

return;

}

ImageWidth = bitmapinfo.biWidth;

ImageHeight = bitmapinfo.biHeight;

int i=bitmapheader.bfOffBits;

while(i

{

for(int j=0;j

for(int k=0;k

{

fseek(fp, i, SEEK_SET) ;

fread(Image[j][k]+2, 1, 1, fp) ;

fseek(fp, i+1, SEEK_SET) ;

fread(Image[j][k]+1, 1, 1, fp) ;

fseek(fp, i+2, SEEK_SET) ;

fread(Image[j][k], 1, 1, fp) ;

i=i+3;

}

}

fclose(fp) ;

}

glTexImage2D(GL_TEXTURE_2D, 0, 3, ImageWidth,ImageHeight, 0,

GL_RGB, GL_UNSIGNED_BYTE,&Image[0][0][0]);

OpenGL中不用AUX库来加载BMP图片作为纹理[转载](2007-02-11 21:22:15)

大家在OpenGL中一般是用aux库的auxDIBImageLoad()函数来加载BMP格式的图片来作为纹理,这个确实是比较简单易用,但aux库的性能不佳,经常会出问题,稳定性较差。所以一般最好不要用aux库,可以用glut库,但glut库没有纹理加载函数。而有些程序是直接读取BMP格式来获得图像数据,从而生成纹理的,这种方法虽然很强大,但比较复杂,需要了解BMP的格式,对初学者比较困难。而下面的一段程序是用windows的API函数LoadImage()来实现这个功能,这种实现方法很简单,可以说比auxDIBImageLoad()函数复杂不了多少。

首先,加上头文件:

#include

这是因为后面的GL_BGR_EXT是定义在这个头文件里的,因为BMP格式是按Blue,Green,Red顺序储存图像数据的,这与OpenGL中正好相反。GL_BGR_EXT就是完成两者之间的转换的。

下面就是不用AUX库来加载BMP图片作为纹理的函数:

bool LoadTexture(LPTSTR szFileName, GLuint &texid) // Creates Texture From A Bitmap File {

HBITMAP hBMP; // Handle Of The Bitmap

BITMAP BMP; // Bitmap Structure

glGenTextures(1, &texid); // Create The Texture

hBMP=(HBITMAP)LoadImage(GetModuleHandle(NULL), szFileName, IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION | LR_LOADFROMFILE );

if (!hBMP) // Does The Bitmap Exist?

return FALSE; // If Not Return False

GetObject(hBMP, sizeof(BMP), &BMP); // Get The Object

// hBMP: Handle To Graphics Object

// sizeof(BMP): Size Of Buffer For Object Information

// &BMP: Buffer For Object Information

glPixelStorei(GL_UNPACK_ALIGNMENT, 4); // Pixel Storage Mode (Word Alignment / 4 Bytes) // Typical Texture Generation Using Data From The Bitmap

glBindTexture(GL_TEXTURE_2D, texid); // Bind To The Texture ID

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); // Linear Min Filter

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); // Linear Mag Filter glTexImage2D(GL_TEXTURE_2D, 0, 3, BMP.bmWidth, BMP.bmHeight, 0, GL_BGR_EXT, GL_UNSIGNED_BYTE, BMP.bmBits);

DeleteObject(hBMP); // Delete The Object

return TRUE; // Loading Was Successful

}

OpenGL入门学习之七——使用光照来表现立体感

OpenGL入门学习之七——使用光照来表现立体感 2009-01-07 11:49 从生理学的角度上讲,眼睛之所以看见各种物体,是因为光线直接或间接的从它们那里到达了眼睛。人类对于光线强弱的变化的反应,比对于颜色变化的反应来得灵敏。因此对于人类而言,光线很大程度上表现了物体的立体感。 请看图1,图中绘制了两个大小相同的白色球体。其中右边的一个是没有使用任何光照效果的,它看起来就像是一个二维的圆盘,没有立体的感觉。左边的一个是使用了简单的光照效果的,我们通过光照的层次,很容易的认为它是一个三维的物体。 图1 OpenGL对于光照效果提供了直接的支持,只需要调用某些函数,便可以实现简单的光照效果。但是在这之前,我们有必要了解一些基础知识。 一、建立光照模型 在现实生活中,某些物体本身就会发光,例如太阳、电灯等,而其它物体虽然不会发光,但可以反射来自其它物体的光。这些光通过各种方式传播,最后进入我们的眼睛——于是一幅画面就在我们的眼中形成了。 就目前的计算机而言,要准确模拟各种光线的传播,这是无法做到的事情。比如一个四面都是粗糙墙壁的房间,一盏电灯所发出的光线在很短的时间内就会经过非常多次的反射,最终几乎布满了房间的每一个角落,这一过程即使使用目前运算速度最快的计算机,也无法精确模拟。不过,我们并不需要精确的模拟各种光线,只需要找到一种近似的计算方式,使它的最终结果让我们的眼睛认为它是真实的,这就可以了。 OpenGL在处理光照时采用这样一种近似:把光照系统分为三部分,分别是光源、材质和光照环境。光源就是光的来源,可以是前面所说的太阳或者电灯等。材质是指接受光照的各种物体的表面,由于物体如何反射光线只由物体表面决定(OpenGL中没有考虑光的折射),材质特点就决定了物体反射光线的特点。光照环境是指一些额外的参数,它们将影响最终的光照画面,比如一些光线经过多次反射后,已经无法分清它究竟是由哪个光源发出,这时,指定一个“环境亮度”参数,可以使最后形成的画面更接近于真实情况。

三维模型贴图材质制作的秘籍与技巧

三维模型贴图材质制作的秘籍和技巧 本教程主要目的是为读者提供一些秘籍和技巧,帮助读者制作更好看的材质。作者总共总结出十项制作贴图材质的顶级方案与大家分享。。这些技巧都是别人教给我和我自己发现的。这些技巧虽不是解决材质问题的唯一方法,但是在这几年里我觉得是最好的方法。 图1 1.什么是材料? 我经常使用“材料”这个词。通常会看到有人给一个模型上了很难看的材质,可是当你看到材质图的时候会觉得更糟糕。实际上材质图看上去好看还是不好看并不重要,只要放到模型上好看就行了。 然而,检查材质比较好的方法是看材质图,看看能不能认出是什么材质(例如金属,石头,橡胶等);或者认出是模型的哪一部份被展开了。

图2 当在处理最新的和次世代材料的时候(比如奇异的贴图和效果),这种方法就显得有些吃力了。不管怎么说,只要你能认出那些材质,那么几乎可以说放到模型上也会好看。要是认不出,那么你认为的所谓金属效果实际上只是一堆混乱的颜色和像素。(使用纯照片素材很容易引起这些问题,后面会进一步解释。) 除了一张好的漫反射贴图以外,一张高光图也起很大的作用。有些工具能帮你制作高光贴图,不过可以控制的选项很少,特别是用多种材料制作一种材质贴图或发光文字的时候。 要是你想制作高光贴图,Photoshop是最好的选折。 你可以用蒙板来隔离保留区域。如果材质包含白色的文字,你可以很方便地使用蒙板来调整效果。 上面的图用混凝土和金属这两种简单的材料来制作出高光效果。分别进行了色阶(level)调整。你也可以用亮度(brightness)和对比度(contrast)来调整,不过色阶(level)具有更多的选项。

怎样用ps做出金属光泽的效果

手绘 南京-大脚瘦子(81716267) 17:58:10 保留质感强烈部分 南京-大脚瘦子(81716267) 17:58:16 必要的时候做些纹理 吸取该部分的主体色,用画笔20-30透明度涂抹 与原始的相比肯定有区别,你把它想象成3D做的模型,明暗面光线注意,纹路也要做的 必要的时候还要找素材做纹路 京-大脚瘦子(81716267) 18:07:29 比如这样的钢板纹路 南京-大脚瘦子(81716267) 18:07:38 南京-大脚瘦子(81716267) 18:07:58 https://www.360docs.net/doc/df16592441.html,/architecture/mx_diwen/jinshuguangze/image_b6 367e7ffce9f3dc.htm 东莞-剑鬼(763838425) 18:08:22 哦,明白了,像是用3D材质那样对吧 南京-大脚瘦子(81716267) 18:08:32 还有这样的 南京-大脚瘦子(81716267) 18:08:28 南京-大脚瘦子(81716267) 18:08:34 都可以

只要你能想到,就一定可以做到 南京-大脚瘦子(81716267) 18:10:19 图层改为明度 南京-大脚瘦子(81716267) 18:10:30 这个杂色太多 东莞-剑鬼(763838425) 18:11:56 哦,是版本的问题,我CS的 南京-大脚瘦子(81716267) 18:12:09 都有 巧用滤镜制作金属质感的枫叶[2008-5-17] 来源:天极作者:王伟光 本教程介绍金属质感图形的制作方法。思路:先使用滤镜效果制作出金属质感的大图。使用到的滤镜效果比较多。然后把自己想要的图形画出选区,然后把多余的部分删除,再整体调整下,效果 就出来了! 最终效果

实验7 OpenGL光照

实验7 OpenGL光照 一、实验目的 了解掌握OpenGL程序的光照与材质,能正确使用光源与材质函数设置所需的绘制效果。 二、实验内容 (1)下载并运行Nate Robin教学程序包中的lightmaterial 程序,试验不同的光照与材质系数; (2)运行示范代码1,了解光照与材质函数使用。 三、实验原理 为在场景中增加光照,需要执行以下步骤: (1)设置一个或多个光源,设定它的有关属性; (2)选择一种光照模型; (3)设置物体的材料属性。 具体见教材第8章8.6节用OpenGL生成真实感图形的相关内容。 四、实验代码 #include #include static int year =0,day=0; void init(void){ GLfloat mat_specular[]={1.0,1.0,1.0,1.0}; GLfloat mat_shininess[]={50.0}; GLfloat light_position[]={1.0,1.0,1.0,0.0};

GLfloat white_light[]={1.0,1.0,1.0,1.0}; GLfloat Light_Model_Ambient[]={0.2,0.2,0.2,1.0}; glClearColor(0.0,0.0,0.0,0.0); glShadeModel(GL_SMOOTH); //glMaterialfv(材质指定,单值材质参数,具体指针); glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);//镜面反射光的反射系数 glMaterialfv(GL_FRONT,GL_SHININESS,mat_shininess);//镜面反射指数 //glLightfv(光源,属性名,属性值); glLightfv(GL_LIGHT0, GL_POSITION, light_position); //光源位置 glLightfv(GL_LIGHT0, GL_DIFFUSE, white_light); //漫放射光分量强度 glLightfv(GL_LIGHT0, GL_SPECULAR, white_light); //折射光强度 glLightModelfv(GL_LIGHT_MODEL_AMBIENT,Light_Model_Ambient); //光源2 GL_LIGHT1 GLfloat mat_specular1[]={1.0,1.0,1.0,1.0}; GLfloat mat_shininess1[]={50.0}; GLfloat light_position1[]={0.0,0.0,0.0,0.0}; GLfloat red_light[]={1.0,0.0,0.0,1.0}; GLfloat Light_Model_Ambient1[]={0.2,0.2,0.2,1.0}; glLightfv(GL_LIGHT1, GL_POSITION, light_position1); //光源位置 glLightfv(GL_LIGHT1, GL_DIFFUSE, red_light); //漫放射光分量强度 glLightfv(GL_LIGHT1, GL_SPECULAR, red_light); //折射光强度 glLightModelfv(GL_LIGHT_MODEL_AMBIENT,Light_Model_Ambient1); //开启灯光

3D常见材质的制作方法

3D MAX中常见材质的制作方法 、普通玻璃 首先选择一个材质球,并命名为普通玻璃,明暗器基本参数中设为Blinn,然后在Blinn基本参数中调整漫反射的颜色为淡蓝色(即玻璃的颜色);在透明度中调整数值为60;在反射高光中,高光级别设为56,光泽度设为25;在贴图面板中选择反射,打开光线跟踪,单击横排工具栏上的转到父集,反射参数设为15。 2、磨砂玻璃 首先选择一个材质球,并命名为磨砂玻璃,明暗器基本参数中设为Blinn,然后在Blinn基本参数中调整漫反射的颜色为淡蓝色(即玻璃的颜色);在不透明度中调整数值为80;高光级别20,光泽度为10,在贴图中将反射设为薄壁折射,将模糊值设为50,在贴图的凹 凸中打开噪波,大小设为。 3、金属 首先选择一个材质球,并命名为金属或不锈钢,明暗器基本参数中设为金属,然后在基本参数中的漫反射中调出金属的颜色,高光级别为197,光泽度为74;贴图面板中,打开反射中的光线跟踪,反射值为 50(金属越亮,反射值越大)。 4、假金属 首先选择一个材质球,并命名为金属或不锈钢,明暗器基本参数中设为多层,然后在基本参数中的漫反射中调出金属的颜色或打开一张金

属贴图,第一高光反射层:级别163,光泽度为71,第二高光反射层:级别54,光泽度35。贴图面板中,打开反射中的光线跟踪,反射值为30。折射中打开光线跟踪,折射值为20。 5、镜子 首先选择一个材质球,并命名为镜子,明暗器基本参数中设为金属,然后在基本参数中的漫反射中调出颜色,高光级别为89,光泽度为67;贴图面板中,打开反射中光线跟踪,反射值为100。 ~ 6、自发光 首先选择一个材质球,并命名为自发光,明暗器基本参数中设为Blinn,然后在基本参数中的自发光面板中勾选颜色,将颜色设为白 色。 7、织物或布匹 首先选择一个材质球,并命名为织布,明暗器基本参数中设为“Oren—Nayar—Blinn”,然后在基本参数中的漫反射中调出织布的颜色或打开一张贴图,设置粗糙度参数(根据布匹的纹理或粗糙程 度),其他参数不变。 8、皮革 首先选择一个材质球,并命名为皮革,明暗器基本参数中设为各向异性,然后在基本参数中的漫反射中调出皮革的颜色或打开一张皮革贴图,设置高光级别为39,光泽度为15,各向异性为50,方向为5(根

第三章光照模型纹理映射

第三章光照模型及纹理映射 基本光照模型 1.在现实生活中,当光照在非透明物体上时,部分光线被物体吸收,剩余的部分光线被反射。人眼依靠这种反射光来感知物体的形状、颜色和其他细节。从光源投向物体的光称为入射光,从物体表面反射回的光称为反射光。 1.1光照模型概述 当光照射到物体表面上时,将出现3种情况: ●光从物体表面反射,形成反射光 ●光穿透物体,形成透射光 ●光被物体吸收,转化成为物体的内能 在上述三种情形的光线中,通常只有前2种情形的光线会对人眼产生视觉效果,使人察觉到物体的色彩变化。 OpenGL用一种近似的光照模型模拟现实世界的光照效果。在该模型中,仅当物体表面吸收和反射光线时,光源才会起做作用。每一个物体表面都假定是由某种特性的材料构成的。一种材料可能发出自己的光线,也可能在各个方向上发散一些射入的光线,还有可能像镜子一样在某个方向强烈地反射入射光。 1.2光照分量 在OpenGL的简化光照模型中,将光照分为4个独立的组成部分:辐射光、环境光、漫反射光和镜面反射光。 1)辐射光

辐射光是直接从物体或光源发出的,不受任何其他光源的影响。 2)环境光 环境光是这样一种光线,它被环境多次反射,以致于连初始 方向也难以确定。这种光线看起来就像来自于所有的方向, 当它照在一个物体表面时,它在所有的方向上等量地反射。 3)漫反射光 在被照射物体表面的反射光中,那些均匀地向各个方向反射 出去的光,称为漫反射光,如黑板反射就属于漫反射光 4)镜面反射光 镜面反射光是指超一定方向的反射光,如点光源照射光滑金 属球表面时,会在球表面形成一个特别亮的区域,呈现所谓 的高亮(Highlight>,这就是光源在该物体表面形成的镜面反射光(Specular Light>。点光源照射表面光滑的物体时,高亮区域小而亮;而点光源照射表面粗糙的物体时,高亮区域大而不亮。 1.3创建光源 光源有许多特性,如颜色、位置、方向等。不同特性的光源,作用在物体上的效果是不一样的。 1.3.1定义一个简单光源 在OpenGL中,定义一个光源是由函数glLight(>来实现的,该函数的原型为:void glLight(GLenum light,GLenum pname>; light为一个光源,pname为光源light指定一个单值的光源参数,

材质处理及贴图方法

材质处理及贴图方法 材质处理: 我们在做配景楼时,模型的面要求控制很少但要做出逼真的效果,这就要求在材质上下功夫。下面我把从材质到贴图的方法介绍给大家,这里的材质处理不是很到位,希望你们做的更好。在制作中要求一张材质去为一栋楼或一群楼服务,这就要*虑到所有用到的材质在一张贴图 上的分配,我通常是楼顶的面积要给的多如左图 因为配景楼通常都用在像鸟瞰等一些大的场景内,房顶在画面中比重要大,也可以看个人习惯,材质贴得漂亮为标准。 (图一)

(图二) 贴图的材质最好找现成的来修改,这是网上下载的(图一)很好用改后如(图二) 还不能直接用还的进一步修改。处理的地方主要是立面与房顶交接的地方过度自然如 (图三) (图三) 在处理房顶的材质时我习惯也是简便的方法,在3DMAX的TOP视图把房顶的平面抓下来,在PHOTOSHOP中裁剪,如(图四)

(图四) 目的为了在MAX中贴图容易对位,接下来我我们选择要处理的边缘,红色为选择范围如(图五) (图五) 上图是处理边缘LAYERS的工作图层,做阴影一般用MULTIPLY,把边缘加重,再加个MASK

是很好用的,熟悉PHOTOSHOPD的同事应该了解。 (图六) 房顶的材质基本上出来了(图六)右(红线圈选的),左图(红线圈选的)是为丰富暗面加些物件,使整体有层次,房顶的部分基本上出来了。(上面的还不够丰富) 剩下立面的部分就比较容易,要注意的是窗户之间保持平行,不然在3DMAX里贴图会扭曲。立面的上部与下部要做出明暗的变化,最后还要统一调性。 贴图方法: 在PHOTOSHOP里做完贴图接下来在3DMAX里调整材质,工作较烦琐你有耐心。将材质赋给物体如下图,并在UVW MAP中勾选FACE。 但有些不规则的面会出现如下(图七)左(红线圈选的)破面,选择该面给UVW MAP勾选PLANAR(图七)右,接下来开始下面的工作。

金属材质绘制

金属材质绘制 金属不同质感: 从上面这些图例来看金属材质是非常多样的,但金属材质无非是纹理上的差别、污渍上的差别和高光上的差别。知道了这一点绘制金属材质的时候就不会无从下手了。那么下面就来通过一个实例来具体介绍一下金属材质的制作流程和技巧。 下面就是最后制作后在M A Y A中实时显示的最终效果: 不带有n o r m a l m a p和s p e c u l a r m a p的效果

带有n o r m a l m a p和s p e c u l a r m a p的效果 绘制贴图前一般我们会拿到一个简模,有的模型是会带有高模烘好的l i g h t m a p和n o r m a l m a p两张图。这个模型没有l i g h t m a p和n o r m a l m a p 需要我们来自己制作。一般游戏都是有c o n c e p t的,不过有的会很简单,是要靠自己根据游戏的风格来发挥的。这个实例没有c o n c e p t,请参考上面的最终完成图进行绘制。 简模 在绘制贴图前我们要检查一下U V是否分的合理,如果有不合理的地方在允许的情况下要进行调整。U V是绘制一个好的贴图的基础,U V分的合理我们才能更加顺手的完成绘制。分配U V要最大限度地利用空间,一个物体的不同的面尽量要保证U V大小一致。还要尽量保证U V很平竖直,如果贴图尺寸太小要考虑共用U V。 UVmap

※ 绘制贴图可以简单的分成以下五个步骤: 1、绘制D I F F U S E M A P的颜色 2、为D I F F U S E M A P添加纹理 3、绘制D I F F U S E M A P的污渍 4、用D I F F U S E M A P制作S P E C U L A R M A P 5、用D I F F U S E M A P转换N O R M A L M A P DIFFUSEMAP的制作: D i f f u s e m a p是最重要的贴图,n o r m a l m a p和s p e c u l a r m a p都是基于这个贴图而来的。我们要画一张1024×1024的贴图。首先,在M A Y A中导出一个1024×1024的UVmap,再在P h o t o s h o p中新建一个名为m e t a l b o x的1024×1024的空白图(图1)。然后选择将导出的UVmap按住shift 拖拽到这个图中(按住shift键拖拽,可拖拽到另外一张图的同等位置。),在图层样式中将UV图层设置为“滤色”。(图2) (图1) (图2)根据UV和模型大体区分出不同物体的颜色。(图3、4) (图3) (图4) 下面我们绘制l i g h t m a p(图5)。l i g h t m a p是要将模型没有表现出来的结构绘制出来,绘制视情况而定,如果时间允许可以绘制更加多的细节来丰富所做的物体。(l i g h t m a p的具体制作可以参考枪的教程)

金属质感表现-金属材质教程

图文]3DMAX打造金属质感 (2010-05-13 17:41:12) 转载 分类:3D动画与CG教学 标签: 游戏 先看最终效果。 其实还有很多地方有问题,比如刀把的细节不够,到刃没表现出来~本来想找时间改改~最后实在是懒的不行了,就这样吧,个人认为金属的质感已 经表现出来了。

看一眼就觉得刀上的花纹很复杂,制作起来不是那么容易,其实相当简单,下面就来看看是怎么达到这样的效果的。 首先将模型的UV分好,这个模型分uv很简单,给刀身一个平面坐标,单击修改面版下的Modifier List下拉列表,选择Unwrap UVW。选择Parameters卷栏下的Edit…按钮弹出Edit UVWs面板,然后在修改面板下选择Unwrap UVW下的Select Face,选择刀身的面给一个Planar Map。刀的背部也是一样的。给刀柄一个圆柱坐标,选择Modifier List下拉列表下的Mesh Select,选择Polygon然后选中刀柄部分的面,在加入一个Modifier List下UVW Mapping 给Cylinder坐标,点一下Fit。然后调整下,基本上就可以了。然后在photoshop里对着uv 线来绘制贴图。贴图很简单,就是拿几张照片合成下就行。 这把刀一共用了2张贴图,一张是表现表面的纹理,还有一张是凹凸贴图。

下面就把绘制好的贴图指定给物体,打开max的材质编辑器,设置如下。

在这里有必要说一下,在制作刀的时候我们的diffuse(固有色)和Bump(凹凸)用的是2张贴图,那是因为刀的表面有特定的凹凸,而现在制作的地面可以直接用一张贴图,这样地面会看上去凹凸不平,增加真实的感觉。 Max灯光的参数不多,不值得一讲,但是一幅好的作品灯光是非常重要的,也可以说“光”是一副好作品的灵魂。在打灯光之前先确定场景的基调和气氛,表达出怎样的感情,是否有特殊光照的效果。为了产生真实的3D图象布光是很重要的,在我们的现实生活中所有的物体都会有反射光,每个物体受光后都会吸收一部分光线而将另外一部分光线反射出去,在max里面我们要手动去模拟。使用彩色的光线也是很重要的,所有的光线都有一个颜色,并非纯白。 好了,下面再来看看灯光是如何设置的。

室内效果图材质设置与制作思路

室内效果图材质设置与制作思路 前言:3ds Max系统的材质在Vray渲染器中的兼容性也是非常好的(3ds Max下贴图除了Raytrace、Reflection/Refraction会跳出3ds Max系统以外,其他的参数均可以正常使用),而Vray自带的材质只是为用户提供品质更高的选择。这里我们要阐明一个重要的概念:要想编辑好一个材质,必须要知道该材质在物理世界里究竟具有那些物理属性,就是要从物理的角度去理解参数值。一些初学者在论坛里套用别人的参数,这其实是极为错误的,虽然别人的参数值可以作为一种参考,但它不一定就适合你当前的场景。大家要物理的理解参数的真正含义,一个参数不可能满足所有场景要求,所以最好的办法是去透彻的理解它,这样在应用的过程才会得心应手。下面内容我们从室内效果图制作过程中应用到的主要几大类材质入手,去分析材质的基本特性。 一、乳胶漆有如下几个特征: ?颜色(在自然界里是这样定义白色和黑色的:完全反光的物体,它的颜色是白色的;完全吸光的物体,它的颜色才是黑色。所以真实状态下没有纯白或纯黑的物体。) ?表面凹凸(表面有点粗糙、有划痕、有凹凸,这是使用刷子留下的痕迹。) ?高光(任何材质都有高光,只是多少的问题。越光滑的物体高光越小,反射越强,越粗糙的物体高光越大,反射越弱。由于乳胶漆材质表面比较粗糙,所以该材质的高光面积比较的大,大概参数在0.25左右)

总结:1、黑色白色不能调成0或255,纯白或纯黑的东西会计算出错误的结果。带色的乳胶漆可以按设计要求调个色就可以。

2、有反射的真实材质必定会有高光,所以VRAY的物体高光强度是由反射值来控制的。 当我们增强反射值的时由于乳胶漆不具有反射的属性,要在Options选项中将物体的反射属性关闭(Trace reflections),但是物体的高光是存在的。 3、真实的乳胶漆离远看的时候比较平整和干净的,我们利用这一点一般不会乳胶漆中 加入凹凸。更重要的是有时给材质加了凹凸后,会使材质看上去不够干净,而且也会因为凹凸增加不必要的渲染时间。 二、木质材质: 原木材质有如下几个特征; ?纹理贴图(需要用不同的木纹贴图来表现真实的材质纹理,同时为了让贴图更清晰,把Blur 的值该为0.01。) ?表面凹凸(真实木纹的凹凸效果。)

网友原创教程:使用材质贴图通道

网友原创教程:使用材质贴图通道 最近网友教程模块得到了广大网友的积极响应,又有朋友提供了新的教程,该教程是关于材质设置的,该网友仅使用了一个标准材质就使皮夹具有了皮革、金属、缝线等多种对象的质感属性,并且具有不同的凹凸、反射等特性,这些都是通过设置贴图通道的贴图来实现的。大部分的贴图通道通过灰度模式来控制材质的某种属性,例如凹凸贴图通道使用的贴图白色的位置有突出感,黑色的位置有凹陷感;不透明度通道使用的贴图白色部分为完全不透明,黑色部分为完全透明等。利用这一特性,可以使一种材质具有不同的质感。这一方法在游戏行业应用较为广泛,因为游戏行业的特殊要求,建模不能过于复杂,所以只能从材质方面来完善模型。 对于一个初学者来说,想要能够熟练使用材质贴图通道设置材质,尤其是这种比较复杂的材质,首先必须对材质非常地了解,知道每种贴图通道用于控制哪种属性,能够实现怎样的效果;还需要掌握PS等图形图像处理软件,因为材质的设置是非常灵活的,不可能每次都找到合适的贴图,很多时候需要自己来制作;还要有一定的统筹和规划能力,善于思考,这类的材质往往很复杂,每一步的设置都和最后的效果息息相关,必须有清晰的思路,才能把材质完成。所以基础知识的学习是相当重要的。 该网友上次发了制作字符画的教程,这一次的教程较上一次有了很大的进步,不管在叙述、分类还是知识点方面都有所提高,看来这位朋友很善于采纳别人的意见,并有很强的理解能力和动手能力。夸奖的话就不多说了,这个教程很不错,希望继续努力。 最后对教程提一些意见,首先那个烫金的效果不太好,很像一个100%自发光的效果,这也不能怪你设置得不好,主要是方法问题,因为使用材质贴图通道设置材质还是有很大的限制,不管怎样应用通道,明暗模式等基本属性不会变的,只是程度有所差别而已,所以不太适合设置两种质感差别过大的材质。设置这类的材质还是使用复合材质类型比较好。例如混合、合成等都可以实现这一类的效果,而且操作更为简单。 光源有些偏暗,布光对材质的影响很大的,所以如果能把光源完善一点就更好了。 3ds max 2011新增了板岩材质编辑器,该编辑器使材质的设置更为直观,有兴趣的朋友可以尝试使用一下,对于这种自己设计的材质,板岩材质编辑器设置起来更方便一点。 上个实例好像没提什么意见啊,这个提了意见并不是说着个实例不好,其实恰恰相反,因为上一个太简单了,没什么好点评的,这个涉及到这么多知识点,肯定有可讨论的地方。希望大家能够更积极地参与进来,毕竟学会一个实例和自己写一个实例需要掌握的知识量肯定是不同,在这个过程中,自己也会巩固所学知识,对软件有更深刻的理解。 这次给大家带来的是3d max材质篇相关内容(皮夹子材质赋予),以后会逐渐给大家分享经验,促进交流!亲手写教程是一个知识巩固的过程,所以我是来和大家一起学习的,很多地方写的并不是参数怎么怎么多少,更多的是我制作时的时候是怎么想的!希望大家学完之后,有所收获!也希望大家一起来参与与大家分享自己经验!感谢腾龙学习平台!

实验七 OPENGL光照效果

1.实验七OpenGL光照效果(选做) 1.实验七:OpenGL光照效果。 2.实验目的:通过上机编程,熟悉并掌握OpenGL中光照效果的制造方法。 3.实验要求: (1)先做实验项目:实验六“OpenGL组合图形”。 (2)每人一组,独立完成。 (3)利用OpenGL提供的颜色、光源、材质设置,对实验六“OpenGL组合图形” 中自己设计的物体设置绘制颜色和材质参数,并在场景中添加光源,形成一 定的光照明暗效果。 4.实验原理及内容: 在现实世界中,光线和物体的材质共同决定了物体在人眼中的效果。OpenGL 中则涉及到绘制颜色、物体的材质参数、场景中的光源颜色和位置,以此达到一定 的真实感光照效果。 (1)颜色: OpenGL通过指定红、绿、蓝(RGB)三个成分的各自亮度来确定颜色,有时还有第四个成分alpha:glColor*(red,green,blue[,alpha]); glColor()函数设置当前的绘图颜色,red、green和blue分别为红、绿、蓝的亮度,alpha为透明度,取值均为0.0~1.0。在该函数之后绘制的所有物体都将使用该 颜色。 (2)光线: OpenGL的光照模型中将光源分成四种: 发射光:一个物体本身就是一个发光源,如太阳、电灯等,这种光不受其它任何光源的影响。 环境光:从光源出发后光线被环境多次反射,以致没有明确的方向,或者说来自于所有的方向。被环境光照射的物体,各个表面都均等受光。 散射光:来自于某个方向,被物体表面均匀地反射,例如荧光照明、窗口射入的阳光等。 镜面光:来自于一个方向,被物体强烈地反射到另一个特定的方向。高亮

度的镜面光往往能在被照射的物体表面产生亮斑,如金属球上的高光区。 对于散射光和镜面光,入射角度、距离和衰减因子还会影响到最终的光照效果。 除了物体本身的发射光以外,通常意义上的光并不会是单纯的环境光、散射光或镜面光,而是由这三种类型的光混合组成的。 在OpenGL中,光也是采用RGBA值来定义的,分别描述光线中红绿蓝各成分的相对亮度。计算混合光的亮度时,则把相应的颜色亮度叠加即可,例如:环境光为(R1,G1,B1),散射光为(R2,G2,B2),镜面光为(R3,G3,B3),则混合后的光线为(R1+R2+R3,G1+G2+G3,B1+B2+B3)。 (3)材质: 材质是物体本身的一种属性,主要用来表征物体对不同颜色、不同类型光线的反射、吸收性能。 在OpenGL中设置材质参数,就是要指定这种材质对环境光、散射光、镜面光的反射能力,有时还需要说明该种材质是否具有发光能力。 在最终绘制每个像素时,OpenGL自行将物体材质的各分量与光线的各分量相乘再叠加,从而得到每个像素的RGB值。例如:光线为(R,G,B),材质为(MR,MG, MB),则最终绘制时颜色为(MR*R,MG*G,MB*B)。 (4)获得光照效果的一般过程为: a)使能光照:glEnable(GL_LIGHTING); b)设置一种光照模式:glLightModel*(); 如果只需要普通的无方向的环境光: GLfloat light_ambient[]={red,green,blue,alpha};//环境光的分值 //全局环境光的默认取值为(0.2,0.2,0.2,1.0) glLightModel*(GL_LIGHT_MODEL_AMBIENT,light_ambient); 如果需要在某个具体位置上放置某个光源,例如: GLfloat light_ambient[]={0.3,0.3,0.3,1.0};//环境光 glLightfv(GL_LIGHT0,GL_AMBIENT,light_ambient); GLfloat light_diffuse[]={0.7,0.7,0.7,1.0};//散射光 glLightfv(GL_LIGHT0,GL_DIFFUSE,light_diffuse); GLfloat light_specular[]={1.0,1.0,1.0,1.0};//镜面光 glLightfv(GL_LIGHT0,GL_SPECULAR,light_specular);

材质制作与贴图技巧

对于一些新手来讲工作中常常会遇到一些材质参数的问题,还有一些常识,以下给大家工作中常用的材质参数材质都有不同的表现)和一些注意事项(比如VR渲染器下不能用光线跟踪等等)! 常用材质材质的设置不是一成不变的,也不是毫无规律,这里给出的是个大概的参数值,具体的还要配合场还有其它很多种调法,这里只介绍VR的调法,希望能起到抛砖引玉的作用。 我们生活中最常用的不外乎以下几种:石材、玻璃、布料、金属、木材、壁纸、油漆涂料、塑料、皮革。 一、石材材质分析: 石材有镜面、柔面、凹凸面三种; 1、镜面石材:表面较光滑,有反射,高光较小; Diffuse (漫反射)- 石材纹理贴图; Reflect(反射)- 40; Hilight glossiness - 0.9 ; Glossiness(光泽度、平滑度)- 1; Subdivs(细分) - 9。 2、柔面:表面较光滑,有模糊,高光较小; Diffuse (漫反射)- 石材纹理贴图; Reflect(反射) - 40; Hilight glossiness-关闭; Glossiness(光泽度、平滑度)-0.85; Subdivs(细分) -25。 3、凹凸面:表面较光滑,有凹凸,高光较小; Diffuse (漫反射)- 石材纹理贴图; Reflect(反射) - 40; Hilight glossiness-关闭; Glossiness(光泽度、平滑度)- 1; Subdivs(细分) -9; Bump(凹凸贴图) - 15%同漫反射贴图相关联。 4、大理石材质 Diffuse (漫反射)- 石材纹理贴图; Reflect(反射) -衰减 - 1; Hilight glossiness - 0.9; Glossiness(光泽度、平滑度)- 0.955、 5、瓷质材质:表面光滑带有反射,有很亮的高光; Diffuse (漫反射)- 瓷质贴图(白瓷250); Reflect(反射) -衰减(也可直接设为133,要打开菲涅尔,也有只给40左右); Hilight glossiness - 0.85; Glossiness(光泽度、平滑度)- 0.95(反射给40只改这里为0.85);

OpenGL光照与材质

OpenGL---------光照的基本知识 从生理学的角度上讲,眼睛之所以看见各种物体,是因为光线直接或间接的从它们那里到达了眼睛。人类对于光线强弱的变化的反应,比对于颜色变化的反应来得灵敏。因此对于人类而言,光线很大程度上表现了物体的立体感。 请看图1,图中绘制了两个大小相同的白色球体。其中右边的一个是没有使用任何光照效果的,它看起来就像是一个二维的圆盘,没有立体的感觉。左边的一个是使用了简单的光照效果的,我们通过光照的层次,很容易的认为它是一个三维的物体。 OpenGL对于光照效果提供了直接的支持,只需要调用某些函数,便可以实现简单的光照效果。但是在这之前,我们有必要了解一些基础知识。 一、建立光照模型 在现实生活中,某些物体本身就会发光,例如太阳、电灯等,而其它物体虽然不会发光,但可以反射来自其它物体的光。这些光通过各种方式传播,最后进入我们的眼睛——于是一幅画面就在我们的眼中形成了。 就目前的计算机而言,要准确模拟各种光线的传播,这是无法做到的事情。比如一个四面都是粗糙墙壁的房间,一盏电灯所发出的光线在很短的时间内就会经过非常多次的反射,最终几乎布满了房间的每一个角落,这一过程即使使用目前运算速度最快的计算机,也无法精确模拟。不过,我们并不需要精确的模拟各种光线,只需要找到一种近似的计算方式,使它的最终结果让我们的眼睛认为它是真实的,这就可以了。 OpenGL在处理光照时采用这样一种近似:把光照系统分为三部分,分别是光源、材质和光照环境。光源就是光的来源,可以是前面所说的太阳或者电灯等。材质是指接受光照的各种物体的表面,由于物体如何反射光线只由物体表面决定(OpenGL中没有考虑光的折射),材质特点就决定了物体反射光线的特点。光照环境是指一些额外的参数,它们将影响最终的光照画面,比如一些光线经过多次反射后,已经无法分清它究竟是由哪个光源发出,这时,指定一个“环境亮度”参数,可以使最后形成的画面更接近于真实情况。 在物理学中,光线如果射入理想的光滑平面,则反射后的光线是很规则的(这样的反射称为镜面反射)。光线如果射入粗糙的、不光滑的平面,则反射后的光线是杂乱的(这样的反射称为漫反射)。现实生活中的物体在反射光线时,并不是绝对的镜面反射或漫反射,但可以看成是这两种反射的叠加。对于光源发出的光线,可以分别设置其经过镜面反射和漫反射后的光线强度。对于被光线照射的材质,也可以分别设置光线经过镜面反射和漫反射后的光线强度。这些因素综合起来,就形成了最终的光照效果。 二、法线向量 在OpenGL中,法线的方向是用一个向量来表示。不幸的是,OpenGL并不会根据你所指定的多边形各个顶点来计算出这些多边形所构成的物体的表面的每个点的法线(这话听着有些迷糊),通常,为了实现光照效果,需要在代码中为每一个顶点指定其法线向量。 指定法线向量的方式与指定颜色的方式有雷同之处。在指定颜色时,只需要指定每一个顶点的颜色,OpenGL就可以自行计算顶点之间的其它点的颜色。并且,颜色一旦被指定,除非再指定新的颜色,否则以后指定的所有顶点都将以这一向量作为自己的颜色。在指定法线向量时,只需要指定每一个顶点的法线向量,OpenGL会自行计算顶点之间的其它点的法线向量。并且,法线向量一旦被指定,除非再指定新的法线向量,否则以后指定的所有顶点都将以这一向量作为自

3DMAX材质与贴图

3DMAX材质与贴图 3DMAX材质与贴图世界上任何物体都有各自的表面特征,如玻璃、木头、大理石、花草、水或云,怎样成功地表现它们不同的质感、颜色、属性是三维建模领域的一个难点。3D Studio MAX 3 的材质编辑功能地非常强大,不仅继承了3D Studio MAX 1 、2 的所有特性,同时材质编辑器中新增了多种复合材质,结合M o r p h e r 编辑器还可对材质进行变形。为了适应变化,用户界面也做了适当的安排。材质编辑器增加了多种贴图的类型,包括Swirl Map (旋涡)、Paint Map (画笔)、(Bricks Map )砖墙等。特别是3D Studio MAX 3 增加了在打开所有贴图文件时可以预览的新功能,使材质贴图制作更加直观快捷。 所谓材质,就是指定物体的表面或数个面的特性,它决定这些平面在着色时以特定的方式出现,如C o l o r (颜色)、S h i n i n e s s (光亮程度)、S e l f - I l l u m i n a t i o n (自发光度)及O p a c i t y(不透明度)等。指定到材质上的图形称为贴图(M a p s )。用多种方法贴图能把最简单的模型变成丰富的场景画面。在3D Studio MAX 3 .中巧用贴图的技术还能节省许多不必要的建模时间,以达到事半功倍的效果。 Material Editor (材质编辑器)是3D Studio MAX 3 中功能强大的模块,是制作材质、赋予贴图及生成多种特技的地方。虽然材质的制作可在材质编辑器中完成,但必须指定到特定场景中的物体上才起作用。我们可以对构成材质的大部分元素指定贴图,例如可将A m b i e n t 、D i ff u s e 和S p e c u l a r 用贴图来替换,也可以用贴图来影响物体的透明度,用贴图来影响物体的自体发光品质等。本章从介绍材质编辑器入手,由浅至深,逐步讲解基本材质、基本贴图材质、贴图类型与贴图坐标及复合材质等问题。 4.1 材质编辑器 如果说学习掌握3D Studio MAX 的建模只是时间的问题,那么对于材质贴图来说要真下功夫才行。因为3 DStudio MAX 3 的材质编辑器不仅功能强大,它的界面命令和层出不穷的卷展栏也让人望而却步。不过别担心,只要耐心细致地学习,工夫不负有心人,一旦你能熟练运用材质编辑器,就会发现原来很多精美真实的材质做起来并不难。另外一定要树立材质树的概念。因为好的材质,都是具有材质树特点的多层材质,既材质中有材质,贴图中套贴图。材质树的概念在材质贴图制作上是体现深度的关键所在,也是学习材质编辑器必须理解的概念。 4.1.1 视窗区 单击主工具栏中的材质编辑器按钮,弹出材质编辑器的默认界面,如图4 - 1 所示。材质编辑器分为两部分,上半部分为固定不变的视窗区,视窗区提供了显示材质的示例球以及一些控制显示属性,层级切换等常用工具,它们的操作绝大多数对材质没有影响。视窗区包括六个样本视窗、水平工具行、垂直工

国外制作的Maya材质教程_做旧金属

导言 这是一部国外制作的经典教程,虽然有点久,但一直收藏着,今天拿出来和大家分享一下,相信对大家能够有所帮助。 使用NURBS建模。(图01) 图01 贴图(图02) 图02 按下图方式创建一2D placement node模式贴图。我们使用如上材质设置color和bump。(图03)

图03 得到如下效果。(图04) 图04 设置材质属性(图05)

图05 接下来我将在Specular Color属性上连接贴图,在这个材质网络中,将File纹理复制,这样我只需要一个纹理置换节点,然后我将复制出来的File纹理关联到Specular Color属性。(图06) 现在高光看起来更好了一些,接下来,我将在高光颜色上加入一些变化,加入这种变化是通过在连接到Specular Color属性上的File纹理的Color Remap属性上加入Ramp节点实现的。(图07)

图07 在关联到Specular Color属性上的File纹理的Effects标签下,点击Color Remap后面的Insert按钮。(图08) 图08 这就是最终的这个管子的材质网络,剩下的就是不断的调节Ramp节点,以便得到你期望的结果。使用实时渲染,可以很容易核对不同的设置得到的结果,现在就可以调节Ramp 节点,测试不同的结果,下面的结果就是调节Ramp节点得到的效果。(图09)

图09 通过调整ramp后所得到的不同效果。(图10) 图10 继续调整ramp(图11、图12)

图11 图12 OK,到这里就结束了,方法很简单但是效果很好。

OpenGL中的光照模型

OpenGL中的光照模型 一、OpenGL的光照模型 在OpenGL的简单光照模型中反射光可以分成三个分量,环境反射光(Ambient Light)、漫反射光(Diffuse Light)和镜面反射光(Specular Light): a、环境光Ambient,是由光源发出经环境多次散射而无法确定其入射方向的光,即似乎来自所有方向。当环境光照到曲面上时,它在各个方向上均等地发散(类似于无影灯光)。特征:入射方向和出射方向均为任意方向。 b、漫射光Diffuse,来自特定方向,它垂直于物体时比倾斜时更明亮。一旦它照射到物体上,则在各个方向上均匀地发散出去,效果为无论视点在哪里它都一样亮。特征:入射方向唯一、出射方向为任意方向。 c、镜面光Specular,来自特定方向并沿另一方向反射出去,一个平行激光束在高质量的镜面上产生100%的镜面反射。特征:入射方向和出射方向均唯一。 二、创建光源 定义光源特性的函数:glLight*(light , pname, param) 其中第一个参数light指定所创建的光源号,如GL_LIGHT0、GL_LIGHT1、...、GL_LIGHT7;第二个参数pname指定光源特性,这个参数的辅助信息见表1所示;最 GL_LIGHT0,其他几个光源的GL_DIFFUSE和GL_SPECULAR缺省值为 (0.0,0.0,0.0,1.0)。 三、启用光源和明暗处理 如果光照无效,则只是简单地将当前颜色映射到当前顶点上去,不进行法向、光源、材质等复杂计算。要启用光照或关闭光照,调用函数:glEnable(GL_LIGHTING) 或glDisable(GL_LIGHTING)。 启用光照后必须调用函数glEnable(GL_LIGHT0) ,使所定义的光源有效。其它光

3dmax贴图教程:教你如何制作一个真实的金属材质

3dmax贴图教程:教你如何制作一个真实的金属材质 我们利用3dmax贴图制作金属材质,有一部分需要ps处理,最后的效果见下图。 首先,建模,给它一个贴图坐标器。 然后,贴图展开的修改器,赋予它一个网格材质。网格材质容易看出扭曲来,可以通过手调他的重复次数来使它有合适的贴图比例。打开在视图中显示贴图的选项是很有帮助的,对于这个物体我需要的是1.3和1的重复次数,所以比率是1.3:1。然后用texporter的展开贴图弄一个快照,并且保存为tif格式。(tga也不错,我们必须要确定的是得到一个alpha通道)。我需要的是高度为800象素的图片,因此呢我的宽度是800*1.3=1040。 其实也没有必要弄得这么准确,但是我做这个事情主要是避免它在某个方向上有扭曲现象。好多时候你也可以根据texport来估计贴图的比率。 下面是展开图的网格物体,我们准备在他的上面绘制贴图。在ps中我复制alpha通道到一个新的图层然后修改模式为multiply。这中方法黑色的线框将要显示,但是所有的白色的物体将要是透明的,这可以让你轻松的看到你所绘制的东西。这一层是在最顶端的它总是阻止以外的绘制出现。

我然后放置了一层黄色的油漆和绿色的油漆,我是利用了一些有文理的照片,然后在它上面绘制颜色。 图为铜锈贴图

图为铜锈贴图 它在ps中的状况如图: 在网格物体的指导下我们可以绘制油漆脱落的部分,我们需要重新建立一层在他上面用黑和白色涂料的图层,我们用印章工具绘制出高对比度的图象,还有在需要的地方小心手绘。

图为ps绘图

图为ps绘图效果 材质基本上完成了,让我们给他做旧一点。另外建立了一层,并且设置为multiply,用很大的,柔软的笔用一个棕色的颜色来绘制污迹。特别关注的是一些角落和拐角处,那些地方聚集了很多的灰尘。保持他的柔软度调整他的硬度也可以得到很难看的材质。 现在是给表面加罩的时候了,这需要沿着边也要很大的表面就象中间的材质一样用一个大的刷子来进行。

相关文档
最新文档