自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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游戏开发练手 第二十九课 重攻技能2

UE RPG游戏开发练手 第二十九课 重攻技能2

2025-05-19 17:42:11 210

原创 UE RPG游戏开发练手 第二十八课 重攻技能1

UE RPG游戏开发练手 第二十八课 重攻技能1

2025-05-19 16:09:32 219

原创 UE RPG游戏开发练手 第二十七课 普通攻击2

UE RPG游戏开发练手 第二十七课 普通攻击2

2025-05-16 19:28:17 216

原创 UE RPG游戏开发练手 第二十六课 普通攻击1

UE RPG游戏开发练手 第二十六课 普通攻击

2025-05-16 17:25:26 580

原创 UE RPG游戏开发练手 第二十四课 添加武器装备手上的动画层

UE RPG游戏开发练手 第二十四课 添加武器装备手上的动画层

2025-05-14 10:36:07 172

原创 UE RPG游戏开发练手 第二十五课 动画层应用到角色

UE RPG游戏开发练手 第二十五课 动画层应用到角色

2025-05-14 10:35:24 195

原创 UE RPG游戏开发练手 第二十三课 动画蓝图添加动画层

UE RPG游戏开发练手 第二十三课 动画层

2025-05-13 12:50:46 153

原创 UE RPG游戏开发练手 第二十二课 卸下手上武器

UE RPG游戏开发练手 第二十二课 卸下手上武器

2025-05-12 19:38:29 628

原创 UE RPG游戏开发练手 第二十一课 使用C++代码实现装备武器

UE RPG游戏开发练手 第二十一课 使用C++代码实现装备武器

2025-05-12 19:37:16 264

原创 UE RPG游戏开发练手 第二十课 装备武器技能3

UE RPG游戏开发练手 第二十课 装备武器技能3

2025-05-08 20:11:31 233

原创 UE RPG游戏开发练手 第十九课 装备武器技能2

UE RPG游戏开发练手 第十九课 装备武器技能2

2025-05-08 20:11:01 185

原创 UE RPG游戏开发练手 第十八课 装备武器技能1

***/UCLASS()public:// 将配置的ActivateOnGivenAbilities技能给InASCToGive组件protected:// 赋予就激活的技能列表// 赋予一些节能给技能系统组件。

2025-05-08 20:08:32 163

原创 自研基于threejs的3d编辑器

自研基于threejs的3d编辑器

2025-04-25 18:10:16 882

原创 UE RPG游戏开发练手 第十七课 纯C++代码实现装备武器

UE RPG游戏开发练手 第十七课 纯C++代码实现装备武器

2025-04-24 16:08:46 167

原创 UE RPG游戏开发练手 第十六课 角色配置启动数据并初始化,完成角色武器的挂载

UE RPG游戏开发练手 第十六课 角色配置启动数据并初始化,完成角色武器的挂载

2025-04-24 11:22:28 303

原创 UE RPG游戏开发练手 第十五课 创建启动数据

UE RPG游戏开发练手 第十五课 创建启动数据

2025-04-23 19:57:57 192

原创 UE RPG游戏开发练手 第十四课 创建装备生成技能

UE RPG游戏开发练手 第十四课 创建装备生成技能

2025-04-23 19:57:25 136

原创 UE RPG游戏开发练手 第十三课 创建武器Actor

UE RPG游戏开发练手 第十三课 创建武器Actor

2025-04-23 19:56:54 224

原创 UE RPG游戏开发练手 第十二课 创建GameplayAbility基类

UE RPG游戏开发练手 第十二课 创建GameplayAbility基类

2025-04-23 19:56:18 209

原创 UE RPG游戏开发练手 第十一课 GameplayAbilitySystem游戏技能系统安装

GameplayAbilitySystem游戏技能系统安装

2025-04-22 19:47:11 214

原创 UE RPG游戏开发练手 第十课 动画蓝图控制角色动画(跑和待机动画)

UE RPG游戏开发练手 第十课 动画蓝图控制角色动画(跑和待机动画)

2025-04-21 20:00:32 227

原创 UE RPG游戏开发练手 第九课 实现相机操作 修改主角相机视角

UE RPG游戏开发练手 第九课 实现相机操作 修改主角相机视角

2025-04-21 18:38:29 195

原创 UE RPG游戏开发练手 第八课 实现角色移动

UE RPG游戏开发练手 第八课 实现角色移动

2025-04-19 21:16:31 336

原创 UE RPG游戏开发练手 第七课 准备好输入配置

UE RPG游戏开发练手 第七课 准备好输入配置

2025-04-19 21:16:00 168

原创 RPG游戏开发练手 第六课 创建自定义InputComponent

RPG游戏开发练手 第六课 创建自定义InputComponent

2025-04-19 21:15:28 140

原创 RPG游戏开发练手 第五课 创建输入配置类

RPG游戏开发练手 第五课 创建输入配置类

2025-04-19 21:14:57 429

原创 UE RPG游戏开发练手 第四课 创建GameplayTag定义代码

UE RPG游戏开发练手 第四课 创建GameplayTag定义代码

2025-04-19 21:14:16 121

原创 UE RPG游戏开发练手 第三课 创建调试输出日志

UE RPG游戏开发练手 第三课 创建调试输出日志

2025-04-19 19:26:50 409

原创 UE RPG游戏开发练手 第二课 创建核心类

创建核心类

2025-04-19 16:10:33 248

原创 UE RPG游戏开发练手 第一课 项目创建

UE RPG游戏开发练手,项目创建以及相关资源的准备和相关项目设置

2025-04-19 11:51:56 182

原创 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编辑器

1.基于threejs+electron开发的windows版3d模型编辑器,场景编辑器,特效编辑器 2.支持3d模型的导入,材质编辑,灯光编辑,水面,骨骼动画导入,后期效果的制作 3.支持在线发布并预览 4.支持简单的特效编辑,包括:颜色动画、uv动画、transform动画、alpha半透明动画、支持曲线编辑器动画、时间轴控制单模型节点的时间和生命周期等

2024-12-28

protobuf 2.6.1 android ios编译工程及编译好的库支持64位ios

protobuf 2.6.1 android ios编译工程及编译好的库支持64位ios

2015-05-27

基于dirextx 利用像素着色器实现图像的亮度,饱和度,色相,对比度,变灰,反相操作

基于dirextx 利用像素着色器实现图像的亮度,饱和度,色相,对比度,变灰,反相操作

2010-12-27

ParticleDesigner的windows版

ParticleDesigner的windows版

2013-10-29

空空如也

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

TA关注的人

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