刷新
【渲染流水线】[几何阶段]-[顶点着色]以UnityURP为例

博主头像 URP顶点着色器核心围绕空间变换体系展开,通过模型矩阵(M)、观察矩阵(V)、投影矩阵(P)三级联运算实现模型空间到裁剪空间转换。其特有实现包含TransformObjectToWorld等专用宏替代传统函数,并强制使用Varyings/Attributes结构体命名规范。数据处理模块负责法线/切线... ...

【渲染流水线】[应用阶段]-[渲染命令队列]以UnityURP为例

博主头像 本文以Unity URP渲染管线为例,详细解析了从数据到图像的渲染流程。内容涵盖模型数据获取(顶点坐标、法线等)、变换矩阵计算(MVP矩阵)、渲染状态设置(剔除、深度测试等)和渲染指令提交(DrawCall)等关键环节。文章深入分析了URP中渲染命令队列的实现机制,包括ScriptableRende... ...

【渲染流水线】[应用阶段]-[定制裁剪]以UnityURP为例

博主头像 本文介绍了Unity URP渲染流水线中的多种裁剪优化技术:1)层级剔除(LayerCulling)通过禁用特定层优化场景切换;2)距离剔除(DistanceCulling)利用LODGroup实现远景优化;3)视口裁剪(ViewportCulling)用于分屏渲染。文章还详细阐述了自定义裁剪方案,... ...

2048 C++ 游戏

博主头像 游戏简介 这是一款基于C++开发的2048游戏,集成了成就系统、插件扩展、游戏记录、倍速调节等功能,支持Windows控制台运行。代码结构清晰,包含完整的游戏逻辑、界面渲染和扩展接口,适合学习或二次开发。 ⭐核心功能特性 1. 玩法介绍 基础规则:通过WASD键控制方块移动,相同数字合并得分 ...

【渲染流水线】[应用阶段]-[遮挡剔除]以UnityURP为例

博主头像 本文解析了Unity URP渲染管线中的遮挡剔除技术,重点介绍了静态PVS预计算与动态GPU加速的混合方案。核心技术包括改进的BSP树空间分割、多级单元格PVS预计算,以及基于ComputeShader的实时HiZ缓冲动态遮挡计算。文章详细阐述了两种技术的实现原理、性能对比及适用场景:PVS适合静态... ...

[Bukkit插件开发]手持发射器箭矢机枪 教学文档 面向Python/C#开发者入门Java与Bukkit API

博主头像 面向Python/C#开发者入门Java与Bukkit API 本教程将以一个“手持发射器箭矢机枪”功能为例,引导理解Java语言基础、Bukkit API的核心概念,并最终构建你自己的插件。 我们将通过分析一个具体的Java代码文件,一步步揭示其工作原理,并帮助你将现有的编程知识迁移到Java和B ...

3ds max的obj文件格式说明

博主头像 OBJ 文件格式是一种常见的 3D 模型文件格式,它包含了模型的几何形状、材质、纹理等信息。下面是 OBJ 文件格式的一些基本信息: OBJ 文件由一系列文本行组成,每行以一个关键字开头,关键字后面跟着一些参数。OBJ 文件中最常见的关键字有以下几个: v:定义一个顶点,后面跟着该顶点的 x、y、z ...

游戏中常用的平滑曲线函数:高中生也能看懂的代码分析

博主头像 移动中常用的平滑曲线函数: 在代码控制2D人物移动时候,为了保证人物在停止停止移动时候出现速度瞬变,卡顿问题,常常使用一个平滑函数,来使得速度按照函数的平滑曲线来逼近目标值。 先看代码: 一个在Update中调用的移动函数。 首先通过获取用户输入的坐标方向来确定好人物移动的二维方向(2D游戏)。之后 ...

游戏开发:基础模块之活动系统设计方案

博主头像 写一写游戏项目的基础模块的实现思路,之活动系统: 活动系统通常结合充值构建项目的商业化节奏,系统的设计方案: 定义不同类型用于区分活动,定义不同ID用于唯一标识一期特定类型的活动; 排期配置管理 每个玩家节点开启单例的活动排期管理服务(activity_manager),负责管理活动排期相关的数据; ...

重构: 面对类结构相似的,重复创造类脚本的解决方法之一

博主头像 面对类结构相似的,重复创造类脚本的解决方法。 实战: 笔者在开发一款农场类游戏,在做种植相关的挑战系统时,随着植物种类的增多,与植物相关的挑战成本增多,若对每个挑战都创建一个脚本未尝觉得有些麻烦,我想能否像给一个数组赋值那样子,来统一配置挑战内容和编写挑战相关的逻辑的方法呢? 答案自然是肯定的! 我 ...

Unreal 扩展 内容浏览器 编辑器 快捷键 命令 ContentBrowser Editor Extender Command Shortcut Key

需求:快速定位Unreal资源在Window文件管理器中的位置 拆解需求 在Unreal内容浏览器中选中资源或者文件夹右键菜单中 “在浏览器中显示”已经此功能 为了更快速可以添加快捷键方式 直接修改源码发现修改的文件有点多,所以选择扩展命令方式实现 遇到的问题 快捷键不响应 文件类型菜单和资源类型菜 ...

《游戏为什么好玩:游戏设计的奥秘》读书笔记(1)

博主头像 游戏为什么好玩:游戏设计的奥秘 第一章 :空间 作者在第一章中给出影响游戏好玩性的一个因素 “空间”,分四个小节来论述,不用担心本系列读书笔记的无聊性,只要你会玩游戏,多少会get到你玩过的游戏的设计之道,这是读者读这本书过程中常常会有茅塞顿开的感觉,通过这本书,作者的文字仿佛带我们穿破“游戏制作人 ...

自动驾驶 | 为CarLA添加一辆小米SU7 Part I

博主头像 自动驾驶 | 为CarLA添加一辆小米SU7 Part I 导言 什么是CarLA? CarLA是一款基于虚幻引擎4(Unreal Engine 4)构建的开源自动驾驶仿真平台,为自动驾驶算法的研发、测试与验证提供高保真的虚拟环境。其核心特性包括: 高精度地图与传感器模拟:支持激光雷达、摄像头、毫米 ...

Lua程序设计笔记

博主头像 未学:第10章URL编码及以后的示例 13章位和字节 Lua语言基础 一组命令或表达式组成的序列叫chunk程序段,因为Lua语言可以被用作数据定义语言,chunk的大小没有限制,几MB的程序段也很常见,Lua语言的解释器可以支持非常大的程序段 在Lua交互模式下运行 >dofile (文件名)即可 ...

UGUI InvertMask - 反向遮罩

博主头像 内容为原创,请读者不要将内容二次复制到 CSDN 等网站,拒绝互联网垃圾从你我开始。 介绍 反向遮罩是一种常见的 UI 效果,用于反转遮罩区域,使得原本被遮罩的部分显示出来,而未被遮罩的部分被隐藏。这种效果常用于制作镂空 UI 或复杂的遮罩形状。 ️ 功能实现 创建 InvertMask. ...

从开始到贪吃蛇

博主头像 Day 2025.1.21 unity方法 关于transform组件的使用 直接使用transform组件 transform.Translate() 用于当前脚本挂载组件的移动 player = this.gameObject; 用于挂载当前实体对象 Day 2025.1.23 关于c#面向对象 ...

<1···345>