随笔分类 -  Unity3D

摘要:《异教徒 Heretic》是Unity在2019年GDC大会上展示的技术Demo,部分资源于2020年中旬公开下载。 通常传统基于表情基或骨骼驱动的面部动画方案,虽然能够提供较为流畅的表现,但在精度和真实感上往往存在差距。 为了追求更高的真实还原度,《异教徒》Demo采用了4D捕捉技术,这项技术通过 阅读全文
posted @ 2025-01-06 00:07 HONT 阅读(208) 评论(0) 推荐(1)
摘要:用指针传入Jobs操作对于外部类型为传统数据类型的集合来说效率是比较高的,以下是示例代码: using System; using System.Runtime.InteropServices; using Unity.Jobs; using Unity.Burst; using Unity.Col 阅读全文
posted @ 2025-01-02 22:59 HONT 阅读(47) 评论(0) 推荐(0)
摘要:1.重心坐标 三角形重心坐标(Barycentric Coordinates)可以通过alpha、beta、gamma三个权重总和为1的插值系数得到 三角形内任意一点,可以用此求出某点的重心坐标系数,或是给出系数得到一点: public class Test : MonoBehaviour { pu 阅读全文
posted @ 2024-12-10 10:17 HONT 阅读(47) 评论(0) 推荐(0)
摘要:首先看一下点击Bake按钮后的执行流程: 1.AmplifyImpostorInspector部分 首先点击按钮设置了bakeTexture = true if( GUILayout.Button( TextureIcon, "buttonright", GUILayout.Height( 24 ) 阅读全文
posted @ 2024-11-28 10:43 HONT 阅读(157) 评论(2) 推荐(1)
摘要:1.前言 Unity FpsSample Demo大约是2018发布,用于官方演示新的网络传输层(UnityTransport)+DOTS的一个FPS多人对战Demo。 Demo下载地址(需要安装Git LFS) :https://github.com/Unity-Technologies/FPSS 阅读全文
posted @ 2024-08-16 17:55 HONT 阅读(476) 评论(0) 推荐(1)
摘要:1.前言 Megacity Demo发布于2018左右,该Demo相较于之前的Book of the Dead, 体量相对较小,主要演示DOTS相关内容。 近期刚好空闲,故这几天把坑填上。 该Demo已上传百度网盘: 链接:https://pan.baidu.com/s/1X1gh6hQSRuB0K 阅读全文
posted @ 2024-08-02 11:54 HONT 阅读(298) 评论(0) 推荐(0)
摘要:现如今Unity中的协程(Coroutine)机制已略显陈旧,随着Unitask、ETTask等异步方案的崭露头角,诸如协程异常等问题也迎刃而解 并且Unity官方也在开发一套异步方案,但对于仍使用协程的项目,依旧需要在这个方案上继续琢磨。 众所周知Unity协程中无法输出完整的栈跟踪,因为协程编译 阅读全文
posted @ 2024-05-12 14:46 HONT 阅读(474) 评论(0) 推荐(1)
摘要:最近用回URP,发现RendererFeature这部分改动很大,启用了之前HDRP的RTHandle,RTHandle的设计类似于优化版本的RenderTexture, 可以统一控制缩放或者并非一对一的RT内存申请。 并且Blit的方式变成了先SetTarget后做一次绘制,也是和HDRP对齐。 阅读全文
posted @ 2024-02-03 23:22 HONT 阅读(603) 评论(0) 推荐(0)
摘要:图像色带(Band)问题一般出现在带有渐变的图像上,在影视上可以换成16bit的色深以解决, 而实时渲染领域通常对图像做色彩抖动处理来解决。但抖动这块一直没有找到很好的插件,PS也一直没有 相关教程。本文就自己动手丰衣足食;编写一个小工具来实现图像抖动,配合蓝噪声效果更佳。 2024/09/10补充 阅读全文
posted @ 2023-01-18 11:00 HONT 阅读(267) 评论(0) 推荐(0)
摘要:当需要生成随机点且要求随机点自然均匀的分布时,使用泊松盘采样就较为适合。 但该方法与统计学上的概念关联不大,这个只相当于点在面积上服从泊松分布, 而实现这个结果有很多做法。 最终效果: 圆形为含半径的点,圆形的中心代表生成点 B站有一个不错的搬运教程(Bridson方法): https://www. 阅读全文
posted @ 2022-06-25 20:31 HONT 阅读(2874) 评论(0) 推荐(0)
摘要:正常uGUI使用正交相机的话,旋转是没有透视效果的,但如果能实现较简单的透视, 对一些效果表现来说还是不错的;见下图(左为透视效果): 正常思路感觉各种麻烦。 因为uGUI使用unity的x和y方向表示宽高,z方向自然就是纵深,我们可以直接拿z值作为系数进行缩放处理, 达到伪透视的效果(美中不足,细 阅读全文
posted @ 2022-03-06 16:33 HONT 阅读(1234) 评论(0) 推荐(0)
摘要:游戏需要增加几种启动模式,要在编辑器顶部Toolbar处增加几个按钮;进行下扩展。 这部分Unity没有直接提供接口,需通过反射实现。看了下有一个开源库: https://github.com/marijnz/unity-toolbar-extender (2022/12/25补充一个完成度更高的开 阅读全文
posted @ 2022-03-05 14:58 HONT 阅读(2146) 评论(0) 推荐(1)
摘要:1.前言 一转眼离Book of the Dead Environment Demo开放下载已过去多年,当时因为技术力有限,以及对HDRP理解尚浅, 所以这篇文章一直搁浅到了现在;如今也对HDRP有了一些理解,因此回顾一下该Demo。 Book of the Dead——死者之书,是Unity201 阅读全文
posted @ 2022-01-19 20:43 HONT 阅读(1062) 评论(0) 推荐(0)
摘要:最近在看neuecc大佬写的一些库:https://neuecc.medium.com/,其中对await,async以及Linq查询关键字做了一些神奇的扩展, 使其可以拿来做些自定义操作,并且不需要引用System.Linq之类的对应命名空间。 关于这些功能的实现,对此进行了学习并在Unity3D 阅读全文
posted @ 2021-12-09 12:42 HONT 阅读(831) 评论(0) 推荐(2)
摘要:1.ref的一些运用 1.1 ref readonly 关于ref,一个主要应用是防止结构体拷贝,若返回的结构体不需要修改则用ref readonly,类似c++的const标记 : private ref readonly Attr PlayerSetting(Player player) { r 阅读全文
posted @ 2021-10-19 21:28 HONT 阅读(442) 评论(0) 推荐(0)
摘要:Gamma和Linear修正的问题相信网上已经有很多文章了。简单来说显示器的颜色输出不是线性的,根据硬件参数和输出颜色 信息拟合曲线是x^2.2,因此会使用一个x^0.45曲线将其拟合回线性。 因为0.5^0.45 = 0.73,0.5^2.2 = 0.217,我们可以通过一张0.5rgb的灰度图放 阅读全文
posted @ 2021-09-24 10:26 HONT 阅读(1495) 评论(1) 推荐(0)
摘要:参考文章:https://www.cnblogs.com/zhiyishou/p/4430017.html 本文使用逐点插入法进行剖分,并使用Unity3D实现。 通过阅读文章《Triangulate》给出的伪代码进行具体编写,我加了些注释: subroutine triangulate input 阅读全文
posted @ 2021-09-18 20:52 HONT 阅读(1231) 评论(0) 推荐(0)
摘要:BentNormal可解决间接环境高光漏光及间接漫反射光照漏光的问题。这里的漏光是指间接光照部分没有考虑到模型自身的遮挡关系导致的漏光。 可通过SD之类的软件烘焙BentNormal贴图,软件会根据余弦角向外计算各个角度可见性,最终求平均得到一个向量,会在之后的计算里带入这个向量求权重。 另外Ben 阅读全文
posted @ 2021-09-02 21:58 HONT 阅读(1338) 评论(0) 推荐(0)
摘要:在新版本的Unity中提供了MeshDataArray和MeshData等多个API,使Mesh数据操作支持多线程;以更好的支持DOTS。 API文档:https://docs.unity3d.com/es/2020.2/ScriptReference/Mesh.MeshData.html 1.IJ 阅读全文
posted @ 2021-08-06 20:43 HONT 阅读(2106) 评论(0) 推荐(0)
摘要:在日常开发中会有需求合并多个Mesh网格,并且它们重合处的顶点也要合并,而并非合并成两个subMesh。 而近期刚好在学习Geomipmap的细分,需要把多个mesh块进行合并,于是写了这个脚本 (简单的情况下用Mesh.CombineMeshes也可以)。 见下图,多对象合并前后对比: 使用时传入 阅读全文
posted @ 2021-03-28 09:02 HONT 阅读(513) 评论(0) 推荐(0)