Unity3D ShaderLab 创建自定义高光类型 在上一篇,我们认识了Unity基础的高光实现,本次主要是研究如何对Phong高光类型进行顶点操作,以及在表面着色器中使用Input结构体的新参数进行像素操作. 所以还是新建Shader,再建材质球然后打开编辑器进行shader的编辑. 1.修改Properties Properties { _MainTex ("Base (RGB)", 2D) = "white" {} _MainTint(,,,) _Spec…
Unity3D shaderLab 使用BlinnPhong高光类型 上一篇我们实现了自定义高光类型,这一篇,我们说Blinn高光,它是另一种计算和估算高光更高效的方式,它是通过视线防线和光线方向,所形成的半角向量来完成. 这种方式比我们自己形成反射向量来进行计算更加高效.在UnityCG.cginc文件中内置的BlinnPhong光照模型就是半角矢量完成的. 首先还是创建一个shader,一个材质球,双击shader,打开编辑器. 1:Properties Properties { _Main…
Unity3D ShaderLab 基础的高光实现 关于高光: 在一个物体表面的高光属性就是为了描述它是如何表现光泽.这种类型的效果在着色器的世界中通常称为视点相关效果. 之所以这样说,是因为为了实现着色器逼真的镜面效果,我们需要考虑相机或者观察者面向物体表面的方向,然而高光还需要一个元素来实现视觉的真实效果---光的入射方向! 通过结合2个方向,我们可以在物体的表面得到一个热点或者说亮点,它位于视角方向和光源方向中间位置.这种中间位置的方向可以成为半角矢量,我们通过他可以实现高光效果和镜面等.…
导语 这篇文章记录了将UObject实例保存在Asset文件的方法,用这个方法可以将自定义的UObject数据序列化保存到文件,可以用于自定义UE资源类型. 创建UObject类 这一步比较简单,按照正常的方式创建C++类即可. 在这里我创建一个简单的UCustomAsset派生自UObject,包含一个Value字段作为演示. UCLASS() class LEARNUI_API UCustomAsset final : public UObject { GENERATED_BODY() pu…
自定义文章类型,包括: 1:单独的"文章内容模板" 2:单独的"文章列表模板" 3:单独的"控制后台"(文章分类.添加文章) 创建自定义文章和分类 在functions.php中添加以下代码(注册自定义文章,注册自定文章分类) 后台就有如上图所示的"该文章的单独后台,文章分类和添加文章" //自定义文章类型和分类法 add_action('init', 'my_custom_init'); function my_custom…
-- 创建自定义表类型 CREATE TYPE [dbo].[App_ProductTable] AS TABLE( [p_name] [varchar](50) NOT NULL, [p_audio] [varchar](255) NOT NULL, [p_video] [varchar](255) NOT NULL ) GO --在存储过程中使用自定义表类型 ALTER PROCEDURE [dbo].[sp_import_app_product]( @pDT dbo.App_Product…
Unity3D ShaderLab 各向异性高光 各向异性时一种模拟物体表面沟槽方向性的高光反射类型,它会修改或延伸垂直方向上的高光.当我们想模拟金属拉丝高光的时候,它非常适合.下面就一步一步实现. 首先创建Shader,再创建材质球.然后双击Shader 打开编辑器. 1:修改Properties Properties { //添加属性; _MainTint(,,,) _MainTex ("Base (RGB)", 2D) = "white" {} _Specul…
Unity3D ShaderLab 使用贴图对模型的高光进行遮罩 前面研究了高光效果的实现,再说说现很多游戏用到的高光贴图技术,因为它可以让3D美工更容易控制最终的视觉效果. 这也就为我们提供了另外的方式,我们可以在同一个着色器上实现垫型表面和光亮表面,也可以使用贴图来控制镜面高光的范围或者高光强度, 以实现一个表面是广泛的镜面高光而另一面确是细小的高光. 新建一个shader,一个材质球.老规矩双击shader脚本,在编辑器中编写代码吧. 1.Properties: Properties {…
Unity3D ShaderLab布料着色器 布料着色器是我们在虚拟现实中经常使用的着色器.本篇就来完成一个较为简单的布料着色器. 新建Shader,Material,InteractiveCloth[布料].完成的代码如下 Shader "91YGame/ClothShader" { Properties { //参数; _MainTint(,,,) _BumpMap ("Normal Map", 2D) = "bump" {} _Detail…
Unity3D ShaderLab 漫反射卷积光照模型 漫反射卷积[Diffuse convolution]是一个模糊立方体的过程,它保留了立方图的整体光照强度,只模糊了细节. 这种效果在我们要活得一个更具全局光照表面效果的时候非常有用. 为了实现这种效果,我们需要创建一个卷积运算的立方图.比如ATI的工具制作CubeMapGen. 下载地址: http://developer.amd.com/tools-and-sdks/archive/legacy-cpu-gpu-tools/cubemap…