监听资源导入——AssetPostprocessor

作者:追风剑情 发布于:2017-11-7 15:57 分类:Unity3d

重写AssetPostprocessor可对资源的导入、移动、删除等进行后处理 using UnityEngine; using UnityEditor; using System.Collections; /// <summary> /// 参考 http://blog.csdn.net/yhy2218/article/details/50847127...

阅读全文>>

标签: Unity3d

评论(0) 浏览(8892)

共享材质

作者:追风剑情 发布于:2017-11-3 20:31 分类:Shader

     无论是动态批处理还是静态批处理,都要求模型之间需要共享同一个材质。但不同的模型之间总会需要有不同的渲染属性,例如,使用不同的纹理、颜色等。这时,我们需要一些策略来尽可能地合并材质。      如果两个材质之间只有使用的纹理不同,我们可以把这些纹理合并到一张更大的纹理中,这张更大的纹理被称为是一张图集(atlas)。一...

阅读全文>>

标签: Shader

评论(0) 浏览(3358)

光源Cookie

作者:追风剑情 发布于:2017-10-30 11:54 分类:Unity3d

一、准备一张512x512的Cookie纹理 场景预览

阅读全文>>

标签: Unity3d

评论(0) 浏览(2714)

什么是伽马校正

作者:追风剑情 发布于:2017-10-28 12:33 分类:Shader

      要想渲染出更符合真实光照环境的场景就需要使用线性空间。而Unity默认的空间是伽马空间,在伽马空间下进行渲染会导致很多非线性空间下的计算,从而引入了一些误差。而要把伽马空间转换到线性空间,就需要进行伽马校正(Camma Correction)。 伽马校正中的伽马一词来源伽马曲线。通常,伽马曲线的表达如下: 其中指数部...

阅读全文>>

标签: Shader

评论(0) 浏览(6933)

Transform接口说明

作者:追风剑情 发布于:2017-10-27 16:22 分类:Unity3d

//模型正前方的世界坐标 public Vector3 forward { get; set; } //本地坐标转世界坐标 public Vector3 TransformDirection(Vector3 direction); public Vector3 TransformDirection(float x, float y, float z); public Vector3 Tr...

阅读全文>>

标签: Unity3d

评论(0) 浏览(3595)

光照衰减

作者:追风剑情 发布于:2017-10-21 19:13 分类:Shader

      Unity使用一张纹理作为查找表来在片元着色器中计算逐像素光照的衰减。这样的好处在于,计算衰减不依赖于数学公式的复杂性,我们只要使用一个参数值去纹理中采样即可。但使用纹理查找计算衰减也有一些弊端。 需要预处理得到采样纹理,而且纹理的大小也会影响衰减的精度。 不直观,同时也不方便,因此一旦把数据存储到查找表中,我们就无...

阅读全文>>

标签: Shader

评论(0) 浏览(4216)

在前向渲染中处理不同的光源类型

作者:追风剑情 发布于:2017-10-20 21:34 分类:Shader

示例 工程结构 LightShader.shader文件 // Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld' // Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject' ...

阅读全文>>

标签: Shader

评论(0) 浏览(4665)

减少draw call数目——静态批处理

作者:追风剑情 发布于:2017-10-8 20:48 分类:Shader

      Unity提供了另一种批处理方式,即静态批处理。相比于动态批处理来说,静态批处理适用于任何大小的几何模型。它的实现原理是,只在运行开始阶段,把需要进行静态批处理的模型合并到一个新的网格结构中,这意味着这些模型不可以在运行时刻被移动。但由于它只需要进行一次合并操作,因此,比动态批处理更加高效。静态批处理的另一个缺点在于,它往往需要占用更多的内存来存储合并后的...

阅读全文>>

标签: Shader

评论(0) 浏览(4174)

减少draw call数目——动态批处理

作者:追风剑情 发布于:2017-10-7 19:52 分类:Shader

      如果场景中有一些模型共享了同一个材质并满足一些条件,Unity就可以自动把它们进行批处理,从而只需要花费一个draw call就可以渲染所有模型。动态批处理的基本原理是,每一帧把可以进行批处理的模型网格进行合并,再把合并后的模型数据传递给GPU,然后使用同一个材质对其渲染。除了实现方便,动态批处理的另一个好处是,经过批处理的物体仍然可以移动,这是由于在处理...

阅读全文>>

标签: Shader

评论(0) 浏览(3885)

NGUI渲染顺序规则

作者:追风剑情 发布于:2017-10-7 15:47 分类:NGUI

渲染优先级 Camera > UIPanel > Widget Camera的Depth小的先渲染 UIPanel渲染排序优先级 Sort Layer > Sort Order > Render Q > Depth 同一个UIPanel下的Widget根据Depth排序 附上设置选项截图

阅读全文>>

标签: NGUI

评论(0) 浏览(3873)

预制类型——UnityEditor.PrefabType

作者:追风剑情 发布于:2017-9-27 14:16 分类:Unity3d

先写个脚本用来打印选中的对象所属类型 using UnityEngine; using UnityEditor; public class TestEditor : MonoBehaviour { [MenuItem("Assets/ShowSelectionType", false, 0)] private static void ShowSe...

阅读全文>>

标签: Unity3d

评论(0) 浏览(4345)

利用NDC坐标实现画面渐隐效果

作者:追风剑情 发布于:2017-9-15 18:47 分类:Shader

NDC坐标:把裁剪空间中的坐标归一化后得到的坐标。取值范围[-1,1] 示例:让屏幕画面渐隐 工程如图 FadeOut.shader代码 Shader "Custom/FadeOut" { Properties { //材质面板中隐藏_MainTex [PerRendererData] _MainTex ...

阅读全文>>

标签: Shader

评论(0) 浏览(9199)

空间坐标转换过程

作者:追风剑情 发布于:2017-8-28 11:26 分类:Shader

参考 http://blog.csdn.net/cubesky/article/details/38664143 对象空间(Object Space) 世界空间(World Space or Model Space) 摄像机空间(Camera Space or Eye Space or View Space) 屏幕空间(Screen Space or Clip Spac...

阅读全文>>

标签: Shader

评论(0) 浏览(4009)

TweenPingPong

作者:追风剑情 发布于:2017-8-24 19:43 分类:Unity3d

/// <summary> /// 往复运动 /// </summary> public class TweenPingPong : MonoBehaviour { public Vector3 from = Vector3.zero; public Vector3 to = Vector3.zero; public float str...

阅读全文>>

标签: Unity3d

评论(0) 浏览(3789)

使用预定义GUI样式(GUI.skin.customStyles)

作者:追风剑情 发布于:2017-8-24 17:15 分类:Unity3d

Unity预定义的样式全在这GUI.skin.customStyles[]里,Unity4.7中有486种。 代码示例 using UnityEngine; using UnityEditor; using System.Text; using System.Collections; [CustomEditor(typeof(Test))] [CanE...

阅读全文>>

标签: Unity3d

评论(0) 浏览(10181)

UILable添加预定义字体样式选项

作者:追风剑情 发布于:2017-8-22 14:34 分类:NGUI

NGUI-3.8 一、修改UILabel.cs //------------------------------------------------- // NGUI: Next-Gen UI kit // Copyright © 2011-2017 Tasharen Entertainment Inc //---------------...

阅读全文>>

标签: NGUI

评论(0) 浏览(6080)

基于层的碰撞检测(Layer Collision Matrix)

作者:追风剑情 发布于:2017-8-17 10:05 分类:Unity3d

Edit->Project Settings->Physics 层碰撞矩阵用来设置某层可以与哪些层进行碰撞

阅读全文>>

标签: Unity3d

评论(0) 浏览(15846)

什么是HDR

作者:追风剑情 发布于:2017-8-13 12:27 分类:Shader

      在使用基于物理的渲染时,我们经常会听到一个名词就是HDR。HDR是High Dynamic Range的缩写,即高动态范围,与之相对的是低动态范围(Low Dynamic Range, LDR)。那么这个动态范围是指什么呢?通俗来讲,动态范围指的就是最高的和最低的亮度值之间的比值。在真实世界中,一个场景中最亮和最暗区域的范围可以非常大,例如,太阳发出的光可...

阅读全文>>

标签: Shader

评论(0) 浏览(4767)

逐片元操作阶段流程图

作者:追风剑情 发布于:2017-8-6 15:40 分类:Shader

逐片元操作(Per-Fragment Operations)流程图 只有通过了所有的测试后,新生成的片元才能和颜色缓冲区中已经存在的像素颜色进行混合,最后再写入颜色缓冲区中。 模板测试(Stencil Test)流程图 与之相关的是模板缓冲(Stencil Buffer)。实际上,模板缓冲和我们经常听到的颜色缓冲...

阅读全文>>

标签: Shader

评论(0) 浏览(3373)

Camera.main.SetReplacementShader()

作者:追风剑情 发布于:2017-8-5 16:39 分类:Shader

替换前 替换后 示例: Unity5.5 using System.Collections.Generic; using UnityEngine; public class TestShader : MonoBehaviour { void Start () { //SetReplacem...

阅读全文>>

标签: Shader

评论(0) 浏览(4294)

利用模板测试实现遮罩效果

作者:追风剑情 发布于:2017-8-4 17:15 分类:Shader

模板测试 参考 http://blog.csdn.net/u011047171/article/details/46928463 官方文档 https://docs.unity3d.com/Manual/SL-Stencil.html 示例: Unity5.5 一、创建Cube和Quad,如图 二、...

阅读全文>>

标签: Shader

评论(0) 浏览(4789)

Camera的Target Texture

作者:追风剑情 发布于:2017-8-3 17:14 分类:Unity3d

如果Camera的Target Texture设置了一张Render Texture,那么Camera的渲染画面将输出到这张Render Texture上。 下面是使用两个场景Camera,其中一个Camera设置了一张Render Texture,并把这张Render Texture放到场景中,从而制作出场景缩略图效果。

阅读全文>>

标签: Unity3d

评论(0) 浏览(5132)

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号