Unity Stencil 模板测试概要

模板测试与透明度测试以及深度测试类似,模板测试也是用来决定一个像素点是否渲染的过程。其中要用到的模板缓冲区与颜色缓冲区以及深度缓冲区类似,模板缓冲区可以为屏幕上的为每个像素点保存一个无符号整数值(通常的话是个8位整数)。模板测试发生在透明度测试(alpha test)之后,深度测试(depth test)之前。其中所有的测试都通过,才会更新颜色缓冲区中的颜色。

一般来说,stencil完整语法格式如下:

stencil{
	Ref referenceValue
	ReadMask  readMask
	WriteMask writeMask
	Comp comparisonFunction
	Pass stencilOperation
	Fail stencilOperation
	ZFail stencilOperation
}
关键字实际意义默认值
Ref作为与缓冲区中的值比较的参考值。
ReadMask(ref & readMask Comp函数 stencilBuffer & readMask)的bool值决定是否通过模板测试255
WriteMask(ref & writeMask)的值在修改方式为replace的情况,整数值将覆盖buffer,其他修改方式无效255
Comp定义参考值与模板值比较的方式,即决定的是模板测试通过与否的方式。Always
Pass定义模板测试与深度测试皆通过时,基于参考值对模板值的修改方式。Keep
Fail定义模板测试不通过时,基于参考值对模板值的修改方式。Keep
ZFail定义模板测试通过,深度测试不通过时,基于参考值对模板值的修改方式。Keep
 
ComparisonFunction可选类型:
Greater

相当于“>”操作,即仅当左边>右边,模板测试通过,渲染像素

GEqual

相当于“>=”操作,即仅当左边>=右边,模板测试通过,渲染像素

Less

相当于“<”操作,即仅当左边<右边,模板测试通过,渲染像素

LEqual

相当于“<=”操作,即仅当左边<=右边,模板测试通过,渲染像素

Equal

相当于“=”操作,即仅当左边=右边,模板测试通过,渲染像素

NotEqual

相当于“!=”操作,即仅当左边!=右边,模板测试通过,渲染像素

Always不管公式两边为何值,模板测试总是通过,渲染像素
Never不敢公式两边为何值,模板测试总是失败 ,像素被抛弃
 

StencilOperation可选类型:

Keep保留当前缓冲中的内容,即stencilBufferValue不变
Zero将0写入缓冲,即stencilBufferValue值变为0
Replace将参考值写入缓冲,即将referenceValue赋值给stencilBufferValue
IncrSatstencilBufferValue加1,如果stencilBufferValue超过255了,那么保留为255,即不大于255
DecrSatstencilBufferValue减1,如果stencilBufferValue超过为0,那么保留为0,即不小于0
Invert将当前模板缓冲值(stencilBufferValue)按位取反
IncrWrap当前缓冲的值加1,如果缓冲值超过255了,那么变成0,(然后继续自增)
DecrWrap当前缓冲的值减1,如果缓冲值已经为0,那么变成255,(然后继续自减) 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity跑酷模板是一种在Unity游戏引擎中使用的模板,用于创建跑酷类游戏。跑酷游戏是一种动作游戏,玩家需要控制角色沿着一条不断延伸的道路奔跑和跳跃,同时避开障碍物和敌人的碰撞。 使用Unity跑酷模板,开发者可以更快速地创建自己的跑酷游戏。该模板提供了一些常见的跑酷元素和机制,如角色控制、道路生成、障碍物设置、碰撞检测等等。开发者可以根据自己的需求和创意,对这些元素进行修改和定制,以打造出独特的跑酷游戏体验。 Unity跑酷模板还提供了一些可定制的选项,如移动控制方式(触屏、重力感应、键盘),角色的外观和动画设置,游戏难度和进度的调节等等。通过这些选项,开发者可以根据自己的游戏设计理念,来创造出不同风格的跑酷游戏。 Unity跑酷模板的使用简便性也是它的一大优点。开发者无需从零开始设计和编码各种跑酷基本功能,只需在模板的基础上进行修改和改进即可快速完成游戏的开发。这大大减少了开发周期和工作量,同时也降低了技术门槛,使更多的开发者能够参与到跑酷游戏的开发中来。 总的来说,Unity跑酷模板是一种方便、高效的开发工具,可用于创建各种跑酷游戏。无论是个人独立开发者还是团队开发,都可以通过该模板快速实现自己的游戏创意,为玩家们带来刺激有趣的跑酷体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值