2022-09-20 131 字 1 分钟Unity入门精要(十)高级纹理# 高级纹理 基础纹理:法线纹理、渐变纹理、遮罩纹理等。 高级纹理:CubeMap、Render Texture、Procedure Texture # CubeMap 立方体纹理 在图形学中,立方体纹理是环境映射的一种实现方法。 立方体纹理采样 立方体纹理常常用于天空盒、环境映射。more...
2022-09-08 93 字 1 分钟插件-TureShadowTureShadow 和名称一样 —— 真阴影 其作用就是为图像、文字添加阴影效果,通常我们使用 Ps 之类的软件为其添加阴影,现在使用这个插件就可以自动动态的实现阴影。 添加 TureShadow 脚本more...
2022-09-04 200 字 1 分钟下班后开始新的一天最近,我在微信读书上看到可这本书,感觉正是处在我这个阶段所需要的,几个问题深深的抓住了我。 晚上还有 4 个小时,缺在苦苦等待周末 光靠工资,可能财富自由吗 辞职之后,就能做想做的事情吗 一辈子只做工作这一件事,就能感到幸福吗? 要把生活过得幸福又笃定~ 不论处在什么样的生活环境下,我们都要笃定的去生活,不必让自己成为某一个行业的顶尖或者是专家,而是持续去做自己想做的,能让自己感到幸福的事情,并为此付出巨大努力。more...
2022-08-31 2.3k 字 2 分钟MRTK开发记录# MRTK 开发记录 MRTK 是微软官方推出的针对 MR ( 混合现实 ) 开发的一套工具集。 同时官方提供了一个 MRFT 工具进行相关工具包的管理。 MRTK 的体系架构: # MRFT 在选定一个 Unity 项目之后可以使用此工具导入相关的工具。 使用此工具其实是通过修改 Unity 的包管理器中的 Json 来管理 我们至少需要安装: 在 Unity2021.x 之后版本我们官方推荐使用 OpenXR 工具来管理。 😄当然我们可以选择性的使用。 # Unity 设置 Unity版本:2020.3.8f1 导入 Unity...more...
2022-07-08 201 字 1 分钟MMD导入Unity# 通过 Blender 下载:https://github.com/absolute-quantum/cats-blender-plugin 安装插件后: 然后选择,Fix Model 修正。 修正后选择 Export Modle 导出为 Fbx 即可。 # 通过 Unity 插件 安装 MMD4unity 插件可以直接导入到 Unity,不经过 Blender,实测在某些模型下会发生一些奇怪的错误。 # 改变渲染材质 可以使用卡渲来优化渲染效果more...
2022-06-30 349 字 1 分钟Effective C# 笔记1今天我要再开一个新坑,学习一下《Effective C#》, 百闻不如一见,确实有必要好好梳理一下自己的代码方式。 # 第 1 条:优先使用隐式类型的局部变量 用 var 来声明变量而不指明其类型,可以令开发者把注意力更多地集中在名称上面,从而更好地了解其含义。 # 第 2 条:考虑用 readonly 代替 const C#...more...
2022-06-18 842 字 1 分钟Unity Ui事件接口在 Unity 中 UI 事件有两种方式,一种使用数据接口的方式,另一种使用监听组件的方式。 # 使用数据接口 通过继承数据额接口实现接口方法我们可以对 Ui 事件进行处理。 public class APanel : MonoBehaviour, IPointerClickHandler { public void OnPointerClick(PointerEventData eventData) { print("Ui被点击了"); } }Unity...more...
2022-06-14 305 字 1 分钟《游戏编程模式》-书评# 开始 第一次打开《游戏编程模式》这本书已经好像已经是两年前的事情了,断断续续的算是读完了,其实花费的时间应该是大于 9 小时的, 相比传统的设计模式来说,本书结合了游戏设计方面的思考,让我这个游戏程序员读的很起劲。 # 感悟 书中使用 C 进行讲解,除了设计模式本身,也让我使用底层 c 搭建游戏引擎有了一个基本认知,其实很多设计模式我们在平时已经在不经意间使用到了,只是不明确我们使用的是什么模式而已❤️。结合之前学习的 《大话设计模式》 , 这算是第二次学习设计模式相关内容了,但我自我感觉自己在代码架构设计方面还是存在一些薄弱。之后考虑再读一下 《设计模式与游戏完美开发》 ,主要是结合...more...
2022-06-14 233 字 1 分钟优化型模式-脏标记模式将工作推迟到必要时进行以避免不必要的工作。 # 说明 但一组数据因为另一组数据的变动而变动时,为了确认具体需要变动的数据,我们为数据进行标记。 一组原始数据随时间变化。一组衍生数据经过一些代价昂贵的操作由这些数据确定。一个脏标记跟踪这个衍生数据是否和原始数据同步。它在原始数据改变时被设置。如果它被设置了,那么当需要衍生数据时,它们就会被重新计算并且标记被清除。否则就使用缓存的数据。 仅当性能问题严重到值得增加代码复杂度时才使用它 2022 年 6 月 14 日 00:38:00 等待更新more...
2022-06-13 588 字 1 分钟解耦性模式-服务定位器通过阅读 《游戏编程模式》 在我的理解下,服务定位器就是:将需要全局使用的对象进行统一的管理。 主要是为了解决单例对象在众多系统中被使用暴露了真实系统实现的问题,通过在单例系统外围包裹一层,然后通过访问外界的定位器来范围真实的服务对象。 当然这样就意味着,我们需要在定位器中对服务进行初始化管理。 Ps:使用这样的方式,我们就可以通过定位器快捷的替换服务器的具体实现对象,以指定使用例如测试音频模块、发布音频模块等的发布环境区分的子服务类型。 Tips: 其实对于上述的环境区分,我们也可以通过宏定义来处理。 #...more...