当前位置:文档之家› Unity3D ShaderLab 静态贴图光照模型

Unity3D ShaderLab 静态贴图光照模型

Unity3D ShaderLab 静态贴图光照模型
Unity3D ShaderLab 静态贴图光照模型

其实在unity的光照模型中,我们可以把光照讯息烘培进入一个2D贴图,来实现着色器的光照效果。

更多精彩请关注【狗刨学习网】

下面是在unity中关闭灯光和打开灯光的对比效果。所以这类着色器的缺点就是不会随着光源变化效果。

接下来,我们开始创建,首先通过软件MaCrea来制作我们的2D光照贴图,MaCrea软件

通过该软件可以快速制作一个完整的发光球体平面图。

完成静态光照贴图的制作后。在unity中创建Shader,Material。直接打开Shader脚本编辑:

1>roperties:

1.1 Properties {

2. 2

3. 3 _MainTint("Diffuse Color",Color) = (1,1,1,1)

4. 4

5. 5 _MainTex ("Base (RGB)", 2D) = "white" {}

6. 6

7.7 _NormalMap("Normal Map",2D) = ""{}

8.8

9.9 }

复制代码

2>SubShader:

1. 1 CGPROGRAM

2. 2

3. 3 #pragma surface surf Unlit vertex:vert

4. 4

5. 5

6. 6

7.7 float4 _MainTint;

8.8

9.9 sampler2D _MainTex;

10.10

11.11 sampler2D _NormalMap;

12.12

13.13 struct Input {

14.14

15.15 float2 uv_MainTex;

16.16

17.17 float2 uv_NormalMap;

18.18

19.19 float3 tan1;

20.20

21.21 float3 tan2;

22.22

23.23 };

复制代码

//因为我们要使用单独的球体贴图来实现光照,所以我们无需使用Lambert光照函数,只需要申明自定义无光亮的光照函数;

3>光照函数

1. 1 inline fixed4 LightingUnlit(SurfaceOutput

s, fixed3 lightDir, fixed3 atten){

2. 2

3. 3 fixed4 c= fixed4(1,1,1,1);

4. 4

5. 5 c.rgb = c*s.Albedo;

6. 6

7.7 c.a = s.Alpha;

8.8

9.9 return c;

10.10

11.11 }

复制代码

//我们只希望通过外部物体来产生阴影,因为该着色器不受光源的;

4>计算球面贴图

1. 1 void vert(inout appdata_full v, out Input

o){

2. 2

3. 3 UNITY_INITIALIZE_OUTPUT(Input, o);

4. 4

5. 5

6. 6

7.7 TANGENT_SPACE_ROTATION ;

8.8

9.9 o.tan1 = mul(rotation,UNITY_MATRIX_IT_MV[0].xyz);

10.10

11.11 o.tan2 = mul(rotation,UNITY_MATRIX_IT_MV[1].xyz);

12.12

13.13 }

复制代码

//为了正确的检索到球面贴图,我们需要把正切旋转矩阵乘以当前模型的逆转模型视图;

5>完善surf

1.1 void surf (Input IN, inout SurfaceOutput o)

{

2. 2

3. 3 float3 normals = UnpackNormal(tex2D(_NormalMap,IN.uv_NormalMap));

4. 4

5. 5 o.Normal = normals;

6. 6

7.7

8.8

9.9 float2 litSphereUV;

10.10

11.11 litSphereUV.x = dot(IN.tan1,o.Normal);

12.12

13.13 litSphereUV.y = dot(IN.tan2,o.Normal);

14.14

15.15

16.16

17.17 half4 c = tex2D (_MainTex, litSphereUV*0.5+0.5);

18.18

19.19 o.Albedo = c.rgb*_MainTint;

20.20

21.21 o.Alpha = c.a;

22.22

23.23 }

复制代码

通过以上的步骤,我们完成这个静态的光照模型。返回unity中简单设置后,就可以看出效果了。

在上面的过程中,最主要的是vert函数,因为在这个函数里,我们把旋转切向量和逆转模型视图矩阵相乘,在赋值给o.tan1和o.tan2。

这个计算就是把向量弯曲到何时的位置来检索球面的贴图。而逆转模型视图则是我们利用unity内置的值。

通过上面的检索传递后,我们简单的将IN.tan1和IN.tan2的值作为球面贴图纹理检索的uv值,

我们可以直接使用input结构体中的值,因为我们也在vert函数中将这些值传递进去了。

1.1 Shader "91YGame/LightStatic" {

2. 2 Properties {

3. 3 _MainTint("Diffuse Color",Color) = (1,1,1,1)

4. 4 _MainTex ("Base (RGB)", 2D) = "white" {}

5. 5 _NormalMap("Normal Map",2D) = ""{}

6. 6 }

7.7 SubShader {

8.8 Tags { "RenderType"="Opaque" }

9.9 LOD 200

10.10

11.11 CGPROGRAM

12.12 #pragma surface surf Unlit vertex:vert

13.13

14.14 float4 _MainTint;

15.15 sampler2D _MainTex;

16.16 sampler2D _NormalMap;

17.17

18.18 struct Input {

19.19 float2 uv_MainTex;

20.20 float2 uv_NormalMap;

21.21 float3 tan1;

22.22 float3 tan2;

23.23 };

24.24

25.25

26.26

27.27 inline fixed4 LightingUnlit(SurfaceOutput s, fixed3 lightDir,

fixed3 atten){

28.28 fixed4 c= fixed4(1,1,1,1);

29.29 c.rgb = c*s.Albedo;

30.30 c.a = s.Alpha;

31.31 return c;

32.32 }

33.33

34.34 void vert(inout appdata_full v, out Input o){

35.35 UNITY_INITIALIZE_OUTPUT(Input, o);

36.36

37.37 TANGENT_SPACE_ROTATION;

38.38 o.tan1 = mul(rotation,UNITY_MATRIX_IT_MV[0].xyz);

39.39 o.tan2 = mul(rotation,UNITY_MATRIX_IT_MV[1].xyz);

40.40 }

41.41

42.42 void surf (Input IN, inout SurfaceOutput o) {

43.43 float3 normals =

UnpackNormal(tex2D(_NormalMap,IN.uv_NormalMap));

44.44 o.Normal = normals;

45.45

46.46 float2 litSphereUV;

47.47 litSphereUV.x = dot(IN.tan1,o.Normal);

48.48 litSphereUV.y = dot(IN.tan2,o.Normal);

49.49

50.50 half4 c = tex2D (_MainTex, litSphereUV*0.5+0.5);

51.51 o.Albedo = c.rgb*_MainTint;

52.52 o.Alpha = c.a;

53.53 }

54.54 ENDCG

55.55 }

56.56 FallBack "Diffuse"

57.57 }

浅谈3D游戏模型与贴图技术

浅谈3D游戏模型与贴图技术 摘要:优秀的模型为工作提供了一个好的开端,合适的贴图会使这个模型锦上添花,一个好的游戏模型是优秀模型和优秀贴图的结合体,二者相辅相成,缺一不可。 关键词:3D游戏;游戏模型;游戏贴图;游戏美术;模型贴图制作流程 在多样的游戏类型中,电视游戏是对游戏画面质量要求最高的一类游戏,这是由于电视平台的自身特点决定的,由于目前电视分辨率普遍较高,因此也需要电视游戏在制作开发时,必须考虑画面质量,而画面质量的好坏又直接取决于游戏中模型的品质和贴图的品质。模型的精细度和贴图的清晰度都会给玩家直接带来视觉上的美感,加强画面视觉感染力。这样的电视机游戏也通常被称为次世代游戏。本文将针对次世代游戏中的游戏模型和游戏贴图技术进行讨论。 一个优秀模型制作前要做好几项准备工作,首先要全方位的了解这个模型。以角色类模型举例,要做某一个角色,就要做到了解它的外貌特征、性格特征、生活背景等。优秀的角色模型应该是具有一定生命力的,而且要体现出它的特点和地域文化。这种想法和理念应该贯穿原画设计、3D模型制作和动作设计始终。这三个方面共同塑造着角色的这一特点。在建模的时候要时刻感觉它的生命的存在,感觉它的性格以及情感动作等,这样才有可能做出一个具有生命力的高品质模型作品。 游戏模型按精度的不同,可以分为高模和简模,制作高模的意义在于生成法线贴图,法线贴图会携带高模的表面起伏信息,把这样的携带高模起伏信息的法线贴图再回贴给简模,这样简模也具备了一定的高模特征,这就是游戏中应用简单模型却可以表现出足够多细节的基本原理。无论是高模还是简模,都要具备一些最基本的要求,如造型准确、布线合理、形神兼备等。 一个优秀的建模师应该注意对事物的观察,如角色建模师就应该平时多观察肌肉结构、骨骼特征、动作动态,分析不同动作给肌肉和骨骼带来的不同影响等。了解这些内容需要配合一定的解剖知识。模型的质感表现也是一个不容忽视的内容,如钢铁、青铜、麻布、丝绸、皮肤等,不同质感给人不同软硬度的直觉。对于某一种质感由于或崭新或破旧,或华丽或古老等差异,也给模型塑造带来不同的要求。对生物体的塑造,结构必须是合理的,在游戏的生产流程当中,建模师要参照原画师做的原画设定来进行三维建模,而事实上原画师提供的原画往往只是一种意象上的构思,不具备太多的细节,而对模型的细节刻画往往都落在建模师肩上,建模师需要对结构进行补充,这个过程也是对角色的二次设计。 如果把模型比喻成卸妆后的女人,那么贴图的过程就可以看做是给这个女人化妆的过程,行业里流行着这样的一句话“三分模,七分贴”,可见贴图的重要性。一个次时代模型所需要加载的贴图最基本的有三张,分别是固有色贴图、高光贴图和法线贴图。不同的贴图放置在不同的贴图通道中,分别起着各自不同的作用。固有色是指物体在正常光线下所呈现出来的颜色。对于一个物体,它自身的固有色是尤为重要的,一个物体受到光照后,固有色主要表现在受光面和背光面之间的中间调部分,也是素描中常提到的明暗交界线部分的颜色,因为这部分受外部环境色影响较少。而固有色贴图的任务就是把物体表面不受外界环境影响的固有色表现出来。绘制固有色时,要观察实物或原画,分析物体的质感、不同材料的搭配以及物体表面的新旧等等。高光贴图主要来影响物体表面的反光特性。高光

Unity3D自带功能:灯光及光照烘焙

Unity3D自带功能:灯光及光照烘焙 这一篇比较偏重于功能介绍,具体的实例操作请参考其他文章:未完成 游戏场景中灯光照明的构成 现实生活中的光线是有反射、折射、衍射等特性的。对这些基本特性的模拟一直以来都是计算机图形图像学的重要研 究方向。 在CG中,默认的照明方式都是不考虑这些光线特性的,因此出来的效果与现实生活区别很大。最早期的时候,人们利用各种方式来模拟真实光照的效果,比如手动在贴图上画上柔和阴影,或者用一盏微弱的面积光源去照明物体的暗部以模拟漫反射现象等等。 然后出现了所谓的高级渲染器,用计算机的计算来代替我们的手工劳动来进行这个“模拟”的工作。在漫长的发展过程中,出现过很多很多计算方案,总体上分为这样几类: 直接模拟光线从被光源发出到最终被物体完全吸收的正向 过程,也就是常说的GI(Global Illumination); 不直接模拟光线,而是反向搜集物体表面特定点的受光照强

度来模拟现实照明效果,也就是常说的FG(Final Gathering); 完全不考虑光线的行为,单纯基于“物体上与其他物体越接近的区域,受到反射光线的照明越弱”这一现象来模拟模拟现实照明(的一部分)效果,也就是常说的AO(Ambient Occlusion); 将场景光照结果完全烘焙到模型贴图上,从而完完全全的假冒现实光照效果,也就是我们所说的Lightmap。 不论是GI还是FG,计算量都是非常大的,一帧图片需要几十分钟甚至几十小时来渲染,所以很难被应用在游戏设计领域。 因此在游戏设计领域,光照贴图技术依然是目前的主流方式。 由于光照贴图需要事先烘焙(baking)出来,且仅支持静态物体(Static Object),而我们的游戏场景中几乎不可能全都是静态物体,所以通常游戏场景中的灯光照明是多种照明方式的混合作用。 对于静态物体来说,大多使用光照贴图来模拟间接光的照明效果,然后加上直接光源的动态照明效果; 对于运动物体来说,则仅用直接光源的动态照明效果,或者使用光照探针来模拟间接光的照明效果。

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

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

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

unity灯光-烘焙光照贴图讲解

灯光-Light 对于每一个场景灯光是非常重要的部分。网格和纹理定义了场景的形状和外观,而灯光定义了场景的颜色和氛围。 可以通过从菜单中选择 GameObject->Light并将其添加到你的场景中。有3种类型的灯光。一旦添加了一个灯光你就可以像操作其他物体一样操作它。 相关属性介绍 ◆Type:灯光的类型 ?Directional:平行灯,类似太; ?Point:点光源,类似灯泡; ?Spot:聚光灯,类似舞台聚光灯; ◆Baking:该选项有三个选择 ?Realtime:即光源不参与烘焙,只作用于实时光照;

?Baked:表示光源只在烘焙时使用 ?Mixed:该光源会在不同的情况下做不同的响应;在烘焙时,该光源会作 用于所有参与烘焙的物体;在实际游戏运行中,该光源会作为实时光源 作用于那些不参与烘焙的物体或者动态的物体(不作用于静态的物体, 就是勾选了Static); ◆Color:光源的颜色,根据不同的环境设置不同的颜色,营造出不同的氛围; ◆Intensity:光线强度; ◆Bounce Intensity:光线的反射强度; ◆Shadow Type:设置是否显示光源作用在的物体的阴影, ?No Shadows不显示阴影,阴影不存在; ?Hard Shadows:硬阴影(无过滤),效果不是很自然比较生硬; ?Soft shadows:柔化阴影,更加贴近实际生活中的阴影显示,但比较消耗 资源; ◆Strength:阴影黑暗程度,取值围0~1 ◆Resolution:阴影的清晰度,细化度,越高消耗越大; ◆Bias:阴影的偏移量,越小,物体表面会有来自它自身的阴影,太大光源就 会脱离了接收器; ◆Cookie:灯光投射的纹理,如果灯光是聚光灯和方向灯就必定是一个2D纹理, 如果是点光源必须是一个Cubemap(立体贴图); ◆Cookie Size:缩放Cookie的投影,只适用于方向光 ◆Draw Halo:如果勾选,那光源带有一定半径围的球形光源 ◆Flare:在选中的光源的位置出现镜头光晕; ◆Render Mode:此项决定了选中的光源的重要性,影响照明的保真度和性能; ?Auto:渲染的方法根据附近灯光的亮度和当前的质量设置在运行时由系 统确定; ?important灯光是逐个像素渲染的; ?Not Important灯光总是以最快速度渲染; Culling Mask:剔除遮罩,类似摄像机的遮罩,选中指定的层收到光照影响,未选中的不受到光照影响;

优秀的贴图对游戏模型的重要性

优秀的贴图对游戏模型的重要性 摘要:在三维设计中,技巧性地应用材质与贴图,会使作品的创作产生神奇的效果。三维中的材质与纹理贴图主要是用于描述对象表面的物质状态,构造真实世界中自然物质表面的视觉表象。材质与纹理贴图是获得客观事物真实感受的最有效手段。不同的材质与贴图的视觉特征能给人带来复杂的心理感受。法线贴图是可以应用到3D表面的特殊纹理,不同于以往的纹理只可以用于2D表面,作为凹凸纹理的扩展,它使每个平面的各像素拥有了高度值,包含了许多细节的表面信息,能够在平平无奇的物体外形上,创建出许多种特殊的立体视觉效果。如果把模型比喻成卸妆后的女人,那么贴图的过程就可以看作是给女人化妆的过程,三维行业中有一句话“三分模,七分贴”,可见贴图的重要性。优秀的模型为游戏提供了一个好的开端,合适的贴图会使这个模型锦上添花,一个好的游戏模型是优秀的模型和优秀的贴图的结合图,二者相辅相成,缺一不可。 关键词:三维模型;材质贴图;法线贴图 一个好的游戏在美术的设计中贴图是重要的核心部分之一,好的贴图能弥补模型的制作中的瑕疵。贴图分为颜色贴图、法线贴图、透明贴图等。在游戏的创作中法线贴图更

加重要,它直接会影响到游戏的内存以及整体效果,甚至会影响到玩家的游戏体验。贴图是将三维的模型用平面的方式展开之后再将平面绘制赋予到三维模型上,这个过程与平面的绘画有所不同,要涉及的到的知识不仅是要懂得平面的知识也要懂得三维的知识,所以三维游戏画面效果的好与坏,全是通过贴图来展现的。 1 三维游戏中的材质与贴图 材质与贴图是用于增强模型的真实感和感染力,材质”用来指定物体的表面或数个面的特性,它决定这些平面在着色时的特性,如颜色,光亮程度,自发光度及不透明度等。制定到材质上的图形称为“贴图”。 (一)材质和贴图的概念 材质简单的说就是指物体的质地,也可以理解成是材料和质感的结合。在渲染过程中,它是表面各种可视属性的结合,这些可视属性是指表面的色彩、光滑度、反射率、纹理等。贴图是材质的一种表现方式,比如说像有些布艺的纹理我们必须要一张图片的纹理来表现,这就需要贴图,比如说有些材质墙体,它不需要用图片直接调颜色就行了这就不需要贴图,材质是总称,纹理是一部分。 (二)材质和贴图在网络游戏中的应用和表现以及重要性 在网络游戏中最具有代表性的就是《魔兽世界》这款游

unity渲染篇

渲染流程简单介绍 1.模型导入设置,这个步骤主要是烘培贴图UV的设置 导入模型,在unity中设置烘培贴图UV,烘培UV也可以在max中使用第二套UV制作成烘培UV,烘培UV不能有任何UV重叠。 Unity设置如下 2.接下来把模型拖入Hierarchy视图中,勾选Static GONG 1

3.接下来要设置渲染参数 在Edit-> Project Settings ->Player 找到Other Settings 这里就不说“向前渲染”和“延迟渲染”了,不了解就可以百度下。 4.接下来灯光设置,平行光的设置 如果我们场景要使用实时光照,那么我们的灯光Baking选项就选择Realtime。 ShadowType:Soft Shadows Intensity 可以根据需求调整 Bounce Intensity 是反弹光照的强度,值越大场景就越亮。 5.打开烘培渲染面板 GONG 2

GONG 3

这是Lighting中Object选项,这是设置渲染灯光,被渲染物体的设置,上图中需要经常被用到的参数就是Scale in lightmap后的参数,这个参数是被渲染物体的lightmap 面积的缩放,值越大,lightmap越大,像素越多,阴影越清晰,但是这样会增加场景lightmap的数量和大小。适度修改即可。 6.接下来技术调整参数去渲染场景了。下图是使用实时光照的渲染参数, GONG 4

Skybox:旋转当前场景的天空盒子 Sun:旋转当前场景的平行光 Ambient Source:这个环境源选择有几个选项,可以选择天空盒子,渐变色,颜色,可以更具需求去选择,我比较爱用颜色设置,这样可以很好调整环境色彩和亮度。 Reflection Source:反射源,这个就是反射球的设置,如果场景中有需要去反射环境,就GONG 5

Unity3D自带功能:灯光及光照烘焙

这一篇比较偏重于功能介绍,具体的实例操作请参考其他文章:未完成 游戏场景中灯光照明的构成 现实生活中的光线是有反射、折射、衍射等特性的。对这些基本特性的模拟一直以来都是计算机图形图像学的重要研究方向。 在CG中,默认的照明方式都是不考虑这些光线特性的,因此出来的效果与现实生活区别很大。最早期的时候,人们利用各种方式来模拟真实光照的效果,比如手动在贴图上画上柔和阴影,或者用一盏微弱的面积光源去照明物体的暗部以模拟漫反射现象等等。 然后出现了所谓的高级渲染器,用计算机的计算来代替我们的手工劳动来进行这个“模拟”的工作。在漫长的发展过程中,出现过很多很多计算方案,总体上分为这样几类: 直接模拟光线从被光源发出到最终被物体完全吸收的正向过程,也就是常说的GI(Global Illumination); 不直接模拟光线,而是反向搜集物体表面特定点的受光照强度来模拟现实照明效果,也就是常说的FG(Final

Gathering); 完全不考虑光线的行为,单纯基于“物体上与其他物体越接近的区域,受到反射光线的照明越弱”这一现象来模拟模拟现实照明(的一部分)效果,也就是常说的AO(Ambient Occlusion); 将场景光照结果完全烘焙到模型贴图上,从而完完全全的假冒现实光照效果,也就是我们所说的Lightmap。 不论是GI还是FG,计算量都是非常大的,一帧图片需要几十分钟甚至几十小时来渲染,所以很难被应用在游戏设计领域。 因此在游戏设计领域,光照贴图技术依然是目前的主流方式。 由于光照贴图需要事先烘焙(baking)出来,且仅支持静态物体(Static Object),而我们的游戏场景中几乎不可能全都是静态物体,所以通常游戏场景中的灯光照明是多种照明方式的混合作用。 对于静态物体来说,大多使用光照贴图来模拟间接光的照明效果,然后加上直接光源的动态照明效果; 对于运动物体来说,则仅用直接光源的动态照明效果,或者使用光照探针来模拟间接光的照明效果。

模型制作参考照片和贴图拍摄方法(适合所有拍摄)

模型制作参考照片拍摄方法 一,单个物体拍摄方法: 先拍摄物体前、后、左、右的正视图,以及顶视图和底视图,相机镜头尽量垂直于物体的拍摄面。然后以物体为中心,再围绕着拍摄物体每隔5度左右转动(旋转角度根据实际情况调整),进行详细的拍摄,如下图:可以想象需要拍摄的物体包裹在球的中央,相机在每个经纬线的交叉点对着物体进行拍摄。(如果条件允许可以固定相机,旋转物体进行拍摄) 然后再对物体的细节部分进行特写拍摄,特别是物体表面凹凸不平的地方。要求:单个建筑物体不少于200张照片,单个小物体模型不少于100张照片。 二,场景拍摄方法: 1,小场景拍摄:先在场景的中心点,每隔5度左右旋转(旋转角度根据实际情况调整),进行拍摄,上下左右都要顾及到。然后再对场景的外围进行转动拍摄,最后对场景中的单个重要物体进行如上述一的方式拍摄。 2,大场景拍摄:你可以想象把整个场景以一定的长度(具体长度根据现场情况决定,建议在5-10米之间)切割成不同的正方形,如下图所示,

你要站在正方形的每个角上进行上、下、前、后、左、右拍摄,每个角落都不要遗漏,最后再对场景中的单个重要的物体进行如上述一的方式拍摄。尽量在需要拍摄的场景范围上进行适当的扩大。 三,瓷器等高反射物体的拍摄方法: 瓷器,金属等高反射物体,因其表面受环境光的影响较大,尽量在拍摄专业的柔光摄影棚内进行拍摄,拍摄的重点主要为了制作精细的贴图映射。拍摄方式把物体放在可以旋转的平台上,每隔5度左右进行拍摄,拍摄方法参考一。 四,青铜器,雕塑等表面凹凸不平的物体拍摄方法: 表面凹凸不平的物体,除了进行方法一的拍摄方式外,要额外的对物体表面进行详细的特写拍摄,特别是凹凸不平的地方和被遮挡的地方,拍摄照片的数量,在情况允许下,越多越好。 重点提醒:如果你去外地拍摄,请准备好备用电池和备用内存卡,在情况允许下,尽量多的拍摄你要拍摄的物体,不要留死角,不要留空的内存卡,不要留剩余电量(切记三不要)。如果一旦你拍摄不细致导致后面无法进行,你浪费的不是差旅的费用,而是更宝贵的时间。

角色模型制作规范

角色模型制作规范 一、MAX环境制作要求: 1.MAX版本不要高于MAX 2012。 2.环境单位Units Setup设置为Centimeters: 3.文件里环境光统一: 4.MAX文件保存前,需将Shift+T中,贴图的路径清空: a.贴图位置清空前:

b.选中所有贴图,右键,点击 Strip Path,清空贴图路径。 c.贴图位置清空后 5.模型制作过程中,不能出现和模型贴图无关的东西,例如下图中的关键帧、多余的物件等. 二、模型制作要求:

1.模型格式为:Poly 2.模型面数要求: 主角根据裸模各职业身高为标准。NPC、怪物原画中NPC、怪物与主角对比的高度进行制作。 一般情况下,模型面数为: 主角: 2000以下 怪物:1500以下、BOSS : 2500以下 NPC :1500以下 翅膀:300以下 武器:300以下 ...... PS:如果面数有特殊需要,及时沟通、确认。同时确认文件中Unhide All显示所有模型,没有隐藏多余物体. 3.主角模型拆分: 主角模型分为五大部分,每个部分独立制作模型以及贴图。 A:主角装备制作应基本以裸模为准,避免换装后人物的形体发生较大变化。 主角制作时请切记: 为确保换装后套装之间的无缝拼合,拆分线接口处的位置、布线、大小等不能有任何的修改(即模型拆分部分的点与线不能有移动,旋转或者缩放等任何的操作----即红线表示部分),但可以根据情况将部件模型接口处放大、封口,处理成穿插关系。

4.所有模型布线要合理规范、关节处布线要符合动作需要. 5.所有模型制作过程中,所有模型只能由三角面或者四边面组成。 6.模型中不要出现多余的点、线或者未合点、合点。 (建议:通过模型的开口边选项,检查模型制作过程中可能出现的模型合并但是点没有合并的情况:) 合点时请根据模型自身材质球的使用情况合理并点,切记不要全部框选所有的点进行合并!使用不同材质球的元素绝对不能合并在一起:

角色模型制作流程

幻想之旅角色模型制作流程 1.拿到原画后仔细分析角色设定细节,对不清楚的结构、材质细节及角色身高等问题与 原画作者沟通,确定对原画理解准确无误。 2.根据设定,收集材质纹理参考资料。 3.开始进行低模制作。 4.制作过程中注意根据要求严格控制面数(以MAX为例,使用Polygon Counter工具查 看模型面数)。 5.注意关节处的合理布线,充分考虑将来动画时的问题。如有疑问与动作组同事讨论咨 询。 6.由于使用法线贴图技术不能使用对称复制模型,可以直接复制模型,然后根据具体情 况进行移动、放缩、旋转来达到所需效果。 7.完成后,开始分UV。 分UV时应尽量充分利用空间,注意角色不同部位的主次,优先考虑主要部位的贴图(例如脸,前胸以及引人注意的特殊设计),为其安排充分的贴图面积。使用Relax Tool 工具确保UV的合理性避免出现贴图的严重拉伸及反向。 8.低模完成后进入法线贴图制作阶段。 现在我们制作法线贴图的方法基本上有三种分别是: a.在三维软件中直接制作高模,完成后将低模与高模对齐,然后使用软件工具生成法 线贴图。 b.将分好UV的低模Export成OBJ格式文件,导入ZBrush软件。在ZB中添加细节 制作成高模,然后使用Zmapper插件生成法线贴图。 c.在Photoshop中绘制纹理或图案灰度图,然后使用PS的法线贴图插件将灰度图生成 法线贴图。 (具体制作方法参见后面的制作实例) 建议在制作过程中根据实际情况的不同,三种方法结合使用提高工作效率。 9.法线贴图完成后,将其赋予模型,查看法线贴图的效果及一些细小的错误。 10.进入Photoshop,打开之前生成的法线贴图,根据其贴在模型上的效果对法线贴图进行 修整。(例如边缘的一些破损可以使用手指工具进行修补,或者在绿色通道中进行适当的绘制。如需加强某部分法线贴图的凹凸效果可复制该部分进行叠加可以起到加强

Unity3d游戏场景优化

Unity3d游戏场景优化 涉及到Lod技术 (Levels of Detail,多细节层次),选择剔除(Culling),光照贴图(Lightmap) (一) 光照贴图 动态实时灯光相比静态灯光,非常耗费资源。所以除了能动的角色和物体静态的 地形和建筑,通通使用Lightmap。 强大的Unity内置了一个强大的光照图烘焙工具Beast,这个东东是Autodesk公司的产品(可怕的垄断,感觉和3d沾边的软件丫都要插一手)。 据说用来制作过杀戮地带和镜之边缘。

镜之边缘建筑场景漂亮干净的光影,Lightmap的效果。 在Unity中制作Lightmap很方便,调节几个参数后直接烘焙即可。支持GI, Skylight, 效果一流!!!当然你需要一台好点的机器,不然漫长的烘焙过程你就有的等了。 内置的光照图烘焙工具Beast P场景准备和光照图烘焙点选Window --> Lightmapping 打开光照图烘焙面板: 1.确认所有将要被用来烘焙光照贴图的网格体 UVs正确无误. 最简单的办法是在mesh import settings中选择 Generate Lightmap UVs选项(由Beast自动分uv) 2.在Object面板中将所有网格体或地形标注为 static –这将告诉 Unity, 这些物体将不会被移动 和改变并且可以被赋予光照贴图。 3.为了控制光照贴图的精度, 进入Bake 面板并调整Resolution 的值. (为了更好的了解你的

lightmap texels使用情况, 在Scene 视窗中找到Lightmap Display 小窗口并且选择Show Resolution). 1. 点击 Bake 按钮。 2. Unity Editor's 会出现一个进度条,位置处于右下角. 3. 当烘焙结束, Lightmap Editor窗口会显示已经烘焙好的光照图. Scene 和 game 视图会同时自动更新–现在你的场景已经有了光照图的效果! Unity Lightmap的设置还有更详细和更高端的内容,请参考自带的文档!

游戏模型贴图绘制的技巧规范分享

游戏模型贴图绘制的技巧规范分享 游戏美术行情在线游戏模型制作过程当中,贴图是一个很重要的环节,因为这个决定了一款游戏的质量的50%左右。一个游戏角色的贴图的好坏可以说70%作用的莫过于游戏贴图的基本规范。对于面数比较低的游戏角色而言游戏人物的大多数细节都是靠贴图来体现的。下面我将分享一下在游戏模型制作的过程当中涉及到的贴图方面的基本规范。 我经过长期的总结和领悟,结合在游戏美术交流平台卡拉维德上学习到的一些内容,用FAQ的方法讲解一下在游戏模型制作过程当中贴图环节的一些基本的规范和细节,此次和大家分享的干货比较多,所以3次给大家分享,希望能为大家提供帮助,也希望大家能和一起再卡拉维德圈子里学习交流。 Q 游戏的贴图在尺度上有些啥请求?是不是有必要是正方形的? A 游戏贴图的长宽都有必要是2的倍数的恣意组合,例如2、4、8、16、32、64 (1024) 等。并不必定有必要是正方形,例如长宽可所以256,128也可所以1024*32。 Q 一个游戏人物是不是只能够有一张贴图? A 不是。一个人物能够有好几张贴图。依据不相同状况有不相同请求。例如有些网络游戏它的人物的上身、下身、四肢的贴图都是分开的好几张,为的是便于做纸娃娃体系。但一般状况下都是一个人物一至两张贴图,假如有兵器等附属品一般重新计算。 Q 游戏人物的贴图能够用在些啥通道?是不是只能用色彩通道? A 游戏人物的贴图视引擎的不相同,能够运用的通道也不相同,别的也要思考人物在游戏中的重要性而定。首先最根本的两个通道是色彩通道和透明通道,这两个通道大多数引擎都支持的。此外大多数引擎支撑的通道还有反射通道和高光通道。目前对比新的引擎还支撑normal map通道。

Unity烘焙材质到单一贴图的脚本

Unity烘焙材质到单一贴图的脚本 这个脚本由 CocoaChina 版主“四角钱” 分享,可以将复杂的材质(比如有法线贴图的材质)进行"烘焙",转变为单一的贴图。可用来将Unity 的游戏移植到移动平台时候使用。请将脚本放 Editor 文件夹里,使用时选择一个 Material 材质,然后在菜单种"Custom/Bake Material"打开并调整照明和其他参数,点击Bake按钮就会生成一个单一的贴图。 class BakeMaterialSettings { private static var kEditorPrefsName = "BakeMaterialSettings"; static var kBakingLayerShouldBeUnusedInScene = 30; static var kStandardTexNames = new Array ("_MainTex", "_BumpMap", "_Detail", "_ParallaxMap", "_Parallax"); var bakeAlpha = false; var bakeMainTexAsWhite = false; var minTextureResolution = 8; var maxTextureResolution = 2048; var emptyScene = false; var useCustomLights = false;

var ambient = Color.black; static var kLights = 3; var enableLight = new boolean[kLights]; var colorLight = new Color[kLights]; var dirLight = new Vector2[kLights]; function BakeMaterialSettings () { Load (); } function Load () { bakeAlpha = EditorPrefs.GetBool(kEditorPrefsName + ".bakeAlpha"); bakeMainTexAsWhite = EditorPrefs.GetBool(kEditorPrefsName + ".bakeMainTexAsWhite"); minTextureResolution = EditorPrefs.GetInt(kEditorPrefsName + ".minTextureResolution", 8); maxTextureResolution = EditorPrefs.GetInt(kEditorPrefsName + ".maxTextureResolution", 2048);

2015.10.16——(第16节课)角色模型.贴图命名制作规范终-杨熙

检查模型和最终模型文件提交规范 a文件上传路径 1.与相对应的基础模型对齐关键地方的布线,如肘部,膝盖,腰带部分,前后左右下摆,衣袖等。 2.最终的提交文件为mayar7.0文件。 3. 角色的Maya7.0文件名称为,该角色编号(如g_gw_020)+后缀_lod0,所以全称为g_gw_020_lod 4.贴图命名贴图大小.有无通道, 重点提示; 法线图是没有通道的高光图一定要有通道.颜色图没有通道要求.可有可无.看贴图需要. 贴图后缀也要注意. 5.文件内容为角色模型,模型分为两个部分,角色模型和双面。角色模型命名与maya7.0文件相同,双面命名可随意双面的法线方向要注意; 模型座标模型光滑组与软硬边.座标是否归0点.

6. 材质球命名为颜色贴图相同的名称

佣兵三国角色模型.材质规范1.8版

一.角色模型制作规范。 1.PC角色模型。 模型分割结构: 2.角色模型面数。 蓝色部分于2012.6.1号作调整 以上面数规定具体在制作时添加和裁减面数,越精简越好。 如果第一档模型面数为300以内,就不需要做IOD。 (2)NPC\人型怪面数控制:分为简单,中等,高级3段来控制面数制作。如图:

一段简单效果 二段中等效果 三段高级效果 a:一段最高3000以内含双面 b:二段最高4500以内含双面 c:三段最高5000以内含双面 于2012.6.1号作调整 3.角色的模型比例 01. PC 4个体型。 如图: NPC 角色:分以下七个体型

如图: 4.PC角色职业划分及命名: 男女各设定5种职业,分别为:猛将.豪侠.斥候. 策士.方士.。 模型lod命名后缀:

Unity LightMapping参数

一.简易烘焙教程: 1.准备需要烘培的光照贴图的场景,在物体面板中将所有要烘培光照贴图的物体设置为LightingStatic 2.从菜单中Window – Lightmapping打开Lightmapping窗口。在Bake面板下调整相关参数,(第一次默认参数即可)

3.点击BakeScene(烘培) 4.等待右下角进度条完成即可 二.Lightmapping窗口参数: 1.Object网格渲染器和地形: 物体的烘培设置:灯光、网格渲染和地形- 取决于当前的选择。 ·Static 静态 可渲染网格和地形必须标记为静态才能被烘培。 ·Scale In Lightmap 光照图比率 (只作用于可渲染网格)特别大的数值将分配给可渲染网格更大的分辨率。最终分辨率比例(光照图缩放)*(物体世界坐标空间所占面积)*全局分辨率烘培设置)如果设置为0物体将不被烘培。(但是它依旧对其他的物体有影响) ·Atlas 图集 图集信息-如果Lock Atlas(锁定图集)选项没有开启那么这些参数将自动更新。如果Lock Atlas(锁定图集)选项开启,这些参数将不会自动编辑。但是你可以手动设置他们。·Lightmap Index 光照图索引 光照贴图序列中的索引。 ·Tiling 平铺 (只作用于可渲染网格)物体光照贴图UVs平铺。 ·Offset 偏移 (只作用于可渲染网格)物体UVs的偏移。 Lights 灯光: ·Lightmapping 光照贴图 光照图模式:仅实时模式,自动模式和仅烘培模式。查看下面Dual Lightmaps的描述。·Color 颜色 灯光颜色。一些属性只作用于实时光照。 ·Intensity 光强度 灯光照明强度。一些属性只作用于实时光照。 ·Bounce Intensity 反弹强度 特定光源间接光照强度的倍增值。 ·Baked Shadows 烘焙阴影 控制当前灯光是否产生阴影。(当选择自动选项时同时影响实施阴影的产生)

模型制作与贴图纹理规范

《模型制作与贴图纹理制作规范》 3D MAX建立模型,即使是不同的驱动引擎,对模型的要求基本是相同的。当制作完成时,它所包含的基本内容包括场景尺寸、单位,模型归类塌陷、命名、节点编辑,纹理、坐标、纹理尺寸、纹理格式、材质球等必须是符合制作规范的。 一、模型制作规范; 1;在模型分工之前,必须确定模型定位标准。一般这个标准会是一个CAD 底图。制作人员必须依照这个带有CAD底图的文件确定自己分工区域的模型位置,并且不得对这个标准文件进行任何修改。导入到MAX里的CAD底图最好在(0,0,0)位置,以便制作人员的初始模型在零点附近。 2;在没有特殊要求的情况下,单位为米(Meters) 3;删除场景中多余的面和多余的线或点,主要是为了提高贴图的利用率,降低整个场景的面数,以提高交互场景的运行速度。如Box底面、贴着墙壁物体的背面等。 4;保持模型面与面之间的距离推荐最小间距为当前场景最大尺度的二千分之一。如果物体的面与面之间贴得太近,会出现两个面交替出现的闪烁现象。模型与模型之间不允许出现共面、漏面和反面,在建模初期一定要注意检查共面、漏面和反面的情况. 5;镜像复制物体后要消除镜像效果.第一步:需要选中镜像后的物体,然后进入Utilities面板中单击Reset xform 然后单击Reset Selected 第二步;进入modsiy 面板选取normal命令反转一下法线即可. 6;对于没有照片或信息不全的模型要合理的贴上门和窗户不要差异过大 7;在做屋顶时一定要制作女儿墙和屋顶的其它设施不许漏建 8;在建模时即使cad不全或缺失结构也要对着照片去制作,模型的制作要予显示一致 9;建模时要用poly命令去制作模型 二、贴图纹理制作规范;一般的房屋贴图要在照片的基础上制作,除个别照片不全和照片不清晰要用公共纹理去制作 1;贴图尺寸不许超过1024x1024,也不许小余64x64 2;贴图制作要干净清晰要与现实相符的 3;当模型上贴图时可以直接拖拽到模型上然后给个Unwrap UVW命令去编辑模型 三、模型的后期自检与修改;当模型制作完善时各组组长要大体检查一下文件是否有问题 当修改模型时要规范的对着质检报告去修改 四、模型与贴图的命名规范;模型与贴图的命名要以项目资料为准 注意;以上要求有助于模型的制作与模型的后期修改,可以短期节省项目计划的提交日期和人员的分配,完善项目的规定。

材质制作与贴图技巧

对于一些新手来讲工作中常常会遇到一些材质参数的问题,还有一些常识,以下给大家工作中常用的材质参数材质都有不同的表现)和一些注意事项(比如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);

Unity3D光照贴图的Lightmapping技术教程

学IT技能上我学院网https://www.doczj.com/doc/2f7990876.html, Unity3D光照贴图的Lightmapping技术教程今天我们来讲解Unity3d中光照贴图Lightmapping技术,Lightmapping光照贴图技术是一种增强静态场景光照效果的技术,其优点是可以通过较少的性能消耗使静态场景看上去更加真实,丰富,更加具有立体感;缺点是不能用来实时地处理动态光照。当游戏场景包含了大量的多边形时,实时光源和阴影对游戏的性能的影响会很大。 这时使用Lightmapping技术,将光线效果预渲染成贴图使用到多边形上模拟光影效果。 烘焙参数 Object选项卡 “All”组中的参数 Lightmap Static:选中则表示该物体将参与烘焙。 Scale In Lightmap:分辨率缩放,可以使不同的物体具有不同的光照精度。这样可以根据实际场景,令远景中的物体采用较低的分辨率,节省光照贴图的存储空间。而较近的物体采用较高的分辨率,使贴图更加逼真。

学IT技能上我学院网https://www.doczj.com/doc/2f7990876.html, Lightmap Index:渲染时所使用的光照贴图索引。值为0,表示渲染时使用烘焙出来的第一张光照图;值为255,表示渲染时不使用光照图。 Tiling X/Y和Offset X/Y共同决定了一个游戏对象的光照信息在整张光照图中的位置,区域。 “Lights”中的参数 Lightmapping:有3种类型可选 1)RelatimeOnly:光源不参与烘焙,只作用于实时光照。 2)Auto:表示光源在不同的情况下作不同的响应。在烘焙时,该光源会作用于所有参与烘焙的物体;在实际游戏运行中,该光源会作为实时光源作用于那些动态的或者没有参与过烘焙的物体,而不作用于烘焙过的静态物体。在使用Dual Lightmaps的情况下,对于小于阴影距离(shadow Distance,Unity中用于实时生成阴影的范围,范围之外将不进行实时生成阴影)的物体,该光源将作为实时光源作用于这些物体,不管是静态还是动态。 3)表示光源只在烘焙时使用,其他时间将不作用于任何物体。

Unity3D技术之Graphics Features线性照明(仅限专业版)浅析

线性照明(仅限专业版)概述线性照明指在所有输入呈线性的情况下照亮场景的过程。通常,存在将伽玛预先应用到其中的纹理,这表示,纹理在材质中进行采样时,呈非线性。如果这些纹理用于标准照明方程式,将导致方程式结果不正确,因为预计所有输入在使用前都呈线性。 线性照明指确保着色器的输入和输出都使用正确的色彩空间的过程,它可提高照明的准确性。 现有(伽玛)管道在现有渲染管道中,所有颜色和纹理都在伽玛空间中采样,也就是说,在着色器使用图像或颜色之前,伽玛校正不会从其中移除。由于这一原因,着色器中的输入位于伽玛空间,但在照明方程式使用这些输入时,均视其位于线性空间中,最终未将伽玛校正应用到最终像素。大部分时候,上述现象看似合理,因为两种错误从某种程度相互抵消。但这是不正确的。 线性照明管道如果启用线性照明,则会提供着色器工程的输入,其中的伽玛校正已移除。如果您位于线性空间中,则会以隐性方式将此转换应用到颜色。使用硬件sRGB 读取进行纹理采样,依次向伽玛空间和图形硬件的样本上提供源纹理,然后自动转换结果。然后向着色器提供这些输入,照明会照常运行。然后,程序会将所得的值写入到帧缓冲区。此值将进行伽玛校正并写入到帧缓冲区,或留在线性空间中以备将来进行伽玛校正;这取决于当前的渲染配置。 线性照明与伽玛照明之间的区别使用线性照明时,照明方程式的输入值不同于伽玛空间中的值。这表示,光线到达表面时形成的感应曲线不同于现有Unity 渲染管道形成的感应曲线。 灯光衰减远距离和普通基于照明的衰减有两种变化方式。首先,在线性模式中渲染时,执行的额外伽玛校正将扩大灯光半径。其次,这也将导致照明边缘更加锐化。这可更准确地模仿表面的照明亮度衰减。 线性亮度感应使用伽玛空间照明时,向着色器提供的颜色和纹理含有其中应用的伽玛校正。将其用于着色器时,高亮度的颜色实际上比线性照明的亮度更大。这表示,随着光线亮度增加,表面会以非线性方式变亮。这将导致许多位置的光线过亮,还会使得模型和场景呈褪色状。使用线性照明时,随着照明亮度的增加,但表面的感应仍呈线性。这可令表面的着色更具真实感,并极大地美化表面的色感应效果。

3D模型打不开或贴图丢失解决办法

3D模型打不开或贴图丢失怎么办 一、场景不能打开的问题 通常情况下,导致3ds Max场景文件不能打开的主要因素有以下几个。 1.版本不兼容 低版本3ds Max不能打开高版本3ds Max制作的场景。本模型库绝大部分模型采用3ds Max9制作,有极少数模型采用3ds Max2009制作。3dmax各版本高低顺序:3dmax8<3dmax9<3dmax2008<3dmax2009<3dmax2010. 也就是说使用3ds Max2009可以打开全部模型。 2.显示模式差异 目前最常用的两种显示模式分别是OpenGL和Direct 3D,如果您的计算机不能打开我们的场景文件,那么可以修改一下本机的3ds Max显示模式,具体方法如下图所示。 修改完显示模式之后,请关闭3ds Max程序,然后重新启动3ds Max,这样修改设置才会生效。显示模式可以来回切换,操作方法是完全一致的。如果修改显示模式之后还是不能打开场景,那就应该是软件版本的问题,此时需要采用高版本的软件来打开场景。 3.内存不够 内存不够也可能会导致场景打不开,遇到这种情况就只有提升计算机配置了。

二、贴图丢失的问题 一:场景文件拷贝到你的电脑的时候场景中的材质不显示了,并不是材质丢失,而是路径对应问题。 1.最简单的方法是打开模型时出现的材质提示窗口点浏览,找到本模型包里面的材质路径文件,文件名为 MAXFILES.TXT 2.如果上述方法不会或者没找到MAXFILES.TXT文件,可以按下图所示方法操作找回材质. (图1) (图2)

(图3) (图4) (图5)二:使用“找贴图”这个插件找回贴图:

相关主题
文本预览
相关文档 最新文档