avatar
文章
40
标签
18
分类
22
首页
时间轴
标签
分类
友链
关于
游戏开发笔记
首页
时间轴
标签
分类
友链
关于

游戏开发笔记

策略模式
发表于2026-02-12|设计模式
详细请看:https://www.runoob.com/design-pattern/strategy-pattern.html 什么是策略模式???在策略模式(Strategy Pattern)中一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式定义了一系列算法或策略,并将每个算法封装在独立的类中,使得它们可以互相替换。通过使用策略模式,可以在运行时根据需要选择不同的算法,而不需要修改客户端代码。 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context...
抽象工厂模式
发表于2026-02-12|设计模式
更详细见:https://www.runoob.com/design-pattern/abstract-factory-pattern.html 什么是抽象工厂抽象工厂就是从一个大工厂创建n多个小工厂,再从小工厂里面创建对象 适用场景:当系统需要创建多个相关或依赖的对象,而不需要指定具体类时。 运用实例:假设有不同类型的衣柜,每个衣柜(具体工厂)只能存放一类衣服(成套的具体产品),如商务装、时尚装等。每套衣服包括具体的上衣和裤子(具体产品)。所有衣柜都是衣柜类(抽象工厂)的具体实现,所有上衣和裤子分别实现上衣接口和裤子接口(抽象产品)。 与简单工厂区别:可以批量管理相关联对象 缺优点 优点: a. 确保同一产品族的对象一起工作 比如都是怪物和颜色产品族,有哥布林、巨魔,每个怪物都得有颜色 b. 客户端不需要知道每个对象的具体类,简化了代码。直接干就行。 缺点: 扩展产品族非常困难。增加一个新的产品呢族需要修改抽象工厂和所以具体工厂的代码 比如:新增了个道具族,抽象工厂要新增一个抽象的创建方法。所有具体的工厂必须去实现那个新增的方法。同时还要新增工厂类 使用场景 QQ...
简单工厂模式
发表于2026-02-12|设计模式
详细见:https://www.runoob.com/design-pattern/factory-pattern.html 什么是工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一,它提供了一种创建对象的方式,使得创建对象的过程与使用对象的过程分离。 工厂模式提供了一种创建对象的方式,而无需指定要创建的具体类。 通过使用工厂模式,可以将对象的创建逻辑封装在一个工厂类中,而不是在客户端代码中直接实例化对象,这样可以提高代码的可维护性和可扩展性。 说人话:实例化对象时直接new就行,其他都不用管。 比如:你需要一辆汽车,只需从工厂提货,而不需要关心汽车的制造过程及其内部实现。 工厂模式类型 简单工厂模式: 简单工厂模式不是一个正式的设计模式,但它是工厂模式的基础。 它使用一个单独的工厂类来创建不同...
Excel配置表小工具
发表于2025-07-27|Unity工具
Unity中添加 菜单栏功能为编辑器菜单栏添加新的选项入口 可以通过Unity提供我们的MenuItem特性在菜单栏添加选项按钮 特性名:MenuItem 命名空间:UnityEditor 12345678[MenuItem("GameTool/Test/Tools/生成Excel信息")]//规则一:必须为静态方法//规则二:菜单栏至少有一个斜杠//规则三:可以用在任意类中,不继承Mono也行private static void Test(){ } 刷新Project窗口 类名:AssetDatabase 方法:Refresh 123456789[MenuItem("GameTool/Test/Tools/生成Excel信息")]//规则一:必须为静态方法//规则二:菜单栏至少有一个斜杠//规则三:可以用在任意类中,不继承Mono也行private static void Test(){ ...
UnityShader基础(三)
发表于2025-07-22|Shader
引言:Shader基础内容由于内容较多分为多个部分记录,该部分主要为动态效果以及屏幕后处理相关 动态效果如何制作动态效果 让画面动起来是因为每一帧对象的位置、角度、缩放、颜色等等信息的改变后重新渲染带来的 相当于就是间隔一定时间更新一些数据,从而带来了画面变化 那么想要利用Shader制作出动态效果,其实原理也是一样的 我们只需要间隔一定时间改变Shader中的数据,从而改变渲染的结果,最终达到画面变化的目的 这样就能够带来动态感了 总结: 利用Shader制作动态效果的关键就是 —— 利用时间变化来改变数据,从而导致渲染结果改变,带来画面变化 Shader中的内置时间变量 时间是关键数据,Shader中提供了对应的内置时间变量 变量名 分量(x, y, z, w) 数学表达式 用途说明 典型应用场景 _Time (t/20, t, 2t, 3t) t = Time since level...
UnityShader基础(上)
发表于2025-07-22|Shader
引言:Shader基础内容由于内容较多分为多个部分记录 渲染路径渲染路径概述渲染路径是什么?? 概念: 渲染路径(Rendering Path)是指在图形渲染过程中,图形引擎按照特定的步骤和顺序来处理场 景中的几何、光照、材质等信息,最终生成屏幕上的图像的一种算法或策略。 它决定了图形引擎如何组织和执行渲染过程,以产生最终的视觉效果 对于我们来说: 在Unity中,渲染路径决定了光照如何应用到Unity Shader中,如果要在Unity Shader中和光源打交道,我们需要为每个Pass渲染通道匹配对应的渲染路径,这样才能在Shader 当中获取到正确的光源数据进行处理。 总结: 渲染路径会影响光照处理,从而影响最终的渲染效果(光照、阴影等)。 存在多种不同的渲染路径 为什么会影响: 我们可以简单理解,使用不同的渲染路径时,Unity在Shader中准备光源数据的流 程是不同的,那么我们在Shader开发时,获取光源数据的方式就会有所不同。 渲染路径的种类和设置 我们可以在Camera组件中的Rendering...
Unity基础—UGUI
发表于2025-07-22|UGUI
...
UnityShader入门——纹理和透明
发表于2025-07-22|Shader
一、纹理1.纹理的概念(1)纹理是用来干嘛的 骨:模型骨骼 肉:三角面片(由模型顶点围成模型的轮廓) 皮:纹理图片 纹理的主要作用:使用一张图片来控制模型的外观 使用纹理映射技术,将图片和模型联系起来,让模型能呈现出图片中的颜色表现 纹理映射: 它用来将图像(纹理)映射到三维模型的表面,从而赋予模型更加真实和细致的外观。 这个过程实际上是将二维图像映射到三维空间的过程 (2)如何进行纹理映射? 利用纹理展开技术把纹理映射坐标存储在每个顶点上。模型表面的顶点都与纹理坐标相关联 纹理坐标通常使用二维坐标系统(称为UV坐标),其中U表示水平轴,V表示垂直轴 (3)UV坐标对于Shader开发的意义 我们在进行Shader开发时,在顶点着色器回调函数传入的数据中可以获取到模型中的UV坐标的数据。 有了UV坐标,只要有正确的纹理贴图(图片),就可以用顶点的UV坐标从图片中取出映射的颜色用于渲染。 (4)UV坐标的注意事项 纹理坐标(UV坐标)的横轴和纵轴的取值范围是被归一化过的,在[0,1]的范围中 ...
UnityShader入门——光照
发表于2025-07-20|Shader
1. 逐顶点光照和逐片元光照(1)逐顶点光照 在哪计算??? 顶点着色器 回调函数中 计算方式: 逐顶点光照会在每个物体的顶点上进行光照计算 这意味着光照计算只在物体的顶点位置上执行 而在顶点之间的内部区域``使用插值来获得颜色信息 优点: 逐顶点光照的计算量较小,通常在移动设备上性能较好,适用于移动游戏等要求性能的场景 缺点: 照明效果可能不够精细,特别是在物体表面上的细节区域,因为颜色插值可能不足以捕捉到细微的照明变化 适用场景: 逐顶点光照适用于需要在有限资源下获得较好性能的场景,例如移动游戏 (2)逐片元光照 在哪计算??? 片元着色器...
Unity_AssetBundle
发表于2025-07-20|Shader
引言:主要介绍一下AB包的基本原理和打包过程 初步了解AB包AB包是什么?? AB是特定平台的资产压缩包,类似于压缩文件 资产包括: ​ 模型、贴图、预制体、音效等等。 注意:C#代码不能打成AB包。所以代码要用Lua热更。 AB包有什么作用??相对Resource下的资源AB包更好管理资源 减少包的体积大小 压缩资源 减少初始包的大小 打包时候AB可以放在远端,初始包只留一些默认资源。进入游戏之后再慢慢下载。 热更新 资源热更新 脚本热更新 AB包资源打包如何让资源关联AB包 我们把一个场景物体拖成预制体,再inspector窗口就能看到如下内容(其他资源也可以去关联) 第一个标签为:打入哪个包中。 第二个标签为:扩展名(不动就行 ) 这样就把Cube这个物体关联到了model这个包里面 疑问:C#脚本不能打包进去,但是物体上关联的很多组件不也算是脚本吗?为什么可以打包 答:预制体上面的一些组件,看起来是脚本,实际上都是C#通过反射得到的文件信息 ...
1234
avatar
wqx
文章
40
标签
18
分类
22
Follow Me
公告
-只用于学习如有版权问题请联系我 484807196@qq.com
最新文章
Unity编辑器扩展入门——Event 事件系统2026-03-15
Unity编辑器扩展入门——Selection 类2026-03-15
Unity编辑器扩展入门——EditorGUIUtility 工具类2026-03-15
Unity编辑器扩展入门——EditorGUI 控件系列总览2026-03-15
Unity编辑器扩展入门——自定义编辑器窗口2026-03-15
分类
  • C#进阶2
    • 八股文2
  • Lua2
  • Shader7
  • UGUI1
  • Unity4
    • Mesh编程1
    • 基础1
标签
Shader 一些机制讲解 优化 JSON 生命周期函数 网络开发 八股文 框架 -案例 基础 进阶 面试 工具 术语介绍 UGUI Mesh 编辑器扩展 设计模式
归档
  • 三月 2026 7
  • 二月 2026 6
  • 七月 2025 11
  • 六月 2025 2
  • 五月 2025 8
  • 四月 2025 6
网站信息
文章数目 :
40
本站总字数 :
146.8k
本站访客数 :
本站总浏览量 :
最后更新时间 :
©2019 - 2026 By wqx
框架 Hexo 7.3.0|主题 Butterfly 5.3.5