- 博客(125)
- 收藏
- 关注
原创 UE Learning Record
把引擎默认的衍生数据缓存(DerivedDataCache)目录,从系统层面的全局路径,改成项目本身目录下的缓存,从而保证每个项目拥有独立的缓存文件,避免不同项目之间互相干扰,也方便打包和团队协作时保持一致。换句话说:VSCode“运行 Python”只是利用它自带的“终端+命令行自动补全”+“Python 插件”去调用你本地安装的 Python 解释器,真正执行 Python 代码的还是那个独立的。DCC的范围包括二维/三维动画、音频/视频编辑合成、DVD创作、动态/互动内容创作、图像编辑等。
2025-06-05 22:42:48
883
原创 JSP、HTML和Tomcat
乘法表的实现分清楚哪些是可以自定义名字的,哪些是规定的语法这里进行循环lalala是自己定义的名字但head里的style里的设置也因此要修改符合了🚫 否则每个<span>到边界时会自动换行,排版会乱<span>1×1=19×9=81。
2025-06-02 16:07:35
1177
原创 DDC Learning Record(2)
UV Texture / UV Flatten / UV Unwrap 是:把“每一块面”变得合理;而 UV Layout 是:把“所有面”整体布局到图像资源空间内。“既然各个软件排布规则不同,UV图模板也可能不同,那行业共同的 UV 标准是否就能解决这个不一致?
2025-06-02 15:50:53
641
原创 Houdini Learning Record
模型文件本身(如 .abc, .fbx, .obj)是一个底层的数据容器,用于描述一个 3D 对象在某一格式下的“原始结构”;各个 3D 软件(如 Houdini、Blender、Maya)在导入后,会解析并转化为各自内部的模型数据结构,进行操作;如果修改后再次导出,会被“重新打包回原格式的结构规则中”。农场“最终交付”的其实就是一个完整的帧序列(图片)你可以:放入 After Effects 做合成放入 Premiere 做剪辑用 ffmpeg 转码成 .mp4把 .hip 丢进农
2025-05-28 21:04:29
847
原创 自由学习记录(62)
用这个pass的时候尽量 记住这个名字,不要别的shader里又重新拿一遍浪费性能是 Unity 中用于处理屏幕空间纹理采样(如 GrabPass)时的标准写法。它的作用是将当前顶点的位置转换为用于从屏幕图像中采样的 UV 坐标,并**自动补偿透视除法(Perspective Divide)**的问题。
2025-05-26 12:23:24
319
原创 自由学习记录(61)
Unity 在进行光照贴图、全局光照(GI)烘焙、环境探针、反射探针计算时,不使用 ForwardBase / Deferred。它会在烘焙阶段,单独执行所有 Shader 中标记了的 Pass。Unity 把每个材质的 Meta Pass 渲染到一张特殊纹理上,用来分析:AlbedoEmissionTransparency(部分 GI 系统也采样 alpha)Shader Model 是由 GPU 驱动程序定义的一套功能等级规范,决定了:可使用的纹理数量指令数量上限。
2025-05-18 08:29:12
713
原创 自由学习记录(60)
✅ 可以写任何字符串,比如RenderType⚠️ 但 Unity 内部功能(比如图像效果或脚本中通过查找)只识别内建字符串。如果你用 URP/HDRP,Shader Stripping 和 SRP Batching 也可能依赖内建值。multi_compile shader keyword 集合这些不是你自己声明的自定义 keywords,而是Unity 自己预定义的一些 keyword 集合宏,本质是一个宏展开它会在编译时展开为多个的 keyword 组合。
2025-05-14 15:06:55
788
原创 自由学习记录(59)
VBO 是显卡上的一块连续显存,用来存储每个顶点所需的数据,包括位置、法线、UV、颜色等等。它相当于一张“表格”,每一行是一个顶点,每一列是一个属性字段。不,你在appdata中写的字段顺序不会影响 VBO 的数据排列。Unity 引擎内部的约定布局,而不是你 Shader 中结构体的顺序。Shader 中的语义标签(如POSITIONNORMALTEXCOORD0才是匹配关键,它告诉 GPU:“我这个字段要绑定哪个通道/位置的数据”。
2025-05-09 12:14:02
1061
原创 自由学习记录(58)
Unity 使用的是3阶球谐(l=0~2)共9项,这是图形学中环境光最常用的精度:l = 0:常量项(1项)l = 1:线性项(3项)l = 2:二次项(5项)这就是“SH9”的来源。unity_SHArunity_SHAgunity_SHAbunity_SHBrunity_SHC这类球谐光照系数(Spherical Harmonics Coefficients)不是固定的常量Unity 自动在以下情况下定义这个宏:非主光源(non-main lights)
2025-05-05 00:00:16
850
原创 English Cast(2)
在我们常用的核心词汇中,大概有 6%~15% 的词存在“拼写与发音脱节”现象,这个比例足以影响听说能力构建。🧠 但重要的是:虽然总量可能只有 10% 左右,但它们的使用频率和语境暴露极高,比如:listen, doubt, honest, know, hour(silent letter)chaos, yacht, genre, choir, colonel(拼写变异)comfortable, vegetable, chocolate(缩音)这些词你不可能避开,所以必须要“优先掌握”
2025-05-03 22:54:59
1638
原创 Python的简单练习
Python 不会主动去判断变量类型,也不要求变量的结构一定一致只是遍历 triangle 这个变量。只要这个变量“像个列表”,能被遍历就行len(triangle) 是获取 triangle 的行数for i, row in enumerate(triangle):一边遍历列表,一边记录当前的“行号” i 和当前的“行内容” rowprint(" " * (n - i), end="")让数字靠近中轴线def func():print("hello")这个会报错,因为没有缩进。
2025-05-03 16:04:38
943
原创 自由学习记录(57)
蓝噪声是一种在频域中低频成分较少、高频成分较多的噪声类型。与白噪声相比,蓝噪声在视觉上更为均匀,适合用于图像处理中的抖动(dithering)和采样,能够减少明显的图案和伪影。时空蓝噪声是在传统蓝噪声的基础上,增加了时间维度(即帧序列)的考虑,使得噪声在空间和时间上都具有蓝噪声的特性。这意味着:空间蓝噪声:在每一帧中,噪声在图像的二维平面上均匀分布。时间蓝噪声:在连续的帧之间,噪声在时间轴上也均匀分布,避免了闪烁和不稳定的视觉效果。。
2025-04-24 12:51:01
501
原创 Spring Boot + MyBatis-Plus 的现代开发模式
✅ REST 风格接口设计✅ SpringBoot + MyBatisPlus 的现代开发方式✅ 使用分层架构(Controller + ServiceImpl + Mapper + Entity)所以你这叫遵循 REST 风格的分层 Web API 实现,并且是目前企业开发里非常标准的一种写法。先暂时用游览器的url直接访问postman暂时还是不方便records数组中是空对象{},说明实体类字段没被序列化。接口逻辑是对的,返回结构也有total等字段,说明查询成功。但records。
2025-04-24 12:49:57
1866
2
原创 自由学习记录(56)
它们的本质是取决于你采用的是**“列向量”还是“行向量”表示法”**。一旦你选定了其中一种方式 —— 所有矩阵乘法的方向、变换链的顺序、转置等操作都有一致的逻辑。
2025-04-19 17:28:19
666
原创 English Cast
Finally, to make a decision presupposes the willingness and capacity to assume responsibility for it. This would include the risk of making a wrong decision and the willingness to bear the consequences without blaming others for them.
2025-04-16 13:25:08
942
原创 自由学习记录(55)
使用作用来源_Diffuse表面材质颜色是你通过Properties定义或材质球中设置v.normalv.vertex顶点法线 / 顶点坐标Unity 自动传入每个 Mesh 顶点o.colori.color插值中间值你自己在 v2f 中定义并赋值传递✅ 是 Unity 提供的全局环境光(你在 Lighting 面板设置的环境颜色)📌 它代表了四面八方、非方向性的背景亮度❌ 不依赖光源方向、不依赖法线、不产生阴影加。
2025-04-16 13:20:31
808
原创 自由学习记录(54)
near and far planes are proportional We start with the fully parameterized form:The original matrix that contains all the variables Each element in the matrix comes from:field of view (FOV)aspect rationear/far planesfrustum bounds: left/right/top/bottomRo
2025-04-13 14:08:44
925
原创 自由学习记录(53)
x:摄像机右方y:摄像机上方z:摄像机正前方(OpenGL 为 -z)这个坐标系是从世界空间通过 View 矩阵变换得来的。View Matrix 把所有物体从世界中“拉到”摄像机面前,让摄像机居中静止。Clip Space(裁剪空间)原点位置:还是 (0, 0, 0),但现在的单位是经过投影矩阵“压缩”之后的空间。
2025-04-10 13:21:02
800
原创 英语再认识(6)
→ 这个组合不自然,英文里很少说 "the whole itself"→ 多了一个,应该是: →(表示“直接进入”)✅→ 所以应去掉那个 "to"
2025-04-05 11:39:08
960
原创 自由学习记录(51)
o.uvor就像水波透过玻璃看到的背景一样:你动的不是模型,也不是贴图,而是“采样的位置”。uses-0.5or1.2using aVFMat) simply在顶点阶段设置了光照颜色,但片元阶段好像没有直接使用,那它有没有被真正用上?
2025-03-31 20:42:15
955
原创 自由学习记录(50)
值(Ref)用途示例说明0默认值没有被标记过的像素1写入第一个遮罩区域比如一个“洞”区域、UI Mask、特殊区域等2第二类遮罩比如第二种特效控制3~15你可以根据项目需要继续拓展比如层级控制、组别标记等255有些人用于“全屏屏蔽”或“最高优先”一般不推荐随便用满值,留作特殊用途🔸 (1)最多 8 位,不能写超过 255 的值→ 超出将会被截断(如写入 300 实际等于 44)🔸 (2)每个像素 stencil 值只能有一个→ 如果你有多个功能依赖 stencil 值,请合理规划值的使用。
2025-03-31 09:17:41
1030
原创 Java + MyBatis + 泛型 DAO
1、创建表user_info实体类2、创建表user_login_log实体类3、创建表user_receive_address实体类4、创建通用DAO接口IBaseMapper5、创建表user_info的DAO接口6、创建表user_login_log的DAO接口7、创建表user_receive_address的DAO接口8、创建表user_info的接口实现Mapper文件9、创建表user_login_log的接口实现Mapper文件。
2025-03-30 11:07:28
945
原创 日语Learn,英语再认识(5)
“Reverse” exists because direction matters—not just in space, but in action, in logic, in time.It’s a word that captures movement against an expected or natural flow.You go forward → You reverse to go back.
2025-03-30 11:06:13
1032
原创 自由学习记录(49)
当你使用 Forward 渲染路径 时:即使已经超过了 中的 Pixel Light Count 限制它依然会参与 ForwardAdd Pass 进行逐像素光照计算路径:这个参数定义了:超过这个数量,剩下的光源会降级为逐顶点光照(效率高但不真实)Unity 会根据光源和摄像机的距离来排序选中最重要的光源对的 ✅Unity 支持的光源类型有:Directional、Point、Spot、Area(仅烘焙)但它们是不是以逐像素方式参与渲染,不是由光源类型决定,而是由:✅ ✅ ✅ 这三者共同决定:👉 这
2025-03-27 18:20:58
951
原创 日语Learn,英语再认识(4)
学语言不只看到和❌“句子结构自然、逻辑通顺、节奏完美”的表达,其实是:🔹 一类人群:高认知 + 有表达训练背景(比如教育者、内容创作者、科研人)并不是普通母语者的日常说话方式,更多是:这类人知道怎么把“内部逻辑”外化成语言这是人类共通的特点,不是某个语言决定的。YouTube 评论和街头视频,其实。我们学语言时看到的往往是:教材中的例句(被润色过)内容创作者的视频(经过组织 + 精剪 + 字幕优化)高质量的演讲、纪录片、课程这些内容是“表达上的高配样本”,不是普通人的日常语言状态。
2025-03-25 12:56:33
794
原创 自由学习记录(48)
_WorldSpaceLightPos0 为什么能在 Shader 里直接用?不是“另一个 Shader 文件里写了它”,而是 Unity 在每次渲染物体时自动传给 GPU 的内置变量,属于 全局 uniform(uniform buffer)的一部分。所以它“不是你写在哪个 Shader 文件里就能用的变量”,而是:Unity 的内置渲染系统(在 C++ 层)定义了这个名字,并负责 在渲染每个物体前自动设置这个值所以你在任意 Shader 中写:uniform float4 _WorldSpac
2025-03-24 18:33:09
732
原创 自由学习记录(47)
而材质(Material)是这个 Shader 的一个“实例 + 参数组合”。保存一个 Shader Graph 时(比如。每个像素点都会拥有一个自己的法线向量,这个向量会用来计算光照,最终影响这个像素的最终颜色,并写入帧缓冲。更精确一点的过程是这样的:🌱 1. 模型 → 顶点 → 像素(插值过来的)模型的顶点有位置、法线、UV 等属性GPU 经过顶点着色器 → 光栅化阶段 → 插值得到每个像素的这些属性(比如切线空间下的法线)👉 如果没有法线贴图,那就直接用插值过来的 法线方向。
2025-03-23 09:59:11
1164
原创 自由学习记录(46)
排序 Sort渲染队列 RenderQueue不透明队列(RenderQueue <2500)按摄像机距离从前到后排序半透明队列(RenderQueue >2500)按摄像机距离从后到前排序假设你有一张纹理图是一个草地:🖼️ 图片:一个草地图案📦 模型:一个地面平面如果 UV 坐标为(0, 0),表示这个点使用的是图像的左下角像素的颜色。如果 UV 坐标为(0.5, 0.5),表示这个点使用的是图像中心的像素颜色。如果 UV 坐标超出了[0,1],Unity 通常会进行。
2025-03-22 13:33:27
974
原创 自由学习记录(45)
1.需要在Pass渲染通道中编写着色器逻辑2.可以使用cG或HLSL两种shader语言去编写Shader逻辑3.代码量较多,灵活性较强,性能消耗更可控,可以实现更多渲染细节4.适用于光照处理较少,自定义染效果较多时(移动平台首选)是Unity对顶点/片元着色器的封装可以用更少的代码实现复杂的逻辑但是性能和可控性较差它的特点是1.直接在subshader语句块中书写着色器逻辑2.我们不需要关心也不需要使用多个Pass,每个Pass如何染,Unity会在内部帮助我们去处理。
2025-03-21 18:41:09
1197
原创 自由学习记录(44)
模型矩阵(Model Matrix):将局部坐标(模型空间)变换到世界坐标。视图矩阵(View Matrix):将世界坐标变换到相机(观察)坐标。投影矩阵(Projection Matrix):将观察坐标变换到裁剪空间(标准化设备坐标 NDC)。视口变换(Viewport Transform):将裁剪空间变换到屏幕坐标。如果目标是游戏 TA(Technical Artist),一般不会涉及GPU 电路级别的东西,而是会关注:如何优化这些矩阵变换(减少计算开销)如何高效使用着色器(减少 Draw
2025-03-20 19:35:58
1007
原创 日语Learn,英语再认识(3)
从“看到单词后脑补拼写”→ 直接在脑中回忆发音,从“视觉词”变成“语音词”根本不用管过去现在将来时,,因为平时讲话根本用不上这些就足够传递准确信息了,,最大的问题还是开口说,不好意思说这么“小孩子”的话,在和别人这样英文交流会觉得羞耻,无论是不是在考核中一开始:Yesterday go park(先输出)听别人说:I went to the park yesterday.你意识到:“哦,原来过去式要变形。”之后你可能会自然地改成:Yesterday, I went to the p
2025-03-17 08:11:51
911
原创 Unity--GPT-SoVITS接入、处理GPTAPI的SSE响应流
GPT-SoVITS- v2(v3也可以,两者对模型文件具有兼容)点击后 会进入新的游览器网页-----看了一圈,发现主要问题集中在模型的训练很需要CPU,也就是模型的制作上,问题很多,如果有现有的模型,直接引用,使用“推理”即可就比如用这个up主练出来的模型自己要做的其实就很少了导入之后重启webui.bat再开启TTS推理WebUI,就进入了UI界面,自己点击交互设置,然后产出结果可以直接用。
2025-03-16 19:56:52
1183
4
原创 自由学习记录(43)
public Task<int> GetNumber() { return Task.FromResult(42); } 直接返回 Taskpublic async Task<int> GetNumberAsync() { await Task.Delay(1000); return 42; } 需要 await public async Task<int> GetNumber() { return Task.FromResult(42); } async 没发挥作
2025-03-12 11:55:47
1206
原创 Unity--Cubism Live2D模型使用
模型导入到LIVE2D场景之后,会出现这样的问题,因为Editor里的图层顺序安排,在unity里并不适用,要在RenderController里设置后-前 Order,这样部件的排序(大概率是SDK做的Order)就可以改掉unity的展示问题。梳理一下自己的需求,视线追踪要实现,自由切换表情,,,(这个可能还要结合一下语音内容什么的,已经有动作了,表情要怎么处理,,,这个还得考虑)但加上也是可以的,只不过和Clip的动画会有一些出入,比如覆盖clip里规定 的各个参数变化,眼睛一直保持某个状态不变等。
2025-03-08 20:39:29
1676
1
原创 自由学习记录(42)
可能会出现到后面没有教程,走不动,,但还是尝试吧过程远比想象的要多那连Live2d的这些脚本怎么控制的都要了解一下全部导入之后在这下载SDK:模型的配置文件。.moc3:模型的骨骼文件。.texture:模型的纹理文件(通常是.png:物理配置文件(可选)。:动画文件(可选)。确保你下载的 Live2D 模型文件包含以上内容。:Live2D 的核心库,用于解析和渲染 Live2D 模型。:用于在不同平台上集成 Live2D 模型的框架。
2025-03-06 19:02:29
965
原创 自由学习记录(41)
代理服务器的核心功能是在客户端(用户设备)和目标服务器(网站/资源服务器)之间充当“中介”,具体过程如下:当客户端希望访问某个网站(比如 )时:客户端向代理服务器发送请求代理服务器接收请求并解析代理服务器处理请求代理服务器向目标服务器发送请求目标服务器返回响应代理服务器处理响应代理服务器把响应转发给客户端-----------------unity的Toolbox插件上方的输入栏可以输入提示词,输入好之后,点击下方的Generate会根据这段话自动生成脚本。也可以按快捷键Ctrl+Enter或者Cmd+R
2025-03-05 20:38:53
956
原创 日语Learn、英语再认识(2)
ulterior在英语中,许多单词中,,这是因为英语有(称为 "vowel reduction",元音弱化)。。这些单词的 "-ior" 结构,使得 "e" 变为 /ɪ/,形成了一种固定的发音模式。在英语中,"e" 读作 /iː/ 并不是个例,主要是因为。。在 "meteor" 这个单词中,首音节是一个开音节(元音+无尾辅音),符合这种模式,所以 "e" 读 /iː/。这个单词中,读作,即 /baɪˈsɛkt/,而不是 /bɪˈsɛkt/这些单词都遵循同样的模式,,表示“二”或“双”。有趣的是,
2025-03-02 10:54:26
813
原创 自由学习记录(40)
virtual的重写能力,,这在剥离Player方法和成员变量的时候,起的作用很灵活,敌人默认可以继承这些规则,但只是默认,自己要修改的话和原来不会产生半点联系,这个确实厉害dead zone是红区,soft是蓝区damping是控制相机跟随速度也是,它的作用和普通的类似,但专门用于,并且提供了的功能。就像普通的会被控制一样,,如果它的,或者你切换到了它,它就会成为。如果你的游戏是,那么 FreeLook 是一个很重要的组件。如果你的相机只是。
2025-03-01 20:12:08
1288
1
原创 日语Learn、英语的再认识
背单词这件事感觉到了某个瓶颈了,没有什么新的区域可以发现,变成了一种类似纯粹的机械记忆,感觉英语的规范程度很低,很多词明明可以通过相近的形式变换,达到更好的学习效果,但却做的很麻烦,同一种变换在不同的词里甚至都不是同一个意思所以不禁思考,为什么会出现这种情况呢?这片博主讲了一些英语的发展史还搜到 了一些别的词缀相关的文章,但并没有让我有耳目一新的感觉“级阶成分分析法”是层次语法理论与系统功能语法理论中的一种核心方法,用于分析句子结构。这些层次分别从大的语法单位到最小的单位,形成了自上而下的结构。
2025-02-27 00:13:41
936
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人