< 用到软件:UE、Blender >


1、面法线(face normals)

  • 面法线:模型法线不做任何处理时的面法线朝向;如下图
  • 很多时候,引擎中用到的模型,法线数据是经过处理的。这时可以通过下面方法获得原生的面法线数据;
    • 算法核心:左手定则+叉乘+坐标系转换

2、弯曲法线(bent normals)

  • 这是一种法线映射的技术,特别适合为一些低面模型(如低面树叶)制作丝滑的法线;如下图:
  • 上图使用的软件为:Blender,实现步骤如下:
    • 第一步:主模型开启平滑;
    • 第二步:给主模型添加法线编辑修改,并指认副模型为法线来源;
    • 第三步:应用修改器即可;

3、模型中心法线(object pivot normals)

  • 从模型的中心点,径向往外发散的法线;
  • shader的应用技巧,可代替DCC软件中制作弯曲法线的步骤;如下图:
    • 核心算法:模型顶点与中心点相减即可;
    • 下图左边为模型中心法线,右边为面法线。

4、相机法线(camera normals)

  • 将相机矢量(视图方向)当作法线;
  • 适合用在一些用做公告板的物体上;shader做法如下:

基础篇 | 材质01 | 4种法线相关推荐

  1. 小何同学的leetcode刷题笔记 基础篇(01)整数反转

    小何同学的leetcode刷题笔记 基础篇(01)整数反转[07] *** [01]数学取余法*** 对数字进行数位操作时,常见的方法便是用取余的方法提取出各位数字,再进行操作 操作(1):对10取余 ...

  2. 思维导图 基础篇(01)概述

    系列文章解读&说明: 本系列文章主要内容是 思维导图 基础课,旨在帮助更多 热爱学习的伙伴 更具体的了解思维导图,同时也会让 更多的伙伴从 思维导图 认知 误区中走出. 系列文章总纲链接为:专 ...

  3. MySQL基础篇:SELECT几种子句

    文章目录 1.概述 2.where 条件查询 3.group by 分组查询 常用的聚合函数 group by + 聚合函数 4.having筛选 5.order by 排序 6.limit 分页 1 ...

  4. MySQL基础篇:子查询

    文章目录 概述 where型子查询 from型子查询 EXISTS型子查询 复制表子查询 概述 在某些情况下,当进行一个查询时,需要的条件或数据要用另一个select语句的结果,这个时候,就要用到** ...

  5. 六种常见系统架构 —— 基础篇

    六种常见系统架构 -- 基础篇 常见的几种系统架构设计,本文先讲前三个: 1. 单库单应用架构:最简单的,可能大家都见过 2. 内容分发架构:目前用的比较多 3. 读写分离架构:对于大并发的查询.业务 ...

  6. mysql经典总结文章_MySQL基础篇(01):经典实用查询案例,总结整理

    MySQL基础篇(01):经典实用查询案例,总结整理 发布时间:2020-02-26 22:25:21 来源:51CTO 阅读:244 作者:知了一笑 本文源码:GitHub·点这里 || GitEE ...

  7. python 01列表异或_python基础篇三

    python基础篇二所介绍的列表是基本的数据类型之一,元组.集合.字典也是基本的数据类型之一.熟练运用这些基本的数据类型很重要,就像是一座高楼大厦,把地基打扎实了,这栋高楼大厦才能在狂风暴雨中岿然不动 ...

  8. 01: tornado基础篇

    目录:Tornado其他篇 01: tornado基础篇 02: tornado进阶篇 03: 自定义异步非阻塞tornado框架 04: 打开tornado源码剖析处理过程 目录: 1.1 Torn ...

  9. 视觉slam学习|基础篇01

    系列文章目录 SLAM基础篇01 SLAM基础篇02 目录 系列文章目录 前言 SLAM是干什么的? SLAM的数学建模 机器人学基础 齐次矩阵 关于旋转的表示:旋转向量.欧拉角.四元数 李群和李代数 ...

最新文章

  1. 【视频】【zt】温馨的求婚
  2. Linux不能上网ping:unknown host问题怎么解决?
  3. HDU 5785 interesting
  4. 三、python沉淀之路--列表(list)
  5. ts watch路由 参数变化_TypeScript基础(六):TS 在 Vue 中的用法,data,生命周期,methods,computed,props,watch,$emit...
  6. 安卓案例:基于HttpClient下载文本与图片
  7. 【Level 08】U07 Mixed Feelings L4 Learning by heart
  8. Faster R-CNN源码中ROI Pooling的解析
  9. deletefile失败 代码5怎么办_Go语言高级窍门与技巧,看完你也能写出高质量代码...
  10. java怎么播放视频_java 播放视频
  11. 硬件工程师-电阻知识大全
  12. 安庆集团-冲刺日志(第三天)
  13. 计算几何基础--线段的性质
  14. OneNET麒麟座应用开发之十:空气质量数据监测站项目总结
  15. 使用Vue导出word(纯前端,异步处理图片)
  16. 小练习 通过csv模块读取csv文件
  17. 【Linux】ARM篇一--计算机基础与RAM处理器概论
  18. android操作系统详细目录结构
  19. redis在pub压力较大时,sub端错误Server closed the connection的解决方法
  20. 华为交换机的软件升级方法,很实用

热门文章

  1. 正大国际期货:国际期货中的八条看盘技巧!
  2. SQL语句 之 SELECT用法一锅炖
  3. JDK JRE JVM的区别
  4. 最终幻想之父——坂口博信 (转载自天幻网(www.SquareCN.com))
  5. openedge-function模块浅析——百度BIE边缘侧openedge项目源码阅读(3)
  6. 小 tips:删除word表格下面多余的空白页
  7. 新浪天气预报代码及城市代码
  8. 简单实用 Firefox最有用的20大插件热力推荐
  9. Azure text-to-speech 语音合成 中文晓晓情感API使用及教程
  10. 上海亚商投顾:创业板指高开高走 ChatGPT概念卷土重来