首页 > 其他分享 >关于法线的一些注意事项

关于法线的一些注意事项

时间:2023-07-26 18:13:31浏览次数:47  
标签:法线 UnityObjectToWorldNormal WorldToObject 注意事项 unity 关于 描边 归一化

简述:在项目中使用到了描边技术,我这里使用的原理是法线+模板测试,在法线这一小部分当中,也是遇到了许多问题

问题①:需要描边技术的模型很多,且模型大小不一,总不可能每个模型的材质shader的描边大小数值都不一样吧,那不得累死,所以“归一化”是解决这个问题的关键——normalize();

问题②:在归一化之后,有可能会碰到另一种情况——这种情况也跟问题①所呈现的效果是一样的,这种情况我不知道如何称呼,解决方法是:worldNormalLength = length(mul((float3x3)transpose(unity_WorldToObject), normal)); //normal是归一化后的法线,归一化后的法线还需要乘以unity_WorldToObject矩阵的转置的模长,注意unity_WorldToObject矩阵的转置不等于unity_ObjectToWorld,unity_ObjectToWorld是unity_WorldToObject的逆矩阵。最后将法线乘以worldNormalLength就可以得到真正的统一法线了。其原理我估计和UnityObjectToWorldNormal()函数有关

 UnityObjectToWorldNormal源码(上图,地址:(24条消息) UnityCG.cginc源码之UnityObjectToWorldNormal之模型非等比缩放导致的法线不垂直问题解决分析_傲天鹰的博客-CSDN博客

//总结时间:2023.6.21,发布时间今天

标签:法线,UnityObjectToWorldNormal,WorldToObject,注意事项,unity,关于,描边,归一化
From: https://www.cnblogs.com/teriffica/p/17583198.html

相关文章

  • 关于AJAZZ机械键盘的一些备忘录
    使用说明按键作用Fn+Ins调节灯光模式(整体明暗)(常亮)Fn+上下方向键灯光亮暗Fn+Del滚动灯光Fn+Home按的按键会亮并向两边扩散/按下的按键会亮Fn+PgUp/PgDn灯光动效Fn+End灯光亮灭性状Fn++/-控制流速度......
  • 【随手记录】关于关系型数据库索引的建立
    1、索引不是万能的,每类索引都有对应使用情况2、索引不是越多越好,建立索引对应需要维护索引数据3、对于like进行模糊搜索时,并不是所有的情况都走索引,需要根据具体的写法来判断4、where语句最好不要出现in!=等操作符5、对于大量重复的数据查询索引可能不生效6、尽量避免在where条......
  • 关于TypeScript中提示xxx is declared but its value is never read的解决方法
    首先,提示很明显,是定义了变量,但是却没有使用。解决方案有如下两种: 一:需要确定变量是否真的没有使用到,如果没有使用直接删除即可。 二:对于方法中的入参,是没法随便删除的。这时候我们可以利用TypeScript4.2中的新特性,将变量名用下划线开头,表示占位变量。更具体的详情可......
  • WebApi-寄宿方式注意事项
    所谓的寄宿方式,就是把服务从原来的容器(iis、appache)中提取出来通过宿主程序来控制其启动,这样的好处就是避免了对服务器(容器)的依赖,实现灵活控制,但在实际开发中尤其是新手容易忽略的地方,这里做个简单的示例,记录一下便于以后自查。首先建立一个公共各类库Common,用于存放实体类。编......
  • 关于伺服刹车/急停/前后设备信号对接/PLC输入输出模块的公共端介绍
    一、伺服刹车关键词:急停,急停中间继电器、刹车中间继电器,刹车使能正文:通常情况不用硬件为主导而用程序来主导控制,多场景应用方便修改且安全可靠。伺服刹车硬件,一般是24v电源给进去,就会释放刹车使能。拿一个Z轴伺服作为对象。1.程序上控制逻辑如下急停按钮一般都是NC触点串联......
  • 关于找工作
    其实是普通程序员才找不到工作由于程序员这行鱼龙混杂,培训的,转行的,毕业的,离职的,水平层次不齐,导致市场上对于程序员的需求远远供大于求,以为随便背背八股文就能月薪过万,这个市场薪资都被他们拉低了,真的是扰乱市场个人还是对这个问题还是比较有话语权的,1月初面试,那会疫情还没有完全......
  • 关于开设go语言专题的说明
    本专题写作的目的其实是分享go语言编程的使用场景,介绍go语言编程的方方面面,让大家能够用好这个由google公司发明的强力工具,提升大家在这方面的生产力,毕竟”君子善假与物也“嘛。这里我先说明一下,我并不是一个对go语言的所有一切都认同的人,你会发现很多相关从业者也会吐槽go语言的......
  • java中关于多态的理解
    多态:是同一个行为具有多个不同表现形式或形态的能力。在代码的运用中主要是关于子类中方法的重写,实现了同一个父类接口可以进行不同子类中重写的方法publicclassGeometricOject{//父类publicdoublefindArea(){return0.0;}}publicclassCircleext......
  • 关于深度学习、NLP和CV,我们写了一本1400页的全栈手册
    不知不觉写文章已经四年了。最开始是一个人,后来恰了恰饭,就招揽了很多比小夕厉害的小伙伴一起写。不知不觉已经积累了300多篇了。。三年以来,我跟小伙伴们原创的300+篇深度学习、NLP、CV、知识图谱、跨模态等领域的入门资料、子方向综述、2018~2022学术前沿解读、工业界炼丹经验与算......
  • 关于SyncTaskExecutor
    简单一句话吧,就是使用当前线程执行任务,并不会开启另外的线程执行,任务执行完毕之前会阻塞main线程,看他的名字见名知意,基本使用方法如下,importorg.springframework.core.task.SyncTaskExecutor;importorg.springframework.core.task.TaskExecutor;publicclassSyncTaskExecu......