自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Failed to load dll

使用 Dependency Walker 查看这个 dll 引用,一推引用丢失。打开 Visual Studio Installer,点修改。选择 使用 C++ 的桌面开发,并勾选 MSVC v140。Unity运行时提示 dll 加载失败。最后确认是 C++ 组件缺失。

2024-04-12 18:02:03 256

原创 《时间贫困》

作者:【英】凯茜·霍姆斯。

2024-03-10 21:21:46 849

原创 游戏框架搭建

使用框架的目标:低耦合,高内聚,表现和数据分离耦合:对象,类的双向引用,循环引用内聚:相同类型的代码放在一起表现和数据分离:需要共享的数据放在Model里对象之间的交互一般有三种A调用B的方法,A就必须持有B,形成单向引用关系,为了避免耦合,B不应该引用A,如果B想调用A的方法,使用委托或回调。总结:父节点调用子节点可以直接方法调用,子节点通知父节点用委托或事件,跨模块通信用事件模块化一般有三种。

2024-03-03 18:42:43 1715

原创 帧同步原理

上图表示严格帧同步流程,服务器和客户端约定每5帧同步一次,这里每一帧的时间间隔由服务器决定,UPDATE 0表示服务器发的第0帧数据,CTRL 0表示客户端发的第0帧操作,服务器在第5帧开始前收到了客户端A,B的数据,进行打包再转发给A,B。经常会有需要排序的列表或者数组,比如攻击距离自己最近的敌人,这时候就需要将身边的敌人进行距离排序,一般来说只要排序距离就行了,但是如果出现两个敌人距离一样的时候,就会导致在不同的机器上选择的敌人是不同的。帧同步:发操作,收操作。实现自定义定点数向量。

2024-02-26 17:43:00 416

原创 Unity性能优化

使用条件编译特性//条件编译特性//没有"ENABLE_DEBUG_LOG"这个编译符号,所有的MyLogger.Log都不会编译到最终最终的程序集中MyLogger.Log("条件log");调试的时候加上这个预定义,发布的时候去掉这个预定义。//使用线程安全队列来保存日志字符串//主线程中调用,线程不安全,可以调用Unity的api//其他线程中调用,线程安全,不能调用Unity的api,可以在多线程中调用,使用文件保存日志/// 监听Debug.Log日志。

2024-01-27 22:21:04 1805 1

原创 Unity 光照

光照模式切换为 Baked 或 Mixed,Baked 模式完全使用光照贴图模拟光照,运行时修改光照颜色不生效,Mixed 模式也使用光照贴图,并且进行一些实时运算,运行时修改光照颜色会生效。在场景中添加 Reflection Probe,调整范围,需要反射的物体需要勾选 Static,重新烘培光照,就能在反射探针上看到反射的立方体贴图。每个黄色小球是一个光照探针,合起来为一个光照探针组吗,注意光照探针不要穿过地面或者墙壁,否则会影响效果。光照烘培只能作用于静态物体,想要作用于动态物体,需要探针。

2024-01-27 22:19:00 1465 1

原创 XCode Build报错

XCode Build时报以下错误错误提示表明生成的机器代码太大,超出了限制需要在XCode工程中添加宏定义,使得生成的可执行文件超过限制步骤:在项目设置页面中,选择 “Build Settings” 选项卡。在搜索框中输入 “Preprocessor Macros”。在 “Preprocessor Macros” 设置中找到 “Debug” 和 “Release” 两个配置项。在需要设置的配置项下,点击右侧的 “+” 按钮,添加一个新的宏定义。

2024-01-04 16:40:27 1014

原创 AssetBundle加密解密

AES使用相同的密钥来进行加密和解密,密钥长度可以是128位、192位或256位。AES算法采用替代、置换和混合的技术,通过多轮的操作来实现高强度的加密。使用AES算法,除了密钥,还需要一个IV(Initialization Vector,初始化向量)作用是在加密中引入随机性,以确保相同的明文在每次加密时都产生不同的密文,从而增强加密的安全性。C#提供了内置的加密库,其中包括对AES加密算法的支持,需要添加命名空间System.Security.Cryptography。"Tools/加密资源"

2023-12-23 16:54:40 597

原创 WebCamTexture报错

使用WebCamTexture把相机的画面显示到 RawImage 上。这两个错是因为摄像头被占用,需要检查代码中其他调用摄像头的地方。执行 WebCamTexture.Play() 报下面的错误。

2023-12-18 16:11:42 487

原创 Unity 简单打包脚本

后面的选项会处理依赖资源,引用计数大于1的认为是公共资源,单独打包到common文件夹。前面的选项不会处理依赖关系,公共资源会打进不同的bundle里。这个打包脚本适用于做demo,脚本放在Editor目录下。"Tools/遍历文件夹下的资源,处理依赖并打包""Tools/递归遍历文件夹下的资源并打包"

2023-12-03 09:44:57 267

原创 网络通讯基础

因此,从这个意义上说,这个方法是非阻塞的。优先级反转:是指在使用信号量时,可能会出现的这样一种不合理的现象,即:高优先级任务被低优先级任务阻塞(高优先级任务正等待信号量,此信号量被一个低优先级任务拥有着),导致高优先级任务迟迟得不到调度。Select方法用于在多个Socket对象之间进行选择,以确定哪些Socket对象已经准备好进行I/O操作,前三个参数分别表示要检查的Socket对象的列表,最后一个参数表示等待的超时时间。依照上图建立客户端和服务端的连接并发送消息,这里用到的是同步方法,会阻塞。

2023-11-12 22:33:32 3691

原创 Unity 动画系统

使用Avatar把骨骼系统转为肌肉系统后,双手,双脚位置可能出现一些偏移,Unity会保存转换前骨骼系统下手脚的正确位置,并把这些位置放在IK Goal(目标位置)上,也就是上图中双手,双脚位置的红球,手肘处的红球和膝盖处的红球是IK Hint(辅助位置),通过它防止肘部关节出现奇怪的扭曲,Foot Ik参考的是IK Goal的初始位置。红色箭头为质心在水平面的投影,我们可以把这个投影当作Root Motion的根骨骼节点,这个点被称为root Transform,代码中这样访问它的位置和方向。

2023-09-10 23:14:53 1319 1

原创 Playable 动画系统

PlayableBehaviour 是一个用于实现自定义 Playable 的基类,它可以让开发者通过继承该类来自定义 Playable 行为,可以用于在播放过程中控制动画的逻辑/// 每帧调用return;//切换到下一个动画片段//当前片段权重设为1,其他为0typeof。

2023-08-12 13:24:11 469

原创 Unity Addressable

Manage Profiles: 管理配置文件配置打包平台、本地和远程的打包,加载路径信息。

2023-07-29 23:20:08 647

原创 git hook

git hook用法

2023-06-11 10:48:32 3069

原创 Learn Git Branching 记录

Learning Git Branching 可以说是目前为止最好的教程了,点击右下角问号显示常用命令。

2023-05-21 00:34:06 898 2

原创 UGUI中点击判断的原理

首选需要理解 EventSystem 中的代码结构,EventSystem 目录下包含4个子文件夹,分别是 EventData、InputModules,Raycasters 和 UIElements,UIElements 下是 UI Toolkit 相关代码,这里不做研究,主要关注其他三部分内容。

2023-04-26 01:14:04 696

原创 使用StarUML生成C#代码类图

右键某个元素,在Format里可以设置显示或隐藏一些东西,比如隐藏从基类继承的字段,方法。在StarUML点击Reverse Code,选择刚才的文件夹。在右侧生成一个目录结构,点击CsharpReverse。点击Overview Expanded,生成代码类图。写一些简单的代码用来测试,把它们放入不同的文件内。官网下载StarUML,可免费使用,将所有的代码文件放入一个文件夹里。

2023-04-23 01:09:51 1612 2

原创 Shader 海面/水面

首先用Terrain在场景中随便做个地形,当作海底上面加个Plane作为海面实现海水效果要考虑海水深度对颜色的影响,法线移动形成波浪,菲涅尔,高光等效果。

2023-04-11 18:31:26 1337

原创 Shader 玻璃效果

需要注意的是渲染队列设置成透明队列(即"Queue"=“Transparent”)。保证当渲染该物体时,所有的不透明物体都已经被绘制在屏幕上,从而获取正确的屏幕图像。使用 GrabPass 获取屏幕图像并绘制在一张纹理中,以便我们在后续的Pass中访问它。采样这张纹理并显示到UI上,左下角是采样结果。《Shader 入门精要》

2023-04-09 20:29:37 250

原创 Shader 高斯模糊和Bloom

高斯模糊和Bloom

2023-03-20 19:52:36 806

原创 Unity Timeline及其相关插件

Timeline给不同类型的对象建立不同的轨道,在每个轨道的时间线上我们可以组织动画播放、音频播放,游戏对象的显隐等操作,也可以自定义轨道完成一些个性化操作使用Timeline需要Playable Director组件,它控制Timeline的播放,暂停,循环等功能在场景中选中某个游戏对象,Window -> Sequencing -> Timeline 打开Timeline窗口点击Create创建Timeline Asset,它存储轨道及片段相关信息。

2023-03-14 22:22:07 3051

原创 Shader 阴影

shader 阴影

2023-03-05 01:15:23 356

原创 Unity New Input System

New Input System

2023-02-18 19:09:54 2835 1

原创 Unity 常用设计模式

设计模式

2023-02-05 21:40:27 3506 1

原创 Unity A星寻路

A星寻路

2023-02-05 14:02:46 674

原创 Unity 二叉树装箱算法

二叉树装箱算法

2023-02-01 22:51:49 653

原创 Shader 前向渲染和延迟渲染

前向渲染和延迟渲染

2023-01-28 22:51:30 784 8

原创 Depth Test 深度测试

深度测试

2023-01-23 00:44:23 782

原创 Stencil Test 模板测试

模板测试

2023-01-20 17:12:20 553 2

原创 Alpha Test 与 Alpha Blending

Alpha Test 与 Alpha Blending总结

2023-01-15 15:59:44 940 2

原创 Unity Gamma空间和线性空间

Gamma空间和线性空间

2023-01-09 01:14:58 1511

原创 Shader Matcap

Matcap

2023-01-02 23:52:45 709

原创 Unity 布料模拟插件Magica Cloth

物理模拟插件Magica Cloth

2022-12-25 16:45:16 6755

原创 Unity中导入原神角色

Unity中导入原神角色

2022-12-03 18:08:48 1609

原创 Shader 轮廓线(描边)总结

Shader 轮廓线

2022-11-26 19:26:42 2226

原创 Shader 编辑器拓展

Shader 编辑器拓展

2022-11-25 01:17:36 499

原创 Unity 定义程序集Assembly definitions

Unity程序集

2022-11-10 14:39:44 2799

原创 开源库UniTask笔记

UniTask笔记

2022-11-06 22:23:09 7445 2

原创 Shader 常用函数总结

Shader 常用函数总结

2022-10-30 16:22:40 5248

Unity插件 Odin 3.0.13

Unity插件 Odin 3.0.13

2022-07-31

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

TA关注的人

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