花潮论坛

搜索
热搜: 活动 交友 discuz
查看: 159|回复: 127

basic3文档

[复制链接]
  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

    发表于 2025-6-14 23:19 | 显示全部楼层 |阅读模式

    请马上登录,朋友们都在花潮里等着你哦:)

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    本帖最后由 马黑黑 于 2025-6-15 08:35 编辑

    basic3 是基于 ThreeJS 核心库进行简单封装的 ES6 模块,旨在减少前台导入 ThreeJS 核心库以及做各类准备和相关处理等工作。下面是使用方法:

    一、导入 basic3 模块

    import { THREE, scene, camera, renderer, clock, basic3, click3 } from 'https://638183.freep.cn/638183/3dev/3/3basic.js';

    花括号中,前面 5 个变量是 ThreeJS 基础变量,其中 THREE 是 ThreeJS 核心类,scene 是场景,camera 是相机,renderer 是渲染器,clock 是时钟。这些都是绘制 ThreeJS 图像的基本变量,需要一一声明、定义,basic3 已经将它们封装好、开箱即用;后面的 basic3 和 click3 是函数,后续说明。

    二、启动 basic3

    即运行 basic3() 函数,该函数是 3basic.js 模块的主函数,需要一个参数,该参数为装载 ThreeJS 图像的父元素,例如 document.body 或 id="papa" 的 div 不要引号的 id 标识符:

    basic3(); // 参数缺省,这将使用 document.body 作为 ThreeJS 图像的父元素
    // 或
    basic3(papa); // 使用 id="papa" 的 div 标签作为 ThreeJS 图像的父元素
    	

    上面两种启动 basic3 方法根据需要二选其一。

    basic3 封装的相机是常用的透视相机,参数 fov(相机视锥体竖直方向视野角度)设为 60,position(位置)设为 (0, 0, 5),可以在使用时更改,例如,在启动 basic3 之后加入代码:

    camera.fov = 45; // 视野角度
    camera.updateProjectionMatrix(); // 更新相机投影矩阵
    //修改相机位置可以直接修改,无需更新相机投影矩阵
    camera.position.set(0, 1, 5); // 修改相机位置
    	

    三、绘制 ThreeJS 图像

    下面给出一个完整的代码示例,它将绘制一个包含可控动画的立方体:

    <style>
    	#papa { margin: auto; width: 1000px; height: 600px; background: beige; position: relative; }
    </style>
    
    <div id='papa'></div>
    
    <script type="module">
    	// 导入 basic3
    	import { THREE, scene, camera, renderer, clock, basic3, click3 } from 'https://638183.freep.cn/638183/3dev/3/3basic.js';
    
    	basic3(papa); // 启动 basic3
    
    	// 绘制立方体
    	const cube = new THREE.Mesh(
    		new THREE.BoxGeometry(),
    		new THREE.MeshNormalMaterial()
    	);
    	cube.rotateX(Math.PI / 4)
    	scene.add(cube);
    
    	// 立方体动画
    	const animate = () => {
    		requestAnimationFrame(animate);
    		const delta = clock.getDelta();
    		cube.rotation.y += delta;
    		renderer.render(scene, camera);
    	};
    
    	animate(); // 运行动画
    
    	// 交互 :鼠标点击
    	papa.onclick = (e) => {
    		// click3(cube, e) 判断是否点击了cube,下同
    		if (click3(cube, e)) clock.running ? clock.stop() : clock.start();
    	}
    	// 交互 :鼠标经过
    	papa.onmousemove = (e) => {
    		papa.title = click3(cube, e) ? '播放/暂停' : '';
    		papa.style.cursor = click3(cube, e) ? 'pointer' : 'default';
    	}
    </script>
    	

    函数 click3(图像, e) 用于判断鼠标指针是否在图像内,支持多个图形参数,例如,假设还绘制了一个 ball,可以使用数组方式构建图像参数,[cube, ball] ,写成 click3([cube, ball], e);

    四、使用 ThreeJS 扩展库

    由于路径结构的限制,basic3 模块仅封装了 ThreeJS 核心库,要使用 ThreeJS 自带的扩展库,需要在 HTML 页面自行映射扩展库的路径并导入对应扩展库。以导入相机轨道扩展库为例,下面的代码演示其操作流程:

    <!-- ThreeJS库文档目录结构映射 -->
    <script type="importmap">
    {
      "imports": {
        "three": "https://638183.freep.cn/638183/3dev/build/three.module.min.js",
        "three/addons/jsm/": "https://638183.freep.cn/638183/3dev/examples/jsm/"
      }
    }
    </script>
    
    <script type="module">
    	// 导入 basic3 模块
    	import { THREE, scene, camera, renderer, clock, basic3, click3 } from 'https://638183.freep.cn/638183/3dev/3/3basic.js';
    	import { OrbitControls } from 'three/addons/jsm/controls/OrbitControls.js'; // 导入相机轨道扩展库
    
    	basic3(papa); // 启动 basic3(假设 ThreeJS 图像的父元素为 id="papa" 的 div)
    
    	const controls = new OrbitControls(camera, renderer.domElement); // 实例化轨道控制器
    
    	//...其它代码
    </script>
    	

    如此,前面绘制的立方体就可以进行手动翻转等操作。

    basic3 模块将来可能会有一些扩展,若此,届时会追加说明。

    评分

    参与人数 4威望 +160 金钱 +320 经验 +160 收起 理由
    花飞飞 + 30 + 60 + 30 很给力!
    樵歌 + 50 + 100 + 50 赞一个!
    红影 + 50 + 100 + 50 赞一个!
    杨帆 + 30 + 60 + 30 精品文章!

    查看全部评分

  • TA的每日心情
    奋斗
    2025-12-15 13:49
  • 签到天数: 395 天

    [LV.9]以坛为家II

    305

    主题

    2687

    回帖

    1万

    积分

    版主

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生鹰傲苍穹飞龙在天王者至尊大将风范花潮版主

    发表于 2025-6-15 00:09 | 显示全部楼层
    讲的真好,谢谢马老师经典分享
    ★青春是一个人的精神生命,奋斗是一个人最大的体面,学习是一个人最美的姿态。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-6-15 10:59 | 显示全部楼层
    杨帆 发表于 2025-6-15 00:09
    讲的真好,谢谢马老师经典分享

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2025-6-15 13:15 | 显示全部楼层
    导入 basic3 后,就不需要去一一声明和定义ThreeJS 的基础变量了,这样的封装带来便利
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2025-6-15 13:17 | 显示全部楼层
    “函数 click3(图像, e) 用于判断鼠标指针是否在图像内,支持多个图形参数”
    这个是ThreeJS 特有的还是所有的js都是这样
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-15 07:09
  • 签到天数: 647 天

    [LV.9]以坛为家II

    1375

    主题

    7万

    回帖

    13万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥多彩人生海样胸怀春风拂面青草情怀心曲飞扬七彩绚丽活泼开朗男儿情怀鹰傲苍穹共看流星风雨同行我心永远天长地久幸福快乐春意盎然喜乐安康心想事成周年庆指尖上的流年舞会之星情人节花潮管理

    发表于 2025-6-15 13:49 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-6-15 16:52 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-6-15 17:04 | 显示全部楼层
    红影 发表于 2025-6-15 13:17
    “函数 click3(图像, e) 用于判断鼠标指针是否在图像内,支持多个图形参数”
    这个是ThreeJS 特有的还是所 ...

    click3() 是自己编写的basic3模块辅助函数,利用 ThreeJS Raycast 类检测鼠标指针是否在指定图像的上方。最初设计为直接点击操作,所以命名为 click3,其实应该命名为 inMesh 或其它类似的语义化命名方式。

    JS有很多很多的东东,这些东东如果综合灵活运用,它们就可以帮你制作强大的东东,小到一个自定义函数,大到一个框架。ThreeJS就是利用JS的这些能耐创建出来的。

    之前讲过,和svg不同,canvas绘制出来的对象不能像HTML元素那样可以去随意操纵,比如点击操作一个SVG元素是容易的,但是点击canvas画布上的图像JS只知道是点击了画布,要知道是不是点击了指定图像需要去计算,用canvas制作图像时可以做一些准备工作去俘获指定对象的位置,这样就可以通过计算判断点击点是不是在这个指定对象上面。ThreeJS 的 Raycast 射线类能提供相机射线与图像是否相交,鼠标指针点击的点如果在射线和图像相交点集合上,那就是点击了指定对象。

    评分

    参与人数 2威望 +80 金钱 +160 经验 +80 收起 理由
    红影 + 50 + 100 + 50 赞一个!
    花飞飞 + 30 + 60 + 30 很给力!

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-6-15 17:06 | 显示全部楼层
    红影 发表于 2025-6-15 13:15
    导入 basic3 后,就不需要去一一声明和定义ThreeJS 的基础变量了,这样的封装带来便利

    这个封装多多少少减轻一点用ThreeJS做帖的工作量
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-8-5 16:33
  • 签到天数: 44 天

    [LV.5]常住居民I

    62

    主题

    1万

    回帖

    2万

    积分

    贵宾

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮美女流光溢彩优雅神秘花潮贵宾

    发表于 2025-6-15 17:43 | 显示全部楼层
    本帖最后由 花飞飞 于 2025-6-15 17:49 编辑

    启动basic3之后就直接绘制立方体了,做贴用好方便的

    看到中间关于相机的那三个参数camera.fov封在里面了,
    但需的更改立方体大小 和位置时候又可以灵活使用,
    又做到了简洁加灵活。。

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-8-5 16:33
  • 签到天数: 44 天

    [LV.5]常住居民I

    62

    主题

    1万

    回帖

    2万

    积分

    贵宾

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮美女流光溢彩优雅神秘花潮贵宾

    发表于 2025-6-15 17:55 | 显示全部楼层
    马黑黑 发表于 2025-6-15 17:04
    click3() 是自己编写的basic3模块辅助函数,利用 ThreeJS Raycast 类检测鼠标指针是否在指定图像的上方。 ...

    看来这个函数只能跟basic3配套使用。
    Raycast 射线类能提供相机射线与图像是否相交,感觉射线范围会大于图像,图像应该都是相交点集合。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-8-5 16:33
  • 签到天数: 44 天

    [LV.5]常住居民I

    62

    主题

    1万

    回帖

    2万

    积分

    贵宾

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮美女流光溢彩优雅神秘花潮贵宾

    发表于 2025-6-15 18:02 | 显示全部楼层
    之前那些扩展库也适用,功能是一点没少。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-6-15 19:00 | 显示全部楼层
    花飞飞 发表于 2025-6-15 17:43
    启动basic3之后就直接绘制立方体了,做贴用好方便的

    看到中间关于相机的那三个参数camera.fov封在里面了 ...

    简单封装,十来分钟就弄好,测试呢多花了点时间
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-6-15 19:01 | 显示全部楼层
    花飞飞 发表于 2025-6-15 17:55
    看来这个函数只能跟basic3配套使用。
    Raycast 射线类能提供相机射线与图像是否相交,感觉射线范围会大于 ...

    这个不是很精准的,大概
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-6-15 19:02 | 显示全部楼层
    花飞飞 发表于 2025-6-15 18:02
    之前那些扩展库也适用,功能是一点没少。。

    只要按说明添加即可
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-8-5 16:33
  • 签到天数: 44 天

    [LV.5]常住居民I

    62

    主题

    1万

    回帖

    2万

    积分

    贵宾

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮美女流光溢彩优雅神秘花潮贵宾

    发表于 2025-6-15 19:24 | 显示全部楼层
    马黑黑 发表于 2025-6-15 19:02
    只要按说明添加即可

    好哒。。。跟加醋加味精一样
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-8-5 16:33
  • 签到天数: 44 天

    [LV.5]常住居民I

    62

    主题

    1万

    回帖

    2万

    积分

    贵宾

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮美女流光溢彩优雅神秘花潮贵宾

    发表于 2025-6-15 19:26 | 显示全部楼层
    马黑黑 发表于 2025-6-15 19:01
    这个不是很精准的,大概

    设计这个的思路很妙
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-8-5 16:33
  • 签到天数: 44 天

    [LV.5]常住居民I

    62

    主题

    1万

    回帖

    2万

    积分

    贵宾

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮美女流光溢彩优雅神秘花潮贵宾

    发表于 2025-6-15 19:27 | 显示全部楼层
    马黑黑 发表于 2025-6-15 19:00
    简单封装,十来分钟就弄好,测试呢多花了点时间

    十来分钟就封好了。。你就是黑神
    测试是指范例效果对吧
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-6-15 20:09 | 显示全部楼层
    花飞飞 发表于 2025-6-15 19:27
    十来分钟就封好了。。你就是黑神
    测试是指范例效果对吧

    测试是多层面的,主要测试封装的东东的适应性
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-6-15 20:10 | 显示全部楼层
    花飞飞 发表于 2025-6-15 19:26
    设计这个的思路很妙

    ThreeJS提供有具体代码,二次开发者只要按规范和需求使用即可
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|手机版|Archiver|服务支持:DZ动力|huachaowang.com Inc. ( 蜀ICP备17032287号-1 )

    GMT+8, 2025-12-15 17:07 , Processed in 0.092329 second(s), 26 queries .

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表