- 博客(72)
- 资源 (3)
- 收藏
- 关注
原创 用 Three.js 实现 PlayCanvas 风格 PBR 材质教程(第二篇):核心参数与光照模型
本文深入解析了基于PlayCanvas风格的PBR材质实现原理,从核心参数到光照模型完整呈现。重点包括:1)金属度、粗糙度等物理参数的代码映射与计算逻辑;2)光照模型的前后端计算流程,涵盖菲涅尔效应、能量守恒等关键算法;3)材质类实现与Three.js的集成方案。通过完整着色器代码展示了如何将PBR理论转化为视觉效果,包括环境贴图采样、Gamma校正等实现细节。该方案既保持了物理准确性,又提供了直观的参数控制接口,适用于现代WebGL应用开发。
2025-07-21 21:16:53
822
原创 用 Three.js 实现 PlayCanvas 风格 PBR 材质教程(第一篇):PBR 基础与环境搭建
本文介绍了基于物理的渲染(PBR)的基本概念及其在Three.js中的实现方法。PBR相比传统渲染模型(如Phong)更具物理准确性,通过金属度、粗糙度等参数模拟真实材质表现。文章首先对比了PBR与传统渲染的区别,重点阐述了PBR在能量守恒和光照一致性方面的优势。随后详细讲解了在Three.js中创建自定义PBR材质的技术实现,包括顶点/片元着色器编写、Uniforms参数传递以及GUI调试界面搭建。通过核心代码解析,展示了如何从基础纯色材质开始构建PBR渲染流程,为后续完整PBR实现奠定基础。
2025-07-21 17:47:38
360
原创 Three.js 全景图(Equirectangular Texture)教程:从加载到球面映射
本文介绍了如何在Three.js中使用全景图(EquirectangularTexture)创建360°环绕视角效果。全景图是一种2:1宽高比的特殊图像,通过坐标转换可还原为球形环境。文章通过完整代码示例,详细讲解了加载全景图纹理、配置关键参数(如环绕模式、过滤方式)以及创建着色器材质实现球面与UV坐标转换的核心过程。重点解析了球面坐标转换的数学原理,包括方位角与仰角的计算,以及如何将3D方向向量转换为2D全景图UV坐标。示例同时展示了全景图在立方体和球体上的映射效果差异,说明球体更适合实现无缝过渡的沉浸式
2025-07-21 16:53:49
477
原创 Three.js 立方体贴图(CubeMap)完全指南:从加载到应用
本文介绍了Three.js中使用立方体贴图(CubeMap)实现环境映射的技术。立方体贴图由6张正方形纹理组成,分别对应立方体的6个面,常用于模拟环境反射和创建天空盒效果。文章通过完整代码示例,详细讲解了立方体贴图的加载流程、6个面纹理的顺序规范以及自定义着色器的实现原理。关键点包括:使用CubeTextureLoader加载纹理,通过ShaderMaterial创建环境反射材质,在片元着色器中利用3D方向向量进行立方体贴图采样。示例创建了立方体和球体两种几何体,展示了不同形状物体的环境反射效果。
2025-07-21 16:03:16
262
原创 PBR核心原理
PBR材质基于物理光学原理,通过漫反射(粗糙表面)和镜面反射(光滑表面)模拟光线传播,遵循能量守恒原则。其核心参数包括反照率(固有色)、金属度(区分材质类型)、粗糙度(控制光滑度)和法线贴图(模拟表面细节),这些贴图共同实现真实材质表现。
2025-07-18 11:31:50
233
原创 UE RPG游戏开发练手 第十八课 装备武器技能1
***/UCLASS()public:// 将配置的ActivateOnGivenAbilities技能给InASCToGive组件protected:// 赋予就激活的技能列表// 赋予一些节能给技能系统组件。
2025-05-08 20:08:32
163
原创 UE RPG游戏开发练手 第十六课 角色配置启动数据并初始化,完成角色武器的挂载
UE RPG游戏开发练手 第十六课 角色配置启动数据并初始化,完成角色武器的挂载
2025-04-24 11:22:28
303
原创 UE RPG游戏开发练手 第十二课 创建GameplayAbility基类
UE RPG游戏开发练手 第十二课 创建GameplayAbility基类
2025-04-23 19:56:18
209
原创 UE RPG游戏开发练手 第十一课 GameplayAbilitySystem游戏技能系统安装
GameplayAbilitySystem游戏技能系统安装
2025-04-22 19:47:11
214
原创 Unreal Engine RPG 游戏开发课程 - 第九课 资源命名规范
前缀: 使用统一的前缀来标识资源类型。描述性名称: 前缀后跟随描述性名称,通常使用驼峰命名法或下划线分隔。一致性: 在整个项目中保持命名规则的一致性。
2025-03-24 14:48:16
898
原创 Unreal Engine RPG 游戏开发课程 - 第八课 创建自定义的AnimInstance
动画实例分层作为基类,提供了统一的接口。处理角色通用的动画逻辑。处理英雄角色特有的动画逻辑。实现动画分层逻辑。动画逻辑通过和方法,实现动画的初始化和更新。暴露变量给蓝图,驱动动画蓝图中的状态机和混合空间。动画蓝图创建ABP_hero动画蓝图,基于实现复杂的动画逻辑。
2025-03-17 19:55:14
382
原创 Unreal Engine RPG 游戏开发课程 - 第七课 实现角色移动和相机旋转
角色移动通过Input_Move方法处理角色移动输入,实现前后左右的移动。相机旋转通过Input_Look方法处理相机旋转输入,实现视角的上下左右旋转。输入绑定使用绑定输入动作到具体的处理函数。相机限制设置相机的俯仰角度限制,避免视角旋转过度。这种设计使得角色控制和相机控制更加灵活和模块化,适合复杂的游戏项目。
2025-03-15 16:11:18
486
原创 Unreal Engine RPG 游戏开发课程 - 第六课 实现自定义输入组件 `URpgInputComponent`
自定义输入组件继承自,扩展了输入事件绑定的功能。提供了方法,支持通过动态绑定输入动作。通过实现自定义输入组件扩展了,提供了更灵活的输入事件绑定方法。动态绑定输入动作通过和,动态查找和绑定输入动作。统一输入处理逻辑将输入事件的处理逻辑集中到自定义输入组件中,提高代码的可维护性和可扩展性。编辑器支持在编辑器中设置默认输入组件,确保游戏运行时使用自定义的输入逻辑。这种设计使得输入系统的配置和处理更加灵活和模块化,适合复杂的游戏项目。
2025-03-15 13:43:21
492
原创 Unreal Engine RPG 游戏开发课程 - 第五课 利用DataAsset灵活的输入配置
通过以上步骤,我们实现了一个用于管理输入配置的 Data Asset。模块化输入配置: 将输入动作的配置数据存储在数据资产中,便于管理和复用。灵活绑定输入动作: 通过和的绑定,实现输入动作的灵活配置。默认输入映射: 设置默认的输入映射上下文,确保输入系统的正确初始化。蓝图支持: 通过和等属性,支持在编辑器和蓝图中进行配置和调试。这种设计使得输入系统的配置更加灵活和可维护,适合复杂的游戏项目。
2025-03-15 12:55:28
460
基于threejs的3d编辑器
2024-12-28
protobuf 2.6.1 android ios编译工程及编译好的库支持64位ios
2015-05-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人