自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(118)
  • 收藏
  • 关注

原创 自由学习记录(59)

VBO 是显卡上的一块连续显存,用来存储每个顶点所需的数据,包括位置、法线、UV、颜色等等。它相当于一张“表格”,每一行是一个顶点,每一列是一个属性字段。不,你在appdata中写的字段顺序不会影响 VBO 的数据排列。Unity 引擎内部的约定布局,而不是你 Shader 中结构体的顺序。Shader 中的语义标签(如POSITIONNORMALTEXCOORD0才是匹配关键,它告诉 GPU:“我这个字段要绑定哪个通道/位置的数据”。

2025-05-09 12:14:02 1012

原创 自由学习记录(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 826

原创 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 1608

原创 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 926

原创 自由学习记录(57)

蓝噪声是一种在频域中低频成分较少、高频成分较多的噪声类型。​与白噪声相比,蓝噪声在视觉上更为均匀,适合用于图像处理中的抖动(dithering)和采样,能够减少明显的图案和伪影。时空蓝噪声是在传统蓝噪声的基础上,增加了时间维度(即帧序列)的考虑,使得噪声在空间和时间上都具有蓝噪声的特性。​这意味着:​空间蓝噪声:​在每一帧中,噪声在图像的二维平面上均匀分布。时间蓝噪声:​在连续的帧之间,噪声在时间轴上也均匀分布,避免了闪烁和不稳定的视觉效果。​。

2025-04-24 12:51:01 462

原创 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 1697 1

原创 自由学习记录(56)

它们的本质是取决于你采用的是**“列向量”还是“行向量”表示法”**。一旦你选定了其中一种方式 —— 所有矩阵乘法的方向、变换链的顺序、转置等操作都有一致的逻辑。

2025-04-19 17:28:19 651

原创 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 924

原创 自由学习记录(55)

使用作用来源_Diffuse表面材质颜色是你通过Properties定义或材质球中设置v.normalv.vertex顶点法线 / 顶点坐标Unity 自动传入每个 Mesh 顶点o.colori.color插值中间值你自己在 v2f 中定义并赋值传递✅ 是 Unity 提供的全局环境光(你在 Lighting 面板设置的环境颜色)📌 它代表了四面八方、非方向性的背景亮度❌ 不依赖光源方向、不依赖法线、不产生阴影加。

2025-04-16 13:20:31 789

原创 自由学习记录(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 913

原创 自由学习记录(53)

x:摄像机右方y:摄像机上方z:摄像机正前方(OpenGL 为 -z)这个坐标系是从世界空间通过 View 矩阵变换得来的。View Matrix 把所有物体从世界中“拉到”摄像机面前,让摄像机居中静止。Clip Space(裁剪空间)原点位置:还是 (0, 0, 0),但现在的单位是经过投影矩阵“压缩”之后的空间。

2025-04-10 13:21:02 775

原创 英语再认识(6)

→ 这个组合不自然,英文里很少说 "the whole itself"→ 多了一个,应该是: →(表示“直接进入”)✅→ 所以应去掉那个 "to"

2025-04-05 11:39:08 854

原创 自由学习记录(52)

把模型空间中的顶点v.vertex,用于最终屏幕上正确显示图形。它是顶点着色器(vertex shader)中。

2025-04-02 18:49:21 903

原创 自由学习记录(51)

o.uvor就像水波透过玻璃看到的背景一样:你动的不是模型,也不是贴图,而是“采样的位置”。uses-0.5or1.2using aVFMat) simply在顶点阶段设置了光照颜色,但片元阶段好像没有直接使用,那它有没有被真正用上?

2025-03-31 20:42:15 935

原创 自由学习记录(50)

值(Ref)用途示例说明0默认值没有被标记过的像素1写入第一个遮罩区域比如一个“洞”区域、UI Mask、特殊区域等2第二类遮罩比如第二种特效控制3~15你可以根据项目需要继续拓展比如层级控制、组别标记等255有些人用于“全屏屏蔽”或“最高优先”一般不推荐随便用满值,留作特殊用途🔸 (1)最多 8 位,不能写超过 255 的值→ 超出将会被截断(如写入 300 实际等于 44)🔸 (2)每个像素 stencil 值只能有一个→ 如果你有多个功能依赖 stencil 值,请合理规划值的使用。

2025-03-31 09:17:41 1012

原创 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 924

原创 日语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 1014

原创 自由学习记录(49)

当你使用 Forward 渲染路径 时:即使已经超过了 中的 Pixel Light Count 限制它依然会参与 ForwardAdd Pass 进行逐像素光照计算路径:这个参数定义了:超过这个数量,剩下的光源会降级为逐顶点光照(效率高但不真实)Unity 会根据光源和摄像机的距离来排序选中最重要的光源对的 ✅Unity 支持的光源类型有:Directional、Point、Spot、Area(仅烘焙)但它们是不是以逐像素方式参与渲染,不是由光源类型决定,而是由:✅ ✅ ✅ 这三者共同决定:👉 这

2025-03-27 18:20:58 940

原创 日语Learn,英语再认识(4)

学语言不只看到和❌“句子结构自然、逻辑通顺、节奏完美”的表达,其实是:🔹 一类人群:高认知 + 有表达训练背景(比如教育者、内容创作者、科研人)并不是普通母语者的日常说话方式,更多是:这类人知道怎么把“内部逻辑”外化成语言这是人类共通的特点,不是某个语言决定的。YouTube 评论和街头视频,其实。我们学语言时看到的往往是:教材中的例句(被润色过)内容创作者的视频(经过组织 + 精剪 + 字幕优化)高质量的演讲、纪录片、课程这些内容是“表达上的高配样本”,不是普通人的日常语言状态。

2025-03-25 12:56:33 748

原创 自由学习记录(48)

_WorldSpaceLightPos0 为什么能在 Shader 里直接用?不是“另一个 Shader 文件里写了它”,而是 Unity 在每次渲染物体时自动传给 GPU 的内置变量,属于 全局 uniform(uniform buffer)的一部分。所以它“不是你写在哪个 Shader 文件里就能用的变量”,而是:Unity 的内置渲染系统(在 C++ 层)定义了这个名字,并负责 在渲染每个物体前自动设置这个值所以你在任意 Shader 中写:uniform float4 _WorldSpac

2025-03-24 18:33:09 707

原创 自由学习记录(47)

而材质(Material)是这个 Shader 的一个“实例 + 参数组合”。保存一个 Shader Graph 时(比如。每个像素点都会拥有一个自己的法线向量,这个向量会用来计算光照,最终影响这个像素的最终颜色,并写入帧缓冲。更精确一点的过程是这样的:🌱 1. 模型 → 顶点 → 像素(插值过来的)模型的顶点有位置、法线、UV 等属性GPU 经过顶点着色器 → 光栅化阶段 → 插值得到每个像素的这些属性(比如切线空间下的法线)👉 如果没有法线贴图,那就直接用插值过来的 法线方向。

2025-03-23 09:59:11 1147

原创 自由学习记录(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 963

原创 自由学习记录(45)

1.需要在Pass渲染通道中编写着色器逻辑2.可以使用cG或HLSL两种shader语言去编写Shader逻辑3.代码量较多,灵活性较强,性能消耗更可控,可以实现更多渲染细节4.适用于光照处理较少,自定义染效果较多时(移动平台首选)是Unity对顶点/片元着色器的封装可以用更少的代码实现复杂的逻辑但是性能和可控性较差它的特点是1.直接在subshader语句块中书写着色器逻辑2.我们不需要关心也不需要使用多个Pass,每个Pass如何染,Unity会在内部帮助我们去处理。

2025-03-21 18:41:09 1181

原创 自由学习记录(44)

模型矩阵(Model Matrix):将局部坐标(模型空间)变换到世界坐标。视图矩阵(View Matrix):将世界坐标变换到相机(观察)坐标。投影矩阵(Projection Matrix):将观察坐标变换到裁剪空间(标准化设备坐标 NDC)。视口变换(Viewport Transform):将裁剪空间变换到屏幕坐标。如果目标是游戏 TA(Technical Artist),一般不会涉及GPU 电路级别的东西,而是会关注:如何优化这些矩阵变换(减少计算开销)如何高效使用着色器(减少 Draw

2025-03-20 19:35:58 992

原创 日语Learn,英语再认识(3)

从“看到单词后脑补拼写”→ 直接在脑中回忆发音,从“视觉词”变成“语音词”根本不用管过去现在将来时,,因为平时讲话根本用不上这些就足够传递准确信息了,,最大的问题还是开口说,不好意思说这么“小孩子”的话,在和别人这样英文交流会觉得羞耻,无论是不是在考核中一开始:Yesterday go park(先输出)听别人说:I went to the park yesterday.你意识到:“哦,原来过去式要变形。”之后你可能会自然地改成:Yesterday, I went to the p

2025-03-17 08:11:51 880

原创 Unity--GPT-SoVITS接入、处理GPTAPI的SSE响应流

GPT-SoVITS- v2(v3也可以,两者对模型文件具有兼容)点击后 会进入新的游览器网页-----看了一圈,发现主要问题集中在模型的训练很需要CPU,也就是模型的制作上,问题很多,如果有现有的模型,直接引用,使用“推理”即可就比如用这个up主练出来的模型自己要做的其实就很少了导入之后重启webui.bat再开启TTS推理WebUI,就进入了UI界面,自己点击交互设置,然后产出结果可以直接用。

2025-03-16 19:56:52 1026 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 1109

原创 Unity--Cubism Live2D模型使用

模型导入到LIVE2D场景之后,会出现这样的问题,因为Editor里的图层顺序安排,在unity里并不适用,要在RenderController里设置后-前 Order,这样部件的排序(大概率是SDK做的Order)就可以改掉unity的展示问题。梳理一下自己的需求,视线追踪要实现,自由切换表情,,,(这个可能还要结合一下语音内容什么的,已经有动作了,表情要怎么处理,,,这个还得考虑)但加上也是可以的,只不过和Clip的动画会有一些出入,比如覆盖clip里规定 的各个参数变化,眼睛一直保持某个状态不变等。

2025-03-08 20:39:29 1350 1

原创 自由学习记录(42)

可能会出现到后面没有教程,走不动,,但还是尝试吧过程远比想象的要多那连Live2d的这些脚本怎么控制的都要了解一下全部导入之后在这下载SDK:模型的配置文件。.moc3:模型的骨骼文件。.texture:模型的纹理文件(通常是.png:物理配置文件(可选)。:动画文件(可选)。确保你下载的 Live2D 模型文件包含以上内容。:Live2D 的核心库,用于解析和渲染 Live2D 模型。:用于在不同平台上集成 Live2D 模型的框架。

2025-03-06 19:02:29 923

原创 自由学习记录(41)

代理服务器的核心功能是在客户端(用户设备)和目标服务器(网站/资源服务器)之间充当“中介”,具体过程如下:当客户端希望访问某个网站(比如 )时:客户端向代理服务器发送请求代理服务器接收请求并解析代理服务器处理请求代理服务器向目标服务器发送请求目标服务器返回响应代理服务器处理响应代理服务器把响应转发给客户端-----------------unity的Toolbox插件上方的输入栏可以输入提示词,输入好之后,点击下方的Generate会根据这段话自动生成脚本。也可以按快捷键Ctrl+Enter或者Cmd+R

2025-03-05 20:38:53 946

原创 日语Learn、英语再认识(2)

ulterior在英语中,许多单词中,,这是因为英语有(称为 "vowel reduction",元音弱化)。。这些单词的 "-ior" 结构,使得 "e" 变为 /ɪ/,形成了一种固定的发音模式。在英语中,"e" 读作 /iː/ 并不是个例,主要是因为。。在 "meteor" 这个单词中,首音节是一个开音节(元音+无尾辅音),符合这种模式,所以 "e" 读 /iː/。这个单词中,读作,即 /baɪˈsɛkt/,而不是 /bɪˈsɛkt/这些单词都遵循同样的模式,,表示“二”或“双”。有趣的是,

2025-03-02 10:54:26 784

原创 自由学习记录(40)

virtual的重写能力,,这在剥离Player方法和成员变量的时候,起的作用很灵活,敌人默认可以继承这些规则,但只是默认,自己要修改的话和原来不会产生半点联系,这个确实厉害dead zone是红区,soft是蓝区damping是控制相机跟随速度也是,它的作用和普通的类似,但专门用于,并且提供了的功能。就像普通的会被控制一样,,如果它的,或者你切换到了它,它就会成为。如果你的游戏是,那么 FreeLook 是一个很重要的组件。如果你的相机只是。

2025-03-01 20:12:08 1267 1

原创 日语Learn、英语的再认识

背单词这件事感觉到了某个瓶颈了,没有什么新的区域可以发现,变成了一种类似纯粹的机械记忆,感觉英语的规范程度很低,很多词明明可以通过相近的形式变换,达到更好的学习效果,但却做的很麻烦,同一种变换在不同的词里甚至都不是同一个意思所以不禁思考,为什么会出现这种情况呢?这片博主讲了一些英语的发展史还搜到 了一些别的词缀相关的文章,但并没有让我有耳目一新的感觉“级阶成分分析法”是层次语法理论与系统功能语法理论中的一种核心方法,用于分析句子结构。这些层次分别从大的语法单位到最小的单位,形成了自上而下的结构。

2025-02-27 00:13:41 919

原创 自由学习记录(39)

Threshold用来指定动画的完全权重时刻(完全切换点)参数达到 Threshold值之后,,而是JumpyVelocityJumpFallyVelocityFallyVelocity:当yVelocity在接近 0.5 的时候,Blend Tree 会Fall,而Jump动画的权重会减少(但在这个像素动画里,这种融合算法,真的和看不出来一样)如果角色速度改变导致动画加速或减速,Homogeneous Speed会确保所有动画同步调整,避免不协调的情况。所有与。

2025-02-26 10:49:27 974

原创 自由学习记录(38)

默认情况下,Unity 的网格(Grid)是一单位 1m × 1m(即 1 个方格 = 1 米)。虽然 Sprite(精灵) 主要用于 2D 游戏,但 Filter Mode(过滤模式)的作用与 3D 纹理相同,仍然是控制 Sprite 在缩放时的像素显示效果一格代表一帧,到1.00的时候总共有12帧,也就是一秒内会播放下一张图片,一共切换11次,这里记录的更重点的是速度,切换的速度,自己塞了多少张图关系不大,调整前后之间的间隙,增大就是切换的次数更少了也就是手动调小帧率,但Animation里

2025-02-24 20:52:55 906

原创 自由学习记录(37)

标量类型(Scalar Types)浮点数类型doublefloat整数类型int32int64sint32sint64uint32uint64fixed32fixed64sfixed32sfixed64布尔类型bool字符串string字节串bytes数组和List字典maponeof 字段用于定义一组互斥的字段,也就是一次只会有一个字段被赋值。在 C# 里,oneof 字段的特点就是只能赋值其中的一个变量,并且访问时只能使用当前被赋值的字段,其他字段会被自动清除。假设有以下proto。

2025-02-22 21:22:08 793

原创 自由学习记录(36)

假设我们有如下的解释:syntax:指定使用 proto3 语法版本。:指定生成的 C# 代码所属的命名空间。:定义了一个消息类型Person。字段id:一个整型字段,对应字段编号为1。name:一个字符串字段,对应字段编号为2。这条cmd命令会在目录下生成一个Person.cs文件,文件中包含了Person类的定义你可以像使用普通的 C# 类那样使用生成的 Protobuf 类。下面给出一个简单的示例,展示如何实例化、赋值、序列化以及反序列化Person。

2025-02-19 15:53:30 1352 1

原创 音乐随想、日语认识

顶尖音乐人在大小二度识别中的出错概率极低(在理想情况下几乎为零)。然而,在复杂或不利的场景中,错误的可能性可能会增加到1%-10%,但这并不影响他们的音乐造诣或表现。出错的原因更多来自外部因素,而非能力本身的缺陷。

2025-02-16 19:04:56 891

原创 自由学习记录(35)

方法设置了两个请求头,一个是标准的授权头(Authorization),另一个是自定义头(X-Custom-Header)。先写了客户端的,客户端比较简单,只要Connect了服务端,然后就对应的写好receive和Send的异步方法就可以了。协同程序本质也是用了线程来实现了“异步”的协程,这些同步异步的方法,基础的使用是这样,但是不代表socket不会封装好。--------------有必要存一些截图,直接可以把唐老师的lesson代码学下来,不对后期也有修改的可能。

2025-02-15 21:06:55 1024

原创 自由学习记录(34)

TCP 通信中----TCP 面向字节流------数据在发送过程中可能会发生分包(一个完整消息被拆分成多个 TCP 包)或者黏包(多个消息在接收端一次性收到在同一个 TCP 包中)的现象。为了解决这类问题,通常需要在应用层设计一种消息边界协议

2025-02-06 14:13:18 918

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除