轻松学习Blender基础入门之九:UV-1

2017-06-21 14:24:49|  分类: Blender |举报 |字号 订阅

 
【前言】

         使用多边形方式建立的模型,如果要赋予模型纹理材质或者要绘制纹理。在做这件事情之前,一个重要的环节必须首先考虑 ,那就是“模型UV展开”(Unwrapping)
         如果渲染模型的时候,该模型不涉及纹理贴图,比如纯玻璃、纯瓷器和完美的金属等等,原则上就不用考虑处理模型的UV,仅调整赋予该模型材质的各种属性,就可以完成逼真的渲染。
        但是,如果涉及纹理贴图等渲染,那就必须考虑模型的UV处理问题了。因为这涉及贴图纹理通过UV坐标,如何将贴到模型哪个部位的问题。
关于多边形模型与UV的关系,我在博客已经写了很多了,不需要再赘述了。这里主要想研究一下Blender是如何轻松、方便展开UV的。
 
【研究】
一个三维模型,每个点对应的三维坐标是XYZ,它的对应二维UV坐标(U,V)。模型的每个独立面对应UV的相应的“面”,模型和UV是对应的关系。把一个模型的UV展开,就像把一个立体的物体,在一些地方适当地剪开,然后,平摊到平的桌面上一样。
       Blender展开模型UV的方法有很多种,但最基本的就是手工选择缝合线(Steam)和模型的边缘,然后展开。这篇,首先用一个立方体演示一下流程。
 

一、设置编辑界面:

1、默认为3D视图。
 

2、点击右上角图标,拉出一个新的窗体,两个都是3D视图。

3、选择左侧窗口,改为UV/图像编辑器。

4、选择两个窗口,按T和N隐藏掉工具和属性面板,形成编辑UV的布局。

5、其实,这种编辑UV的窗口布局,系统本来就有,你可以选择UV Editing就可以切换。

 二、选择“剪开线“(中文翻译为缝合边)
1、右键选中立方体模型,按TAB进入编辑模式。
2、选择边模式:按SHIFT键+鼠标右键加选下面的边。(你想象一下把它如何剪开,才能平整铺到桌面上)

3、按CTRL+E 调出边编辑菜单,选择---“标记缝合线”,实际上就是把选中的边,当做UV的剪开线(不是模型的剪开线,模型也没有裁剪开)

4、当按A 取消选择时,充当UV剪开线(缝合边),变成红色(当然,你也可以清除这些缝合边)

5、注意:按U键, 选择--展开(Unwrap)这个命令,就是按照剪切边(缝合线)把UV剪开并向平面摊开。

6、看左侧的“UV/图像编辑”视窗,立方体的UV就完美地展开了。

 

小结:模型的UV展开以后,当你保存的时候,模型的UV就会存储在模型文件中。如果你把模型以FBX 或OBJ导出,模型的UV数据也包含在模型之中。 

 
三、导出UV栅格贴图

1、选择下面菜单--UV, 导出UV布局图命令。
2、选择哪个盘,文件名字叫什么?

3、设置导出的UV栅格贴图文件格式,UV线的透明度、贴图文件大小(虽然你可以随意设置,没有特殊要求,建议你按规矩来:设置1024,2048,4096等)

4、这是导出的UV栅格贴图。

5、我们可以使用ps进行编辑。建立一个新的图层,放到UV的下面。

6、我们按照UV半透明的格线为参考,绘制下面的数字(简单说明问题)

7、现在我们要输出这张纹理作为贴图,注意,关闭隐藏UV图层。

8、把这个图像输出保存。

小结:如果你想绘制比较复杂的纹理贴图(颜色、反射、法线贴图等),你可以不用输出UV栅格贴图。使用专业的纹理贴图绘制软件在三维模型上直接绘制和制作,比如使用Substance
painter 或Quixel suit等,它们要求输入的三维模型的UV必须是展开的。
 
四、导入纹理贴图渲染:
这个内容不是重点,但也必须谈谈。
1、我们选择"Blender渲染"。这个渲染引擎,有点像3DSMAX的线扫描渲染器,效果一般,没有全局光功能,但渲染速度很快。
2、如何设置材质呢?Blender的材质不是拖拽赋予模型的,而是选中要设置材质的对象,选择“材质”编辑面板。点击新建。

3、建立一个材质,那么这个材质就自动赋予这个对象了。这个材质的名称可以更改。

4、如何赋予模型贴图呢? 选择贴图面板。(两者相邻啊)

5、建立一个新的贴图连接。选择“图像、影片”--点击下面的打开按钮。

6、选择绘制好的贴图。注意:“映射”----坐标选择UV 。就是告诉贴图以UV坐标方式把这个贴图,通过材质贴到模型上。

7、Blender的好处就是:可以实时渲染。选择3D视图的--渲染模式。

你可以随时转动,实时渲染,速度很快。
8、我们发现左侧发黑。这是因为“BLENDER渲染“渲染引擎类似线扫描渲染器,光照到的地方就亮,照不到的地方就暗。不像全局光渲染那样,有光线粒子反弹,没有对比强烈的地方,接近自然真实。BLENDER渲染没有办法,就是理论化的模拟,怎么办呢?
9、转回实体模式,我们发现场景中只有一盏灯光,我们右键选择它,按SHIFT+D再复制一个,把它拖到左侧。

10、转回“渲染模式”,在两边的灯光照射下,模型全部照亮了。
11、也可以按“F12”,进行最终渲染。渲染的图像,显示在左侧的“UV/图像编辑”窗口中。

blender_(uv应用)................http://digitalman.blog.163.com/blog/static/23874605620174172058299/的更多相关文章

  1. http://love3400wind.blog.163.com/blog/static/7963080120132794359703/

    http://love3400wind.blog.163.com/blog/static/7963080120132794359703/

  2. 组合,关联,聚合的区别(转自http://jimmyleeee.blog.163.com/blog/static/9309618200932014422932/)

    类间关系 在类图中,除了需要描述单独的类的名称.属性和操作外,我们还需要描述类之间的联系,因为没有类是单独存在的,它们通常需要和别的类协作,创造比单独工作更大的语义.在UML类图中,关系用类框之间的连 ...

  3. GRIB格式转换心得(转自博客:http://windforestwing.blog.163.com/blog/static/19545412007103084743804/)

    1.wgrib的使用 在cmd命令行下键入wgrib后即可察看wgrib相关命令参数,简要介绍如下: l        Inventory/diagnostic–output selections 详 ...

  4. http://qurtyy.blog.163.com/blog/static/5744368120130221419244/

    我们先来看它的思路:把控制不透明度和控向上移动的动画分别存储在两个队列中,控制向上移动的队列按默认情况进行(在2000毫秒内完成),而不透明度的控制在1000毫秒内执行,但这个队列要晚于默认队列100 ...

  5. node.js(API解读) - process (http://snoopyxdy.blog.163.com/blog/static/60117440201192841649337/)

    node.js(API解读) - process 2011-10-28 17:05:34|  分类: node |  标签:nodejs  nodejsprocess  node.jsprocess  ...

  6. 转发真阿当老师的一片文章 受益匪浅 (出处:http://cly84920.blog.163.com/blog/static/24750013320158203575958/)

    忽悠程序员做一辈子程序员,以白胡子白头发hacker为目标的人有两种: 1,自己不写程序,但需要有将才为自己打下手的人,这种人往往看他资质和勤奋均平平,却成了你领导.别不服,这种人虽不见得有帅才的能力 ...

  7. 二叉树——根据遍历结果,画出对应的二叉树 转载至:http://canlynet.blog.163.com/blog/static/255013652009112602449178/

    这道题目很经典,具体如下: 已知遍历结果如下,试画出对应的二叉树: 前序:A B C E H F I J D G K 中序:A H E C I F J B D K G 解题要点: 1.前序.中序.后序 ...

  8. http://blog.163.com/zhangmihuo_2007/blog/static/27011075201392685751232/

    http://blog.163.com/zhangmihuo_2007/blog/static/27011075201392685751232/

  9. http://blog.163.com/eugeneheen_chen@126/blog/static/120812157201291994916866/

    http://blog.163.com/eugeneheen_chen@126/blog/static/120812157201291994916866/

随机推荐

  1. 面试题之strcpy/strlen/strcat/strcmp的实现

    阿里的电面要我用C/C++实现一个字符串拷贝的函数,虽然以前写过 strcpy 的函数实现,但时间过去很久了,再加上有点紧张,突然就措手不及了.最后写是写出来了,但没考虑异常的情况,面试官好像很不满意 ...

  2. 【Unix编程】C/C++获取目录下文件或目录

    在Unix/Linux系统中,要获取一个指定目录下所有的文件或文件夹,一般用dirent.h(POSIX标准定义的目录操作头文件). 一.数据类型 在头文件<dirent.h>中定义了两种 ...

  3. 剑指Offer面试题29(java版):数组中出现次数超过一半的数字

    题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字. 比如输入一个长度为9的数组{1,2,3,2.2,2.5,4,2}.因为数字2在数组中出现5次,超过数组长度的一半,因此输出2. 解 ...

  4. node.js 在函数内获取当前函数

    js 如何在函数体内部知道 自己在哪个函数内运行呢? 打比方: function a() { // 我想在这里知道我的函数名a和函数function a () {...} } 使用Error的调用栈可 ...

  5. ios21--xib例子

    故事板控制器: // // XMGViewController.m // 03-综合练习 // // Created by xiaomage on 15/12/28. // Copyright © 2 ...

  6. A Go library implementing an FST (finite state transducer)——mark下

    https://github.com/couchbaselabs/vellum Building an FST To build an FST, create a new builder using ...

  7. 洛谷P3400 仓鼠窝(单调栈)

    P3400 仓鼠窝 题目描述 萌萌哒的Created equal是一只小仓鼠,小仓鼠自然有仓鼠窝啦. 仓鼠窝是一个由n*m个格子组成的行数为n.列数为m的矩阵.小仓鼠现在想要知道,这个矩阵中有多少个子 ...

  8. P2570 [ZJOI2010]贪吃的老鼠

    传送门 →_→唯一一篇能看得懂的题解---->这里 很容易想到二分+网络流,然而并没有什么卵用--出题人的思路太神了-- 首先考虑如果一块奶酪在同一时间可以被多只老鼠吃的话,该如何建图.首先不难 ...

  9. 洛谷 P1233 木棍加工

    题目描述 一堆木头棍子共有n根,每根棍子的长度和宽度都是已知的.棍子可以被一台机器一个接一个地加工.机器处理一根棍子之前需要准备时间.准备时间是这样定义的: 第一根棍子的准备时间为1分钟: 如果刚处理 ...

  10. random模块思维导图