自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(632)
  • 资源 (5)
  • 收藏
  • 关注

原创 Babylon.js高效计算:如何判断两条射线的夹角是否小于指定角度

在3D开发中,计算两条射线(Ray)之间的夹角是常见需求,如判断玩家是否看向目标或实现碰撞检测。Babylon.js中,通过向量点积(DotProduct)可以高效计算夹角,无需复杂三角函数。核心原理是利用射线的方向向量计算点积,点积值接近1、0、-1分别表示夹角接近0°、90°、180°。本文介绍了三种计算方法:1)直接比较点积,适用于实时检测;2)预计算余弦值,优化频繁调用;3)精确计算角度,仅用于调试。性能对比显示,直接比较点积最快,预计算余弦值极快,而计算实际角度较慢。实际应用示例包括检测玩家是否看

2025-05-20 08:45:31 99

原创 Babylon.js中的Ray类详解:属性与方法全解析

Babylon.js中的Ray类是一个强大的工具,用于在3D空间中进行碰撞检测、拾取和光线投射等操作。Ray类定义了射线的起点、方向和长度等关键属性,并提供了多种方法来检测射线与Mesh、BoundingBox、Sphere、Plane和Triangle等几何体的相交情况。通过这些方法,开发者可以高效地进行3D场景中的交互和碰撞检测。此外,Ray类还提供了静态方法,用于创建和变换射线,以及将屏幕坐标转换为3D射线,适用于鼠标拾取等场景。本文详细介绍了Ray类的主要属性和方法,并提供了示例代码以帮助开发者更好

2025-05-20 08:19:42 463

原创 深入理解浏览器中的 window、document 和 window.parent

深入理解浏览器中的 window、document 和 window.parent

2025-05-15 14:26:55 306

原创 在Babylon.js中实现完美截图:包含Canvas和HTML覆盖层

在Web3D应用开发中,Babylon.js作为强大的3D引擎,常需实现包含HTML覆盖层的场景截图功能。本文探讨了如何在Babylon.js中实现完整的截图方案,特别是渐隐转场效果。基础方案使用Babylon.js的ScreenshotTools.CreateScreenshotAsync API捕获场景截图,并通过CSS transition实现渐隐效果。完整方案则结合html2canvas库,分别捕获3D场景和HTML内容,并在合成画布中精确对齐,最终显示合成结果。文章还解释了为何不能直接使用Canv

2025-05-13 21:54:49 540

原创 判断点与椭球的位置关系及计算连线交点的数学原理与Babylon.js实现

本文探讨了3D图形学中椭球与点的位置关系判断及交点计算的方法。首先,通过椭球的标准方程,定义了判别式D来确定点相对于椭球的位置(内部、表面或外部)。接着,介绍了如何计算从椭球中心到外部点连线与椭球表面的交点,涉及参数化直线方程和求解交点参数的过程。文章还提供了基于Babylon.js的TypeScript代码实现,包括位置判断和交点计算的功能,并通过可视化示例验证了算法的正确性。最后,提出了性能优化建议和应用场景,如碰撞检测、摄像机控制和特效系统等,展示了这些几何算法在游戏开发和3D图形编程中的实用价值。

2025-05-10 09:43:52 302

原创 前端部署必知:Vite构建项目的静态资源路径问题详解

前端部署必知:Vite构建项目的静态资源路径问题详解

2025-05-07 10:11:02 933

原创 深入解析 Babylon.js 中的 TransformNode.lookAt 方法

深入解析 Babylon.js 中的 TransformNode.lookAt 方法

2025-04-28 22:52:07 424

原创 实现 Babylon.js 鼠标输入管理单例 (MouseController) 的最佳实践

实现 Babylon.js 鼠标输入管理单例 (MouseController) 的最佳实践

2025-04-27 09:13:49 496

原创 TypeScript 中 Map 的全面指南:从基础到高级应用

TypeScript 中 Map 的全面指南:从基础到高级应用

2025-04-26 07:18:22 471

原创 Babylon.js 材质统一转换指南:将 AssetContainer 中的所有材质转换为 PBRMetallicRoughnessMaterial

Babylon.js 材质统一转换指南:将 AssetContainer 中的所有材质转换为 PBRMetallicRoughnessMaterial

2025-04-25 22:51:11 435

原创 从StandardMaterial和PBRMaterial到PBRMetallicRoughnessMaterial:Babylon.js材质转换完全指南

从StandardMaterial和PBRMaterial到PBRMetallicRoughnessMaterial:Babylon.js材质转换完全指南

2025-04-25 10:50:37 440

原创 TypeScript 开发实战:如何安全替换字符串中的关键字

TypeScript 开发实战:如何安全替换字符串中的关键字

2025-04-24 21:03:54 393

原创 在 Babylon.js 中实现智能异步资源加载队列管理

在 Babylon.js 中实现智能异步资源加载队列管理

2025-04-18 11:20:05 598

原创 在 Windows 上启用文件系统大小写敏感:统一开发与生产环境路径处理

在 Windows 上启用文件系统大小写敏感:统一开发与生产环境路径处理

2025-04-10 13:27:48 626

原创 Babylon.js 8.0震撼发布:全面解锁下一代Web渲染能力

Babylon.js 8.0震撼发布:全面解锁下一代Web渲染能力

2025-04-02 08:35:13 1062 1

原创 基于Babylon.js的Shader入门之七:综合案例(凹凸反射表面)

基于Babylon.js的Shader入门之七:综合案例(凹凸反射表面)

2025-03-25 12:05:13 608

原创 基于Babylon.js的Shader入门之六:让Shader反射环境贴图

基于Babylon.js的Shader入门之六:让Shader反射环境贴图

2025-03-25 08:58:38 722

转载 零基础学透 TypeScript 之39 结束语

零基础学透 TypeScript 之39 结束语

2025-03-25 08:17:13 34

转载 零基础学透 TypeScript 之38 使用TypeScript开发Vue组件和使用Vue组件

零基础学透 TypeScript 之38 使用TypeScript开发Vue组件和使用Vue组件

2025-03-24 08:52:10 42

转载 零基础学透 TypeScript 之37 搭建后台界面布局和结合Vuex实现完整登录流程

零基础学透 TypeScript 之37 搭建后台界面布局和结合Vuex实现完整登录流程

2025-03-24 08:48:44 36

转载 零基础学透 TypeScript 之36 实现登录页并用Mock响应请求

零基础学透 TypeScript 之36 实现登录页并用Mock响应请求

2025-03-24 08:43:33 48

转载 零基础学透 TypeScript 之35 封装接口请求

零基础学透 TypeScript 之35 封装接口请求

2025-03-24 08:40:08 95

转载 零基础学透 TypeScript 之34 搭建基础项目

零基础学透 TypeScript 之34 搭建基础项目

2025-03-24 08:37:23 41

转载 零基础学透 TypeScript 之33 书写声明文件之砍柴:为不同类型库书写声明文件

零基础学透 TypeScript 之33 书写声明文件之砍柴:为不同类型库书写声明文件

2025-03-24 08:33:50 28

转载 零基础学透 TypeScript 之32 书写声明文件之磨刀:识别库类型

零基础学透 TypeScript 之32 书写声明文件之磨刀:识别库类型

2025-03-24 08:31:06 27

转载 零基础学透 TypeScript 之31 逐条来看tsconfig.json配置

零基础学透 TypeScript 之31 逐条来看tsconfig.json配置

2025-03-24 08:27:54 51

转载 零基础学透 TypeScript 之30 Promise及其语法糖async和await

零基础学透 TypeScript 之30 Promise及其语法糖async和await

2025-03-24 08:24:53 167

转载 零基础学透 TypeScript 之29 对声明合并的爱与恨

零基础学透 TypeScript 之29 对声明合并的爱与恨

2025-03-24 08:19:58 22

转载 零基础学透 TypeScript 之28 混入,兼顾值和类型的合并操作

零基础学透 TypeScript 之28 混入,兼顾值和类型的合并操作

2025-03-24 08:12:24 25

转载 零基础学透 TypeScript 之27 使用命名空间封装代码

零基础学透 TypeScript 之27 使用命名空间封装代码

2025-03-24 08:10:41 41

转载 零基础学透 TypeScript 之26 使用模块封装代码

零基础学透 TypeScript 之26 使用模块封装代码

2025-03-24 08:07:37 19

转载 零基础学透 TypeScript 之25 入手装饰器,给凡人添加超能力

零基础学透 TypeScript 之25 入手装饰器,给凡人添加超能力

2025-03-24 08:05:19 333

转载 零基础学透 TypeScript 之24 条件类型,它不是三元操作符的写法吗?

零基础学透 TypeScript 之24 条件类型,它不是三元操作符的写法吗?

2025-03-23 10:01:51 43

转载 零基础学透 TypeScript 之22 使用映射类型得到新的类型

零基础学透 TypeScript 之22 使用映射类型得到新的类型

2025-03-23 09:56:15 51

转载 零基础学透 TypeScript 之21 索引类型:获取索引类型和索引值类型

零基础学透 TypeScript 之21 索引类型:获取索引类型和索引值类型

2025-03-23 09:53:40 37

转载 零基础学透 TypeScript 之20 this,类型?

零基础学透 TypeScript 之20 this,类型?

2025-03-23 09:51:19 36

转载 零基础学透 TypeScript 之19 使用可辨识联合并保证每个case都被处理

零基础学透 TypeScript 之19 使用可辨识联合并保证每个case都被处理

2025-03-23 09:49:05 21

转载 零基础学透 TypeScript 之18 类型别名和字面量类型—单调的类型

零基础学透 TypeScript 之18 类型别名和字面量类型—单调的类型

2025-03-23 09:46:56 16

转载 零基础学透 TypeScript 之17 使用显式复制断言给TS一个你一定会赋值的承诺

零基础学透 TypeScript 之17 使用显式复制断言给TS一个你一定会赋值的承诺

2025-03-23 09:44:10 23

转载 零基础学透 TypeScript 之16 使用类型保护让TS更聪明

零基础学透 TypeScript 之16 使用类型保护让TS更聪明

2025-03-23 09:42:30 24

SDL游戏开发经典教程03源代码

SDL游戏开发经典教程03源代码,来自http://lazyfoo.net/tutorials/SDL/index.php

2014-12-10

SDL游戏开发经典教程01源代码

SDL游戏开发经典教程01源代码,来自:http://lazyfoo.net/tutorials/SDL/index.php

2014-12-10

PHP5中文手册 最好用的PHP5帮助文档

最好用的PHP5帮助文档,PHP5中文手册,PHP5入门教程,PHP入门者指南,PHP速查手册

2010-09-21

CSS用户手册 css参考手册

CSS用户手册,css参考手册,css技术指南,css使用手册,css帮助指南

2009-10-19

javascript手册

javascript用户手册,javascript用户指南,javascript参考手册

2009-10-19

空空如也

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

TA关注的人

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