unity模型光照材质怎么添加

   更新日期:2024.06.04
十四讲我们实现了基本的Surface Shader,十五讲讲了光照模型的基础知识。这一讲说的是如何写光照模型。
自定义光照模型主要分为4步:
(0)架设框架,填写需要的参数
(1)计算漫反射强度
(2)计算镜面反射强度
(3)结合漫反射光与镜面反射光

代码配有中文注释,配合上上讲的光照公式,一步一步实现即可。
//
Author: 风宇冲
Shader "Custom/T_customLightModel" {

Properties

{

_MainTex ("Texture", 2D) = "white" {}

}

Subshader

{

//alpha测试,配合surf中的o.Alpha = c.a;

AlphaTest Greater 0.4

CGPROGRAM

#pragma surface surf
lsyLightModel

//命名规则:Lighting接#pragma suface之后起的名字

//lightDir :点到光源的单位向量
viewDir:点到摄像机的单位向量
atten:衰减系数

float4 LightinglsyLightModel(SurfaceOutput s, float3 lightDir,half3 viewDir, half atten)

{

float4 c;

//(1)漫反射强度

float diffuseF = max(0,dot(s.Normal,lightDir));

//(2)镜面反射强度

float specF;

float3 H = normalize(lightDir+viewDir);

float specBase = max(0,dot(s.Normal,H));

// shininess 镜面强度系数,这里设置为8

specF = pow(specBase,8);

//(3)结合漫反射光与镜面反射光

c.rgb = s.Albedo * _LightColor0 * diffuseF *atten + _LightColor0*specF;

c.a = s.Alpha;

return c;

  • 17050572866 :unity3d怎么添加材质
    邓钧仲4302 :答:点击gameobject菜单在其子级菜单里找到3d object选项,点击该选项在其下拉菜单里找到sphere选项,如图所示:点击sphere选项,在scene内就创建了一个sphere物体,如图所示:在assets内找到一张材质图,使用鼠标左键将其拖拽到刚刚创建的sphere物体上,如图所示:然后点击运行,可以看到我们创建的sphere物体上就添加...
  • 17050572866 :Unity基础(四)渲染烘焙Lightmap光照贴图(未完)
    邓钧仲4302 :答:    2、勾选Static静态模型: 在Scene视图里面选择模型打开Inspector属性面板—>勾选Static静态模型。    3、选择灯光烘焙模式: 选择灯光打开Inspector属性面板—>Light—>Mode—>Baked
  • 17050572866 :unity3d 一个物体如何赋予多个材质球?
    邓钧仲4302 :答:当导入的模型有多重材质时,unity3d中也会对应有多个材质球。当然您也可以在unity3d中将物体的Materials-Size设为大于1的数,然后赋予多个材质,但是这样显然不会得到预期的效果。
  • 17050572866 :【技术分享】Unity室内场景 + 光照练习 III
    邓钧仲4302 :答:使用Unity的标准化材质和通用贴图,让场景呈现基础质感。这里推荐深入阅读相关教程,提升你的基础技巧。接着,烘焙光线,打造明亮柔和的氛围,但务必注意光照问题,以避免场景过曝或阴影过深。为了提升视觉深度和真实感,添加反射探测球和烘焙,为后续特效的实现做好准备。记住,材质与特效各占半壁江山,Post ...
  • 17050572866 :unity光照贴图怎么一直使用
    邓钧仲4302 :答:1、首先在Unity中选择要应用光照贴图的物体。2、其次将光照贴图导入至项目中,并将其应用在物体的材质上。3、最后调整光照贴图的参数以达到期望效果。
  • 17050572866 :unity光照烘焙怎么弄
    邓钧仲4302 :答:打灯,把灯光的模式realtime改成baked 把场景物体要烘焙的物件 static勾起来 如果自己模型没有展2U,就在unity里面把模型属性 generate lightmap勾起来,让程序自动展2U。在窗口下的选项lighting里面 点generate lighting,就可以烘焙了。
  • 17050572866 :unity3d怎么给物体上材质球,贴图
    邓钧仲4302 :答:给材质球增加贴图:在电脑中选择你要的图片,然后把图片拖进Project面板中的Assets文件夹。选择你创建的材质球,在Inspector面板中找到Albedo属性,点击该属性左边的小圆,这时候会弹出一个窗口,你只要在弹出的窗口中选择拖进Unity 3D的图片,让后关闭弹出的窗口即可。给物体上材质球:有两种方式,一种是...
  • 17050572866 :unity怎么在材质球的贴图上添加更多的图案
    邓钧仲4302 :答:添加方法如下:1、在项目面板中选择资源文件夹,右键单击资源文件夹,单击创建选择材质。2、将贴图添加到着色器:在计算机中选择所需的图像,将图像拖动到项目面板中的资源文件夹中。3、选择创建的材质球,在检查器面板中找到反照率属性,单击该属性左侧的小圆弹出一个窗口。只需在弹出窗口中选择unity3D...
  • 17050572866 :(四)Unity纹理、贴图和材质
    邓钧仲4302 :答:将输入的贴图或者颜色,加上对应的Shader,以及对Shader的特定的参数设置,将这些打包在一起就是一个材质了。之后,我们便可以将材质赋予合适的renderer(渲染器)来进行渲染。点击Create,添加一个材质和一个物理材质。选色:上色:Dynamic Friction:动摩擦系数 Static Firction:静摩擦系数 Bounciness:...
  • 17050572866 :unity3D中增添材质时都显示无,如何导入材质?
    邓钧仲4302 :答:Unity自带的好多好包,新建项目时可以都勾选上,这样项目里面就会有你想要的大部分东西,当你熟悉每个包里有那些对应的东西后,再次新建 项目 时就可以选需要的一此包,而不用全选。如果还觉得不够 ,可以找开菜单-》Windows-》Assets Store上面有好多的资源,...
  • 相关链接

    欢迎反馈与建议,请联系电邮
    2024 © 视觉网