跳到主要内容
3D Playground
文档

自由实验与运行时 API

自由实验

“自由实验”页提供三个模板:Three.js 场景、WebGL 2 全屏着色器、WebGPU 三角形。写好后按 ⌘/Ctrl + S 保存为代码片段,之后可以在“我的实验室”里打开、重命名或删除。示例页里的修改同样可以保存为片段;未保存的修改会作为草稿保留在本机。

沙箱

代码运行在一个隔离的 iframe 沙箱中(无法访问本站的登录状态和数据),以 ES 模块执行,支持顶层 await。每次运行都会创建全新的页面,所以不需要手动清理。

可用的导入

js
import * as THREE from "three";
import * as WEBGPU from "three/webgpu";
import { color, time } from "three/tsl";
import { OrbitControls } from "three/addons/controls/OrbitControls.js";
import GUI from "three/addons/libs/lil-gui.module.min.js";

three.js 从本站本地提供(无需外网),版本与示例一致。

PG 全局对象

  • PG.canvas:已铺满预览区的 <canvas>,直接用它创建 WebGL / WebGPU 上下文。
  • PG.status(text):在画面左下角显示一行文字,适合输出计时、结果或提示。
  • console.log / warn / error:输出到“控制台”标签,错误会在标签上显示红色计数。

暂停与帧率

工具栏的暂停按钮(快捷键 P)会冻结所有 requestAnimationFrame 回调;右上角状态胶囊显示实时帧率。