Keep On Keeping On
合集C#Unity
Animation
资源加载管理
代码热更
网络通信
设计模式
工具开发
性能优化
UGUI
渲染
Shader
URP
HDRP
插件合集UnrealEngine设计模式数据结构算法渲染建模云服务器计算机网络AI阅读迷思Jekins我写的插件
Obsidian + Git + Hexo + PigGo + 云服务器 + 云存储的方案 https://zhuanlan.zhihu.com/p/554333805图床方案 https://tbed.hellohao.cn/PicGo https://github.com/Molunerfinn/PicGo
ProjectOhttps://soincredible.github.io/posts/8a8aad75
ET框架
Animancer
行为树
技能编辑器
模型提取
YooAsset
Slate
Odin
MagicPhysX C#绑定物理库
WorldStreamer 大地图加载方案
UniStorm
TODO
游戏行业报告
⭕️ 正则表达式
⭕️ LinQ表达式
⭕️ 场景如果打了AssetBundle ...
MarkDown LaTeX符号整理
插入公式在段落内插入1这是一段文字,在这里插入一个公式: $ a = b + c $. 这段文字结束
另起一行123这是一段文字,在这里插入一个公式: $$ a = b + c $$. 这段文字结束
常用符号
加粗 $\mathbf{M}$ \bold{M}或者\mathbf{M}
倾斜 $\mathit{M}$ \mathit{M}
加粗并倾斜 $\pmb{M}$ \pmb{M}
叉乘 $\times$ \times
点乘 $\cdot$ \cdot
分数 $\frac{1}{2}$ \frac{1}{2}
恒等于 $\equiv$ \equiv
等价于 $\Leftrightarrow$ \iff或者\Leftrightarrow
右推导 $\Rightarrow$ \Rightarrow
左推导 $\Leftarrow$ \Leftarrow
向量 $\vec{a}$ \vec{a}
单竖线 $\vert$ \vert
双竖线 $\Vert$ \Vert
花括号 ${ }$ \{ \}
方括号 $[ ]$ [ ]
紧贴 $a!b$ a ...
ET框架索引
💡TIPS:本系列基于ET8.1版本
本系列内容会十分繁杂, 因为不只是讨论ET的架构设计, 还有支持框架实现背后的技术: C#中的特性、反射、异步、代码检查、源代码生成、帧同步状态同步、网络通信、KCP、AOI等多个方面, 也只有具备了这些知识储备, 才能够更好的理解ET框架.
ET中的异步
帧同步与状态同步
ET中的网络通信模块
ET中的Singleton
ET中反射与特性的使用
ET框架自动生成脚本
ET框架Demo启动流程梳理
UnityShader概念收集与问题杂记
个人对光照模型和计算机如何显示颜色的理解概念
前向渲染和延迟渲染
如何计算环境光? 环境光和albedo之间的关系是怎样的?
CPU和GPU的关系
这里我想到了CPU和GPU之间的角色关系很像幼儿园或者小学一二年级里老师和小朋友在玩问答游戏,老师发问 “一加一等于几?” “二乘二等于几?” 小朋友们要回答“二!”“四!”。老师(CPU)负责提供 运算数(网格顶点信息)和运算式(Shader)而小朋友(GPU)需要做的是把老师给的题目解答出来就可以了。
关于多Pass在本书的第八章透明效果中第一次遇到了多Pass的概念,笔者在学习多Pass的过程中产生了很多疑惑,直到第十二章笔者的疑惑才得以解答。首先为什么Shader中需要多Pass的存在?在本书第三章介绍SubShader的时候提到了每一个Pass都会完整地走一遍GPU的流水线。笔者无法理解同一份顶点数据是如何能够在GPU中经过多个Pass处理表现出多个效果的。比如说,有一个包含有两个Pass的Shader,第一个Pass在顶点着色器中进行了顶点向左偏移的操作,第二个Pass在顶点着色器中进行了顶点向右偏移的操作。最终表现的效果是 ...
C#问题杂记
使用C#创建一个文件遇到 System.IO.DirectoryNotFoundException 错误表明尝试访问的目录路径中的某部分不存在。这个问题通常发生在尝试创建文件或目录、读取文件、或者执行其他需要访问文件系统的操作时。针对这个问题,有几个可能的解决方案:
确认路径的正确性首先,确认你尝试访问的路径是正确的。检查路径中的每一部分,确保没有拼写错误或者路径错误。路径应该完全匹配到你想要访问的位置。
确认目录结构存在在尝试创建文件之前,确保文件所在的目录结构已经存在。如果目录结构中的任何部分不存在,尝试创建文件时就会引发 DirectoryNotFoundException。
创建缺失的目录如果你的应用程序需要在特定的目录中创建文件,但那些目录可能不存在,你应该首先检查这些目录是否存在,如果不存在,则创建它们。可以使用以下代码段来实现这一点:
1234567891011string directoryPath = @"/Users/mac/Desktop/TetrisBlock/TetrisBlock-Unity/Assets/FontProcessLog/Redund ...
数据结构与算法系列
这是数据结构与算法系列的索引页,笔者写下这段话的时间是2025.3.14,此时距离笔者毕业已经过去快两年的时间,诚然笔者一直有个心结,想要补救学生时不曾牢固的基础,便有了此系列诞生。本系列会使用C++从无到有实现树、图、动规、回溯还有游戏中常用的A*、RVO等算法,目的有二,其一上面已经说了,其二也是希望熟悉C++的使用,多一门编程手艺傍身。系列对应的代码都会上传到GitHub仓库中
之前学算法的时候很痛苦的原因: 使用自己并不熟悉的C++语言, 在语法和库接口上消磨了太多了精力, 而不是专注于问题本身
目录
树
图
排序算法
动态规划
回溯算法
Wesnoth
Wesnoth社区仓库地址WesnothDiscord频道
目录
构建Wesnoth 也就是这篇博客
Wesnoth中的小地图如何实现
Wesnoth中的AI
Wesnoth中的引导逻辑
Wesnoth中的战役逻辑
2025.2.25更新笔者像小丑一样 尝试用Linux中的构建方式在自己的Mac上构建wesnoth 一直无法成功Build 跟各种问题缠斗了近一个月 在进行放弃前的最后一次尝试时 决定尝试一下Build文档中MacOS小结提到的使用XCodeBuild的方式构建wesnoth 不到十分钟成功了….在笔者过往的经历中 Mac和Linux中构建和运行C++程序的方式是一样的 并且笔者先入为主地以为使用XCode是在Mac上要发布到AppStore、Steam或者SourceForge平台部分才会使用到的 并不是笔者目前需要Care的 笔者只需要让wesnoth的code在自己的电脑上跑起来就可以 只能说相当操蛋…虽然说在Mac终端下直接使用CMake命令来尝试构建wesnoth的方式是错误的,但是在这个过程中笔者了解了一些CMake、C++构建相关的知识 本篇博客便是对这 ...
C++问题记录
并不是所有的对象都是new出来的在使用了一年多C#之后,回头看C++时,有很多疑惑.首先是,在C#中,所有的对象都是需要new的.
看下面代码:1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950#include <iostream>#include <string>// 定义一个简单的类class Person{private: std::string name; int age;public: Person() { std ::cout << "执行无参构造函数" << std::endl; } // 构造函数,用于初始化对象 Person(const std::string &n, int a) : name(n), age(a) { std::cout < ...
Unity问题杂记
本篇博客记录笔者在Unity开发中遇到的各种小问题,有可能是Unity奇怪的bug、Unity Editor的使用小技巧或者是一些不值得开一篇新博客的小知识点
Unity Scriptable Object踩坑下面是一个名为EntityBaseProperty.cs的脚本,但是在创建一个PlayerEntityPropertySO的时候会提示你找不到这个脚本。你必须让脚本的名字和SO的类名保持一致,所以每一个SO都要新建一个和SO类命一样的脚本来写。1234567891011public class EntityBaseProperty : ScriptableObject{ }[CreateAssetMenu(fileName = "PlayerEntityProperty", menuName = "CreatePlayerEntityProperty", order = 0)]public class PlayerEntityProperty : CharacterProperty{ } ...
git问题杂记
终端中git相关指令执行的结果中的中文乱码问题
在终端中使用git status命令时,结果显示为乱码解决方法是在终端中输入以下两行命令12git config --global core.quotepath truegit config --global core.quotepath false
重启终端,如果仍然显示乱码,执行下面两行命令12git config --global core.quotepath truegit config --global core.quotepath false
再次重启终端
Clone GitHub仓库失败拉取git仓库有如下报错1fatal: unable to access 'https://github.com/xxxxx/xxxxxx.git/': Failed to connect to github.com port 443 after 21052 ms: Couldn't connect to server
有可能是因为本地使用了代理工具,比如Clash修改了网络端口,解决方案如下👇👇👇
h ...