Unity中URP下精度修饰符real

文章目录

  • 前言
  • 一、real是什么?
    • 1、我们在项目的Packages下找到如下文件:
    • 2、HAS_HALF(1代表有half精度,0代表没有half精度)
    • 3、PREFER_HALF
    • 4、REAL_IS_HALF
    • 5、如果 real is half
    • 6、否则为float
  • 二、总结


前言

  • 在使用雾效时,ComputeFogFactor函数的返回值就是real。
    Unity中URP下精度修饰符real_第1张图片

  • ComputeFogFactorZ0ToFar函数的返回值就是real。
    Unity中URP下精度修饰符real_第2张图片

  • Unity中URP下的添加雾效支持

我们来了解一下这个“新类型”real是什么?


一、real是什么?

1、我们在项目的Packages下找到如下文件:

Unity中URP下精度修饰符real_第3张图片

2、HAS_HALF(1代表有half精度,0代表没有half精度)

  • 只有在 移动平台 和 switch 平台才有half精度
    Unity中URP下精度修饰符real_第4张图片

3、PREFER_HALF

  • 如果没有定义则定义且使值为1
    Unity中URP下精度修饰符real_第5张图片

4、REAL_IS_HALF

  • 当平台有 half精度 和 PREFER 为1时
  • REAL_IS_HALF 才为1
  • 否则REAL_IS_HALF为0
    Unity中URP下精度修饰符real_第6张图片

5、如果 real is half

  • real is half 则 将我们的 real 定义成 half
    Unity中URP下精度修饰符real_第7张图片

6、否则为float

  • 将我们的 real 定义成 float
    Unity中URP下精度修饰符real_第8张图片

二、总结

在Unity中,使用real的作用是为了适配多平台之间精度不同的问题。在使用时,我们把他当作 half 或 float 即可。

你可能感兴趣的:(Unity,unity,游戏引擎)