裁剪空间
作者:追风剑情 发布于:2016-12-26 22:20 分类:Shader
顶点接下来要从观察空间转换到裁剪空间(clip space,也被称为齐次裁剪空间)中,这个用于转换的矩阵叫做裁剪矩阵(clip matrix),也被称为投影矩阵(projection matrix)。 裁剪空间的目标是能够方便地对渲染图元进行裁剪:完全位于这块空间内部的图元将会被保留,完全位于这块空间外部的...标签: Shader
Bloom效果
作者:追风剑情 发布于:2016-12-24 20:36 分类:Shader
Bloom特效是游戏中常见的一种屏幕效果。这种特效可以模拟真实摄像机的一种图像效果,它让画面中较亮的区域“扩散”到周围的区域中,造成一种朦胧的效果。 Bloom的实现原理非常简单:我们首先根据一个阈值提取出图像中的较亮区域,把它们存储在一张渲染纹理中,再利用高斯模糊对这张渲染纹理进行模糊处理,...标签: Shader
法线变换
作者:追风剑情 发布于:2016-12-23 22:53 分类:Shader
法线(normal),也被称为法矢量(normal vector)。在上面我们已经看到如何使用变换矩阵来变换一个顶点或一个方向矢量,但法线是需要我们特殊处理的一种方向矢量。在游戏中,模型的一个顶点往往会携带额外的信息,而顶点法线就是其中一种信息。当我们变换一个模型的时候,不仅需要变换它的顶点,还需要变换顶点法线,以便在后续处理(如片元着色器)中计算光照等。...标签: Shader
观察空间
作者:追风剑情 发布于:2016-12-1 22:35 分类:Unity3d
观察空间(view space)也被称为摄像机空间(camera space)。观察空间可以认为是模型空间的一个特例——在所有的模型中有一个非常特殊的模型,即摄像机(虽然通常来说摄像机本身是不可见的),它的模型空间值得我们单独拿出来讨论,也就是观察空间。 摄像机决定了我们渲染游戏所使用的视角。在观察空间中...标签: Unity3d
高斯滤波
作者:追风剑情 发布于:2016-11-25 21:35 分类:Shader
前面学习了卷积的概念,并利用卷积实现了一个简单的边缘检测效果。本节学习卷积的另一个常见应用——高斯模糊。模糊的实现有很多方法,例如均值模糊和中值模糊。均值模糊同样使用了卷积操作,它使用的卷积核中的各个元素值都相等,且相加等于1,也就是说,卷积后得到的像素值是其邻域内各个像素值的平均值。而中值模糊则是选择邻域内对所有像素排序后的中值替换掉原颜色。一个更高级的...标签: Shader
高斯模糊
作者:追风剑情 发布于:2016-11-24 23:18 分类:Shader
在本节,我们将会使用上述5x5的高斯核对原图像进行高斯模糊。我们将先后调用两个Pass,第一个Pass将会使用竖直方向的一维高斯核对图像进行滤波,第二个Pass再使用水平方向的一维高斯核对图像进行滤波,得到最终的目标图像。在实现中,我们还将利用图像缩放来进一步提高性能,并通过调整高斯滤波的应用次数来控制模糊程度(次数越多,图像越模糊)。 一、脚...标签: Shader
合并网格(Mesh)
作者:追风剑情 发布于:2016-11-24 12:07 分类:Unity3d
一、创建1个Cube和Sphere 二、创建1个空GameObject取命为Combine,并挂上相应组件。 三、运行效果 代码 using UnityEngine; using System.Collections; using System.Collections.Generic; public class ...标签: Unity3d
什么是卷积
作者:追风剑情 发布于:2016-11-19 17:46 分类:Shader
边缘检测的原理是利用一些边缘检测算子对图像进行卷积(convolution)操作。 什么是卷积 在图像处理中,卷积操作指的就是使用一个卷积核(kernel)对一张图像中的每个像素进行一系列操作。卷积核通常是一个四方形网格结构(例如2x2、3x3的方形区域),该区域内每个方格都有一个权重值。当对图像中的某个像素进行卷积时,我们会把卷积...标签: Shader
边缘检测(一)
作者:追风剑情 发布于:2016-11-19 0:45 分类:Shader
一、创建脚本(需挂在摄像机上) using UnityEngine; using System.Collections; /// <summary> /// 边缘检测 /// 把该脚本拖曳到摄像机上。 /// 把边缘检测的Shader拖到edgeDetectShader上。 /// </summary> public class EdgeD...标签: Shader
[RequireComponent(typeof(xxx))]
作者:追风剑情 发布于:2016-11-12 10:55 分类:Unity3d
1、创建三个脚本Test1、Test2、Test3 2、当我们把Test1拖到GameObject上时,Test2、Test3会自动被挂到这个GameObject上。 using UnityEngine; [RequireComponent(typeof(Test2))] [RequireComponent(typeof(Test3))] public class Test1 :...标签: Unity3d
建立一个基本的屏幕后处理脚本系统
作者:追风剑情 发布于:2016-11-11 22:01 分类:Shader
想要实现屏幕后处理的基础在于得到渲染后的屏幕图像,即抓取屏幕,而Unity为我们提供了这样一个方便的接口——OnRenderImage函数。 Graphics.Blit函数 public static void Blit(Texture src, RenderTexture dest); public static void Blit(Texture src, RenderTe...标签: Shader
监听屏幕大小改变
作者:追风剑情 发布于:2016-11-10 21:02 分类:NGUI
以下为NGUI源码 UICamera.cs void LateUpdate () { #if UNITY_EDITOR if (!Application.isPlaying || !handlesEvents) return; #else if (!handlesEvents) return; #endif int w = Screen.width; int...标签: NGUI
计算UIWidget的Bounds
作者:追风剑情 发布于:2016-11-10 20:07 分类:NGUI
public static Bounds GetBounds(UIWidget w) { //4个角坐标 Vector3[] corners = w.localCorners; Bounds b = new Bounds(); b.center = Vector3.Lerp(corners[0], corners[2], 0...标签: NGUI
Transform.TransformPoint()
作者:追风剑情 发布于:2016-11-9 20:53 分类:Unity3d
using UnityEngine; using System.Collections; public class Test : MonoBehaviour { public GameObject someObject; public void Awake() { //在当前对象(transform)的右边实例化一个物体(someObje...标签: Unity3d
滚动的背景
作者:追风剑情 发布于:2016-11-8 20:56 分类:Shader
纹理的Wrap Mode一定要设置成Repeat Shader代码 Shader "Custom/Chapter11-ScrollingBackground" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} _ScrollX ("Scroll Speed", float) = 1.0...标签: Shader
阴影Pass
作者:追风剑情 发布于:2016-11-8 15:18 分类:Shader
// 投射阴影Pass Pass { Name "ShadowCaster" Tags { "LightMode" = "ShadowCaster" } Fog {Mode Off} ZWrite On ZTest LEqual Cull Off Offset 1, 1 CGPROGRAM #pragma vertex vert #pragma fr...标签: Shader
序列帧动画
作者:追风剑情 发布于:2016-11-6 14:37 分类:Shader
注意:如果动画纹理是透明图片,要勾上Alpha Is Transparency属性 一、创建Shader //序列帧动画 Shader "Custom/Chapter11-ImageSequenceAnimation" { Properties { _Color ("Color Tint", Color) = (1, 1, 1, 1) _Mai...标签: Shader
透明度混合的双面渲染
作者:追风剑情 发布于:2016-11-4 21:18 分类:Shader
和透明度测试相比,想要让透明度混合实现双面渲染会更复杂些,这是因为透明度混合需要关闭深度写入,而这是“一切混乱的开端”。我们知道,想要得到正确的透明效果,渲染顺序是非常重要的——我们想要保证图元是从后往前渲染的。对于透明度测试来说,由于我们没有关闭深度写入,因此可以利用深度缓冲按逐像素的粒度进行深度排序,从面保证渲染的正确性。然而一旦关闭了深度写入,我们就需...标签: Shader
透明度测试的双面渲染
作者:追风剑情 发布于:2016-11-4 21:08 分类:Shader
在现实生活中,如果一个物体是透明的,意味着我们不仅可以透过它看到其他物体的样子,也可以看到它内部的结构。默认情况下渲染引擎剔除了物体背面(相对于摄像机的方向)的渲染图元,而只渲染了物体的正面。如果我们想要得到双面渲染的效果,可以使用Cull指令来控制需要剔除哪个面的渲染图元。 Cull Back | Front | Off &nbs...标签: Shader
[AddComponentMenu("")]
作者:追风剑情 发布于:2016-11-3 15:07 分类:Unity3d
把脚本加入Component菜单 using UnityEngine; [AddComponentMenu("NGUI/MyComponent")] public class MyComponent : MonoBehaviour { } 效果标签: Unity3d
阴影是如何实现的
作者:追风剑情 发布于:2016-11-2 21:04 分类:Shader
我们可以先考虑真实生活中阴影是如何产生的。当一个光源发射的一条光线遇到一个不透明物体时,这条光线就不可以再继续照亮其他物体(这里不考虑光线反射)。因此,这个物体就会向它旁边的物体投射阴影,那些阴影区域的产生是因为光线无法到达这些区域。 在实时渲染中,我们最常见使用的是一种名为Shadow Ma...标签: Shader
光照衰减
作者:追风剑情 发布于:2016-11-1 23:27 分类:Shader
Shader "Custom/Chapter9-ForwardRendering" { Properties { //漫反射颜色 _Diffuse ("Diffuse", Color) = (1, 1, 1, 1) //高光反射系数,用于控制材质的高光反射颜色 _Specular ("Specular", Color) = (1, 1, 1, 1) //光泽度(反...标签: Shader
日历
最新文章
随机文章
热门文章
分类
存档
- 2024年4月(9)
- 2024年3月(11)
- 2024年2月(24)
- 2024年1月(12)
- 2023年12月(3)
- 2023年11月(9)
- 2023年10月(7)
- 2023年9月(2)
- 2023年8月(7)
- 2023年7月(9)
- 2023年6月(6)
- 2023年5月(7)
- 2023年4月(11)
- 2023年3月(6)
- 2023年2月(11)
- 2023年1月(8)
- 2022年12月(2)
- 2022年11月(4)
- 2022年10月(10)
- 2022年9月(2)
- 2022年8月(13)
- 2022年7月(7)
- 2022年6月(11)
- 2022年5月(18)
- 2022年4月(29)
- 2022年3月(5)
- 2022年2月(6)
- 2022年1月(8)
- 2021年12月(5)
- 2021年11月(3)
- 2021年10月(4)
- 2021年9月(9)
- 2021年8月(14)
- 2021年7月(8)
- 2021年6月(5)
- 2021年5月(2)
- 2021年4月(3)
- 2021年3月(7)
- 2021年2月(2)
- 2021年1月(8)
- 2020年12月(7)
- 2020年11月(2)
- 2020年10月(6)
- 2020年9月(9)
- 2020年8月(10)
- 2020年7月(9)
- 2020年6月(18)
- 2020年5月(4)
- 2020年4月(25)
- 2020年3月(38)
- 2020年1月(21)
- 2019年12月(13)
- 2019年11月(29)
- 2019年10月(44)
- 2019年9月(17)
- 2019年8月(18)
- 2019年7月(25)
- 2019年6月(25)
- 2019年5月(17)
- 2019年4月(10)
- 2019年3月(36)
- 2019年2月(35)
- 2019年1月(28)
- 2018年12月(30)
- 2018年11月(22)
- 2018年10月(4)
- 2018年9月(7)
- 2018年8月(13)
- 2018年7月(13)
- 2018年6月(6)
- 2018年5月(5)
- 2018年4月(13)
- 2018年3月(5)
- 2018年2月(3)
- 2018年1月(8)
- 2017年12月(35)
- 2017年11月(17)
- 2017年10月(16)
- 2017年9月(17)
- 2017年8月(20)
- 2017年7月(34)
- 2017年6月(17)
- 2017年5月(15)
- 2017年4月(32)
- 2017年3月(8)
- 2017年2月(2)
- 2017年1月(5)
- 2016年12月(14)
- 2016年11月(26)
- 2016年10月(12)
- 2016年9月(25)
- 2016年8月(32)
- 2016年7月(14)
- 2016年6月(21)
- 2016年5月(17)
- 2016年4月(13)
- 2016年3月(8)
- 2016年2月(8)
- 2016年1月(18)
- 2015年12月(13)
- 2015年11月(15)
- 2015年10月(12)
- 2015年9月(18)
- 2015年8月(21)
- 2015年7月(35)
- 2015年6月(13)
- 2015年5月(9)
- 2015年4月(4)
- 2015年3月(5)
- 2015年2月(4)
- 2015年1月(13)
- 2014年12月(7)
- 2014年11月(5)
- 2014年10月(4)
- 2014年9月(8)
- 2014年8月(16)
- 2014年7月(26)
- 2014年6月(22)
- 2014年5月(28)
- 2014年4月(15)
友情链接
- Unity官网
- Unity圣典
- Unity在线手册
- Unity中文手册(圣典)
- Unity官方中文论坛
- Unity游戏蛮牛用户文档
- Unity下载存档
- Unity引擎源码下载
- Unity服务
- Unity Ads
- wiki.unity3d
- Visual Studio Code官网
- SenseAR开发文档
- MSDN
- C# 参考
- C# 编程指南
- .NET Framework类库
- .NET 文档
- .NET 开发
- WPF官方文档
- uLua
- xLua
- SharpZipLib
- Protobuf-net
- Protobuf.js
- OpenSSL
- OPEN CASCADE
- JSON
- MessagePack
- C在线工具
- 游戏蛮牛
- GreenVPN
- 聚合数据
- 热云
- 融云
- 腾讯云
- 腾讯开放平台
- 腾讯游戏服务
- 腾讯游戏开发者平台
- 腾讯课堂
- 微信开放平台
- 腾讯实时音视频
- 腾讯即时通信IM
- 微信公众平台技术文档
- 白鹭引擎官网
- 白鹭引擎开放平台
- 白鹭引擎开发文档
- FairyGUI编辑器
- PureMVC-TypeScript
- 讯飞开放平台
- 亲加通讯云
- Cygwin
- Mono开发者联盟
- Scut游戏服务器引擎
- KBEngine游戏服务器引擎
- Photon游戏服务器引擎
- 码云
- SharpSvn
- 腾讯bugly
- 4399原创平台
- 开源中国
- Firebase
- Firebase-Admob-Unity
- google-services-unity
- Firebase SDK for Unity
- Google-Firebase-SDK
- AppsFlyer SDK
- android-repository
- CQASO
- Facebook开发者平台
- gradle下载
- GradleBuildTool下载
- Android Developers
- Google中国开发者
- AndroidDevTools
- Android社区
- Android开发工具
- Google Play Games Services
- Google商店
- Google APIs for Android
- 金钱豹VPN
- TouchSense SDK
- MakeHuman
- Online RSA Key Converter
- Windows UWP应用
- Visual Studio For Unity
- Open CASCADE Technology
- 慕课网
- 阿里云服务器ECS
- 在线免费文字转语音系统
- AI Studio
- 网云穿
- 百度网盘开放平台
- 迅捷画图
- 菜鸟工具
- [CSDN] 程序员研修院
- 华为人脸识别
- 百度AR导航导览SDK
- 海康威视官网
- 海康开放平台
- 海康SDK下载
交流QQ群
-
Flash游戏设计: 86184192
Unity游戏设计: 171855449
游戏设计订阅号