主页
分类
标签
归档
主页
分类
标签
归档
Unity Nova UI
Unity Nova UI 今天发现了一个特别好的Unity Game UI框架:Nova,挖个坑,打算学习一下
2024-04-16
engine
engine
阅读全文
插值
插值 线性插值 $$ \mathrm{lerp}(p_0,p_1;t)=(1-t)p_0+tp_1 $$ Smoothstep Hermite 将一个数平滑映射到[0, 1] float v = smoothstep(0.0, 1.0, time);// 等同于 time * time * (3 - 2 * time) 球面插值 Slerp 在球面上线性插值 $$ \mathrm...
2024-04-07
math
math
阅读全文
Marching Cubes
Marching Cubes Marching可以理解为一种循环 步进正方形(Marching Cubes)是一种非常常用的构建三角形网格的算法,在三维空间中均匀摆放正方形,循环遍历这些正方形,插值出三角形表面 Marching Cubes每个顶点有两个参数,顶点位置和权重(SDF) Unity显示三角形网格 注意!Unity拼装Mesh时,要先设置vertices,再设置tria...
2024-04-01
graphics
graphics
阅读全文
KL散度
KL散度 在AI领域,我们经常需要衡量两个概率分布的相似度 KL散度 KL散度(Kullback-Leibler Divergence),也称为相对熵(Relative Entropy),用于衡量一个分布相对于另一个分布的相似性 假设现在有两个离散概率分布$P$和$Q$,他们的KL散度计算公式为: $$ D_{KL}(P||Q)=\sum_{i}P(i)\log \left(\frac{P(...
2024-03-31
math
math
阅读全文
PyTorch学习记录
PyTorch学习记录 PyTorch是一个Python机器学习框架 张量 Tensors Tensors很像矩阵、向量,在PyTorch中使用Tensors编码输入和输出 构造 import torchimport numpy as np# 直接构造data = [[1, 2],[3, 4]]x_data = torch.tensor(data)# 使用numpy array转换np_...
2024-03-30
ai
ai
阅读全文
三维模型的表示方法
三维模型的表示方法 常见的模型表示法有:多边形网格、点云、体素、参数模型、隐式表面 表示方式 Polygon mesh 一般特指三角形网格 三角形网格由两部分组成: 一个个离散的顶点 顶点间的拓扑关系 图形渲染中最常见的方法是光栅化和光追,都适用于三角形 方便进行深度测试、UV映射 方便进行模型细分和简化、布尔建模 美术行业长期使用该格式,存在很强的惯性 三角面与四角面 三角面 三...
2024-03-29
graphics
graphics
阅读全文
贴图UV
贴图UV 一个多边形Mesh中有Index Buffer和Vertex Buffer,其中Vertex Buffer上存储着顶点信息,包括顶点坐标、UV、法线、切线 最开始,我们只有顶点坐标,三角形的边向量叉积可以得到面法线,将面法线求和可以得到顶点法线,切线和次切线的方向就是沿着UV方向,那么问题来了,UV是怎么生成的? UV的用用途 UV是贴图的颜色的索引,可以用来采样贴图,是一种高效的...
2024-03-29
graphics
graphics
阅读全文
Unity保存RenderTarget
Unity保存RenderTarget 使用Unity产出一些美术资产时,经常需要保存某个RenderTarget,最近发现用ReadPixels进行保存时,精度很差,只有8 bits,最后成功搞定了保存32 bits RenderTarget的方法,在此记录一下 屏幕截图 如果想要保存当前屏幕的渲染结果,可以直接调用 ScreenCapture.CaptureScreenshot(pngP...
2024-03-29
engine
engine
阅读全文
C#读表格
C#读表格 这里使用Open XML SDK读xml和xlsx表格 读XLSX 打开一个xlsx static bool readResourceXlsxTable(string xlsx_path, string prefix_path, Dictionary<string, string> id_to_texture_path){ using (Sprea...
2024-03-28
program
program
阅读全文
Perforce入门
Perforce入门 Perforce又称P4、P4V 为什么要用P4 游戏开发一定需要一个版本管理工具,除了保留编辑记录外,还可以保护资产,遇到一些严重崩溃可以回退,不然会出现引擎打不开了,蓝图数据全丢了,一天白干的情况 为什么不使用Git呢?因为Git对二进制支持很差,即使使用LFS,对于动辄几十G的项目也无能为力 而且P4与Git不同,Git是在状态间切换,一旦切分支、拉新,就要将...
2024-03-21
program
program
阅读全文
上一页
4 / 12
下一页