TA百人计划学习笔记 3.2混合模式及剔除

这篇具有很好参考价值的文章主要介绍了TA百人计划学习笔记 3.2混合模式及剔除。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • 资料
    • 源视频
      • 【技术美术百人计划】图形 3.2 混合模式及剔除_哔哩哔哩_bilibili
    • ppt
      • https://github.com/sunkai174634/PhotoShopBlendModeUnityShader
    • 实例
      • notargs.com
  • 混合模式
    • unity 官方文档
      • ShaderLab:混合 - Unity 手册
    • 是什么
      • 从渲染流程解释
        • TA百人计划学习笔记 3.2混合模式及剔除,学习,笔记,游戏美术,着色器,3d

      • 从效果上解释
        • TA百人计划学习笔记 3.2混合模式及剔除,学习,笔记,游戏美术,着色器,3d

        • Blend 就是把两种颜色混在一起。具体就是把某一像素位置原来颜色和将要会上去的颜色,通过某种方式或者算法混在一起,从而实现新的效果。
    • 公式
      • 最终颜色 = Shader计算后的颜色值 * 源因子(SrcFactor) + 累积颜色* 目标因子(DstFactor).
        • 累计颜色可以理解为渲染当前物体后面的颜色即GBuffer中的像素(颜色缓冲区中的颜色)。
      • factor因子
        • 在脚本里会看到的就是 :Blend SrcFactor DstFactor。
          • TA百人计划学习笔记 3.2混合模式及剔除,学习,笔记,游戏美术,着色器,3d

      • Blendop操作符
        • TA百人计划学习笔记 3.2混合模式及剔除,学习,笔记,游戏美术,着色器,3d

    • 常见的模式
      • TA百人计划学习笔记 3.2混合模式及剔除,学习,笔记,游戏美术,着色器,3d

    • shader
      • TA百人计划学习笔记 3.2混合模式及剔除,学习,笔记,游戏美术,着色器,3d

  • 剔除
    • 是什么
      • TA百人计划学习笔记 3.2混合模式及剔除,学习,笔记,游戏美术,着色器,3d

         
        • 剔除是一种优化方式,即不渲染背离观察者的面。
          • TA百人计划学习笔记 3.2混合模式及剔除,学习,笔记,游戏美术,着色器,3d

    • 方式
      • 法线剔除
        • 也被称为背面消隐,根据法线朝向判断哪个面被剔除掉。可以用来控制是否双面渲染。
        • 语法
          • 配置
            • Cull Off/ Front / Back
              • Back 不渲染背离观察者的多边形_(默认值)_,即剔除背面多边形。
              • Front 不渲染面向观察者的多边形。用于从里到外翻转对象。
              • Off 禁用剔除 - 绘制所有面。用于特殊效果。
          • 枚举
            • TA百人计划学习笔记 3.2混合模式及剔除,学习,笔记,游戏美术,着色器,3d

      • 面裁剪
        • clip函数会将参数小于0直接在片元着色器直接丢弃,常用于制作溶解,裁剪等效果。
          • 注意
            • clip函数在powerVR的机型上效率低
            • clip函数最好使用alphatest队列
        • 语法:clip();默认会切掉0.5的部分。
          • 可以通过预制件_int 控制clip(_int)的裁剪
            • code
              • TA百人计划学习笔记 3.2混合模式及剔除,学习,笔记,游戏美术,着色器,3d

              • TA百人计划学习笔记 3.2混合模式及剔除,学习,笔记,游戏美术,着色器,3d

          • 底层逻辑
            • TA百人计划学习笔记 3.2混合模式及剔除,学习,笔记,游戏美术,着色器,3d

  • 补充
    • 参考链接
      • 双面渲染美翻了!零基础也能学会,源码直接带走…_3d渲染双面-CSDN博客
    • 双面渲染
      • TA百人计划学习笔记 3.2混合模式及剔除,学习,笔记,游戏美术,着色器,3d

         
        • 与剔除的底层逻辑相同,通过视线方向(viewdir)dot法线方向(normal)的值判断面相对观察者的朝向
      • 实现方法
        • 设置材质的 CullMode 为 None,如下图所示:
          • TA百人计划学习笔记 3.2混合模式及剔除,学习,笔记,游戏美术,着色器,3d

        • 根据朝向判断采用正面还是背面的贴图和颜色
          • TA百人计划学习笔记 3.2混合模式及剔除,学习,笔记,游戏美术,着色器,3d

          • 当为背面时,翻转法线,才能确保光照正确,如下图所示:
          • TA百人计划学习笔记 3.2混合模式及剔除,学习,笔记,游戏美术,着色器,3d文章来源地址https://www.toymoban.com/news/detail-824306.html

      • 应用场景
        • 人物衣服、裙子、飘带里外
        • 单向透光玻璃
        • 阔叶植被(如芭蕉树、椰子树等)
        • 布料、纸张等特殊展示场合

到了这里,关于TA百人计划学习笔记 3.2混合模式及剔除的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 原型模式 Prototype Pattern 《游戏编程模式》学习笔记

    用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 假设我现在要做一款游戏,这个游戏里有许多不同种类的怪物,鬼魂,恶魔和巫师。这些怪物通过“生产者”进入这片区域,每种敌人有不同的生产者。 假设每种怪物都有不同的类,同时他们都继承怪

    2024年02月12日
    浏览(38)
  • 《游戏编程模式》学习笔记(七)状态模式 State Pattern

    允许对象在当内部状态改变时改变其行为,就好像此对象改变了自己的类一样。 在书的示例里要求你写一个人物控制器,实现跳跃功能 直觉上来说,我们代码会这么写: 可是这么写不对,因为人物本身应该只能跳一次,这样写的话人物就可以无限按B实现跳跃了。我们加一个

    2024年02月11日
    浏览(48)
  • 命令模式 Command Pattern 《游戏设计模式》学习笔记

    对于一般的按键输入,我们通常这么做,直接if按了什么键,就执行相应的操作 在这里我们是将用户的输入和程序行为硬编码在一起,这是我们很自然就想到的最快的做法。 但是如果这是一个大型游戏,往往我们需要实现一个按键配置的功能(话说2077直到上线都没有实现这

    2024年02月14日
    浏览(44)
  • 享元模式 Flyweight Pattern 《游戏编程模式》学习笔记

    如果我们要存储一个树一样的数据结构,直觉来说我们会这么写 但是实际上我们会发现,哪怕森林里有千千万万的树,它们大多数长得一模一样。 它们使用了相同的网格和纹理。 这意味着这些树的实例的大部分字段是一样的。 那么我们就可以将树共有的数据拿出来分离到另

    2024年02月13日
    浏览(48)
  • 《游戏编程模式》学习笔记(六)单例模式 Singleton Pattern

    保证一个类只有一个实例,并且提供了访问该实例的全局访问点。 定义这种东西一般都是不说人话的,要想要理解这句话的意思,我们得把它揉开了才能搞明白。 我们先看前半句 “保证一个类只有一个实例”,单例一般使用类来实现,也就是说,这个单例类,其有且只能有

    2024年02月12日
    浏览(44)
  • 《游戏编程模式》学习笔记(十二)子类沙箱 Subclass Sandbox

    基类定义抽象的沙箱方法和几个提供的操作。 将操作标为protected,表明它们只为子类所使用。 每个推导出的沙箱子类用提供的操作实现了沙箱函数。 假设我们在做一个超级英雄的游戏,我们现在要实现一些超能力。我们计划创建一个Superpower基类。然后由它派生出各种超级能

    2024年02月09日
    浏览(38)
  • 设计模式学习笔记 - 设计模式与范式 -行为型:8.状态模式:游戏、工作流引擎中常用的状态机是如何实现的?

    本章学习状态模式。在实际的开发中,状态模式并不是很常用,但是在能够用到的场景里,它可以发挥很大的作用。从这一点上看,它有点像我们之前讲到的组合模式。 状态模式一般用来实现状态机,而状态机常用在游戏、工作流引擎等系统开发中。不过,状态机的实现方式

    2024年04月10日
    浏览(47)
  • 【2022吴恩达机器学习课程视频翻译笔记】3.2线性回归模型-part-2

    Let’s look in this video at the process of how supervised learning works. Supervised learning algorithm will input a dataset and then what exactly does it do and what does it output? Let’s find out in this video. Recall that a training set in supervised learning includes both the input features, such as the size of the house and also the output targets,

    2024年02月12日
    浏览(39)
  • 百人项目组unity2d游戏手机端发烫帧率低优化从10帧优化到60帧

    项目组排查及优化: 1.http://zh.esotericsoftware.com/forum/Skeleton-Unity-16481 此外,请务必在实际设备上测试 Release 版本的性能,因为调试版本的性能可能会更差,而分析器会使事情变得更糟。 这里一定要去掉开发者模式,否则会掉个10~20帧左右(提升明显) 2.检查正常2d游戏drawcall

    2023年04月23日
    浏览(45)
  • 掘力计划第 20 期:Flutter 混合开发的混乱之治

    在掘力计划系列活动第20场,《Flutter 开发实战详解》作者,掘金优秀作者,Github GSY 系列目负责人恋猫的小郭分享了Flutter 混合开发的混乱之治。 Flutter 基于自研的 Skia 引擎实现了跨平台高性能渲染,但其独立的渲染层带来了与 Android 混合开发的技术挑战。经过几年的演进,

    2024年02月14日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包