自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (37)
  • 收藏
  • 关注

转载 VS调试时断点无法进入或命中的原因及解决方法(PDB引发的)

在使用VS开发时,有时断点会无法进入,特别是在一个项目中引用另一个类库项目时。如下图。我在一个项目中引用了自定义的控件MyControl类库,但在使用时发现,有些地方还需要调整,比如这里我需要增加一个GUID作为特殊标识,并输出以供测试。但是当我将这段代码加入进去后,按F5运行程序时,这段代码的断点没有如预期的进入。注:无法进入的断点是空心的,可以进入的断点是实心的。

2017-11-28 19:56:10 17279 1

原创 第2章 渲染流水线

在开始一切学习之前, 我们有必要了解什么是Shader,即着色器。与之关系非常紧密的就是渲染流水线。可以说,如果你没有了解过渲染流水线的工作流程,就永远无法说自己对Shader 已经入门。渲染流水线的最终目的在于生成或者说是渲染一张二维纹理,即我们在电脑屏幕上看到的所有效果。它的输入是一个虚拟摄像机、一些光源、一些Shader 以及纹理等。本章将会给出渲染流水线的概览,同时会尽量避免数

2017-11-28 19:47:23 1640

原创 第1章 欢迎来到Shader的世界

欢迎来到Shader 的世界!我们曾不断听到周围有人提出类似的问题:“ Shader 是什么” “我应该看哪些书才能学好Shader" "学习Unity Shader,我应该从哪里着手”。我们希望这本书可以告诉你这些问题的答案。如果本书是你学习Shader 的第一本书,我们希望这本书可以为你打开一扇新的大门,让你离制作心目中的优秀游戏的心愿更近一步:如果不是,我们同样希望这本书可以让你更深入地理解

2017-11-21 17:24:19 866

原创 附录A 进阶游戏编程书籍总结与推荐

章节导读很多游戏编程书籍都有一个通病, 一本书写完,读者看完之后,不知道下一步该如何前进。这里的附录就是让大家看完这本书后,知道自己接下来可以学习什么,如何进一步提升自己。为学习思路不清晰不科学的读者们指明一条康庄大道。所谓师傅领进门,修行在个人。读完这本书,以后的游戏开发之梦, 就要靠接下来给大家推荐的这些书籍和源代码为精神寄托了。想想看,如果从翻开这本书的第一页的那一刻开始算起,我

2017-11-21 13:33:32 9022

原创 第26章 站在巨人肩膀上——游戏引擎技术导论

章节导读本章内容可以开阔大家的视野,让大家对游戏引擎有一个全新的认识。游戏引擎是指一些已编译好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出一款游戏作品,而不是从零开始写起,这样大大提高了开发的效率,节约了开发的时间和开发的成本。游戏引擎让我们站在巨人的肩膀上进行游戏的开发,

2017-11-20 13:09:54 2072

原创 第25章 造物主的降临——多游戏模型的载入

章节导读本章我们介绍的知识点是网格模型的优化以及克隆,再把之前讲解网格模型那章中讲到的X文件的载入方法封装到了一个类中。最后就可以用几行代码,来载入多个3D 模型到我们的游戏场景中了。25.1 网格模型的优化我们在第17 章讲过一次网格模型,如果大家还不熟练, 请移步到第17 章把之前的知识复习一下吧。本章我们将接触到网格模型的优化相关知识。无论是用手编(如果你真有这个

2017-11-17 17:14:08 1288

原创 第24章 让唯美的雪花飘扬——三维粒子系统的实现

章节导读本章我们将一起探讨三维游戏中粒子系统的方方面面, 首先对粒子系统的基本概念特性做一个全面的认知,然后依旧是把粒子系统封装在一个C++类中,模拟了三维游戏中唯美的雪花飞扬的景象, 让我们之前实现的综合三维游戏场景更加炫。大家应该记得,我们之前也用GDI 实现过雪花粒子系统,那个时候由于图形库GDI的限制,实现效果或多或少显得有些拙劣,本章我们在DirectX 的帮助下,专门用粒子

2017-11-17 14:32:55 1874

原创 第23章 向碧蓝的苍穹致敬——三维天空的构建

章节导读本章准备跟大家一起探讨一下三维天空的几种实现方式,然后在几种方式之中选择最常用的一种进行重点突破,用一个C++类把这种三维天空的实现方式封装起来。这样以后要使用三维天空来辅助绘制某个游戏场景的话, 准备好天空的纹理图,然后简单地敲几行代码, 调用一下这个天空类中我们亲手写出来的函数就可以搞定了。23.1 三维天空技术阐述游戏世界中的天空好像是无边无际的,其实我们都被骗了

2017-11-16 17:55:11 640

原创 第22章 钟灵毓秀的世界——三维地形的构建

章节导读想创造出极具真实感的三维游戏世界, 三维地形的模拟是必不可少的,也是至关重要的。三维地形模拟其实是一个很广阔的课题,它其实不仅仅局限于游戏开发领域,在三维仿真、虚拟现实等领域都涉及。说起三维地形模拟,似乎有那么一丝神秘,其实,只要了解其实现原理,这所谓的地形系统模拟也就是纸老虎一只。本章我们将揭开三维地形模拟的面纱,看看到底怎样利用一个C++类的书写,实现我们专属的三维地形系统

2017-11-15 17:32:43 629

原创 第21章 翱翔于三维空间——游戏摄像机的构建

章节导读本章我们以核心思想为突破口,从原理介绍到一个C++类的写法, 一步一步带领大家实现了一个第一人称三维摄像机的C++类。然后在这个摄像机类的帮助下,放出了一个几乎贯穿了我们之前学到的所有DirectX 相关知识的“三维场景漫游”示例程序,算是对我们之前学的固定功能流水线这套渲染体系的总结。这个“三维场景漫游”示例程序的代码量有一千行,包括Direct3D 初始化、Directlnpu

2017-11-13 17:33:55 576

原创 第20章 虚实结合的光影——模板技术

20.1 对模板技术中概念的理解想要学习模板技术,首先需要理解两个的概念,即模板缓存与模板测试。20.1.1 模板缓存先来了解一下什么是模板缓存。模板缓存( stencil buffer )是一个用于专门用于制作特效的离屏( off-screen )缓存。模板缓存的分辨率与之前讲过的后台缓存和深度缓存的分辨率完全相同,模板缓存的像素也和后台缓存、深度缓存中的像素相对应。正所谓人如其

2017-11-13 11:39:45 401

原创 第19章 横看成岭侧成峰——深度测试与Z缓存

章节导读在游戏三维场景中,想创造出唯美又具真实感的画面,常常需要绘制大量的物体。而这些物体之间通常都存在着遮挡的关系,离观察点较远的物体,会因为近处物体的遮挡而不可见,或者只有部分可见。在Direct3D 中,微软为我们提供了深度缓存(或称Z 缓存),配套着深度测试技术,来专门实现这种效果。下图是本篇文章配套程序的一个截图,可以发现,利用了深度测试,才能让战士与这个矩形墙面水乳交融,表达出这个

2017-11-10 15:10:04 439

原创 第18章 水乳交融的艺术——Alpha混合技术

18.1 初识Alpha 通道与混合技术大家应该都知道, Alpha 通道是计算机中存储一张图片的透明和半透明度信息的通道。它是一个8 位的灰度通道,用256 级灰度来记录图像中的透明度信息,定义透明、不透明和半透明区域,其中黑表示全透明,白表示不透明,灰表示半透明。混合的英文术语为Blending , 是计算机图形学中常用的一种技术,即混合像素。我们通常用已经光栅化的像素光栅化同一位置的

2017-11-09 19:57:44 1213

原创 第17章 他山之石可攻玉——三维游戏模型的载入

17.1 网格模型技术的前生今世网格模型是一种将物体模型的顶点数据、纹理、材质等信息存储在一个外部文件中的3D 物体模型。对于那些简单的图元描述的图形,比如点、线、三角形等等,我们可以通过写代码指定顶点数据、索引数据、法线向量、纹理和材质等信息。但对于复杂的3D 物体的话, 采用这种方式显然是不现实的。因此,Direct3D 提供了一种称作网格模型的技术,可以从各种特定的文件格式中读取和绘制3

2017-11-08 19:56:26 858

原创 第16章 起舞不落幕——与纹理映射的华丽邂逅

16.1 纹理映射的概念江山如此多娇,风景如画,万物都有其独特的特点。真实世界中的物体, 在计算机三维世界中如果单单用各种各样的几何体以及顶点坐标,顶点颜色来模拟的话,往往缺乏生机,往往差强人意。比如说我们要绘制出如下效果的一个贴了瓷砖的立方体:综合我们之前讲过的知识,绘制一个立方体是小菜一碟。但关键就来了,如何给制出像砖块那样坑坑洼洼的效果呢?难不成用成千上万的顶点坐标一

2017-11-07 14:56:17 614

原创 第15章 做游戏的主人——输出控制利器Directlnput

15.1 引言众所周知,在普通的Windows 程序中, 用户通过键盘或者鼠标输入的消息并不是应用程序直接处理的,而是通过Windows 的消息机制转发给Windows 操作系统的。Windows 操作系统对这些消息进行响应后,再通过回调应用程序的窗口过程函数进行相应的消息处理。这显然满足不了对于性能要求比较苛刻的游戏程序。在DirectX 中,微软为我们提供了名为Directlnput

2017-11-01 14:48:49 3537 1

Unity Shader 技能冷却效果

使用Unity Shader实现技能冷却效果,与NGUI插件中的技能CD效果类似。

2018-05-03

UnityShader 用Plane实现旗帜飘扬效果

UnityShader 用Plane实现简单旗帜飘扬效果

2018-05-02

Simple LOD v1.6.unitypackage

SimpleLOD,除了同样拥有Mesh Baker所具有的Mesh合并、Atlas烘焙等功能,它还能提供Mesh的简化,并对动态蒙皮网格进行了很好的支持。该插件可在Run-time和Editor中都可以使用,同时开放了源码,大家可以根据项目的实际情况而作修改。

2018-04-17

Unity3d 动画重定向 动力学骨骼插件DynamicBone

通过动态计算角色位移和动画,产生的飘带物理效果,可用在各种动画效果制作,比如:制作头发飘动动画效果;

2018-04-03

VS调试利器autoexp.dat

VS调试利器,可以查看调试时看不到的值,使用方法(以VS2010为例): 1:替换到Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Packages\Debugger  2:重启visual studio

2017-07-05

Visual assist x trial key破解补丁

Visual Assist X 试用期一个月, 试用是全功能的, 这点还不错. 但是到期的话就不能继续了,先把visual studio软件关闭,运行vax_patch.exe,重启visual studio后,就可以使用了!

2017-06-24

Visual Assist X 2114

Visual Assist X是一款非常好的Microsoft Visual Studio插件,它可以完全集成到您的Microsoft开发环境中,升级了您的IDE,在不改变编程习惯的同时就可以感受到Visual Assist X为您带来的好处。软件支持Microsoft Visual Studio 2003-2012,C/C++,C#,ASP,VisualBasic,Java和HTML等语言,能自动识别各种关键字、系统函数、成员变量、自动给出输入提示、自动更正大小写错误、自动标示错误等。使用Visual Assist X有助于提高开发过程的自动化和开发效率。

2017-05-18

Avatar换装系统

它是一个Unity项目,显示如何在Unity中构建Avatar换装系统。 换装系统在游戏中非常重要,特别是在MMO游戏中。 通常,换装系统包含两个重要部分。 由于装备的外观不同(网格不同),因此将这些网格合并在一起是必要的。 第二,合并网格后,新网格包含许多材料(在此项目中,它有4种材质),这意味着它至少有4个drawcalls(依赖于着色器)。 所以合并材料在一起将减少drawcalls和提高游戏性能。

2017-03-21

Fast Shadow Receiver

阴影是3D空间中非常重要的方面。 然而,阴影渲染是GPU密集的过程。 快速阴影接收器通过最小化阴影绘制区域使阴影渲染更快。 这是低端移动设备上阴影性能问题的真正解决方案。

2017-03-07

Build Report Tool 自述文件

您的游戏版本想试图减少小于 50 MB 吗?需要去看,你的资产正在吃占用的磁盘空间? 此工具提供了一个很好前端为Unity的生成信息。它显示包含在build 时的资产和多少存储空间。

2017-03-01

Unity资源热更新之AssetBundle

包含旧版本的AssetBundle(Unity5.0以前)与新版本的AssetBundle(Unity5.0以后)的操作,以及AssetBundle的批量命名及打包操作

2016-12-07

Unity_LZMA方式的压缩与解压

使用LZMA压缩与解压Unity的Assetbundle包

2016-11-30

Unity3D 自定义树组件(树形菜单)

这是一个完整的Unity树形菜单项目工程,菜单可以进行折叠,点击某个节点,可以显示出所点击菜单的信息。

2016-11-05

Unity框选效果

Unity框选场景中的对象,被选中的对象,边缘高亮显示

2016-11-01

Unity3D-XML与JSON导出还原场景

将Unity游戏场景中游戏对象的、旋转、缩放、平移与Prefab的名称导出在XML与JSON中。然后解析刚刚导出的XML或JSON,通过脚本把导出的游戏场景还原

2016-10-26

Unity3D-XML与JSON解析

融合了XML与JSON的合成与解析(包括创建、更新、添加、删除、显示等操作)

2016-10-26

Unity 粒子系统缩放示例

这是一个完整版的Unity粒子系统缩放Demo,代码、资源、场景俱全,可直接看演示效果

2016-10-26

3D游戏引擎 源码+演示

一个小型商业版的3D游戏引擎,具有平常游戏所具有的的元素,如:场景、视角变换、图像、声音等众多元素

2013-12-28

获取本机的IP地址和MAC地址

在VC++6.0和VS下能顺利编译,获得本机的IP地址和MAC地址,并输出,里面为详细的源码,望大家学习与研究

2013-12-24

Unpause.zip

Use for make Unity3D animations and particles not pause when you set the Time.timeScale to 0. It's useful when you want to play some pause menu animation or make some good effect while the game is paused by setting Time.timeScale 0.

2019-05-17

Unity Shader - Sprite Shader之简单抠图

在PhotoShop中我们经常会用到抠图操作,现在就用Shader实现一个简单的抠图效果。使用当前像素颜色与需要抠掉的颜色相减作比较,然后与一个指定的阈值比较以决定是否将其显示出来;

2018-05-30

Unity Shader-后处理:景深

通过两张图片,一张清晰的,一张经过高斯模糊的,然后根据图片中每个像素的深度值在两张图片之间差值,就可以达到景深的效果了。

2018-05-26

Unity Shader - 后处理:高斯模糊

高斯模糊(Gaussian Blur),又叫做高斯平滑。高斯模糊主要的功能是对图片进行加权平均的过程,与均值模糊中周围像素取平均值不同,高斯模糊进行的是一个加权平均操作,每个像素的颜色值都是由其本身和相邻像素的颜色值进行加权平均得到的,越靠近像素本身,权值越高,越偏离像素的,权值越低。

2018-05-25

Unity Shader-后处理:简单均值模糊

所谓模糊,也就是不清楚,清晰的图片,各个像素之间会有明显的过渡,而如果各个像素之间的差距不是很大,那么图像就会模糊了,极端一点的情况,当一张图片所有的像素之间颜色都差不多时,那么这张图片也就是一个纯色的图片了。

2018-05-23

Unity Shader - 后处理:简单的颜色调整(亮度,饱和度,对比度)

我们在做游戏的时候,虽然现在有了Unity等引擎,不用我们自己处理一些繁琐的东西,但是不管怎么样,最后显示在屏幕上的还是一些RGB的像素信息,了解这些基本的概念,肯定对我们做游戏有更大的帮助。

2018-05-23

Unity Shader - 隐身效果

根据模型空间的y坐标范围,我们在vertex阶段记录一下vertex坐标,传递给fragment阶段,在fragment阶段用这个值和一个设定好的阈值进行比较,不满足条件的像素点直接discard,逐渐调整阈值,就可以得到让模型按照某个方向消失的效果了。

2018-05-23

Unity Shader - 3D流光效果

3D流光需要将流光贴图的UV坐标和模型UV的XY坐标对应了起来,再将它进行UV动画移动起来,就实现了3D的流光效果。

2018-05-22

Unity Shader-死亡溶解效果

溶解(dissolve) 效果常见于游戏中的角色死亡、地图烧毁等效果。在这些效果中,消融往往从不同的区域开始,并向看似随机的方向扩张,最后整个物体都将消失不见。

2018-05-22

UnityShader 法线贴图(Normal Map)与视差贴图(Parallax Map)

主要研究一下怎样增强法线贴图的效果,法线贴图的进阶版-视差贴图(Parallax Map)。

2018-05-21

UnityShader 浮雕凹凸贴图BumpMap与法线贴图NormalMap的原理及其区别

凹凸映射和纹理映射非常相似。然而,纹理映射是把颜色加到多边形上,而凹凸映射是把粗糙信息加到多边形上。

2018-05-20

UnityShader 渲染队列,ZTest,ZWrite,Early-Z

Unity渲染引擎一般都会先对物体进行排序,再渲染。常用的方法是: (1)先渲染所有不透明物体,并开启它们的深度测试和深度写入。 (2)把半透明物体按它们距离摄像机的远近进行排序,然后按照从后往前的顺序渲染这些半透明物体,并开启它们的深度测试,但关闭深度写入。

2018-05-18

UnityShader 描边效果

描边效果是游戏里面非常常用的一种效果,一般是为了凸显游戏中的某个对象,会给对象增加一个描边效果。

2018-05-17

UnityShader 边缘光(静态、动态及遮罩)效果

思路:用视方向和法线方向点乘,模型越边缘的地方,它的法线和视方向越接近90度,点乘越接近0。那么用 1-减去上面点乘的结果,来作为颜色分量,来反映边缘颜色强弱。

2018-05-16

UnityShader 漫反射(兰伯特与半兰伯特光照模型-逐顶点和逐像素光照)

漫反射光照是用于对那些被物体表面随机散射到各个方向的辐射度进行建模的。在漫反射中,视角的位置是不重要的,因为反射是完全随机的,因此可以认为在任何反射方向上的分布都是一样的。但是,入射光线的角度很重要。

2018-05-15

UnityShader 序列帧动画效果

序列帧动画的主要的思想是设置显示UV纹理的大小,并逐帧修改图片的UV坐标。

2018-05-15

UnityShader 实现3D模型颜色渐变效果

使用Unity Shader使模型的颜色产生简单的两种颜色过渡的渐变效果。

2018-05-11

UnityShader 实现2D流光效果

很多游戏Logo中都可以看到流光效果,实现方案就是对带有光条的图片uv根据时间进行移动,然后和原图进行叠加实现。

2018-05-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除