公司叫你写three.js 编辑器不会写,我这有思路

news2024/9/24 5:30:28

低代码------就是将一些复用的流程和操作进行封装简化使用,目前 web 二维 在市场上已经非常普遍,而web 三维低代码普及率并不是很高。

这是我早期创造three低代码内核的一个思维导图

开源地址 https://github.com/z2586300277/three-editor

预览查看 https://z2586300277.github.io/three-editor/dist/#/editor
在这里插入图片描述

想要搭建一个three.js 的低代码库一定要有以下特点:

  1. 保留three.js 原生态, 只是将three.js 内部案例功能做了一个集成,并不对底层库改变,只撰写你业务通用的逻辑。

  2. 组件化:类似于二维低代码的组件化,three.js 也可以,例如你通过繁琐操作创建了一个三维物体,你将此方法封装起来,下次使用就不用从头写,只需要一些传参就能生成这个物体,一个组件只需要耗费经历写一次,而这个组件代码并不会与其他代码有过多的交集。

  3. 高扩展性 你只是做了项目所需要的业务逻辑封装,内部场景的生命周期流程搭建一定要保留three.js 的相关扩展元素, 如 后期处理系列, 着色器系列等,或者使用者自身去扩展系列。

  4. 创造理念, 一定不是直接就从树苗长成参天大树,而是搭建了一个健康的生长体系,让使用者去搭建成一个家园。

  5. 易用性 低代码的创造一定是减少开发者的学习成本,如果让开发者 用了之后发现学习成本更高了,那这个低代码不开发也罢,封装成一个npm 包 对于这来说是一个最好的选择, 开发者使用的时候只需要知道传什么参数,然后能生成什么结果就好,完全不需要去了解内部逻辑。

  6. 通用性 一定要和以外的斩断联系,例如 vue react, 把思想放到js 上 , 这样你创造的 才会是 轻量,通用, 高效的也会避免一些问题,可以多去看看 node_modules 的每一个依赖都是如何创造的,去获取这种理念。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2081248.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何将ip地址随机更换

在数字化时代,‌IP地址作为网络身份的重要标识,‌其管理和使用方式对于个人和企业都具有重要意义。‌在某些场景下,‌如‌突破地域限制、‌数据抓取或隐私保护等,‌用户可能需要实现IP地址的随机更换。‌本文将深入探讨如何将IP地…

Citrix ADC Release 13.1 Build 54.29 (nCore, VPX, SDX, CPX, BLX) - 混合多云应用交付控制器

Citrix ADC Release 13.1 Build 54.29 (nCore, VPX, SDX, CPX, BLX) - 混合多云应用交付控制器 Citrix ADC - 混合多云应用交付控制器 请访问原文链接:https://sysin.org/blog/citrix-adc-13/,查看最新版。原创作品,转载请保留出处。 作者…

电脑开机之后进入emergency mode

电脑开机之后进入emergency mode 本章只针对统信系统 emergency mode 统信UOS Cannot open access to console. The root account is locked 故障现象 电脑开机之后进入emergency mode,提示Cannot open access to console. The root account is locked,按回车也无法进系…

SQLi-LABS 通关攻略【36-40】

SQLi-LABS 36关 1.本关依旧是宽字节注入 2.测试闭合方式 ?id1 //正常显示 ?id1 //显示错误 ?id1%df //显示错误 ?id1%df -- //显示正常 3.测试回显点 ?id-1%df%27…

海康二次开发学习笔记5-二次开发小技巧

二次开发小技巧 1. VM安装目录 Samples内包含C#,QT,VC应用程序 Documetnations内包含C#和C语言的帮助文档 2. 错误码 private void button4_Click(object sender, EventArgs e){try{VmSolution.Load(textBox1.Text);listBox1.Items.Add("方案加载成功.");listBox1.…

RAG 技术真的“烂大街”了吗?

大语言模型技术迅猛发展的脚步,正引领着信息检索技术进入一个新的纪元。在这一领域中, RAG 技术将传统信息检索技术与大语言模型技术相结合,为知识理解、知识获取提供了全新的解决方案。然而,尽管 RAG 在很多任务上表现出色&#…

高空抛物目标检测

高空抛物目标检测是一个技术领域,它关注于从高空向下抛掷或坠落的物体的自动识别和检测。这类目标检测在视频监控、安全防范以及事故预防中扮演着重要角色。 视频监控与分析:通过摄像头持续录制特定区域的视频,使用图像处理和机器学习技术分析…

大话C++:第1篇 C++语言概述

1 C简介 C是由C语言扩展升级而来,最早于1979年由本贾尼斯特劳斯特卢普在AT&T贝尔工作室研发。C在继承了C语言过程化程序设计特性的基础上,进一步扩充和完善了C语言,引入了面向对象的程序设计概念,如抽象数据类型、继承和多态…

HikariPool-1 - Exception during pool initialization报错解决

问题:HikariPool-1 - Exception during pool initialization 分析:由控制台的报错发现是连接数据库的问题,网上的解决方案均是在application.yaml文件加入下面的配置项 尝试过后报错并未解决 但发现刷新数据库竟然可以解决问题 最后报错未…

AI黑神话悟空游戏玩法,抓住流量,完爆一波

介绍 黑神话 悟空 这个游戏 这几天真的是太火了,本来呢 不打算写这方面的教程了,因为我自己对游戏不太感兴趣。 不过我们可以抓住这个热点,发展周边的内容来赚取收益,还是可以的。 据说5天销售了20亿,老外甚至为了玩…

短剧CPS分销系统搭建,3分钟快速了解入行短剧项目

目录 前言 : 一、第一分钟:什么是短剧项目? 二、第二分钟:短剧平台建设和短剧推广 第一种模式:搭建短剧分销cps系统: 第二种模式:自建剧场 买片源授权.需要办理广播证和icp证. 三、第三分钟:平台搭建…

NoSQL数据库-Redis集群详解及案例实现

一、 关系型数据库和 NoSQL 数据库 1.1 数据库主要分为两大类:关系型数据库与 NoSQL 数据库 关系型数据库,是建立在关系模型基础上的数据库,其借助于集合代数等数学概念和方法来处理数据库中的数据主流的 MySQL、Oracle、MS SQL Server 和 D…

SSM地铁智慧管理系统---附源码95798

摘要 本研究旨在基于SSM框架设计与实现地铁智慧管理系统,以提升城市地铁运营管理的效率和智能化水平。通过整合各模块的优势,包括通知公告管理、车次信息管理、检查记录管理、出行信息管理统计等功能,系统旨在实现地铁运营过程的信息化、智能…

为什么鼠标移入角色名称显示的图片随着时间走动而显示与隐藏循环

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>为什么鼠标移入角色名称显示的图片随着时间走动而…

考研系列-数据结构冲刺课复习笔记(下)

一、查找 代码可以参考: 查找算法相关代码-CSDN博客 1.顺序查找 算法: 2.折半查找 算法: 注意:查找判定树的构造!!会使用查找判定树

停车场使用反向寻车系统到底有什么好处

在繁忙的都市生活中&#xff0c;停车场早已成为现代人日常生活中不可或缺的一部分。然而&#xff0c;随着车辆数量的激增&#xff0c;如何在偌大的停车场中迅速找到自己的爱车&#xff0c;成为了许多车主头疼的问题。幸运的是&#xff0c;反向寻车系统的出现&#xff0c;如同黑…

Taichi.js 实战 WebGPU 编程

作为一名计算机图形学和编程语言极客&#xff0c;我很高兴在过去两年中参与了多个 GPU 编译器的开发。 这始于 2021 年&#xff0c;当时我开始为 taichi 做贡献&#xff0c;这是一个 Python 库&#xff0c;可将 Python 函数编译为 CUDA、Metal 或 Vulkan 中的 GPU 内核。后来&…

Linux驱动开发—创建总线,创建属性文件

文章目录 1.什么是BUS&#xff1f;1.1总线的主要概念1.2总线的操作1.3总线的实现 2.创建总线关键结构体解析2.1注册总线到系统2.2 struct bus_type *bus 解析 3.实验结果分析1. devices 目录2. drivers 目录3. drivers_autoprobe 文件4. drivers_probe 文件5. uevent 文件 4.在…

相机掉帧采集速度慢怎么办巨型帧9014

巨型帧需要改到9014 巨型帧 的英文 Jumbo Frame

【leetcode】位运算专题

文章目录 1. 位1的个数2. 汉明距离3. 判定字符是否唯一4. 丢失的数字5. 两整数之和6. 只出现一次的数字Ⅱ7. 只出现一次的数字Ⅲ8. 消失的两个数字 首先我们先来复习一下几种位运算 & 与&#xff1a;都为1&#xff0c;才为1| 或&#xff1a; 有1则1^ 异或&#xff1a;相同…