CG中修饰符in out inout的使用 Mar 3, 2019 关于cg中的修饰符关键字in out inout的区别, 网上的大致描述如下: 参数传递是指:函数调用实参值初始化函数形参的过程。在 C\C++中,根据形参值的改变是否会导致实参值的改变,参数传递分为“值传递(pass-by-value) ” 和“引用传递(pass-by-reference) ”。按值传递时,函数不会访问当前调用的实参,函数体处理的是实参的拷贝,也就是形参,所以形参值的改...
PBR实现染色效果 Nov 12, 2018 Unity5之后加入新的渲染方式 PBR。PBR是一种着色和渲染技术,用于更精确的描述光如何与物体表面互动。PBS(Physically Based Shading)在有一些地方也叫PBR(Physically Based Rendering),是一个基于物体表面材质属性的着色方法。与之前的Blinn-Phong等算法不同。PBS通过对物体表面的材质属性与周围光照信息来进行着色计算。P...
强化学习-游戏AI Trainning (三) Nov 10, 2018 记得半年前,我介绍过强化学习的算法,比如说Q-learning, sara, DQN. 今天我们来介绍两种新的强化学习的算法Policy Gradient。 相较于之前的方法,今天的两种方式更加深入的使用深度神经网络。 本文对应到github工程代码地址:https://github.com/huailiang/bird git clone https://github.com...
为你的游戏定制lua Oct 2, 2018 由于lua解释执行,且是一款轻量级的脚本语言,所以作为脚本无数次被广大游戏项目采用。市面上lua插件多如牛毛,像nlua,ulua,slua,xlua,tolua。 每一款插件或多或少有这样或那样的优点缺点。 我觉得王道就是自己写一个lua插件,定制给游戏,游戏需要什么功能,就加入什么功能,移除不必要的模块,加入自己需要的模块。 本文对应到github工程代码地址:https://...
PBR基于物理的着色 Aug 4, 2018 一. PBR基本认知和应用 本章内容主要介绍PBR的基本概念和衍变历史,以及其在主流商业引擎的应用。 1.1 PBR的基本介绍 1.1.1 PBR概念 PBR(Physically Based Rendering)译成中文是基于物理的渲染。它是利用真实世界的原理和理论,通过各种数学方法推导或简化或模拟出一系列渲染方程,并依赖计算机硬件和图形API渲染出拟真画面的技术。 1.1.2 与...
Unity 大地形加载研究 Jul 15, 2018 随着吃鸡手游的火爆,大世界、大地形类的手游正在变得越来越火热。想要大世界观的直面感受,大地形的研究课题也提上开发日程。我们都知道unreal 引擎直接提供了Level Streaming Volume方式的大地形加载方式,无需要过多的代码,就可以动态的生成大场景了。本文主要介绍unity 引擎下自己实现的大地形加载方式。 Unity 大地形研究 *github 对应的地址,点击这...
Unity 植入 c++版protobuf Jun 24, 2018 现在使用Unity引擎开发游戏使用的脚本语言越来越灵活了。就拿《王者荣耀》来说吧,战斗的核心都采取 c++的语言来实现,外围系统都是采用 csharp的开发的。使用 c++指针操作不断有更高的执行效率,作为 native 语言也不会有 mono 内存的开销。使用 csharp 语言语法简单,对面向对象的支持也比较好,适合快速开发和版本迭代。还有使用 lua 脚本来做游戏的热更新。这样问...
Batch 合并Drawcall绘制HUD May 10, 2018 hud是游戏中大量使用的元素,一个血条往往只需要很少的表现。在Unity中常用的UI大都是nGUI或者uGUI,因为图文层级交错或者Depth重叠,往往带来不少的Drawcall开销,从而导致游戏性能的开销。这里我们建议使用3D mesh的方式去绘制HUD,从而去优化性能。 本文对应的源码已经公开到github,点击地址可以查阅。 绘制血条 我们使用c#代码-Hud.cs动态创...