babylon.js

ttod_qzstudio16 天前
hololens·手势追踪·babylon.js·webxr·mixed reality·表面吸附·手掌 ui
Babylon.js内置行为介绍之三:MR 交互三件套——SurfaceMagnetism + Follow + HandConstraint 实战HoloLens 3 和 Quest 3 的 MR 模式里,所有成功应用都在用这三件套:Follow 管「看」——信息总在视野黄金区;
ttod_qzstudio17 天前
babylon.js·boundingbox·gizmo
Babylon.js内置行为介绍之一:用 BoundingBoxBehavior + Gizmo 组合打造「零代码」3D 编辑器Babylon.js 自带:BoundingBoxBehavior —— 可视化包围盒 + 8 角拖拽缩放
ttod_qzstudio17 天前
生命周期·behavior·babylon.js·内存安全·非空断言
把“行为”做成乐高——Babylon.js Behavior 开发套路Babylon.js 把“逻辑”和“节点”拆成两条线:节点(Mesh/Camera/TransformNode) 负责“我在哪儿、我长啥样”;
ttod_qzstudio17 天前
babylon.js
从一个隐蔽的 Bug 谈 Babylon.js 对象生命周期管理在开发编辑器功能时,遇到了一个诡异的问题:给模型赋予新材质后,添加驱动行为时报错:更诡异的是:问题出在驱动行为类中的一行看似无害的代码:
ttod_qzstudio17 天前
babylon.js
Babylonjs中手搓OutlineLayer:替代HighlightLayer的高性能轮廓线在3D应用开发中,物体高亮选择是一个常见需求。Babylon.js提供了HighlightLayer,但在处理复杂场景时,我们可能会遇到:
ttod_qzstudio21 天前
babylon.js·mirrortexture
MirrorReflectionBehaviorEditor 开发心得:Babylon.js 镜面反射的实现与优化在 3D 编辑器开发中,镜面反射是一个既常见又充满挑战的功能。最近我实现了 MirrorReflectionBehaviorEditor,一个基于 Babylon.js 的镜面反射行为编辑器。本文将深入剖析其核心实现,重点讲解 MirrorTexture 的创建过程 和 Transform 改变的检测机制,并分享开发中的关键思考。
ttod_qzstudio22 天前
typescript·c#·重载·babylon.js
从Unity的C#到Babylon.js的typescript:“函数重载“变成“类型魔法“写给Unity开发者的Babylon.js入门指南作为一个从Unity转向Babylon.js的开发者,我第一次看到MirrorTexture构造函数时彻底懵了:
ttod_qzstudio1 个月前
babylon.js
Babylon.js TransformNode.clone() 的隐形陷阱:当 null 不等于 null在最近的项目开发中,我意外发现了Babylon.js框架中一个容易被忽视的bug:TransformNode.clone() 方法的第二个参数 newParent 在传入 null 时,并不会如文档所述将克隆对象的父节点设为null。本文将详细剖析这个问题,提供临时的解决方案,并追踪官方修复进展。
ttod_qzstudio1 个月前
babylon.js
备忘录之Babylon.js 子对象获取方法在Babylon.js中,TransformNode提供了三个常用方法来获取子对象,但它们的行为差异经常让人混淆。本文帮你理清核心区别。
ttod_qzstudio1 个月前
babylon.js
深入理解 Babylon.js:TransformNode.setParent 与 parent 赋值的核心差异在 Babylon.js 的 3D 场景开发中,节点的父子层级关系是构建复杂模型、实现精准变换控制的基础。无论是让模型跟随父节点移动,还是拆分复杂模型的变换逻辑,都离不开父节点的设置。而在实际开发中,我们常用两种方式设置节点父级:TransformNode.setParent(parent) 方法与 TransformNode.parent = parent 直接赋值。
ttod_qzstudio2 个月前
babylon.js
Babylon.js中欧拉角与四元数转换的完整指南在3D图形编程中,旋转的表示和转换是一个常见但容易出错的领域。Babylon.js作为强大的WebGL框架,提供了多种方式来表示和处理3D旋转。本文将深入探讨欧拉角(Euler Angles)和四元数(Quaternions)在Babylon.js中的相互转换,提供最标准、最可靠的实践方法。
ttod_qzstudio2 个月前
babylon.js·cull
Babylon.js 双面渲染迷雾:backFaceCulling、cullBackFaces 与 doubleSided 的三角关系解析在 3D 渲染中,"看不见的面该不该画"是个看似简单却暗藏玄机的问题。Babylon.js 的 PBRMetallicRoughnessMaterial 提供了三个相关属性,却让不少开发者陷入"我改的是哪个?为什么没效果?"的困惑。今天,我们来彻底拆解这三者的爱恨情仇。
ttod_qzstudio3 个月前
babylon.js·pbr
Babylon.js中PBRMetallicRoughnessMaterial材质系统深度解析:从基础到工程实践在3D渲染领域,基于物理的渲染(PBR)已成为行业标准。Babylon.js作为WebGL领域的领先引擎,其PBRMetallicRoughnessMaterial不仅严格遵循glTF 2.0规范,更在易用性与性能之间取得了精妙平衡。本文将综合我们此前的多轮技术探讨,系统性地拆解Babylon.js的 PBRMetallicRoughnessMaterial材质的核心机制、环境光照体系以及工程化最佳实践。
ttod_qzstudio3 个月前
nexttick·babylon.js
Babylon.js材质冻结的“双刃剑“:性能优化与IBL环境冲突的深度解析在Web 3D渲染中,性能与正确性总是一对需要精细权衡的矛盾。Babylon.js提供的Material.freeze()方法能带来高达85%的CPU减负,但在动态环境切换场景下,却可能引发材质神秘消失的致命Bug。本文基于真实工程案例,深度剖析这一冲突的根源,并提供从方案对比到生产级重构的完整解决方案。
ttod_qzstudio3 个月前
babylon.js·arcrotatecamera
Babylon.js相机交互:从 ArcRotateCamera 输入禁用说起最近在使用 Babylon.js 开发 3D 材质编辑器时,遇到了一个看似简单却困扰不少开发者的问题:如何完全禁用 ArcRotateCamera 的滚轮缩放功能?
球球和皮皮3 个月前
javascript·3d·前端框架·babylon.js
Babylon.js学习之路《添加自定义摇杆控制相机》在 Babylon.js 中,经常需要使用摇杆来控制相机的移动。 比如移动端,类似王者荣耀控制英雄移动的摇杆。 经过对比,我发现一种非常简洁、高效的实现方式。
ttod_qzstudio7 个月前
babylon.js
Babylon.js 材质克隆与纹理共享:你可能遇到的问题及解决方案在 Babylon.js 中,材质(Material)和纹理(Texture)的克隆行为可能会影响渲染性能和内存管理,尤其是在多个材质共享同一纹理的情况下。本文将探讨:
ttod_qzstudio8 个月前
babylon.js
在Babylon.js中创建3D文字:简单而强大的方法在3D场景中添加文字是许多WebGL项目的常见需求。Babylon.js提供了多种创建3D文字的方法,其中使用TextBlock结合平面网格是一种简单而高效的方式。本文将介绍如何使用Babylon.js的GUI系统在3D空间中创建美观的文字效果。
球球和皮皮8 个月前
javascript·3d·前端框架·babylon.js
Babylon.js学习之路《七、用户交互:鼠标点击、拖拽与射线检测》Babylon.js 的 ActionManager: 通过事件管理器简化交互逻辑,支持点击、悬停、拖拽等事件。
球球和皮皮9 个月前
javascript·3d·前端框架·babylon.js
Babylon.js学习之路《四、Babylon.js 中的相机(Camera)与视角控制》