白泽图

  • 文章
    • Unity渲染
    • Unity项目开发
    • 工具
    • 数学
    • 算法
    • 网站搭建
    • 网络&操作系统
蒋程个人博客
互联网技术经验总结&分享
Unity项目开发

安装chardet用于python中检查编码格式

用python写工具最麻烦的就是编码问题,chardet库可以方便查看输入源是什么编码格式 使用pip安装chardet库 python -m pip install chardet 使用代码如下: #! python2 # coding=utf-8 import os import sys import codecs import chardet if __name__ == '__main__': try: f = codecs.open('Module_Activity.txt',"r","utf-8") l…

2021-01-07 0条评论 1787点热度 0人点赞 蒋程 阅读全文
Unity项目开发

将插件从Library\PackageCache下移出

Unity的Package Manager(Windows/Package Manager)安装的插件默认存放在 Library\PackageCache 下,但是Library下一般会存放与平台相关的临时文件,通常做项目时不会上传版本控制库(如 svn,git...),所以我们需要把Library\PackageCache下面的插件移动到Packages(与Assets平级)下 实例如下,打开Package Manager搜索并安装URP插件 安装完成后,在Library\PackageCache下可以…

2021-01-06 0条评论 5661点热度 0人点赞 蒋程 阅读全文
Unity渲染

Unity渲染顺序(Queue,ZWrite,ZTest)

用实例说明Queue,ZWrite ,ZTest对渲染循序的影响 新建两个一样的Shader(Test1.shader与Test2.shader) 并分别创建材质球,然后赋值给两个Cube, shader代码如下: Shader "Custom/Test1" { Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag stru…

2020-12-31 0条评论 3319点热度 2人点赞 蒋程 阅读全文
Unity渲染

Unity定制Shader GUI优化方案

参考:官方API 写过脚本编译器的同学应该都知道Monobehaivor的脚本可以重画检视面板,这有利我们开发各利插件,方便调试,Shader的面板也可以重画,区别在于,Monobehavior的脚本设置只能在运行时生效,再Shader的面板设置在编译环境下就生效,在运行时无法生效,其实这个很好理解,unity的shader最终还要是编译成各平台对应的shader语言,所以它这里用的控制更多类似于宏,即不同设置会导致最终的编译结果不同 直接上代码: 在Asset中新建文件夹Editor,创建CustomShader…

2020-12-28 0条评论 2842点热度 0人点赞 蒋程 阅读全文
Unity渲染

UnityShader if判断优化

参考:Unity Shader: 优化GPU代码--用step()代替if else等条件语句 原文核心思路: 对于GPU来讲,各个顶点各个像素都在进行大量的并行运算,每个片段着色器都在同步运行,只有所有像素全部完成计算,才会进行下一次运算, 在片段着色器中,每个片段处理器每条指令操作上百个像素,如果有些片段(像素)采取一个分支而有些片段不采用另一个分支,则所有片段都会执行两个分支,但只在每个片段应该采取的分支上写入寄存器。不论何种策略,对追求高并行度的GPU来讲,分支是必须要同步的,那么最慢的case就会造成短板…

2020-12-28 0条评论 3200点热度 0人点赞 蒋程 阅读全文
Unity项目开发

安装Unity2019.4+版本与UnityHub

注意仅使用于2019.4以上版本(本人使用Unity2019.4.8) Unity安装包+破解文件: Unity安装完成后,使用UFFA - Editor Patcher 2020破解,破解完毕后删除Editor\Data\Resources\Licensing目录! UnityHub:链接: https://pan.baidu.com/s/18pJU5WuWva-vPLcZ66Mw9g 提取码: by6v  安装完成后不要升级UnityHub,否则以下破解方法无效! 1.安装nodejs 2.使用管理员…

2020-12-21 0条评论 6117点热度 0人点赞 蒋程 阅读全文
Unity渲染

Gamma空间和线性空间

本文参考:  https://catlikecoding.com/unity/tutorials/rendering/part-3/                 https://blog.csdn.net/candycat1992/article/details/46228771 Unity中有两种颜色空间,一是线性空间,另一个则是Gamma空…

2020-12-19 0条评论 1497点热度 0人点赞 蒋程 阅读全文
Unity渲染

UnityShader Tags标识汇总

SubShader的Queue标签 (用于决定当前模型的渲染队列,索引越小的越早被渲染) 名称 队列索引号 描述 Background 1000 这个渲染队列会在任何其它队列之前被渲染,通常用来渲染那些需要绘制在背景上的物体 Geometry 2000 默认渲染队列,不透明物体使用 AlphaTest 2450 需要透明测试的物体使用 Transparent 3000 该队列会在所有Gemetry和AlphaTest物体渲染后,再按从后往前的循序进行渲染,用于使用透明混合的物体 Overlay 4000 …

2020-12-17 0条评论 1125点热度 0人点赞 蒋程 阅读全文
Unity渲染

Unity Shader saturate与DotClamped函数

saturate函数可以将最终的结果限制在0到1之间 计算光照时,根据兰伯特余弦定定律,我们需要忽略从负方向过来的光,所以我们可以通过max函数限制小于0的值都为0,如 max(0, dot(world_normal, world_light_dir)) 但是看了很多unity的shader都是用的saturate函数而不是max函数,而且我也没有从结果上看出任何区别,好奇就特意查了一番,直到我看到catlikecoding的教程 也就是从理论来说余弦值永远不会超过1,但是由于不同平台计算浮点精度的问题,可能会导致…

2020-12-17 0条评论 4174点热度 1人点赞 蒋程 阅读全文
Unity渲染

非等比缩放模型法线转换UnityObjectToWorldNormal详解

在光照运算中,我们需要将模型的顶点法线转换到世界空间坐标,通常Unity给我们提供了unity_ObjectToWorld矩阵方便我们进行转换,但是这种转换仅适用于等比缩放的模型,如果是非等比缩放的模型转换后顶点法线与切线不再垂直,原因如下: 上图中x轴缩短为原来的1/2,法线\(\vec{n}\)与切线\(\vec{t}\):(p3-p2),不再垂直 对于切线它始终由p3-p2来表示,所以p2怎么变,都不会影响到切线,这里为了简化推导我们设unity_ObjectToWorld为M,\(\vec{n}\)转世界空…

2020-12-17 0条评论 5315点热度 1人点赞 蒋程 阅读全文
1…56789
分类
  • Unity渲染 / 26篇
  • Unity项目开发 / 44篇
  • 工具 / 20篇
  • 数学 / 2篇
  • 算法 / 1篇
  • 网站搭建 / 4篇
  • 网络&操作系统 / 5篇
最新 热点 随机
最新 热点 随机
将点从A方向旋转到B方向(解决两方向平行相反的问题) Unity Animator.Rebind() 接口会导致TPose 使用反向深度拷贝赋值unity对象 在Unity中通过反射获取SerializedProperty的值 Unity Hierarchy与Scene窗口的操作限制 常用Gizmos图形封装
使用反向深度拷贝赋值unity对象Unity Animator.Rebind() 接口会导致TPose将点从A方向旋转到B方向(解决两方向平行相反的问题)
C#所有编码格式 Unity 内置 Icon 读取 解决Microsoft Office无法卸载的问题 wordpress显示数学公式 为Unity扩展基本几何体-圆锥 Unity Hierarchy与Scene窗口的操作限制

COPYRIGHT © 2023 白泽图. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

登录
注册|忘记密码?