轻松学习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. C# 插件热插拔 .NET:何时应该 “包装异常”? log4.net 自定义日志文件名称

    C# 插件热插拔   所谓热插拔就是插件可以 在主程序不重新启动的情况直接更新插件, 网上有很多方案: https://www.cnblogs.com/happyframework/p/3405811 ...

  2. HDU3367 Pseudoforest 【并查集】+【贪心】

    Pseudoforest Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) To ...

  3. 【Android基础】App签名与打包

    签名的意义 1. 为了保证程序开发人员的合法 2. 防止部分人通过使用同样的Package Name(包名)来混淆替换已安装的程序 3. 保证我们每次公布的版本号的一致性(保证签名一致才干升级) 签名 ...

  4. c# GDI+绘制不同字体的字符串

    一段字符串中可能既有汉字又有字母,对于汉字和字母分别采用不同的字体进行绘制直接po代码了 Bitmap bmp = new Bitmap(iWidth, iHeight); Graphics g = ...

  5. 双层for 循环

    说说 图片 集合 list(set([ii for i in img_url_l for ii in i[0].replace('[','').replace(']','').replace(&quo ...

  6. Bootstrap button源码分析

    /* ======================================================================== * Bootstrap: button.js v ...

  7. poj 3683(2-sat+拓扑排序)

    Priest John's Busiest Day Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 11127   Accep ...

  8. codeforces 940F 带修改的莫队

    F. Machine Learning time limit per test 4 seconds memory limit per test 512 megabytes input standard ...

  9. STM32: TIMER门控模式控制PWM输出长度

    搞了两天单脉冲没搞定,无意中发现,这个利用主从模式的门控方式来控制一路PWM的输出长度很有效. //TIM2 PWM输出,由TIM4来控制其输出与停止 //frequency_tim2:TIM2 PW ...

  10. Python基础Web服务器案例

    一.WSGI 1.PythonWeb服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI) 是Python应用程序或框架和Web服务器之间的一种接口, ...