fix(Docs): update .gitignore

This commit is contained in:
ErSan 2025-10-06 19:55:42 +08:00
parent 51c5c78626
commit 2f95d97178
150 changed files with 2 additions and 3044 deletions

View File

@ -1,4 +1,4 @@
node_modules
src/.vuepress/cache
src/.vuepress/.cache
src/.vuepress/dist
src/.vuepress/temp
src/.vuepress/.temp

File diff suppressed because one or more lines are too long

View File

@ -1,7 +0,0 @@
import { GitContributors } from "D:/A-Ersan/astraljs/Astral3D/node_modules/.pnpm/@vuepress+plugin-git@2.0.0-_3888087f136caca2e6182a3f7923d60b/node_modules/@vuepress/plugin-git/lib/client/components/GitContributors.js";
export default {
enhance: ({ app }) => {
app.component("GitContributors", GitContributors);
},
};

View File

@ -1,2 +0,0 @@
import './articleTagColors.css'
export const articleTagColors = {}

View File

@ -1 +0,0 @@
export const blogPostData = [{"path":"/promotion/","title":"推广中心","categoryList":[],"createTime":"2025/10/04 19:34:07","lang":"zh-CN","excerpt":""},{"path":"/questions/","title":"常见问题","categoryList":[],"createTime":"2025/02/20 16:19:54","lang":"zh-CN","excerpt":""}]

View File

@ -1,27 +0,0 @@
import * as clientConfig0 from 'D:/A-Ersan/astraljs/Astral3D/node_modules/.pnpm/@vuepress-plume+plugin-font_57d2a5ed8174cdd689a0c01cc1570add/node_modules/@vuepress-plume/plugin-fonts/lib/client/config.js'
import * as clientConfig1 from 'D:/A-Ersan/astraljs/Astral3D/node_modules/.pnpm/@vuepress+plugin-copy-code@_a0256e22abe8f1e188ed9327038db869/node_modules/@vuepress/plugin-copy-code/lib/client/config.js'
import * as clientConfig2 from 'D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/shiki/config.js'
import * as clientConfig3 from 'D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/md-power/config.js'
import * as clientConfig4 from 'D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/markdown-math/config.js'
import * as clientConfig5 from 'D:/A-Ersan/astraljs/Astral3D/node_modules/.pnpm/@vuepress+plugin-nprogress@_6a81f5149c8e02fe27bc022b3cc82e96/node_modules/@vuepress/plugin-nprogress/lib/client/config.js'
import * as clientConfig6 from 'D:/A-Ersan/astraljs/Astral3D/node_modules/.pnpm/@vuepress+plugin-photo-swip_3e10a5606c8980d93749ef1da6fd795c/node_modules/@vuepress/plugin-photo-swipe/lib/client/config.js'
import * as clientConfig7 from 'D:/A-Ersan/astraljs/Astral3D/node_modules/.pnpm/@vuepress+plugin-comment@2._d6678c25be023e406eb131de93f5d9f4/node_modules/@vuepress/plugin-comment/lib/client/config.js'
import * as clientConfig8 from 'D:/A-Ersan/astraljs/Astral3D/node_modules/.pnpm/@vuepress-plume+plugin-sear_a8411ee8221f594d395ace93c87de572/node_modules/@vuepress-plume/plugin-search/lib/client/config.js'
import * as clientConfig9 from 'D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/git/config.js'
import * as clientConfig10 from 'D:/A-Ersan/astraljs/Astral3D/node_modules/.pnpm/vuepress-theme-plume@1.0.0-_f74d1d42b810bb0e55305dbb3a3efd52/node_modules/vuepress-theme-plume/lib/client/config.js'
import * as clientConfig11 from 'D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/client.ts'
export const clientConfigs = [
clientConfig0,
clientConfig1,
clientConfig2,
clientConfig3,
clientConfig4,
clientConfig5,
clientConfig6,
clientConfig7,
clientConfig8,
clientConfig9,
clientConfig10,
clientConfig11,
].map((m) => m.default).filter(Boolean)

View File

@ -1 +0,0 @@
export const encrypt = [false,":","",[],{}]

View File

@ -1 +0,0 @@
export const icons = "{}"

View File

@ -1 +0,0 @@
export const searchIndex = {"/": () => import('@internal/minisearchIndex/searchBox-default.js')}

File diff suppressed because one or more lines are too long

View File

@ -1,70 +0,0 @@
export const redirects = JSON.parse("{\"/promotion.html\":\"/promotion/\",\"/questions.html\":\"/questions/\",\"/notes/guide/%E4%BB%8B%E7%BB%8D.html\":\"/guide/6xkx4dnv/\",\"/notes/guide/%E9%83%A8%E7%BD%B2.html\":\"/guide/n6o11owv/\",\"/notes/guide/plugins/%E5%85%A5%E9%97%A8.html\":\"/guide/plugin/31eucyqc/\",\"/notes/guide/plugins/%E6%8F%92%E4%BB%B6%E5%BC%80%E5%8F%91.html\":\"/guide/plugin/7ro8hsc0/\",\"/notes/update/logs/\":\"/update/096h956m/\",\"/notes/update/logs/_2023_02.html\":\"/update/98pjt8xt/\",\"/notes/update/logs/_2023_03.html\":\"/update/moioo5zp/\",\"/notes/update/logs/_2023_04.html\":\"/update/ycbwubyy/\",\"/notes/update/logs/_2023_05.html\":\"/update/sfp23i9i/\",\"/notes/update/logs/_2023_07.html\":\"/update/dbofligs/\",\"/notes/update/logs/_2023_08.html\":\"/update/oju4gahd/\",\"/notes/update/logs/_2024_03.html\":\"/update/xis3xfo2/\",\"/notes/update/logs/_2024_04.html\":\"/update/doebw5ta/\",\"/notes/update/logs/_2024_05.html\":\"/update/oeg8mvgy/\",\"/notes/update/logs/_2024_06.html\":\"/update/t48csw55/\",\"/notes/update/logs/_2024_07.html\":\"/update/8znubzxf/\",\"/notes/update/logs/_2024_08.html\":\"/update/64cj5dsm/\",\"/notes/update/logs/_2024_09.html\":\"/update/efnqd97u/\",\"/notes/update/logs/_2024_10.html\":\"/update/elfg1zow/\",\"/notes/update/logs/_2024_11.html\":\"/update/6k8gige3/\",\"/notes/update/logs/_2024_12.html\":\"/update/rw89vgwo/\",\"/notes/update/logs/_2025_01.html\":\"/update/wjdm5npt/\",\"/notes/update/logs/_2025_02.html\":\"/update/khikfd9q/\",\"/notes/update/logs/_2025_03.html\":\"/update/fi34hwb4/\",\"/notes/update/logs/_2025_04.html\":\"/update/xnmgi5kk/\",\"/notes/update/logs/_2025_05.html\":\"/update/ptvud2e5/\",\"/notes/update/logs/_2025_06.html\":\"/update/ptv58fgr/\",\"/notes/guide/manual/editor/%E7%95%8C%E9%9D%A2.html\":\"/guide/swepocsg/\",\"/notes/guide/manual/editor/%E9%A1%B6%E6%A0%8F.html\":\"/guide/f7smai4w/\",\"/notes/guide/manual/home/%E6%95%B0%E6%8D%AE%E4%B8%AD%E5%BF%83.html\":\"/guide/v0m2jmb5/\",\"/notes/guide/manual/home/%E8%AE%BE%E7%BD%AE%E4%B8%AD%E5%BF%83.html\":\"/guide/sekzh2c0/\",\"/notes/guide/manual/home/%E8%B5%84%E6%BA%90%E4%B8%AD%E5%BF%83.html\":\"/guide/4tirtbsc/\",\"/notes/guide/manual/home/%E9%A1%B9%E7%9B%AE.html\":\"/guide/dbd366ps/\",\"/notes/guide/manual/preview/%E7%95%8C%E9%9D%A2.html\":\"/guide/chhmeza7/\",\"/notes/guide/plugins/builtin/glTFHandler.html\":\"/guide/plugin/builtin/jo87cfk0/\",\"/notes/guide/manual/editor/extras/%E5%8A%A8%E7%94%BB%E7%BC%96%E8%BE%91%E5%99%A8.html\":\"/guide/5s7acuj0/\",\"/notes/guide/manual/editor/extras/%E6%97%A5%E5%BF%97.html\":\"/guide/0q1bxrub/\",\"/notes/guide/manual/editor/extras/%E8%B5%84%E6%BA%90%E4%B8%AD%E5%BF%83.html\":\"/guide/dju4ekca/\",\"/notes/guide/manual/editor/leftSidebar/BIM%E8%BD%BB%E9%87%8F%E5%8C%96.html\":\"/guide/rf1xgf4z/\",\"/notes/guide/manual/editor/leftSidebar/CAD%E8%A7%A3%E6%9E%90%E9%A2%84%E8%A7%88.html\":\"/guide/u1631nwk/\",\"/notes/guide/manual/editor/leftSidebar/%E5%9C%BA%E6%99%AF%E6%A0%91.html\":\"/guide/rzqb0h0l/\",\"/notes/guide/manual/editor/rightSidebar/Html%E9%9D%A2%E6%9D%BF.html\":\"/guide/kk5cv2ij/\",\"/notes/guide/manual/editor/rightSidebar/%E5%87%A0%E4%BD%95.html\":\"/guide/nct00cif/\",\"/notes/guide/manual/editor/rightSidebar/%E5%8A%A8%E7%94%BB.html\":\"/guide/g3kxptm0/\",\"/notes/guide/manual/editor/rightSidebar/%E5%8E%86%E5%8F%B2%E8%AE%B0%E5%BD%95.html\":\"/guide/ae7ufigr/\",\"/notes/guide/manual/editor/rightSidebar/%E5%90%8E%E6%9C%9F%E5%A4%84%E7%90%86.html\":\"/guide/l8hd921o/\",\"/notes/guide/manual/editor/rightSidebar/%E5%9C%BA%E6%99%AF%E5%9B%BE%E7%BA%B8.html\":\"/guide/ta6draim/\",\"/notes/guide/manual/editor/rightSidebar/%E5%9C%BA%E6%99%AF%E9%85%8D%E7%BD%AE.html\":\"/guide/pnmbue0k/\",\"/notes/guide/manual/editor/rightSidebar/%E5%A4%A9%E6%B0%94.html\":\"/guide/fn9xwbkf/\",\"/notes/guide/manual/editor/rightSidebar/%E5%AF%B9%E8%B1%A1.html\":\"/guide/2xlh6nrf/\",\"/notes/guide/manual/editor/rightSidebar/%E5%B9%BF%E5%91%8A%E7%89%8C.html\":\"/guide/18al65zg/\",\"/notes/guide/manual/editor/rightSidebar/%E6%9D%90%E8%B4%A8.html\":\"/guide/l1df4723/\",\"/notes/guide/manual/editor/rightSidebar/%E6%B8%B2%E6%9F%93%E5%99%A8%E9%85%8D%E7%BD%AE.html\":\"/guide/crvssx6j/\",\"/notes/guide/manual/editor/rightSidebar/%E7%B2%92%E5%AD%90.html\":\"/guide/siz46vj0/\",\"/notes/guide/manual/editor/rightSidebar/%E8%84%9A%E6%9C%AC.html\":\"/guide/component/h4v1bkyh/\",\"/notes/guide/manual/editor/viewport/2D%E5%9B%BE%E7%BA%B8.html\":\"/guide/7eo51kfy/\",\"/notes/guide/manual/editor/viewport/3D%E5%9C%BA%E6%99%AF.html\":\"/guide/jkg3yahd/\"}")
export const routes = Object.fromEntries([
["/promotion/", { loader: () => import(/* webpackChunkName: "promotion_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/promotion/index.html.js"), meta: {"title":"推广中心"} }],
["/questions/", { loader: () => import(/* webpackChunkName: "questions_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/questions/index.html.js"), meta: {"title":"常见问题"} }],
["/", { loader: () => import(/* webpackChunkName: "index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/index.html.js"), meta: {"title":""} }],
["/guide/6xkx4dnv/", { loader: () => import(/* webpackChunkName: "guide_6xkx4dnv_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/6xkx4dnv/index.html.js"), meta: {"title":"介绍"} }],
["/guide/n6o11owv/", { loader: () => import(/* webpackChunkName: "guide_n6o11owv_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/n6o11owv/index.html.js"), meta: {"title":"部署(待更新)"} }],
["/notes/sdk/", { loader: () => import(/* webpackChunkName: "notes_sdk_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/notes/sdk/index.html.js"), meta: {"title":"🍉 暂未编写"} }],
["/guide/plugin/31eucyqc/", { loader: () => import(/* webpackChunkName: "guide_plugin_31eucyqc_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/plugin/31eucyqc/index.html.js"), meta: {"title":"入门"} }],
["/guide/plugin/7ro8hsc0/", { loader: () => import(/* webpackChunkName: "guide_plugin_7ro8hsc0_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/plugin/7ro8hsc0/index.html.js"), meta: {"title":"插件开发"} }],
["/update/096h956m/", { loader: () => import(/* webpackChunkName: "update_096h956m_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/update/096h956m/index.html.js"), meta: {"title":"更新日志"} }],
["/update/98pjt8xt/", { loader: () => import(/* webpackChunkName: "update_98pjt8xt_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/update/98pjt8xt/index.html.js"), meta: {"title":"2月"} }],
["/update/moioo5zp/", { loader: () => import(/* webpackChunkName: "update_moioo5zp_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/update/moioo5zp/index.html.js"), meta: {"title":"3月"} }],
["/update/ycbwubyy/", { loader: () => import(/* webpackChunkName: "update_ycbwubyy_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/update/ycbwubyy/index.html.js"), meta: {"title":"4月"} }],
["/update/sfp23i9i/", { loader: () => import(/* webpackChunkName: "update_sfp23i9i_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/update/sfp23i9i/index.html.js"), meta: {"title":"5月"} }],
["/update/dbofligs/", { loader: () => import(/* webpackChunkName: "update_dbofligs_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/update/dbofligs/index.html.js"), meta: {"title":"7月"} }],
["/update/oju4gahd/", { loader: () => import(/* webpackChunkName: "update_oju4gahd_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/update/oju4gahd/index.html.js"), meta: {"title":"8月"} }],
["/update/xis3xfo2/", { loader: () => import(/* webpackChunkName: "update_xis3xfo2_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/update/xis3xfo2/index.html.js"), meta: {"title":"3月"} }],
["/update/doebw5ta/", { loader: () => import(/* webpackChunkName: "update_doebw5ta_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/update/doebw5ta/index.html.js"), meta: {"title":"4月"} }],
["/update/oeg8mvgy/", { loader: () => import(/* webpackChunkName: "update_oeg8mvgy_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/update/oeg8mvgy/index.html.js"), meta: {"title":"5月"} }],
["/update/t48csw55/", { loader: () => import(/* webpackChunkName: "update_t48csw55_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/update/t48csw55/index.html.js"), meta: {"title":"6月"} }],
["/update/8znubzxf/", { loader: () => import(/* webpackChunkName: "update_8znubzxf_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/update/8znubzxf/index.html.js"), meta: {"title":"7月"} }],
["/update/64cj5dsm/", { loader: () => import(/* webpackChunkName: "update_64cj5dsm_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/update/64cj5dsm/index.html.js"), meta: {"title":"8月"} }],
["/update/efnqd97u/", { loader: () => import(/* webpackChunkName: "update_efnqd97u_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/update/efnqd97u/index.html.js"), meta: {"title":"9月"} }],
["/update/elfg1zow/", { loader: () => import(/* webpackChunkName: "update_elfg1zow_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/update/elfg1zow/index.html.js"), meta: {"title":"10月"} }],
["/update/6k8gige3/", { loader: () => import(/* webpackChunkName: "update_6k8gige3_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/update/6k8gige3/index.html.js"), meta: {"title":"11月"} }],
["/update/rw89vgwo/", { loader: () => import(/* webpackChunkName: "update_rw89vgwo_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/update/rw89vgwo/index.html.js"), meta: {"title":"12月"} }],
["/update/wjdm5npt/", { loader: () => import(/* webpackChunkName: "update_wjdm5npt_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/update/wjdm5npt/index.html.js"), meta: {"title":"1月"} }],
["/update/khikfd9q/", { loader: () => import(/* webpackChunkName: "update_khikfd9q_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/update/khikfd9q/index.html.js"), meta: {"title":"2月"} }],
["/update/fi34hwb4/", { loader: () => import(/* webpackChunkName: "update_fi34hwb4_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/update/fi34hwb4/index.html.js"), meta: {"title":"3月"} }],
["/update/xnmgi5kk/", { loader: () => import(/* webpackChunkName: "update_xnmgi5kk_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/update/xnmgi5kk/index.html.js"), meta: {"title":"4月"} }],
["/update/ptvud2e5/", { loader: () => import(/* webpackChunkName: "update_ptvud2e5_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/update/ptvud2e5/index.html.js"), meta: {"title":"5月"} }],
["/update/ptv58fgr/", { loader: () => import(/* webpackChunkName: "update_ptv58fgr_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/update/ptv58fgr/index.html.js"), meta: {"title":"6月"} }],
["/guide/swepocsg/", { loader: () => import(/* webpackChunkName: "guide_swepocsg_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/swepocsg/index.html.js"), meta: {"title":"界面"} }],
["/guide/f7smai4w/", { loader: () => import(/* webpackChunkName: "guide_f7smai4w_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/f7smai4w/index.html.js"), meta: {"title":"顶栏"} }],
["/guide/v0m2jmb5/", { loader: () => import(/* webpackChunkName: "guide_v0m2jmb5_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/v0m2jmb5/index.html.js"), meta: {"title":"数据中心"} }],
["/guide/sekzh2c0/", { loader: () => import(/* webpackChunkName: "guide_sekzh2c0_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/sekzh2c0/index.html.js"), meta: {"title":"设置中心"} }],
["/guide/4tirtbsc/", { loader: () => import(/* webpackChunkName: "guide_4tirtbsc_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/4tirtbsc/index.html.js"), meta: {"title":"资源中心"} }],
["/guide/dbd366ps/", { loader: () => import(/* webpackChunkName: "guide_dbd366ps_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/dbd366ps/index.html.js"), meta: {"title":"项目"} }],
["/guide/chhmeza7/", { loader: () => import(/* webpackChunkName: "guide_chhmeza7_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/chhmeza7/index.html.js"), meta: {"title":"界面"} }],
["/guide/plugin/builtin/jo87cfk0/", { loader: () => import(/* webpackChunkName: "guide_plugin_builtin_jo87cfk0_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/plugin/builtin/jo87cfk0/index.html.js"), meta: {"title":"glTF 处理器"} }],
["/guide/5s7acuj0/", { loader: () => import(/* webpackChunkName: "guide_5s7acuj0_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/5s7acuj0/index.html.js"), meta: {"title":"动画编辑器"} }],
["/guide/0q1bxrub/", { loader: () => import(/* webpackChunkName: "guide_0q1bxrub_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/0q1bxrub/index.html.js"), meta: {"title":"日志"} }],
["/guide/dju4ekca/", { loader: () => import(/* webpackChunkName: "guide_dju4ekca_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/dju4ekca/index.html.js"), meta: {"title":"资源中心"} }],
["/guide/rf1xgf4z/", { loader: () => import(/* webpackChunkName: "guide_rf1xgf4z_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/rf1xgf4z/index.html.js"), meta: {"title":"BIM轻量化"} }],
["/guide/u1631nwk/", { loader: () => import(/* webpackChunkName: "guide_u1631nwk_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/u1631nwk/index.html.js"), meta: {"title":"CAD解析预览"} }],
["/guide/rzqb0h0l/", { loader: () => import(/* webpackChunkName: "guide_rzqb0h0l_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/rzqb0h0l/index.html.js"), meta: {"title":"场景树"} }],
["/guide/kk5cv2ij/", { loader: () => import(/* webpackChunkName: "guide_kk5cv2ij_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/kk5cv2ij/index.html.js"), meta: {"title":"Html面板"} }],
["/guide/nct00cif/", { loader: () => import(/* webpackChunkName: "guide_nct00cif_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/nct00cif/index.html.js"), meta: {"title":"几何"} }],
["/guide/g3kxptm0/", { loader: () => import(/* webpackChunkName: "guide_g3kxptm0_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/g3kxptm0/index.html.js"), meta: {"title":"动画"} }],
["/guide/ae7ufigr/", { loader: () => import(/* webpackChunkName: "guide_ae7ufigr_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/ae7ufigr/index.html.js"), meta: {"title":"历史记录"} }],
["/guide/l8hd921o/", { loader: () => import(/* webpackChunkName: "guide_l8hd921o_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/l8hd921o/index.html.js"), meta: {"title":"后期处理"} }],
["/guide/ta6draim/", { loader: () => import(/* webpackChunkName: "guide_ta6draim_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/ta6draim/index.html.js"), meta: {"title":"场景图纸"} }],
["/guide/pnmbue0k/", { loader: () => import(/* webpackChunkName: "guide_pnmbue0k_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/pnmbue0k/index.html.js"), meta: {"title":"场景配置"} }],
["/guide/fn9xwbkf/", { loader: () => import(/* webpackChunkName: "guide_fn9xwbkf_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/fn9xwbkf/index.html.js"), meta: {"title":"天气"} }],
["/guide/2xlh6nrf/", { loader: () => import(/* webpackChunkName: "guide_2xlh6nrf_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/2xlh6nrf/index.html.js"), meta: {"title":"对象"} }],
["/guide/18al65zg/", { loader: () => import(/* webpackChunkName: "guide_18al65zg_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/18al65zg/index.html.js"), meta: {"title":"广告牌"} }],
["/guide/l1df4723/", { loader: () => import(/* webpackChunkName: "guide_l1df4723_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/l1df4723/index.html.js"), meta: {"title":"材质"} }],
["/guide/crvssx6j/", { loader: () => import(/* webpackChunkName: "guide_crvssx6j_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/crvssx6j/index.html.js"), meta: {"title":"渲染器配置"} }],
["/guide/siz46vj0/", { loader: () => import(/* webpackChunkName: "guide_siz46vj0_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/siz46vj0/index.html.js"), meta: {"title":"粒子"} }],
["/guide/component/h4v1bkyh/", { loader: () => import(/* webpackChunkName: "guide_component_h4v1bkyh_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/component/h4v1bkyh/index.html.js"), meta: {"title":"脚本"} }],
["/guide/7eo51kfy/", { loader: () => import(/* webpackChunkName: "guide_7eo51kfy_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/7eo51kfy/index.html.js"), meta: {"title":"2D图纸"} }],
["/guide/jkg3yahd/", { loader: () => import(/* webpackChunkName: "guide_jkg3yahd_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/jkg3yahd/index.html.js"), meta: {"title":"3D场景"} }],
["/404.html", { loader: () => import(/* webpackChunkName: "404.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/404.html.js"), meta: {"title":""} }],
["/blog/", { loader: () => import(/* webpackChunkName: "blog_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/blog/index.html.js"), meta: {"title":"博客"} }],
["/blog/tags/", { loader: () => import(/* webpackChunkName: "blog_tags_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/blog/tags/index.html.js"), meta: {"title":"标签"} }],
["/blog/archives/", { loader: () => import(/* webpackChunkName: "blog_archives_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/blog/archives/index.html.js"), meta: {"title":"归档"} }],
["/blog/categories/", { loader: () => import(/* webpackChunkName: "blog_categories_index.html" */"D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/blog/categories/index.html.js"), meta: {"title":"分类"} }],
]);

View File

@ -1 +0,0 @@
export const sidebar = {"/":{"/update":{"items":[{"text":"2025年","collapsed":false,"icon":"carbon:calendar","items":["_2025_01","_2025_02","_2025_03","_2025_04","_2025_05","_2025_06"]},{"text":"2024年","collapsed":false,"icon":"carbon:calendar","items":["_2024_03","_2024_04","_2024_05","_2024_06","_2024_07","_2024_08","_2024_09","_2024_10","_2024_11","_2024_12"]},{"text":"2023年","collapsed":false,"icon":"carbon:calendar","items":["_2023_02","_2023_03","_2023_04","_2023_05","_2023_07","_2023_08"]}],"prefix":"/notes/update/logs/"},"/update/plan":{"items":"auto","prefix":"/notes/update/plan/"},"/guide":{"items":[{"text":"快速入门","collapsed":false,"icon":"carbon:lightning","items":["介绍","部署"]},{"text":"编辑器使用手册","collapsed":false,"prefix":"manual","icon":"carbon:apps","items":[{"text":"首页","collapsed":true,"prefix":"home","items":["项目","数据中心","资源中心","设置中心"]},{"text":"编辑器","collapsed":false,"prefix":"editor","items":["界面","顶栏",{"text":"左侧边栏","collapsed":false,"prefix":"leftSidebar","items":["场景树","CAD解析预览","BIM轻量化"]},{"text":"视口","collapsed":false,"prefix":"viewport","items":["2D图纸","3D场景"]},{"text":"扩展栏","collapsed":false,"prefix":"extras","items":["资源中心","动画编辑器","日志"]},{"text":"右侧边栏","collapsed":false,"prefix":"rightSidebar","items":["场景配置","渲染器配置","后期处理","天气","历史记录","场景图纸","对象","几何","材质","动画","脚本","粒子","广告牌","Html面板"]}]},{"text":"预览页","collapsed":true,"prefix":"preview","items":["界面"]}]},{"text":"插件系统","collapsed":false,"prefix":"plugins","icon":"carbon:lightning","items":["入门","插件开发",{"text":"内置插件","collapsed":false,"prefix":"builtin","icon":"carbon:plug","items":["glTFHandler"]}]}],"prefix":"/notes/guide/"}},"__auto__":{"/notes/update/plan/":[]},"__home__":{}}

View File

@ -1 +0,0 @@
export const siteData = JSON.parse("{\"base\":\"/\",\"lang\":\"zh-CN\",\"title\":\"Astral3D\",\"description\":\"Astral3D 文档\",\"head\":[[\"link\",{\"rel\":\"icon\",\"type\":\"image/png\",\"href\":\"/logo64x64.png\"}]],\"locales\":{}}")

View File

@ -1 +0,0 @@
export const themeData = {"locales":{"/":{"selectLanguageName":"简体中文","selectLanguageText":"选择语言","appearanceText":"外观","lightModeSwitchTitle":"切换为浅色主题","darkModeSwitchTitle":"切换为深色主题","outlineLabel":"此页内容","returnToTopLabel":"返回顶部","editLinkText":"编辑此页","contributorsText":"贡献者","prevPageLabel":"上一页","nextPageLabel":"下一页","lastUpdatedText":"最后更新于","changelogText":"变更历史","changelogOnText":"于","changelogButtonText":"查看全部变更历史","copyrightText":"版权所有","copyrightAuthorText":"版权归属:","copyrightCreationOriginalText":"本文链接:","copyrightCreationTranslateText":"本文翻译自:","copyrightCreationReprintText":"本文转载自:","copyrightLicenseText":"许可证:","notFound":{"code":"404","title":"页面未找到","quote":"但是,如果你不改变方向,并且一直寻找,最终可能会到达你要去的地方。","linkText":"返回首页"},"homeText":"首页","blogText":"博客","tagText":"标签","archiveText":"归档","categoryText":"分类","archiveTotalText":"{count} 篇","encryptButtonText":"确认","encryptPlaceholder":"请输入密码","encryptGlobalText":"本站只允许密码访问","encryptPageText":"本页面只允许密码访问","footer":{"message":"","copyright":"Copyright © 2023-present <a target=\"_blank\" href=\"https://github.com/mlt131220\">ErSan <mlt131220@163.com></a>"},"logo":"/logo64x64.png","social":[{"icon":"github","link":"https://github.com/mlt131220/Astral3D"}],"copyright":true,"prevPage":true,"nextPage":true,"createTime":true,"profile":{"avatar":"/logo64x64.png","name":"Astral3D","description":"Astral3D 文档"},"bulletin":{"lifetime":"session","contentType":"markdown","id":"51042952","content":"<div style=\"text-align:center\"><p><strong>QQ 交流群:</strong> <a href=\"https://qm.qq.com/cgi-bin/qm/qr?k=Ewp9bODHFFaY6yphwEzmSe4lv889WbjR&amp;jump_from=webapi&amp;authKey=5gUSKPjhnXjhIy3pudNN/9igLNGxEwnN8yiXEDnEalE9loBQ4lEtVISG8OyXWmx8\" target=\"_blank\" rel=\"noopener noreferrer\">1040320579</a></p>\n<p><img src=\"/images/qq_qrcode.jpg\" alt=\"QQ qr_code\" width=\"618\" height=\"616\" style=\"width: 200px\"></p>\n<p>您在使用过程中遇到任何问题,欢迎通过 <a href=\"https://github.com/mlt131220/Astral3D/issues/new\" target=\"_blank\" rel=\"noopener noreferrer\">issue</a> 反馈。也欢迎加入我们的 QQ 交流群一起讨论。</p>\n<blockquote>\n<p>🔥 4核8G 200兆服务器仅需49元/月,<a href=\"https://www.rainyun.com/Astral3D_\" target=\"_blank\" rel=\"noopener noreferrer\">点击这里购买</a><br>\n专属优惠码Astral3D</p>\n</blockquote>\n</div>"},"navbar":[{"text":"指南","icon":"icon-park-outline:guide-board","link":"/notes/guide/介绍.md"},{"text":"SDK","link":"/notes/sdk/README.md","icon":"carbon:api"},{"text":"推广中心","link":"/promotion/","icon":"mdi:star-shooting-outline"},{"text":"更多","icon":"icon-park-outline:more-three","items":[{"text":"常见问题","link":"/questions/","icon":"wpf:faq"}]},{"text":"1.0.0","icon":"codicon:versions","items":[{"text":"更新日志","link":"/notes/update/logs/"}]}]}},"appearance":true,"blog":{"pagination":15,"postList":true,"tags":true,"archives":true,"categories":true,"link":"/blog/","tagsLink":"/blog/tags/","archivesLink":"/blog/archives/","categoriesLink":"/blog/categories/"},"navbarSocialInclude":["github","twitter","discord","facebook"],"aside":true,"outline":[2,3],"externalLinkIcon":true,"editLink":true,"prevPage":true,"nextPage":true,"footer":{"message":"","copyright":"Copyright © 2023-present <a target=\"_blank\" href=\"https://github.com/mlt131220\">ErSan <mlt131220@163.com></a>"},"logo":"/logo64x64.png","social":[{"icon":"github","link":"https://github.com/mlt131220/Astral3D"}],"copyright":true,"createTime":true,"profile":{"avatar":"/logo64x64.png","name":"Astral3D","description":"Astral3D 文档"},"contributors":true,"changelog":false,"bulletin":{"lifetime":"session","contentType":"markdown","id":"51042952","content":"<div style=\"text-align:center\"><p><strong>QQ 交流群:</strong> <a href=\"https://qm.qq.com/cgi-bin/qm/qr?k=Ewp9bODHFFaY6yphwEzmSe4lv889WbjR&amp;jump_from=webapi&amp;authKey=5gUSKPjhnXjhIy3pudNN/9igLNGxEwnN8yiXEDnEalE9loBQ4lEtVISG8OyXWmx8\" target=\"_blank\" rel=\"noopener noreferrer\">1040320579</a></p>\n<p><img src=\"/images/qq_qrcode.jpg\" alt=\"QQ qr_code\" width=\"618\" height=\"616\" style=\"width: 200px\"></p>\n<p>您在使用过程中遇到任何问题,欢迎通过 <a href=\"https://github.com/mlt131220/Astral3D/issues/new\" target=\"_blank\" rel=\"noopener noreferrer\">issue</a> 反馈。也欢迎加入我们的 QQ 交流群一起讨论。</p>\n<blockquote>\n<p>🔥 4核8G 200兆服务器仅需49元/月,<a href=\"https://www.rainyun.com/Astral3D_\" target=\"_blank\" rel=\"noopener noreferrer\">点击这里购买</a><br>\n专属优惠码Astral3D</p>\n</blockquote>\n</div>"}}

View File

@ -1,2 +0,0 @@
import "D:/A-Ersan/astraljs/Astral3D/node_modules/.pnpm/katex@0.16.22/node_modules/katex/dist/katex.min.css";
import "D:/A-Ersan/astraljs/Astral3D/node_modules/.pnpm/@vuepress+plugin-markdown-m_abd83ca7e483db759c316333198c3244/node_modules/@vuepress/plugin-markdown-math/lib/client/styles/katex.css";

View File

@ -1,21 +0,0 @@
import { defineClientConfig } from 'vuepress/client'
import Tabs from 'D:/A-Ersan/astraljs/Astral3D/node_modules/.pnpm/vuepress-plugin-md-power@1._2c87109d6cd5f186736a72942ca145fb/node_modules/vuepress-plugin-md-power/lib/client/components/Tabs.vue'
import CodeTabs from 'D:/A-Ersan/astraljs/Astral3D/node_modules/.pnpm/vuepress-plugin-md-power@1._2c87109d6cd5f186736a72942ca145fb/node_modules/vuepress-plugin-md-power/lib/client/components/CodeTabs.vue'
import Plot from 'D:/A-Ersan/astraljs/Astral3D/node_modules/.pnpm/vuepress-plugin-md-power@1._2c87109d6cd5f186736a72942ca145fb/node_modules/vuepress-plugin-md-power/lib/client/components/Plot.vue'
import FileTreeNode from 'D:/A-Ersan/astraljs/Astral3D/node_modules/.pnpm/vuepress-plugin-md-power@1._2c87109d6cd5f186736a72942ca145fb/node_modules/vuepress-plugin-md-power/lib/client/components/FileTreeNode.vue'
import Annotation from 'D:/A-Ersan/astraljs/Astral3D/node_modules/.pnpm/vuepress-plugin-md-power@1._2c87109d6cd5f186736a72942ca145fb/node_modules/vuepress-plugin-md-power/lib/client/components/Annotation.vue'
import 'D:/A-Ersan/astraljs/Astral3D/node_modules/.pnpm/vuepress-plugin-md-power@1._2c87109d6cd5f186736a72942ca145fb/node_modules/vuepress-plugin-md-power/lib/client/styles/index.css'
export default defineClientConfig({
enhance({ router, app }) {
app.component('Tabs', Tabs)
app.component('CodeTabs', CodeTabs)
app.component('Plot', Plot)
app.component('FileTreeNode', FileTreeNode)
app.component('Annotation', Annotation)
},
setup() {
}
})

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/404.html.vue"
const data = JSON.parse("{\"path\":\"/404.html\",\"title\":\"\",\"lang\":\"zh-CN\",\"frontmatter\":{\"layout\":\"NotFound\",\"description\":\"404 Not Found\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebPage\\\",\\\"name\\\":\\\"\\\",\\\"description\\\":\\\"404 Not Found\\\"}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/404.html\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"404 Not Found\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}]]},\"readingTime\":{\"minutes\":0.01,\"words\":3},\"git\":{},\"autoDesc\":true,\"filePathRelative\":null,\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,4 +0,0 @@
<template><div><p>404 Not Found</p>
</div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/blog/archives/index.html.vue"
const data = JSON.parse("{\"path\":\"/blog/archives/\",\"title\":\"归档\",\"lang\":\"zh-CN\",\"frontmatter\":{\"lang\":\"zh-CN\",\"title\":\"归档\",\"draft\":true},\"readingTime\":{\"minutes\":0,\"words\":0},\"git\":{},\"filePathRelative\":null,\"headers\":[],\"type\":\"blog-archives\",\"bulletin\":true}")
export { comp, data }

View File

@ -1,3 +0,0 @@
<template><div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/blog/categories/index.html.vue"
const data = JSON.parse("{\"path\":\"/blog/categories/\",\"title\":\"分类\",\"lang\":\"zh-CN\",\"frontmatter\":{\"lang\":\"zh-CN\",\"title\":\"分类\",\"draft\":true},\"readingTime\":{\"minutes\":0,\"words\":0},\"git\":{},\"filePathRelative\":null,\"headers\":[],\"type\":\"blog-categories\",\"bulletin\":true}")
export { comp, data }

View File

@ -1,3 +0,0 @@
<template><div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/blog/index.html.vue"
const data = JSON.parse("{\"path\":\"/blog/\",\"title\":\"博客\",\"lang\":\"zh-CN\",\"frontmatter\":{\"lang\":\"zh-CN\",\"title\":\"博客\",\"draft\":true},\"readingTime\":{\"minutes\":0,\"words\":0},\"git\":{},\"filePathRelative\":null,\"headers\":[],\"type\":\"blog\",\"bulletin\":true}")
export { comp, data }

View File

@ -1,3 +0,0 @@
<template><div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/blog/tags/index.html.vue"
const data = JSON.parse("{\"path\":\"/blog/tags/\",\"title\":\"标签\",\"lang\":\"zh-CN\",\"frontmatter\":{\"lang\":\"zh-CN\",\"title\":\"标签\",\"draft\":true},\"readingTime\":{\"minutes\":0,\"words\":0},\"git\":{},\"filePathRelative\":null,\"headers\":[],\"type\":\"blog-tags\",\"bulletin\":true}")
export { comp, data }

View File

@ -1,3 +0,0 @@
<template><div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/0q1bxrub/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/0q1bxrub/\",\"title\":\"日志\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"日志\",\"createTime\":\"2025/03/31 20:03:00\",\"permalink\":\"/guide/0q1bxrub/\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"日志\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/0q1bxrub/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"日志\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":0.03,\"words\":10},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"filePathRelative\":\"notes/guide/manual/editor/extras/日志.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,3 +0,0 @@
<template><div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/18al65zg/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/18al65zg/\",\"title\":\"广告牌\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"广告牌\",\"createTime\":\"2025/04/17 17:11:18\",\"permalink\":\"/guide/18al65zg/\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"广告牌\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/18al65zg/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"广告牌\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":0.04,\"words\":11},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"filePathRelative\":\"notes/guide/manual/editor/rightSidebar/广告牌.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,3 +0,0 @@
<template><div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/2xlh6nrf/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/2xlh6nrf/\",\"title\":\"对象\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"对象\",\"createTime\":\"2025/03/31 20:06:07\",\"permalink\":\"/guide/2xlh6nrf/\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"对象\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/2xlh6nrf/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"对象\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":0.03,\"words\":10},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"filePathRelative\":\"notes/guide/manual/editor/rightSidebar/对象.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,3 +0,0 @@
<template><div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/4tirtbsc/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/4tirtbsc/\",\"title\":\"资源中心\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"资源中心\",\"createTime\":\"2025/08/01 15:14:39\",\"permalink\":\"/guide/4tirtbsc/\",\"description\":\"上传资源 类型可上传资源类型默认为模型、材质、纹理、广告牌、HDR; 分类:从树节点中选择资源所属的详细类别; 标签:为资源添加特定的标签,比如 “有动画、有骨骼” 之类的,便于在资源列表顶部勾选标签快速搜索; 缩略图:可以从本地选择,或者在选择资源文件后,点击 通过预览截图 生成。 文件:不同类型的资源具有不同的文件格式支持。 名称:默认会在上传...\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"资源中心\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-08-01T17:28:41.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/4tirtbsc/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"资源中心\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"上传资源 类型可上传资源类型默认为模型、材质、纹理、广告牌、HDR; 分类:从树节点中选择资源所属的详细类别; 标签:为资源添加特定的标签,比如 “有动画、有骨骼” 之类的,便于在资源列表顶部勾选标签快速搜索; 缩略图:可以从本地选择,或者在选择资源文件后,点击 通过预览截图 生成。 文件:不同类型的资源具有不同的文件格式支持。 名称:默认会在上传...\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-08-01T17:28:41.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-08-01T17:28:41.000Z\"}]]},\"readingTime\":{\"minutes\":2.97,\"words\":892},\"git\":{\"createdTime\":1754069321000,\"updatedTime\":1754069321000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"autoDesc\":true,\"filePathRelative\":\"notes/guide/manual/home/资源中心.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,157 +0,0 @@
<template><div><div class="demo-wrapper only-img no-padding">
<div class="demo-head">
<div class="demo-ctrl"><i></i><i></i><i></i></div>
</div>
<div class="demo-container" >
<ImageCard
image="/images/manual/home/assets/assets-page.png"
title="资源中心"
description="多级分类,精细控制"
author="ErSan"
date="2025/08/01"
/>
</div></div><h2 id="上传资源" tabindex="-1"><a class="header-anchor" href="#上传资源"><span>上传资源</span></a></h2>
<div class="demo-wrapper only-img no-padding">
<div class="demo-head">
<div class="demo-ctrl"><i></i><i></i><i></i></div>
</div>
<div class="demo-container" >
<ImageCard
image="/images/manual/home/assets/asset-upload.png"
title="上传资源"
description="多级分类,精细控制"
author="ErSan"
date="2025/08/01"
/>
</div></div><ul>
<li><strong>类型</strong>可上传资源类型默认为<mark>模型材质纹理广告牌HDR</mark>;</li>
<li><strong>分类</strong>从树节点中选择资源所属的详细类别;</li>
<li><strong>标签</strong>为资源添加特定的标签比如 <mark>有动画有骨骼</mark> 之类的便于在资源列表顶部勾选标签快速搜索</li>
<li><strong>缩略图</strong>可以从本地选择或者在选择资源文件后点击 <mark>通过预览截图</mark> 生成</li>
</ul>
<Tabs id="31" :data='[{"id":"通过预览截图"}]'>
<template #title0="{ value, isActive }">通过预览截图</template><template #tab0="{ value, isActive }"><blockquote>
<p>假设在<code v-pre>模型</code>类型下我先选择了一个飞机模型然后点击按钮<code v-pre>通过预览截图</code></p>
</blockquote>
<ImageCard
image="/images/manual/home/assets/asset-preview-screenshot.png"
title="通过预览截图"
description="点击截图按钮,将自动截取当前画布填充至表单缩略图字段,并关闭此预览弹窗"
author="ErSan"
date="2025/08/01"
/>
</template></Tabs><ul>
<li><strong>文件</strong>不同类型的资源具有不同的文件格式支持</li>
</ul>
<Tabs id="48" :data='[{"id":"模型"},{"id":"材质"},{"id":"纹理"},{"id":"广告牌"},{"id":"HDR"}]'>
<template #title0="{ value, isActive }">模型</template><template #title1="{ value, isActive }">材质</template><template #title2="{ value, isActive }">纹理</template><template #title3="{ value, isActive }">广告牌</template><template #title4="{ value, isActive }">HDR</template><template #tab0="{ value, isActive }"><ul class="task-list-container">
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-0" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-0"> glb</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-1" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-1"> gltf</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-2" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-2"> fbx</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-3" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-3"> obj</label></li>
</ul>
</template><template #tab1="{ value, isActive }"><ul class="task-list-container">
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-4" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-4"> zip</label></li>
</ul>
<blockquote>
<p>默认解析为<mark>PBR材质</mark><br>
上传的ZIP包内文件应依照特定规则以下两种之一</p>
<ul>
<li>
<Badge type="tip" text="推荐" /> . zip包中包含一个<code v-pre>material.json</code>的文件其中指明各类贴图使用的纹理文件及材质属性示例如下</li>
</ul>
<div class="code-block-title" data-title="material.json"><div class="code-block-title-bar"><span class="title"><VPIcon provider="iconify" name="vscode-icons:file-type-json"/>material.json</span></div><div class="language-json" data-highlighter="shiki" data-ext="json" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" v-pre=""><code class="language-json"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666">{</span></span>
<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> textures</span><span style="--shiki-light:#999999;--shiki-dark:#666666">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span></span>
<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> baseColor</span><span style="--shiki-light:#999999;--shiki-dark:#666666">:</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> xxx.</span><span style="--shiki-light:#999999;--shiki-dark:#666666">[</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic">png/jpg/webp/tga/hdr/exr</span><span style="--shiki-light:#999999;--shiki-dark:#666666">],</span></span>
<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> normal</span><span style="--shiki-light:#999999;--shiki-dark:#666666">:</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> xxx.</span><span style="--shiki-light:#999999;--shiki-dark:#666666">[</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic">png/jpg/webp/tga/hdr/exr</span><span style="--shiki-light:#999999;--shiki-dark:#666666">],</span></span>
<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> bump</span><span style="--shiki-light:#999999;--shiki-dark:#666666">:</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> xxx.</span><span style="--shiki-light:#999999;--shiki-dark:#666666">[</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic">png/jpg/webp/tga/hdr/exr</span><span style="--shiki-light:#999999;--shiki-dark:#666666">],</span></span>
<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> displacement</span><span style="--shiki-light:#999999;--shiki-dark:#666666">:</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> xxx.</span><span style="--shiki-light:#999999;--shiki-dark:#666666">[</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic">png/jpg/webp/tga/hdr/exr</span><span style="--shiki-light:#999999;--shiki-dark:#666666">],</span></span>
<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> roughness</span><span style="--shiki-light:#999999;--shiki-dark:#666666">:</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> xxx.</span><span style="--shiki-light:#999999;--shiki-dark:#666666">[</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic">png/jpg/webp/tga/hdr/exr</span><span style="--shiki-light:#999999;--shiki-dark:#666666">],</span></span>
<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> metalness</span><span style="--shiki-light:#999999;--shiki-dark:#666666">:</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> xxx.</span><span style="--shiki-light:#999999;--shiki-dark:#666666">[</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic">png/jpg/webp/tga/hdr/exr</span><span style="--shiki-light:#999999;--shiki-dark:#666666">],</span></span>
<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> ao</span><span style="--shiki-light:#999999;--shiki-dark:#666666">:</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> xxx.</span><span style="--shiki-light:#999999;--shiki-dark:#666666">[</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic">png/jpg/webp/tga/hdr/exr</span><span style="--shiki-light:#999999;--shiki-dark:#666666">],</span></span>
<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> emissive</span><span style="--shiki-light:#999999;--shiki-dark:#666666">:</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> xxx.</span><span style="--shiki-light:#999999;--shiki-dark:#666666">[</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic">png/jpg/webp/tga/hdr/exr</span><span style="--shiki-light:#999999;--shiki-dark:#666666">],</span></span>
<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> alpha</span><span style="--shiki-light:#999999;--shiki-dark:#666666">:</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> xxx.</span><span style="--shiki-light:#999999;--shiki-dark:#666666">[</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic">png/jpg/webp/tga/hdr/exr</span><span style="--shiki-light:#999999;--shiki-dark:#666666">],</span></span>
<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> env</span><span style="--shiki-light:#999999;--shiki-dark:#666666">:</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> xxx.</span><span style="--shiki-light:#999999;--shiki-dark:#666666">[</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic">png/jpg/webp/tga/hdr/exr</span><span style="--shiki-light:#999999;--shiki-dark:#666666">],</span></span>
<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> light</span><span style="--shiki-light:#999999;--shiki-dark:#666666">:</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> xxx.</span><span style="--shiki-light:#999999;--shiki-dark:#666666">[</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic">png/jpg/webp/tga/hdr/exr</span><span style="--shiki-light:#999999;--shiki-dark:#666666">],</span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666"> },</span></span>
<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> properties</span><span style="--shiki-light:#999999;--shiki-dark:#666666">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span></span>
<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> metalness</span><span style="--shiki-light:#999999;--shiki-dark:#666666">:</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91"> 1</span><span style="--shiki-light:#999999;--shiki-dark:#666666">,</span></span>
<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> roughness</span><span style="--shiki-light:#999999;--shiki-dark:#666666">:</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91"> 0.5</span><span style="--shiki-light:#999999;--shiki-dark:#666666">,</span></span>
<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> ...</span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666"> }</span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666">}</span></span></code></pre>
</div></div><ul>
<li>. zip包中不包含<code v-pre>material.json</code>文件此时包中的各纹理文件应语义化命名如下(文件名均为按照关键字模糊匹配)
::: file-tree</li>
</ul>
<ul>
<li>*.zip
<ul>
<li>%baseColor%.[png/jpg/webp/tga/hdr/exr] // (/:diffuse, /:baseColor)</li>
<li>%normal%.[png/jpg/webp/tga/hdr/exr] // 线</li>
<li>%bump%.[png/jpg/webp/tga/hdr/exr] // ,线</li>
<li>%displacement%.[png/jpg/webp/tga/hdr/exr] // ()</li>
<li>%roughness%.[png/jpg/webp/tga/hdr/exr] // (使绿)</li>
<li>%metalness%.[png/jpg/webp/tga/hdr/exr] // (使)</li>
<li>%ao%.[png/jpg/webp/tga/hdr/exr] // ()</li>
<li>%emissive%.[png/jpg/webp/tga/hdr/exr] // ()</li>
<li>%alpha%.[png/jpg/webp/tga/hdr/exr] // ()</li>
<li>%env%.[png/jpg/webp/tga/hdr/exr] // (使scene.environment)</li>
<li>%light%.[png/jpg/webp/tga/hdr/exr] // (UV)
:::</li>
</ul>
</li>
</ul>
</blockquote>
</template><template #tab2="{ value, isActive }"><ul class="task-list-container">
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-5" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-5"> png</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-6" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-6"> jpg/jpeg</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-7" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-7"> webp</label></li>
</ul>
</template><template #tab3="{ value, isActive }"><ul class="task-list-container">
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-8" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-8"> png</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-9" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-9"> jpg/jpeg</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-10" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-10"> webp</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-11" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-11"> svg</label></li>
</ul>
</template><template #tab4="{ value, isActive }"><ul class="task-list-container">
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-12" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-12"> hdr</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-13" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-13"> exr</label></li>
</ul>
</template></Tabs><ul>
<li><strong>名称</strong>默认会在上传资源文件后自动获取文件名填充</li>
<li><strong>大小</strong>会在上传资源文件后自动计算无需填写</li>
</ul>
<h2 id="预览资源" tabindex="-1"><a class="header-anchor" href="#预览资源"><span>预览资源</span></a></h2>
<div class="demo-wrapper only-img no-padding">
<div class="demo-head">
<div class="demo-ctrl"><i></i><i></i><i></i></div>
</div>
<div class="demo-container" >
<ImageCard
image="/images/manual/home/assets/asset-preview.png"
title="预览资源"
description="点击资源卡片/资源卡片操作栏的预览按钮进行资源预览。 预览弹窗左侧为可操作画布,右侧为资源详情及操作。"
author="ErSan"
date="2025/08/01"
/>
</div></div><h2 id="编辑资源" tabindex="-1"><a class="header-anchor" href="#编辑资源"><span>编辑资源</span></a></h2>
<div class="demo-wrapper only-img no-padding">
<div class="demo-head">
<div class="demo-ctrl"><i></i><i></i><i></i></div>
</div>
<div class="demo-container" >
<ImageCard
image="/images/manual/home/assets/asset-edit.png"
title="编辑资源"
description="点击资源卡片操作栏的编辑选项进行资源编辑。 编辑时无法修改资源类型和资源文件。"
author="ErSan"
date="2025/08/01"
/>
</div></div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/5s7acuj0/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/5s7acuj0/\",\"title\":\"动画编辑器\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"动画编辑器\",\"createTime\":\"2025/03/31 19:50:56\",\"permalink\":\"/guide/5s7acuj0/\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"动画编辑器\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/5s7acuj0/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"动画编辑器\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":0.04,\"words\":13},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"filePathRelative\":\"notes/guide/manual/editor/extras/动画编辑器.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,3 +0,0 @@
<template><div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/6xkx4dnv/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/6xkx4dnv/\",\"title\":\"介绍\",\"lang\":\"zh-CN\",\"frontmatter\":{\"lang\":\"zh-CN\",\"title\":\"介绍\",\"createTime\":\"2025/02/20 15:13:36\",\"permalink\":\"/guide/6xkx4dnv/\",\"description\":\"Astral 3D Engine 是一个基于 ThreeJS 的三维快速开发引擎。 Astral 3D Editor 是一个以 Astral 3D 作为底层的三维可视化编辑器。 从诞生之初其定位便是快捷、轻量、可扩展的3D低代码创作工具意在解决Web3D产品开发难迭代速度慢并且视觉效果不达标的行业痛点推动Web3D的发展。 重点功能 场景数据...\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"介绍\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-10-02T16:56:51.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/6xkx4dnv/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"介绍\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"Astral 3D Engine 是一个基于 ThreeJS 的三维快速开发引擎。 Astral 3D Editor 是一个以 Astral 3D 作为底层的三维可视化编辑器。 从诞生之初其定位便是快捷、轻量、可扩展的3D低代码创作工具意在解决Web3D产品开发难迭代速度慢并且视觉效果不达标的行业痛点推动Web3D的发展。 重点功能 场景数据...\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-10-02T16:56:51.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-10-02T16:56:51.000Z\"}]]},\"readingTime\":{\"minutes\":1.09,\"words\":326},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1759424211000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":3,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"autoDesc\":true,\"filePathRelative\":\"notes/guide/介绍.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,38 +0,0 @@
<template><div><blockquote>
<p><code v-pre>Astral 3D Engine</code> 是一个基于 <code v-pre>ThreeJS</code> 的三维快速开发引擎 <br />
<code v-pre>Astral 3D Editor</code> 是一个以 <code v-pre>Astral 3D</code> 作为底层的三维可视化编辑器 <br />
从诞生之初其定位便是快捷轻量可扩展的3D低代码创作工具意在解决Web3D产品开发难迭代速度慢并且视觉效果不达标的行业痛点推动Web3D的发展 <br /></p>
</blockquote>
<h2 id="重点功能" tabindex="-1"><a class="header-anchor" href="#重点功能"><span>重点功能</span></a></h2>
<ul class="task-list-container">
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-0" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-0"> 场景数据无损压缩;</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-1" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-1"> 网络分包渐进存取</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-2" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-2"> 支持30+模型格式</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-3" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-3"> <code v-pre>BIM</code>模型在线轻量化;</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-4" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-4"> <code v-pre>CAD</code>图纸解析预览</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-5" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-5"> 碰撞检测</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-6" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-6"> 粒子系统</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-7" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-7"> 插件系统</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-8" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-8"> 动画编辑器</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-9" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-9"> BillboardHtmlPanel(在线解析htmlVue/React打包工程)</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-10" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-10"> 资源中心</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-11" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-11"> 3DTiles支持</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-12" disabled="disabled"><label class="task-list-item-label" for="task-item-12"> 数据组件 (API接口前端SQLWebSocket静态JSON)</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-13" disabled="disabled"><label class="task-list-item-label" for="task-item-13"> Cesium场景融合GIS支持</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-14" disabled="disabled"><label class="task-list-item-label" for="task-item-14"> WebGPU 支持</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-15" disabled="disabled"><label class="task-list-item-label" for="task-item-15"> 低代码数据大屏(🎉开发阶段)</label></li>
</ul>
<h2 id="需要掌握的技能" tabindex="-1"><a class="header-anchor" href="#需要掌握的技能"><span>需要掌握的技能</span></a></h2>
<p>本项目二开及与服务器交互需要一定前端基础知识建议在开发前先学习一下以下内容会对项目理解非常有帮助:</p>
<ul>
<li><a href="https://vuejs.org/" target="_blank" rel="noopener noreferrer">Vue3</a></li>
<li><a href="https://threejs.org/" target="_blank" rel="noopener noreferrer">ThreeJS</a></li>
<li><a href="https://www.cesium.com/" target="_blank" rel="noopener noreferrer">Cesium</a></li>
<li><a href="https://www.naiveui.com/zh-CN/os-theme" target="_blank" rel="noopener noreferrer">Naive UI</a></li>
<li><a href="https://www.typescriptlang.org/" target="_blank" rel="noopener noreferrer">TypeScript</a></li>
<li><a href="https://vitejs.dev/" target="_blank" rel="noopener noreferrer">Vite</a></li>
<li><a href="https://uno.antfu.me/" target="_blank" rel="noopener noreferrer">UnoCSS</a></li>
</ul>
</div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/7eo51kfy/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/7eo51kfy/\",\"title\":\"2D图纸\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"2D图纸\",\"createTime\":\"2025/03/31 20:00:46\",\"permalink\":\"/guide/7eo51kfy/\",\"description\":\"简要说明 拖入(双击) 添加至场景中的图纸会自动占据中心视口一半的位置其与3D视图中间的 垂直分割线 可以左右拖动以改变占据视口的大小。 图纸可以与3D视图联动提供更直观的设计体验。 这一功能不仅提升了图纸的可视化效果,还为设计和协作提供了极大的便利。 主要亮点: 使用OffscreenCanvas技术在Worker线程中对图纸内容进行渲染不会阻...\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"2D图纸\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/7eo51kfy/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"2D图纸\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"简要说明 拖入(双击) 添加至场景中的图纸会自动占据中心视口一半的位置其与3D视图中间的 垂直分割线 可以左右拖动以改变占据视口的大小。 图纸可以与3D视图联动提供更直观的设计体验。 这一功能不仅提升了图纸的可视化效果,还为设计和协作提供了极大的便利。 主要亮点: 使用OffscreenCanvas技术在Worker线程中对图纸内容进行渲染不会阻...\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":3,\"words\":899},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"autoDesc\":true,\"filePathRelative\":\"notes/guide/manual/editor/viewport/2D图纸.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,109 +0,0 @@
<template><div><div class="demo-wrapper only-img no-padding">
<div class="demo-head">
<div class="demo-ctrl"><i></i><i></i><i></i></div>
</div>
<div class="demo-container" >
<ImageCard
image="/images/manual/editor/viewport/drawing.png"
title="2D图纸"
description="拖入(双击)添加至场景中的图纸会自动占据中心视口一半的位置其与3D视图中间的垂直分割线可以左右拖动以改变占据视口的大小"
author="ErSan"
date="2025/04/16"
/>
</div></div><h2 id="简要说明" tabindex="-1"><a class="header-anchor" href="#简要说明"><span>简要说明</span></a></h2>
<p><mark>拖入(双击)</mark> 添加至场景中的图纸会自动占据中心视口一半的位置其与3D视图中间的 <mark>垂直分割线</mark> 可以左右拖动以改变占据视口的大小<br />
图纸可以与3D视图联动提供更直观的设计体验<br />
这一功能不仅提升了图纸的可视化效果还为设计和协作提供了极大的便利<br /></p>
<p><strong>主要亮点</strong></p>
<ul>
<li>使用OffscreenCanvas技术在Worker线程中对图纸内容进行渲染不会阻塞主线程3D场景的渲染</li>
<li>图纸与3D视图联动操作简单高效</li>
<li>灵活调整视口分割线优化工作空间</li>
</ul>
<h2 id="功能说明" tabindex="-1"><a class="header-anchor" href="#功能说明"><span>功能说明</span></a></h2>
<ul>
<li><strong>图纸加载</strong>支持将图纸拖入或双击添加至场景</li>
<li><strong>视口分割</strong>通过拖动分割线调整2D图纸与3D视图的占比</li>
<li><strong>图纸复位</strong>将图纸的显示区域恢复为初始状态</li>
<li><strong>图层显隐</strong>查看图纸的图层列表并显示/隐藏任意图层</li>
<li><strong>新增标记</strong>在3D视图中选中模型后便可以在图纸中新增对应的标记框</li>
<li><strong>删除标记</strong>删除当前选中的标记</li>
</ul>
<h3 id="图纸加载" tabindex="-1"><a class="header-anchor" href="#图纸加载"><span>图纸加载</span></a></h3>
<ul>
<li><strong>功能描述</strong>将图纸拖入或双击添加至场景后图纸会自动占据中心视口的一半位置</li>
<li><strong>操作方式</strong>
<ul>
<li>在左侧CAD图纸列表中双击目标图纸快速加载到场景中</li>
</ul>
</li>
</ul>
<h3 id="视口分割" tabindex="-1"><a class="header-anchor" href="#视口分割"><span>视口分割</span></a></h3>
<ul>
<li><strong>功能描述</strong>调整2D图纸与3D视图的占比优化工作空间</li>
<li><strong>操作方式</strong>
<ul>
<li>拖动2D图纸与3D视图中间的垂直分割线调整两者的占比</li>
</ul>
<!-- - 分割线位置会自动保存方便下次使用 -->
</li>
</ul>
<h3 id="图纸复位" tabindex="-1"><a class="header-anchor" href="#图纸复位"><span>图纸复位</span></a></h3>
<ul>
<li><strong>功能描述</strong>将图纸的显示区域恢复为初始状态</li>
<li><strong>操作方式</strong>
<ul>
<li>点击图纸菜单栏中的复位按钮第一个</li>
</ul>
</li>
</ul>
<h3 id="图层显隐" tabindex="-1"><a class="header-anchor" href="#图层显隐"><span>图层显隐</span></a></h3>
<div class="demo-wrapper only-img no-padding">
<div class="demo-head">
<div class="demo-ctrl"><i></i><i></i><i></i></div>
</div>
<div class="demo-container" >
<ImageCard
image="/images/manual/editor/viewport/drawingLayer.png"
title="CAD图层"
author="ErSan"
date="2025/04/16"
/>
</div></div><ul>
<li><strong>功能描述</strong>查看图纸的图层列表并显示/隐藏任意图层</li>
<li><strong>操作方式</strong>
<ul>
<li>点击图纸菜单栏中的图层按钮第二个</li>
<li>弹出的图层列表中点击任一个图层前面的小眼睛图标即可隐藏对应图层反正显示对应图层</li>
<li>图层列表顶部的<mark>全部图层</mark>节点可以同时显示/隐藏所有图层</li>
</ul>
</li>
</ul>
<h3 id="新增标记" tabindex="-1"><a class="header-anchor" href="#新增标记"><span>新增标记</span></a></h3>
<ul>
<li><strong>功能描述</strong>在图纸中新增3D场景中所选中模型的对应的标记框</li>
<li><strong>操作方式</strong>
<ul>
<li>在右侧3D场景中选中需要标注的模型</li>
<li>点击图纸菜单栏中的新增标记按钮第三个</li>
<li>在图纸需要标记的位置按住鼠标左键拖动即可绘制出长方形标记框</li>
<li>只会只要在图纸中点击该标记右侧3D场景便会自动聚焦并选中相应模型</li>
</ul>
</li>
</ul>
<h3 id="删除标记" tabindex="-1"><a class="header-anchor" href="#删除标记"><span>删除标记</span></a></h3>
<ul>
<li><strong>功能描述</strong>删除当前选中的标记</li>
<li><strong>操作方式</strong>
<ul>
<li>在图纸上选中需要删除的标记</li>
<li>点击图纸菜单栏中的删除按钮第四个</li>
<li>标记及其与模型的关联关系将被移除</li>
</ul>
</li>
</ul>
</div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/ae7ufigr/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/ae7ufigr/\",\"title\":\"历史记录\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"历史记录\",\"createTime\":\"2025/03/31 20:05:25\",\"permalink\":\"/guide/ae7ufigr/\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"历史记录\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/ae7ufigr/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"历史记录\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":0.04,\"words\":12},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"filePathRelative\":\"notes/guide/manual/editor/rightSidebar/历史记录.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,3 +0,0 @@
<template><div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/chhmeza7/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/chhmeza7/\",\"title\":\"界面\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"界面\",\"createTime\":\"2025/04/14 00:49:50\",\"permalink\":\"/guide/chhmeza7/\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"界面\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/chhmeza7/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"界面\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":0.03,\"words\":10},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"filePathRelative\":\"notes/guide/manual/preview/界面.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,3 +0,0 @@
<template><div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/component/h4v1bkyh/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/component/h4v1bkyh/\",\"title\":\"脚本\",\"lang\":\"zh-CN\",\"frontmatter\":{\"lang\":\"zh-CN\",\"title\":\"脚本\",\"createTime\":\"2025/02/20 15:13:36\",\"permalink\":\"/guide/component/h4v1bkyh/\",\"description\":\"主要面相于开发人员,主要功能有: 编写脚本逻辑,并将其挂载于实体模型上; 脚本组件使用JavaScript编程语言 脚本组件由事件驱动,在对应生命周期内执行; 脚本组件可以访问实体模型的属性和方法; 运行时执行脚本逻辑,并获取脚本执行结果; 内置变量 在脚本中已经内置了以下变量: 内置方法 在脚本中已经内置了以下方法: 内置生命周期 支持以下几个基本...\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"脚本\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-10-03T15:00:46.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/component/h4v1bkyh/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"脚本\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"主要面相于开发人员,主要功能有: 编写脚本逻辑,并将其挂载于实体模型上; 脚本组件使用JavaScript编程语言 脚本组件由事件驱动,在对应生命周期内执行; 脚本组件可以访问实体模型的属性和方法; 运行时执行脚本逻辑,并获取脚本执行结果; 内置变量 在脚本中已经内置了以下变量: 内置方法 在脚本中已经内置了以下方法: 内置生命周期 支持以下几个基本...\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-10-03T15:00:46.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-10-03T15:00:46.000Z\"}]]},\"readingTime\":{\"minutes\":5.02,\"words\":1505},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1759503646000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":4,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"autoDesc\":true,\"filePathRelative\":\"notes/guide/manual/editor/rightSidebar/脚本.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,482 +0,0 @@
<template><div><blockquote>
<p>主要面相于开发人员主要功能有</p>
<ol>
<li>编写脚本逻辑并将其挂载于实体模型上</li>
<li>脚本组件使用<code v-pre>JavaScript</code>编程语言</li>
<li>脚本组件由事件驱动在对应生命周期内执行</li>
<li>脚本组件可以访问实体模型的属性和方法</li>
<li>运行时执行脚本逻辑并获取脚本执行结果</li>
</ol>
</blockquote>
<h3 id="内置变量" tabindex="-1"><a class="header-anchor" href="#内置变量"><span>内置变量</span></a></h3>
<p>在脚本中已经内置了以下变量</p>
<table>
<thead>
<tr>
<th>变量</th>
<th>描述</th>
<th>类型</th>
</tr>
</thead>
<tbody>
<tr>
<td>this</td>
<td>当前实体模型的引用</td>
<td><code v-pre>THREE.Object3D</code></td>
</tr>
<tr>
<td>THREE</td>
<td>THREE对象</td>
<td><code v-pre>THREE</code></td>
</tr>
<tr>
<td>helper</td>
<td>辅助类函数集合</td>
<td><a href="#helper">Helper</a></td>
</tr>
<tr>
<td>renderer</td>
<td>当前渲染器的引用</td>
<td><code v-pre>THREE.WebGLRenderer</code></td>
</tr>
<tr>
<td>scene</td>
<td>当前场景的引用</td>
<td><code v-pre>THREE.Scene</code></td>
</tr>
<tr>
<td>camera</td>
<td>当前场景相机的引用</td>
<td><code v-pre>THREE.PerspectiveCamera</code></td>
</tr>
<tr>
<td>controls</td>
<td>当前场景控制器的引用</td>
<td><a href="https://github.com/yomotsu/camera-controls" target="_blank" rel="noopener noreferrer">CameraControls</a></td>
</tr>
<tr>
<td>timer</td>
<td>场景运行时间跟踪</td>
<td><code v-pre>three/addons/misc/Timer.js</code></td>
</tr>
</tbody>
</table>
<h3 id="内置方法" tabindex="-1"><a class="header-anchor" href="#内置方法"><span>内置方法</span></a></h3>
<p>在脚本中已经内置了以下方法</p>
<table>
<thead>
<tr>
<th>方法</th>
<th>描述</th>
<th>传入参数</th>
</tr>
</thead>
<tbody>
<tr>
<td>render</td>
<td>驱动场景渲染一帧</td>
<td><code v-pre>{delta?:number}</code></td>
</tr>
</tbody>
</table>
<h3 id="内置生命周期" tabindex="-1"><a class="header-anchor" href="#内置生命周期"><span>内置生命周期</span></a></h3>
<p>支持以下几个基本生命周期</p>
<table>
<thead>
<tr>
<th>生命周期</th>
<th>描述</th>
<th>参数</th>
</tr>
</thead>
<tbody>
<tr>
<td>loaded</td>
<td>场景加载完成时执行仅执行一次</td>
<td>-</td>
</tr>
<tr>
<td>beforeAnimation</td>
<td>场景当前动画帧循环开始之前触发每一帧执行一次</td>
<td><code v-pre>{&quot;delta&quot;:number}</code></td>
</tr>
<tr>
<td>afterAnimation</td>
<td>场景当前动画帧循环完成之后立即触发每一帧执行一次</td>
<td><code v-pre>{&quot;delta&quot;:number,&quot;toBeRender&quot;:(_needRender: boolean) =&gt; void}</code></td>
</tr>
<tr>
<td>beforeRender</td>
<td>场景当前动画帧循环完成之后渲染之前触发每一次渲染执行一次</td>
<td><code v-pre>{&quot;delta&quot;:number}</code></td>
</tr>
<tr>
<td>afterRender</td>
<td>场景当前帧渲染完成之后触发每一次渲染执行一次</td>
<td><code v-pre>{&quot;delta&quot;:number}</code></td>
</tr>
<tr>
<td>beforeDestroy</td>
<td>场景销毁前调用仅执行一次</td>
<td>-</td>
</tr>
<tr>
<td>afterDestroy</td>
<td>场景销毁后调用仅执行一次</td>
<td>-</td>
</tr>
</tbody>
</table>
<blockquote>
<p>Tips:</p>
<blockquote>
<p><code v-pre>toBeRender</code>:由于本系统默认为事件驱动渲染而非持续渲染故提供此方法以便在脚本中实现自定义的逻辑推荐用法</p>
<div class="language-javascript line-numbers-mode" data-highlighter="shiki" data-ext="javascript" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" v-pre=""><code class="language-javascript"><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665">afterAnimation</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">delta</span><span style="--shiki-light:#999999;--shiki-dark:#666666">,</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">toBeRender</span><span style="--shiki-light:#999999;--shiki-dark:#666666">){</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> // true</span></span>
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> toBeRender</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375">true</span><span style="--shiki-light:#999999;--shiki-dark:#666666">);</span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666">}</span></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></blockquote>
</blockquote>
<h3 id="内置事件" tabindex="-1"><a class="header-anchor" href="#内置事件"><span>内置事件</span></a></h3>
<p>支持以下几个基本事件</p>
<table>
<thead>
<tr>
<th>事件</th>
<th>描述</th>
<th>参数</th>
</tr>
</thead>
<tbody>
<tr>
<td>onPick</td>
<td>模型单击事件</td>
<td><code v-pre>intersect:THREE.Intersection</code></td>
</tr>
<tr>
<td>onDoubleClick</td>
<td>模型双击事件</td>
<td><code v-pre>intersect:THREE.Intersection</code></td>
</tr>
<tr>
<td>onKeydown</td>
<td>键盘按下事件(全局)</td>
<td><code v-pre>event:KeyboardEvent</code></td>
</tr>
<tr>
<td>onKeyup</td>
<td>键盘抬起事件(全局)</td>
<td><code v-pre>event:KeyboardEvent</code></td>
</tr>
<tr>
<td>onPointerDown</td>
<td>指针按下事件(全局)</td>
<td><code v-pre>event:PointerEvent</code></td>
</tr>
<tr>
<td>onPointerUp</td>
<td>指针抬起事件(全局)</td>
<td><code v-pre>event:PointerEvent</code></td>
</tr>
<tr>
<td>onPointerMove</td>
<td>指针移动事件(全局)</td>
<td><code v-pre>event:PointerEvent</code></td>
</tr>
<tr>
<td>onTouchStart</td>
<td>触屏按下事件(全局)</td>
<td><code v-pre>event:TouchEvent</code></td>
</tr>
<tr>
<td>onTouchEnd</td>
<td>触屏释放事件(全局)</td>
<td><code v-pre>event:TouchEvent</code></td>
</tr>
</tbody>
</table>
<br/>
<hr>
<h3 id="辅助类-helper" tabindex="-1"><a class="header-anchor" href="#辅助类-helper"><span>辅助类(<a id="helper">Helper</a>)</span></a></h3>
<table>
<thead>
<tr>
<th>成员</th>
<th>描述</th>
<th>类型</th>
</tr>
</thead>
<tbody>
<tr>
<td>scene</td>
<td>当前场景的引用内置变量scene的引用</td>
<td><code v-pre>THREE.Scene</code></td>
</tr>
<tr>
<td>Animation</td>
<td>未实例化的动画类</td>
<td><a href="#helper-animation">Animation</a></td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<th>方法</th>
<th>描述</th>
<th>参数</th>
<th>返回值</th>
</tr>
</thead>
<tbody>
<tr>
<td>objectByUuid</td>
<td>通过uuid获取场景中的Object3D对象</td>
<td><code v-pre>uuid:string</code></td>
<td><code v-pre>THREE.Object3D</code></td>
</tr>
<tr>
<td>moveObject</td>
<td>移动3D对象到指定位置</td>
<td><code v-pre>object: Object3D</code><br/><code v-pre>parent: Object3D</code><br/><code v-pre>before: Object3D</code></td>
<td>-</td>
</tr>
<tr>
<td>removeObject</td>
<td>从场景中移除3D对象</td>
<td><code v-pre>object: THREE.Object3D</code></td>
<td>-</td>
</tr>
</tbody>
</table>
<h3 id="动画类-animation" tabindex="-1"><a class="header-anchor" href="#动画类-animation"><span>动画类(<a id="helper-animation">Animation</a>)</span></a></h3>
<h4 id="基础用法" tabindex="-1"><a class="header-anchor" href="#基础用法"><span>基础用法</span></a></h4>
<div class="language-javascript line-numbers-mode" data-highlighter="shiki" data-ext="javascript" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" v-pre=""><code class="language-javascript"><span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676"> const</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> animation</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> =</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676"> new</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> helper</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665">Animation</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076">this</span><span style="--shiki-light:#999999;--shiki-dark:#666666">);</span></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div></div></div><h4 id="api" tabindex="-1"><a class="header-anchor" href="#api"><span>API</span></a></h4>
<div class="language-typescript line-numbers-mode" data-highlighter="shiki" data-ext="typescript" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" v-pre=""><code class="language-typescript"><span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676"> new</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> helper</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665">Animation</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">object</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE">:</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">THREE</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">Object3D</span><span style="--shiki-light:#999999;--shiki-dark:#666666">)</span></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div></div></div><table>
<thead>
<tr>
<th>成员</th>
<th>描述</th>
<th>类型</th>
</tr>
</thead>
<tbody>
<tr>
<td>object</td>
<td>构造函数形参值动画绑定的对象<br/> 如果实例化时传入参数this(如上)则指向内置变量this</td>
<td><code v-pre>THREE.Object3D</code></td>
</tr>
<tr>
<td>actions</td>
<td>动画动作集合</td>
<td><code v-pre>THREE.AnimationAction[]</code></td>
</tr>
<tr>
<td>actionsMap</td>
<td>动画动作映射表key为动作名称value为THREE.AnimationAction对象</td>
<td><code v-pre>Map&lt;string, THREE.AnimationAction&gt;</code></td>
</tr>
<tr>
<td>lastPlayAction</td>
<td>正在播放的动作名称</td>
<td><code v-pre>THREE.AnimationAction | undefined</code></td>
</tr>
<tr>
<td>repetitions</td>
<td>动画重复次数</td>
<td><code v-pre>number</code></td>
</tr>
<tr>
<td>ActionLoop (static)</td>
<td>动画循环模式枚举<br/> LoopOnce - 只执行一次 <br/> LoopRepeat - 重复次数为repetitions的值, 且每次循环结束时候将回到起始动作开始下一次循环 <br/> LoopPingPong - 重复次数为repetitions的值, 且像乒乓球一样在起始点与结束点之间来回循环</td>
<td><code v-pre>Enum</code></td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<th>方法</th>
<th>描述</th>
<th>参数</th>
<th>返回值</th>
</tr>
</thead>
<tbody>
<tr>
<td>getAction</td>
<td>获取指定名称的动画动作,用于用户直接调用<a href="https://threejs.org/docs/index.html#api/zh/animation/AnimationAction" target="_blank" rel="noopener noreferrer">THREE.AnimationAction的方法</a></td>
<td><code v-pre>name:string</code></td>
<td><code v-pre>THREE.AnimationAction | undefined</code></td>
</tr>
<tr>
<td>play</td>
<td>播放指定名称的动画动作,支持链式调用</td>
<td><code v-pre>name:string</code> <br/> <code v-pre>loop:AnimationActionLoopStyles = helper.Animation.ActionLoop.LoopRepeat</code> <br/> <code v-pre>timeScale:number = 1</code></td>
<td><code v-pre>this(helper.Animation)</code></td>
</tr>
<tr>
<td>pause</td>
<td>暂停动画,支持链式调用</td>
<td><code v-pre>name:string | undefined</code></td>
<td><code v-pre>this(helper.Animation)</code></td>
</tr>
<tr>
<td>stop</td>
<td>停止动画,支持链式调用</td>
<td><code v-pre>name:string | undefined</code></td>
<td><code v-pre>this(helper.Animation)</code></td>
</tr>
</tbody>
</table>
<h3 id="基础用法-1" tabindex="-1"><a class="header-anchor" href="#基础用法-1"><span>基础用法</span></a></h3>
<p>完整结构</p>
<div class="language-javascript line-numbers-mode" data-highlighter="shiki" data-ext="javascript" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" v-pre=""><code class="language-javascript"><span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD">/**</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * 场景加载完成时执行仅执行一次</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> */</span></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">function</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> loaded</span><span style="--shiki-light:#999999;--shiki-dark:#666666">()</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> console</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665">group</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77">'</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D">loaded</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77">'</span><span style="--shiki-light:#999999;--shiki-dark:#666666">);</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> console</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665">log</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076">this</span><span style="--shiki-light:#999999;--shiki-dark:#666666">);</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> console</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665">log</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">renderer</span><span style="--shiki-light:#999999;--shiki-dark:#666666">);</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> console</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665">log</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">scene</span><span style="--shiki-light:#999999;--shiki-dark:#666666">);</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> console</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665">log</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">camera</span><span style="--shiki-light:#999999;--shiki-dark:#666666">);</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> console</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665">log</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">controls</span><span style="--shiki-light:#999999;--shiki-dark:#666666">);</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> console</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665">log</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">timer</span><span style="--shiki-light:#999999;--shiki-dark:#666666">);</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> console</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665">groupEnd</span><span style="--shiki-light:#999999;--shiki-dark:#666666">()</span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666">}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD">/**</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * 场景当前动画帧循环开始之前触发每一帧执行一次</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * </span><span style="--shiki-light:#999999;--shiki-dark:#666666">@</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375">param</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994">number</span><span style="--shiki-light:#999999;--shiki-dark:#666666">}</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> delta</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> */</span></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">function</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> beforeAnimation</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">delta</span><span style="--shiki-light:#999999;--shiki-dark:#666666">)</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD">/**</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * 场景当前动画帧循环完成之后立即触发每一帧执行一次</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * </span><span style="--shiki-light:#999999;--shiki-dark:#666666">@</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375">param</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994">number</span><span style="--shiki-light:#999999;--shiki-dark:#666666">}</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> delta</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * </span><span style="--shiki-light:#999999;--shiki-dark:#666666">@</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375">param</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994">(_needRender: boolean) => void</span><span style="--shiki-light:#999999;--shiki-dark:#666666">}</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> toBeRender</span><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> 设置下一帧是否将渲染</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> */</span></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">function</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> afterAnimation</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">delta</span><span style="--shiki-light:#999999;--shiki-dark:#666666">,</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">toBeRender</span><span style="--shiki-light:#999999;--shiki-dark:#666666">)</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD">/**</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * 场景当前动画帧循环完成之后渲染之前触发每一次渲染执行一次</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * </span><span style="--shiki-light:#999999;--shiki-dark:#666666">@</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375">param</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994">number</span><span style="--shiki-light:#999999;--shiki-dark:#666666">}</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> delta</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> */</span></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">function</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> beforeRender</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">delta</span><span style="--shiki-light:#999999;--shiki-dark:#666666">)</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD">/**</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * 场景当前帧渲染完成之后触发每一次渲染执行一次</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * </span><span style="--shiki-light:#999999;--shiki-dark:#666666">@</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375">param</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994">number</span><span style="--shiki-light:#999999;--shiki-dark:#666666">}</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> delta</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> */</span></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">function</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> afterRender</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">delta</span><span style="--shiki-light:#999999;--shiki-dark:#666666">)</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD">/**</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * 场景销毁前调用仅执行一次</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> */</span></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">function</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> beforeDestroy</span><span style="--shiki-light:#999999;--shiki-dark:#666666">()</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD">/**</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * 场景销毁后调用仅执行一次</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> */</span></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">function</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> afterDestroy</span><span style="--shiki-light:#999999;--shiki-dark:#666666">()</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD">/**</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * 模型单击事件</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * </span><span style="--shiki-light:#999999;--shiki-dark:#666666">@</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375">param</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994">THREE.Intersection</span><span style="--shiki-light:#999999;--shiki-dark:#666666">}</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> intersect</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> */</span></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">function</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> onPick</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">intersect</span><span style="--shiki-light:#999999;--shiki-dark:#666666">)</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD">/**</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * 模型双击事件</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * </span><span style="--shiki-light:#999999;--shiki-dark:#666666">@</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375">param</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994">THREE.Intersection</span><span style="--shiki-light:#999999;--shiki-dark:#666666">}</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> intersect</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> */</span></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">function</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> onDoubleClick</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">intersect</span><span style="--shiki-light:#999999;--shiki-dark:#666666">)</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD">/**</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * 键盘按下事件(全局)</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * </span><span style="--shiki-light:#999999;--shiki-dark:#666666">@</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375">param</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994">KeyboardEvent</span><span style="--shiki-light:#999999;--shiki-dark:#666666">}</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> event</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> */</span></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">function</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> onKeyDown</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">event</span><span style="--shiki-light:#999999;--shiki-dark:#666666">)</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD">/**</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * 键盘抬起事件(全局)</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * </span><span style="--shiki-light:#999999;--shiki-dark:#666666">@</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375">param</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994">KeyboardEvent</span><span style="--shiki-light:#999999;--shiki-dark:#666666">}</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> event</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> */</span></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">function</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> onKeyUp</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">event</span><span style="--shiki-light:#999999;--shiki-dark:#666666">)</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD">/**</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * 指针按下事件(全局)</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * </span><span style="--shiki-light:#999999;--shiki-dark:#666666">@</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375">param</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994">PointerEvent</span><span style="--shiki-light:#999999;--shiki-dark:#666666">}</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> event</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> */</span></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">function</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> onPointerDown</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">event</span><span style="--shiki-light:#999999;--shiki-dark:#666666">)</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD">/**</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * 指针抬起事件(全局)</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * </span><span style="--shiki-light:#999999;--shiki-dark:#666666">@</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375">param</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994">PointerEvent</span><span style="--shiki-light:#999999;--shiki-dark:#666666">}</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> event</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> */</span></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">function</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> onPointerUp</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">event</span><span style="--shiki-light:#999999;--shiki-dark:#666666">)</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD">/**</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * 指针移动事件(全局)</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * </span><span style="--shiki-light:#999999;--shiki-dark:#666666">@</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375">param</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994">PointerEvent</span><span style="--shiki-light:#999999;--shiki-dark:#666666">}</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> event</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> */</span></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">function</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> onPointerMove</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">event</span><span style="--shiki-light:#999999;--shiki-dark:#666666">)</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD">/**</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * 触屏按下事件(全局)</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * </span><span style="--shiki-light:#999999;--shiki-dark:#666666">@</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375">param</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994">TouchEvent</span><span style="--shiki-light:#999999;--shiki-dark:#666666">}</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> event</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> */</span></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">function</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> onTouchStart</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">event</span><span style="--shiki-light:#999999;--shiki-dark:#666666">)</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD">/**</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * 触屏释放事件(全局)</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> * </span><span style="--shiki-light:#999999;--shiki-dark:#666666">@</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375">param</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994">TouchEvent</span><span style="--shiki-light:#999999;--shiki-dark:#666666">}</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> event</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> */</span></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">function</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> onTouchEnd</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">event</span><span style="--shiki-light:#999999;--shiki-dark:#666666">)</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {}</span></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><hr>
<h3 id="示例代码" tabindex="-1"><a class="header-anchor" href="#示例代码"><span>示例代码</span></a></h3>
<h4 id="_1-动态天空盒-模型动画-键盘事件" tabindex="-1"><a class="header-anchor" href="#_1-动态天空盒-模型动画-键盘事件"><span>1. 动态天空盒/模型动画/键盘事件</span></a></h4>
<Tabs id="700" :data='[{"id":"scene"},{"id":"wolf"}]' :active="1" tab-id="animate">
<template #title0="{ value, isActive }">Scene</template><template #title1="{ value, isActive }">Wolf</template><template #tab0="{ value, isActive }"><div class="language-javascript line-numbers-mode" data-highlighter="shiki" data-ext="javascript" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" v-pre=""><code class="language-javascript"><span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">function</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> afterAnimation</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">delta</span><span style="--shiki-light:#999999;--shiki-dark:#666666">,</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">toBeRender</span><span style="--shiki-light:#999999;--shiki-dark:#666666">){</span></span>
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> toBeRender</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375">true</span><span style="--shiki-light:#999999;--shiki-dark:#666666">)</span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666">}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">const</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> DEG2RAD</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> =</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> Math</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">PI</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676"> /</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91"> 180</span><span style="--shiki-light:#999999;--shiki-dark:#666666">;</span></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">function</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> beforeRender</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">delta</span><span style="--shiki-light:#999999;--shiki-dark:#666666">)</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676"> const</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> t</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> =</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> delta</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676"> *</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> DEG2RAD</span><span style="--shiki-light:#999999;--shiki-dark:#666666">;</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> scene</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">backgroundRotation</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">y</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> =</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> t</span><span style="--shiki-light:#999999;--shiki-dark:#666666">;</span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666">}</span></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></template><template #tab1="{ value, isActive }"><div class="language-javascript line-numbers-mode" data-highlighter="shiki" data-ext="javascript" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" v-pre=""><code class="language-javascript"><span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">const</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> anime</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> =</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676"> new</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> helper</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665">Animation</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076">this</span><span style="--shiki-light:#999999;--shiki-dark:#666666">);</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">function</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> loaded</span><span style="--shiki-light:#999999;--shiki-dark:#666666">()</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> anime</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665">play</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D">01_Run_Armature_0</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666">);</span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666">}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">function</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> onKeyDown</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">event</span><span style="--shiki-light:#999999;--shiki-dark:#666666">)</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> // 1 "01_Run_Armature_0" ,2 "02_walk_Armature_0" 3 ""05_site_Armature_0"" ,</span></span>
<span class="line"><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375"> switch</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> (</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">event</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">key</span><span style="--shiki-light:#999999;--shiki-dark:#666666">)</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span></span>
<span class="line"><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375"> case</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D">1</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666">:</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> anime</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665">stop</span><span style="--shiki-light:#999999;--shiki-dark:#666666">();</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> anime</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665">play</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D">02_walk_Armature_0</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666">);</span></span>
<span class="line"><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375"> break</span><span style="--shiki-light:#999999;--shiki-dark:#666666">;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375"> case</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D">2</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666">:</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> anime</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665">stop</span><span style="--shiki-light:#999999;--shiki-dark:#666666">();</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> anime</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665">play</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D">05_site_Armature_0</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666">);</span></span>
<span class="line"><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375"> break</span><span style="--shiki-light:#999999;--shiki-dark:#666666">;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375"> case</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D">3</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666">:</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> anime</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665">stop</span><span style="--shiki-light:#999999;--shiki-dark:#666666">();</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> anime</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665">play</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D">01_Run_Armature_0</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666">);</span></span>
<span class="line"><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375"> break</span><span style="--shiki-light:#999999;--shiki-dark:#666666">;</span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666"> }</span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666">}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">function</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> beforeDestroy</span><span style="--shiki-light:#999999;--shiki-dark:#666666">()</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> anime</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665">stop</span><span style="--shiki-light:#999999;--shiki-dark:#666666">();</span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666">}</span></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></template></Tabs><iframe height=500 width=100% src="https://editor.astraljs.com/#/preview/a18eb710-c1f8-4cff-b8ab-c3a2056ccf57" frameborder=0 allowfullscreen></iframe></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/crvssx6j/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/crvssx6j/\",\"title\":\"渲染器配置\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"渲染器配置\",\"createTime\":\"2025/03/31 20:04:34\",\"permalink\":\"/guide/crvssx6j/\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"渲染器配置\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/crvssx6j/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"渲染器配置\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":0.04,\"words\":13},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"filePathRelative\":\"notes/guide/manual/editor/rightSidebar/渲染器配置.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,3 +0,0 @@
<template><div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/dbd366ps/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/dbd366ps/\",\"title\":\"项目\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"项目\",\"createTime\":\"2025/08/01 15:13:58\",\"permalink\":\"/guide/dbd366ps/\",\"description\":\"新建项目 可以选择新建一个空项目或者依据内置模板创建。\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"项目\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-08-01T17:28:41.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/dbd366ps/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"项目\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"新建项目 可以选择新建一个空项目或者依据内置模板创建。\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-08-01T17:28:41.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-08-01T17:28:41.000Z\"}]]},\"readingTime\":{\"minutes\":0.31,\"words\":94},\"git\":{\"createdTime\":1754069321000,\"updatedTime\":1754069321000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"autoDesc\":true,\"filePathRelative\":\"notes/guide/manual/home/项目.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,33 +0,0 @@
<template><div><div class="demo-wrapper only-img no-padding">
<div class="demo-head">
<div class="demo-ctrl"><i></i><i></i><i></i></div>
</div>
<div class="demo-container" >
<ImageCard
image="/images/manual/home/project/project-page.png"
title="项目"
description=""
author="ErSan"
date="2025/08/01"
/>
</div></div><h2 id="新建项目" tabindex="-1"><a class="header-anchor" href="#新建项目"><span>新建项目</span></a></h2>
<blockquote>
<p>可以选择新建一个空项目或者依据内置模板创建</p>
</blockquote>
<div class="demo-wrapper only-img no-padding">
<div class="demo-head">
<div class="demo-ctrl"><i></i><i></i><i></i></div>
</div>
<div class="demo-container" >
<ImageCard
image="/images/manual/home/project/new-project.png"
title="新建项目"
description="可以选择新建一个空项目或者依据内置模板创建"
author="ErSan"
date="2025/08/01"
/>
</div></div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/dju4ekca/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/dju4ekca/\",\"title\":\"资源中心\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"资源中心\",\"createTime\":\"2025/03/31 19:51:33\",\"permalink\":\"/guide/dju4ekca/\",\"description\":\"简要说明 在扩展栏左上角下拉菜单中可将扩展面板切换到资源中心模块。 资源共分为模型、材质、粒子、广告牌、Html面板、灯光、相机。 编辑器已内置大多通用资源,也可在扩展栏右上角切换资源来源:内置资源/公共资源。 主要亮点: 资源分类清晰:支持多种资源类型,方便用户快速查找和使用。 资源来源灵活:可切换内置资源和公共资源,满足不同场景需求。 高效管理:支...\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"资源中心\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/dju4ekca/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"资源中心\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"简要说明 在扩展栏左上角下拉菜单中可将扩展面板切换到资源中心模块。 资源共分为模型、材质、粒子、广告牌、Html面板、灯光、相机。 编辑器已内置大多通用资源,也可在扩展栏右上角切换资源来源:内置资源/公共资源。 主要亮点: 资源分类清晰:支持多种资源类型,方便用户快速查找和使用。 资源来源灵活:可切换内置资源和公共资源,满足不同场景需求。 高效管理:支...\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":4.14,\"words\":1242},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"autoDesc\":true,\"filePathRelative\":\"notes/guide/manual/editor/extras/资源中心.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,92 +0,0 @@
<template><div><div class="demo-wrapper only-img no-padding">
<div class="demo-head">
<div class="demo-ctrl"><i></i><i></i><i></i></div>
</div>
<div class="demo-container" >
<ImageCard
image="/images/manual/editor/extras/resource.png"
title="资源中心"
author="ErSan"
date="2025/04/17"
/>
</div></div><h2 id="简要说明" tabindex="-1"><a class="header-anchor" href="#简要说明"><span>简要说明</span></a></h2>
<p>在扩展栏左上角下拉菜单中可将扩展面板切换到资源中心模块<br />
资源共分为<mark>模型材质粒子广告牌Html面板灯光相机</mark><br />
编辑器已内置大多通用资源也可在扩展栏右上角切换资源来源<mark>内置资源/公共资源</mark></p>
<p><strong>主要亮点</strong></p>
<ul>
<li><strong>资源分类清晰</strong>支持多种资源类型方便用户快速查找和使用</li>
<li><strong>资源来源灵活</strong>可切换内置资源和公共资源满足不同场景需求</li>
<li><strong>高效管理</strong>支持资源的快速预览搜索和分类管理</li>
<li><strong>扩展性强</strong>用户可自定义资源并上传到公共资源库</li>
</ul>
<h2 id="功能说明" tabindex="-1"><a class="header-anchor" href="#功能说明"><span>功能说明</span></a></h2>
<ul>
<li><strong>资源搜索</strong>按名称模糊搜索已选择分类下的资源</li>
<li><strong>模型</strong>内置多种类型的模型用户可快速预览模型并拖拽到场景中使用</li>
<li><strong>材质</strong>提供丰富的材质库用户可实时预览材质效果并应用至模型</li>
<li><strong>粒子</strong>内置多种粒子效果模板支持参数调整和自定义粒子效果创建</li>
<li><strong>广告牌</strong>支持图片和文字广告牌的快速创建适用于场景标注和装饰</li>
<li><strong>Html面板</strong>允许嵌入自定义HTML内容支持动态交互和样式调整</li>
<li><strong>灯光</strong>提供多种灯光类型如点光源聚光灯等支持实时调整光照参数</li>
<li><strong>相机</strong>内置透视相机与正交相机满足不同场景需求</li>
</ul>
<h3 id="资源搜索" tabindex="-1"><a class="header-anchor" href="#资源搜索"><span>资源搜索</span></a></h3>
<p>搜索框位于扩展栏顶部中间
输入搜索内容将根据当前所选取资源类型进行模糊查询</p>
<h3 id="模型" tabindex="-1"><a class="header-anchor" href="#模型"><span>模型</span></a></h3>
<p>如本页首图内置了多种类型的模型用户可通过<mark>拖拽/双击</mark>方式将模型添加到场景中</p>
<ul>
<li><mark>拖拽</mark>模型将放置在鼠标放开的屏幕位置</li>
<li><mark>双击</mark>模型将放置在场景中心</li>
</ul>
<h3 id="材质" tabindex="-1"><a class="header-anchor" href="#材质"><span>材质</span></a></h3>
<p>内置了多类型的PBR材质Shader材质用户可通过<mark>拖拽/双击</mark>方式将材质应用到模型上; <br />
成功应用的材质可在 右侧边栏-<VPLink href="/guide/l1df4723/">材质</VPLink> 进行参数配置及修改</p>
<ul>
<li><mark>右键</mark>预览材质</li>
<li><mark>拖拽</mark>材质将应用至鼠标放开位置选取到的模型上</li>
<li><mark>双击</mark>材质将应用至所选取的模型上</li>
</ul>
<p><strong>注意</strong>材质只能应用至Mesh节点不能应用于Group广告牌粒子Html面板等节点即材质只能应用于本身就包含材质属性的模型节点</p>
<h3 id="粒子" tabindex="-1"><a class="header-anchor" href="#粒子"><span>粒子</span></a></h3>
<p>内置火焰烟雾萤火虫等常见粒子效果模板用户可通过<mark>拖拽/双击</mark>方式将粒子添加到场景中; <br />
成功添加的粒子可在 右侧边栏-<VPLink href="/guide/siz46vj0/">粒子</VPLink> 调整粒子发射器参数及粒子行为</p>
<ul>
<li><mark>拖拽</mark>粒子将放置在鼠标放开的屏幕位置</li>
<li><mark>双击</mark>粒子将放置在场景中心</li>
</ul>
<h3 id="广告牌" tabindex="-1"><a class="header-anchor" href="#广告牌"><span>广告牌</span></a></h3>
<p>内置图标文本广告牌用户可通过<mark>拖拽/双击</mark>方式将广告牌添加到场景中; <br />
成功添加的广告牌可在 右侧边栏-<VPLink href="/guide/18al65zg/">广告牌</VPLink> 进行参数配置及修改</p>
<ul>
<li><mark>拖拽</mark>广告牌将放置在鼠标放开的屏幕位置</li>
<li><mark>双击</mark>广告牌将放置在场景中心</li>
</ul>
<h3 id="html面板" tabindex="-1"><a class="header-anchor" href="#html面板"><span>Html面板</span></a></h3>
<p>内置多个Html面板模板用户可通过<mark>拖拽/双击</mark>方式将Html面板添加到场景中; <br />
该功能允许用户在场景中嵌入HTML内容如视频播放器交互式表单数据图表等支持动态更新; <br />
成功添加的Html面板可在 右侧边栏-<VPLink href="/guide/kk5cv2ij/">Html面板</VPLink> 进行参数配置及内容修改</p>
<ul>
<li><mark>拖拽</mark>Html面板将放置在鼠标放开的屏幕位置</li>
<li><mark>双击</mark>Html面板将放置在场景中心</li>
</ul>
<h3 id="灯光" tabindex="-1"><a class="header-anchor" href="#灯光"><span>灯光</span></a></h3>
<p>内置<mark>环境光平行光半球光点光源聚光灯</mark>五种灯光类型用户可通过<mark>拖拽/双击</mark>方式将灯光添加到场景中; <br />
成功添加的灯光选中后可在 右侧边栏-<VPLink href="/guide/2xlh6nrf/">对象</VPLink> 进行参数配置及修改</p>
<ul>
<li><mark>拖拽</mark>灯光将放置在鼠标放开的屏幕位置</li>
<li><mark>双击</mark>灯光将放置在场景中心</li>
</ul>
<h3 id="相机" tabindex="-1"><a class="header-anchor" href="#相机"><span>相机</span></a></h3>
<p>内置<mark>透视相机正交相机</mark>用户可通过<mark>拖拽/双击</mark>方式将相机添加到场景中; <br />
相机添加后可在<VPLink href="/guide/jkg3yahd/">3D视口</VPLink>左上角进行主相机切换<br />
成功添加的相机选中后可在 右侧边栏-<VPLink href="/guide/2xlh6nrf/">对象</VPLink> 进行参数配置及修改</p>
<ul>
<li><mark>拖拽</mark>相机将放置在鼠标放开的屏幕位置</li>
<li><mark>双击</mark>相机将放置在场景中心</li>
</ul>
</div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/f7smai4w/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/f7smai4w/\",\"title\":\"顶栏\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"顶栏\",\"createTime\":\"2025/03/31 20:09:24\",\"permalink\":\"/guide/f7smai4w/\",\"description\":\"顶栏 说明 顶栏部分为左中右布局,左侧为基础操作区,中间仅展示场景名称,右侧为多功能区域 基础操作区 图标/按钮 从左到右依次是 Logo、撤回、重做、删除、清空、拷贝、全屏、导出、导入 多功能区域 图标/按钮 从左到右依次是 保存、预览、国际化、主题、主色调、设置\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"顶栏\\\",\\\"image\\\":[\\\"https://docs.astraljs.com/images/manual/editor/header.png\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/f7smai4w/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"顶栏\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"顶栏 说明 顶栏部分为左中右布局,左侧为基础操作区,中间仅展示场景名称,右侧为多功能区域 基础操作区 图标/按钮 从左到右依次是 Logo、撤回、重做、删除、清空、拷贝、全屏、导出、导入 多功能区域 图标/按钮 从左到右依次是 保存、预览、国际化、主题、主色调、设置\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:image\",\"content\":\"https://docs.astraljs.com/images/manual/editor/header.png\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":2.3,\"words\":689},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"autoDesc\":true,\"filePathRelative\":\"notes/guide/manual/editor/顶栏.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,111 +0,0 @@
<template><div><div class="demo-wrapper only-img no-padding">
<div class="demo-head">
<div class="demo-ctrl"><i></i><i></i><i></i></div>
</div>
<div class="demo-container" >
<p><img src="/images/manual/editor/header.png" alt="顶栏"></p>
</div></div><div class="hint-container tip">
<p class="hint-container-title">说明</p>
<p><code v-pre>顶栏</code>部分为左中右布局左侧为<code v-pre>基础操作区</code>中间仅展示<code v-pre>场景名称</code>右侧为<code v-pre>多功能区域</code></p>
</div>
<h2 id="基础操作区" tabindex="-1"><a class="header-anchor" href="#基础操作区"><span>基础操作区</span></a></h2>
<blockquote>
<p>图标/按钮 从左到右依次是 <mark>Logo撤回重做删除清空拷贝全屏导出导入</mark></p>
</blockquote>
<Tabs id="18" :data='[{"id":"Logo"},{"id":"撤回"},{"id":"重做"},{"id":"删除"},{"id":"清空"},{"id":"拷贝"},{"id":"全屏"},{"id":"导出"},{"id":"导入"}]'>
<template #title0="{ value, isActive }">Logo</template><template #title1="{ value, isActive }">撤回</template><template #title2="{ value, isActive }">重做</template><template #title3="{ value, isActive }">删除</template><template #title4="{ value, isActive }">清空</template><template #title5="{ value, isActive }">拷贝</template><template #title6="{ value, isActive }">全屏</template><template #title7="{ value, isActive }">导出</template><template #title8="{ value, isActive }">导入</template><template #tab0="{ value, isActive }"><p>方寸藏寰宇虚实映乾坤</p>
</template><template #tab1="{ value, isActive }"><p>撤销上一步操作</p>
</template><template #tab2="{ value, isActive }"><p>恢复被撤销的操作</p>
</template><template #tab3="{ value, isActive }"><p>删除当前选中的对象</p>
</template><template #tab4="{ value, isActive }"><p>清空场景中的所有内容并重置所有模块</p>
</template><template #tab5="{ value, isActive }"><p>复制当前选中的对象</p>
</template><template #tab6="{ value, isActive }"><p>切换编辑器的全屏模式全屏后会变为退出全屏图标点击可退出全屏</p>
</template><template #tab7="{ value, isActive }"><CardGrid>
<ImageCard
image="/images/manual/editor/header/exportObject.png"
title="导出选中对象"
author="ErSan"
date="2025/04/14"
/>
<ImageCard
image="/images/manual/editor/header/exportScene.png"
title="导出场景"
author="ErSan"
date="2025/04/14"
/>
</CardGrid>
<p>导出功能分为两类一是导出选中的物体二是导出整个场景<br />
两者所支持的导出格式一致分别是<mark>JSONGLBGLTFOBJPLYPLY(二进制)STLSTL(二进制)USDZ</mark></p>
</template><template #tab8="{ value, isActive }"><p>从文件系统导入模型/场景文件允许多选支持在此处导入的文件格式如下</p>
<ul class="task-list-container">
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-0" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-0"> glb</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-1" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-1"> gltf</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-2" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-2"> fbx</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-3" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-3"> json (Three JSON / Astral3D JSON)</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-4" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-4"> zip <Annotation label="zip" :total="1"><template #item-0><p>导入zip包时系统会自动解析处理分为下面几种情况</p>
<ul>
<li>同时包含<code v-pre>model.obj</code><code v-pre>materials.mtl</code>会按照<code v-pre>.obj</code>解析</li>
<li>遍历解析zip包中的<code v-pre>fbx</code><code v-pre>glb</code><code v-pre>gltf</code></li>
</ul>
</template></Annotation></label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-5" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-5"> obj</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-6" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-6"> mtl</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-7" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-7"> ifc</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-8" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-8"> 3dm</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-9" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-9"> 3ds</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-10" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-10"> 3mf</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-11" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-11"> amf</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-12" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-12"> dae</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-13" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-13"> drc</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-14" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-14"> kmz</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-15" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-15"> ldr</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-16" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-16"> mpd</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-17" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-17"> md2</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-18" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-18"> pcd</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-19" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-19"> ply</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-20" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-20"> stl</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-21" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-21"> svg</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-22" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-22"> usdz</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-23" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-23"> vox</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-24" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-24"> vtk</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-25" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-25"> vtp</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-26" disabled="disabled"><label class="task-list-item-label" for="task-item-26"> vtu</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-27" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-27"> wrl</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-28" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-28"> xyz</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-29" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-29"> js</label></li>
</ul>
</template></Tabs><h2 id="多功能区域" tabindex="-1"><a class="header-anchor" href="#多功能区域"><span>多功能区域</span></a></h2>
<blockquote>
<p>图标/按钮 从左到右依次是 <mark>保存预览国际化主题主色调设置</mark></p>
</blockquote>
<Tabs id="226" :data='[{"id":"保存"},{"id":"预览"},{"id":"国际化"},{"id":"主题"},{"id":"主色调"},{"id":"设置"}]'>
<template #title0="{ value, isActive }">保存</template><template #title1="{ value, isActive }">预览</template><template #title2="{ value, isActive }">国际化</template><template #title3="{ value, isActive }">主题</template><template #title4="{ value, isActive }">主色调</template><template #title5="{ value, isActive }">设置</template><template #tab0="{ value, isActive }"><p>打包当前场景并保存至服务器</p>
</template><template #tab1="{ value, isActive }"><p>打开新的<VPLink href="/guide/chhmeza7/">预览页</VPLink>窗口进行场景预览</p>
</template><template #tab2="{ value, isActive }"><p>切换编辑器的语言默认支持语言如下</p>
<ul class="task-list-container">
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-30" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-30"> 简体中文</label></li>
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" id="task-item-31" checked="checked" disabled="disabled"><label class="task-list-item-label" for="task-item-31"> English</label></li>
</ul>
</template><template #tab3="{ value, isActive }"><p>切换编辑器的主题风格<br />
切换顺序为<code v-pre>深色</code>--&gt;<code v-pre>跟随系统</code>--&gt;<code v-pre>浅色</code>--&gt;<code v-pre>深色</code> <br />
系统默认为<code v-pre>深色</code>风格</p>
</template><template #tab4="{ value, isActive }"><ImageCard
image="/images/manual/editor/header/mainColor.png"
title="主色调"
description="调整编辑器的主色,系统会自动生成相应的浅色、深色色阶,用于鼠标经过以及选中等效果"
author="ErSan"
date="2025/04/14"
/>
<p>调整编辑器的主色,系统会自动生成相应的浅色深色色阶用于鼠标经过以及选中等效果</p>
<p></p>
</template><template #tab5="{ value, isActive }"><ImageCard
image="/images/manual/editor/header/setting.png"
title="系统设置"
author="ErSan"
date="2025/04/14"
/>
<p>打开编辑器的设置面板</p>
</template></Tabs></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/fn9xwbkf/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/fn9xwbkf/\",\"title\":\"天气\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"天气\",\"createTime\":\"2025/03/31 20:05:08\",\"permalink\":\"/guide/fn9xwbkf/\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"天气\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/fn9xwbkf/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"天气\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":0.03,\"words\":10},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"filePathRelative\":\"notes/guide/manual/editor/rightSidebar/天气.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,3 +0,0 @@
<template><div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/g3kxptm0/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/g3kxptm0/\",\"title\":\"动画\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"动画\",\"createTime\":\"2025/03/31 20:07:33\",\"permalink\":\"/guide/g3kxptm0/\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"动画\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/g3kxptm0/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"动画\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":0.03,\"words\":10},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"filePathRelative\":\"notes/guide/manual/editor/rightSidebar/动画.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,3 +0,0 @@
<template><div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/jkg3yahd/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/jkg3yahd/\",\"title\":\"3D场景\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"3D场景\",\"createTime\":\"2025/03/31 20:00:56\",\"permalink\":\"/guide/jkg3yahd/\",\"description\":\"简要说明 编辑器的核心视口,展示用户所编辑的场景内容。 主要亮点: 提供六视角切换/主相机切换功能方便用户观察3D场景。 自适应视口。 支持多种渲染模式,满足不同场景需求。 提供丰富的变换控制工具,便于编辑和调整模型。 功能说明 主相机切换:支持在默认的透视相机和其他添加进场景的相机之间切换,满足不同场景的观察需求。 六视图:快速切换到前、后、左、右...\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"3D场景\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/jkg3yahd/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"3D场景\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"简要说明 编辑器的核心视口,展示用户所编辑的场景内容。 主要亮点: 提供六视角切换/主相机切换功能方便用户观察3D场景。 自适应视口。 支持多种渲染模式,满足不同场景需求。 提供丰富的变换控制工具,便于编辑和调整模型。 功能说明 主相机切换:支持在默认的透视相机和其他添加进场景的相机之间切换,满足不同场景的观察需求。 六视图:快速切换到前、后、左、右...\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":3.09,\"words\":928},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"autoDesc\":true,\"filePathRelative\":\"notes/guide/manual/editor/viewport/3D场景.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,107 +0,0 @@
<template><div><div class="demo-wrapper only-img no-padding">
<div class="demo-head">
<div class="demo-ctrl"><i></i><i></i><i></i></div>
</div>
<div class="demo-container" >
<ImageCard
image="/images/manual/editor/viewport/viewer.png"
title="3D场景"
description="编辑器的核心视口,展示用户所编辑的场景内容。"
author="ErSan"
date="2025/04/16"
/>
</div></div><h2 id="简要说明" tabindex="-1"><a class="header-anchor" href="#简要说明"><span>简要说明</span></a></h2>
<p>编辑器的核心视口展示用户所编辑的场景内容</p>
<p><strong>主要亮点</strong></p>
<ul>
<li>提供六视角切换/主相机切换功能方便用户观察3D场景</li>
<li>自适应视口</li>
<li>支持多种渲染模式满足不同场景需求</li>
<li>提供丰富的变换控制工具便于编辑和调整模型</li>
</ul>
<h2 id="功能说明" tabindex="-1"><a class="header-anchor" href="#功能说明"><span>功能说明</span></a></h2>
<ul>
<li><strong>主相机切换</strong>支持在默认的透视相机和其他添加进场景的相机之间切换满足不同场景的观察需求</li>
<li><strong>六视图</strong>快速切换到<mark></mark>六个标准视角便于精确调整模型</li>
<li><strong>渲染模式</strong>提供<mark>真实原色法线线框</mark>四种渲染模式适应不同的设计需求</li>
<li><strong>变换控制</strong>支持平移旋转缩放三种变换操作用户可以通过鼠标或快捷键快速调整模型</li>
<li><strong>坐标参考</strong>可以切换<mark>世界坐标本地坐标</mark>以查看不同坐标系下的轴情况帮助用户明确模型的方向和位置</li>
<li><strong>场景统计信息</strong>实时显示场景中的模型数量顶点数三角面数帧时等信息便于性能优化</li>
<li><strong>视角辅助</strong>提供视角导航工具帮助用户快速调整观察方向</li>
<li><strong>操作快捷键</strong>内置聚焦删除等快捷键操作便于快速设计</li>
</ul>
<h3 id="主相机切换-六视图" tabindex="-1"><a class="header-anchor" href="#主相机切换-六视图"><span>主相机切换/六视图</span></a></h3>
<div class="demo-wrapper only-img no-padding">
<div class="demo-head">
<div class="demo-ctrl"><i></i><i></i><i></i></div>
</div>
<div class="demo-container" >
<ImageCard
image="/images/manual/editor/viewport/viewerCamera.png"
title="场景相机/六视图"
author="ErSan"
date="2025/04/16"
/>
</div></div><h3 id="渲染模式" tabindex="-1"><a class="header-anchor" href="#渲染模式"><span>渲染模式</span></a></h3>
<div style="display:flex;justify-content:center;">
<ImageCard
image="/images/manual/editor/viewport/viewerRenderMode.png"
title="渲染模式"
width="400"
author="ErSan"
date="2025/04/16"
/>
</div>
<p>提供以下渲染模式</p>
<ul>
<li><strong>真实模式</strong>显示模型的材质效果并进行实时采样以产生类似光线追踪的效果</li>
<li><strong>原色模式</strong>显示模型的材质效果便于检查纹理和光影</li>
<li><strong>法线模式</strong></li>
<li><strong>线框模式</strong>仅显示模型的边框线条便于查看内部结构</li>
</ul>
<h3 id="变换控制" tabindex="-1"><a class="header-anchor" href="#变换控制"><span>变换控制</span></a></h3>
<div style="display:flex;justify-content:center;">
<ImageCard
image="/images/manual/editor/viewport/viewerTransform.png"
title="变换控制"
width="400"
author="ErSan"
date="2025/04/16"
/>
</div>
支持以下变换操作
- **平移**拖动模型在平面内移动
- **旋转**绕指定轴旋转模型
- **缩放**调整模型的大小比例
<h3 id="坐标参考" tabindex="-1"><a class="header-anchor" href="#坐标参考"><span>坐标参考</span></a></h3>
<p>变换控制右边的按钮点击后会在<mark>世界坐标/本地坐标</mark>之间切换<br />
用于表明场景中显示的坐标轴XYZ所使用的参考坐标系<br />
比如A模型在世界坐标下Y轴向上但是本地坐标下却是Z轴向上确定轴向可以辅助用户快速定位一些矩阵变换错误的原因<br /></p>
<h3 id="场景统计信息" tabindex="-1"><a class="header-anchor" href="#场景统计信息"><span>场景统计信息</span></a></h3>
<p>在界面左下角显示场景的实时统计信息包括</p>
<ul>
<li>模型数量</li>
<li>顶点数</li>
<li>三角面数</li>
<li>帧时帧率 = 1000/帧时</li>
</ul>
<h3 id="视角辅助" tabindex="-1"><a class="header-anchor" href="#视角辅助"><span>视角辅助</span></a></h3>
<p>在界面右下角提供了视角辅助器方便用户快速切换视角共支持22个视角
其颜色会跟随编辑器主题变换深色/浅色</p>
<h3 id="操作快捷键" tabindex="-1"><a class="header-anchor" href="#操作快捷键"><span>操作快捷键</span></a></h3>
<p>支持以下快捷键操作</p>
<ul>
<li><strong>W</strong>切换到平移模式</li>
<li><strong>E</strong>切换到旋转模式</li>
<li><strong>R</strong>切换到缩放模式</li>
<li><strong>F</strong>聚焦选中模型</li>
<li><strong>Del</strong>删除选中模型</li>
<li><strong>Ctrl + Z</strong>撤销上一步操作</li>
<li><strong>Ctrl + Shift +Z</strong>重做被撤销的操作</li>
</ul>
<p>如果在设置中修改了对应快捷键则请使用对应快捷键操作</p>
</div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/kk5cv2ij/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/kk5cv2ij/\",\"title\":\"Html面板\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"Html面板\",\"createTime\":\"2025/04/17 17:03:07\",\"permalink\":\"/guide/kk5cv2ij/\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"Html面板\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/kk5cv2ij/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"Html面板\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":0.04,\"words\":11},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"filePathRelative\":\"notes/guide/manual/editor/rightSidebar/Html面板.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,3 +0,0 @@
<template><div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/l1df4723/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/l1df4723/\",\"title\":\"材质\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"材质\",\"createTime\":\"2025/03/31 20:07:10\",\"permalink\":\"/guide/l1df4723/\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"材质\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/l1df4723/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"材质\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":0.03,\"words\":10},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"filePathRelative\":\"notes/guide/manual/editor/rightSidebar/材质.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,3 +0,0 @@
<template><div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/l8hd921o/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/l8hd921o/\",\"title\":\"后期处理\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"后期处理\",\"createTime\":\"2025/03/31 20:04:44\",\"permalink\":\"/guide/l8hd921o/\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"后期处理\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/l8hd921o/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"后期处理\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":0.04,\"words\":12},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"filePathRelative\":\"notes/guide/manual/editor/rightSidebar/后期处理.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,3 +0,0 @@
<template><div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/n6o11owv/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/n6o11owv/\",\"title\":\"部署(待更新)\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"部署(待更新)\",\"createTime\":\"2025/03/29 23:50:17\",\"permalink\":\"/guide/n6o11owv/\",\"description\":\"此文档尚未更新,请勿参考。 本文档适用于部署 Astral3D 编辑器到服务器上。 以Golang版本后端为例其他语言版本后端部署方式请参考官方文档。 本地打包 前端打包 后端打包 服务器部署(Windows) 基础环境 Nginx MySQL 或者直接使用集成环境如PHPStudy。 前端部署 将Astral 3D Editor打包后的文件放到方...\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"部署(待更新)\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/n6o11owv/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"部署(待更新)\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"此文档尚未更新,请勿参考。 本文档适用于部署 Astral3D 编辑器到服务器上。 以Golang版本后端为例其他语言版本后端部署方式请参考官方文档。 本地打包 前端打包 后端打包 服务器部署(Windows) 基础环境 Nginx MySQL 或者直接使用集成环境如PHPStudy。 前端部署 将Astral 3D Editor打包后的文件放到方...\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":3.13,\"words\":940},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"autoDesc\":true,\"filePathRelative\":\"notes/guide/部署.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,148 +0,0 @@
<template><div><blockquote>
<p><strong>此文档尚未更新请勿参考</strong></p>
</blockquote>
<blockquote>
<p>本文档适用于部署 Astral3D 编辑器到服务器上 <br />
<a href="https://github.com/mlt131220/Astral3DEditorGoBack" target="_blank" rel="noopener noreferrer">Golang版本</a>后端为例其他语言版本后端部署方式请参考官方文档</p>
</blockquote>
<h2 id="本地打包" tabindex="-1"><a class="header-anchor" href="#本地打包"><span>本地打包</span></a></h2>
<h3 id="前端打包" tabindex="-1"><a class="header-anchor" href="#前端打包"><span>前端打包</span></a></h3>
<div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" v-pre=""><code class="language-bash"><span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"># 确认 Node.js 版本 23.x</span></span>
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665">node</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076"> -v</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"># 拉取代码</span></span>
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665">git</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> clone</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> https://github.com/mlt131220/Astral3D.git</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"># 安装依赖</span></span>
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965">cd</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> Astral3D</span></span>
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665">pnpm</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> install</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"># 打包 Astral 3D Engine SDK</span></span>
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665">pnpm</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> run</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> sdk:build</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"># 打包Astral 3D Editor</span></span>
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665">pnpm</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> run</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> editor:build</span></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="后端打包" tabindex="-1"><a class="header-anchor" href="#后端打包"><span>后端打包</span></a></h3>
<div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" v-pre=""><code class="language-bash"><span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"># 确认go环境</span></span>
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665">go</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> version</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"># 拉取代码</span></span>
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665">git</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> clone</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> https://github.com/mlt131220/Astral3DEditorGoBack.git</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"># 安装依赖</span></span>
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665">go</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> mod</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> tidy</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"># 修改数据库等配置修改 conf/app.conf详见 https://github.com/mlt131220/Astral3DEditorGoBack/blob/main/README.md</span></span>
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665">edit</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> conf/app.conf</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"># 安装bee工具</span></span>
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665">go</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> get</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076"> -u</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> github.com/beego/bee/v2</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"># 编译后端代码</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"># Linux</span></span>
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665">bee</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> pack</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076"> -be</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> GOOS=linux</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076"> -be</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> GOARCH=amd64</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"># Windows</span></span>
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665">bee</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> pack</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076"> -be</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> GOOS=windows</span></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="服务器部署-windows" tabindex="-1"><a class="header-anchor" href="#服务器部署-windows"><span>服务器部署(Windows)</span></a></h2>
<h3 id="基础环境" tabindex="-1"><a class="header-anchor" href="#基础环境"><span>基础环境</span></a></h3>
<ul>
<li><a href="https://nginx.org/en/download.html" target="_blank" rel="noopener noreferrer">Nginx</a></li>
<li><a href="https://www.mysql.com/cn/downloads/" target="_blank" rel="noopener noreferrer">MySQL</a></li>
</ul>
<p>或者直接使用集成环境<a href="https://old.xp.cn/download.html" target="_blank" rel="noopener noreferrer">PHPStudy</a></p>
<h3 id="前端部署" tabindex="-1"><a class="header-anchor" href="#前端部署"><span>前端部署</span></a></h3>
<p>将Astral 3D Editor打包后的文件放到方便读取的目录下 <code v-pre>C:\www\Astral3dEditor</code>;</p>
<h3 id="后端部署" tabindex="-1"><a class="header-anchor" href="#后端部署"><span>后端部署</span></a></h3>
<ol>
<li>将后端编译后的文件放到方便读取的目录下 <code v-pre>C:\www\Astral3DEditorGoBack</code>;</li>
<li>打开 MySQL 数据库创建名为 <code v-pre>astral3d</code> 的数据库并导入 <code v-pre>Astral3DEditorGoBack/static/sql/astral-3d-editor.sql</code> 文件</li>
<li>启动 MySQL 服务并确保 MySQL 服务正常运行</li>
<li>双击后端程序打包生成的可执行文件 <code v-pre>Astral3DEditorGoBack.exe</code> 启动后端服务默认监听 <code v-pre>8080</code> 端口</li>
</ol>
<h3 id="nginx-配置" tabindex="-1"><a class="header-anchor" href="#nginx-配置"><span>Nginx 配置</span></a></h3>
<ol>
<li>打开 Nginx 配置文件假设nginx安装目录为<code v-pre>C:\nginx</code>,则配置文件路径为<code v-pre>C:\nginx\conf\nginx.conf</code>;</li>
<li> <code v-pre>http</code> 块中添加以下配置<div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" v-pre=""><code class="language-"><span class="line"><span>http {</span></span>
<span class="line"><span> # ... 忽略原有其他配置不变更</span></span>
<span class="line"><span> </span></span>
<span class="line"><span> # 开启gzip</span></span>
<span class="line"><span> gzip on;</span></span>
<span class="line"><span> </span></span>
<span class="line"><span> # 导入所有的server配置</span></span>
<span class="line"><span> include vhosts/*.conf;</span></span>
<span class="line"><span>}</span></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></li>
<li> <code v-pre>C:\nginx\conf</code> 目录下创建 <code v-pre>vhosts</code> 目录(与上方http中增加的配置路径同名并非一定要为<code v-pre>vhost</code>,可以自定义);</li>
<li> <code v-pre>C:\nginx\conf\vhosts</code> 目录下创建 <code v-pre>astral3d.conf</code> 文件内容如下<div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" v-pre=""><code class="language-"><span class="line"><span>server {</span></span>
<span class="line"><span> # 监听端口,即前端部署的端口一般设置为80</span></span>
<span class="line"><span> listen 80;</span></span>
<span class="line"><span> # 域名/ip/localhost</span></span>
<span class="line"><span> server_name 127.0.0.1;</span></span>
<span class="line"><span></span></span>
<span class="line"><span> # 访问 server_name:listen 请求就会被转发到这个location块中</span></span>
<span class="line"><span> location / {</span></span>
<span class="line"><span> # 前端部署的目录即前端打包后的文件所在目录</span></span>
<span class="line"><span> root "C:\www\Astral3dEditor";</span></span>
<span class="line"><span> # 文件url重写规则将请求转发到index.html单页面应用</span></span>
<span class="line"><span> try_files $uri $uri/ index.html;</span></span>
<span class="line"><span> # 项目入口文件</span></span>
<span class="line"><span> index index.html;</span></span>
<span class="line"><span> }</span></span>
<span class="line"><span></span></span>
<span class="line"><span> # 后端api接口代理接口请求匹配 /api 的会走此处转发下面都同理</span></span>
<span class="line"><span> location /api {</span></span>
<span class="line"><span> # 后端接口访问地址上面部署在了本机的8080端口</span></span>
<span class="line"><span> proxy_pass http://127.0.0.1:8080/api;</span></span>
<span class="line"><span> }</span></span>
<span class="line"><span></span></span>
<span class="line"><span> # 前端websocket代理</span></span>
<span class="line"><span> location /socket {</span></span>
<span class="line"><span> proxy_pass http://127.0.0.1:8080/api/sys/ws; </span></span>
<span class="line"><span></span></span>
<span class="line"><span> proxy_http_version 1.1;</span></span>
<span class="line"><span> proxy_set_header Upgrade $http_upgrade;</span></span>
<span class="line"><span> proxy_set_header Connection "Upgrade";</span></span>
<span class="line"><span> proxy_connect_timeout 10s;</span></span>
<span class="line"><span> proxy_read_timeout 300s;</span></span>
<span class="line"><span> proxy_send_timeout 300s;</span></span>
<span class="line"><span> }</span></span>
<span class="line"><span></span></span>
<span class="line"><span> # 如果需要使用upyun上传功能则需要添加以下配置</span></span>
<span class="line"><span> # 假设 http://upyun.xxx.com upyun</span></span>
<span class="line"><span></span></span>
<span class="line"><span> location /upyun {</span></span>
<span class="line"><span> rewrite ^/upyun(.*)$ $1 break;</span></span>
<span class="line"><span> proxy_pass http://upyun.xxx.com;</span></span>
<span class="line"><span> }</span></span>
<span class="line"><span></span></span>
<span class="line"><span> location /static/upload {</span></span>
<span class="line"><span> proxy_pass http://upyun.xxx.com/static/upload;</span></span>
<span class="line"><span> }</span></span>
<span class="line"><span></span></span>
<span class="line"><span> location /static/bim2gltf {</span></span>
<span class="line"><span> proxy_pass http://upyun.xxx.com/static/bim2gltf;</span></span>
<span class="line"><span> }</span></span>
<span class="line"><span>}</span></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></li>
</ol>
<h3 id="启动服务" tabindex="-1"><a class="header-anchor" href="#启动服务"><span>启动服务</span></a></h3>
<div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" v-pre=""><code class="language-bash"><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665">nginx</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076"> -s</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> start</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"># 重启 nginx如果修改了配置文件</span></span>
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665">nginx</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076"> -s</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> reload</span></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>此时访问 <code v-pre>http://127.0.0.1</code> 即可访问到 Astral 3D Editor</p>
<h2 id="服务器部署-linux" tabindex="-1"><a class="header-anchor" href="#服务器部署-linux"><span>服务器部署(Linux)</span></a></h2>
<h2 id="docker-部署" tabindex="-1"><a class="header-anchor" href="#docker-部署"><span>Docker 部署</span></a></h2>
<h2 id="注意事项" tabindex="-1"><a class="header-anchor" href="#注意事项"><span>注意事项</span></a></h2>
<ol>
<li>后端打包前请确认<code v-pre>Astral3DEditorGoBack/conf/app.conf</code>文件中的<code v-pre>runmode = prod</code>;</li>
<li>后端部署时请确保 MySQL 数据库配置正确并导入 <code v-pre>Astral3DEditorGoBack/static/sql/astral-3d-editor.sql</code> 文件</li>
<li>前端部署时请确保 Nginx 配置正确并将前端部署到服务器上</li>
<li>后端部署时请确保后端程序启动成功并监听 <code v-pre>Astral3DEditorGoBack/conf/app.conf</code>中配置的端口<code v-pre>httpport </code>默认为 <code v-pre>8080</code> </li>
<li>前端部署时请确保前端程序启动成功并监听 Nginx 配置中配置的端口,比如上面示例的 <code v-pre>80</code> 端口</li>
<li>部署完成后请确保 Nginx MySQL 服务正常运行</li>
<li>部署完成后请确保前端程序与后端程序正常运行</li>
</ol>
</div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/nct00cif/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/nct00cif/\",\"title\":\"几何\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"几何\",\"createTime\":\"2025/03/31 20:06:40\",\"permalink\":\"/guide/nct00cif/\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"几何\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/nct00cif/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"几何\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":0.03,\"words\":10},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"filePathRelative\":\"notes/guide/manual/editor/rightSidebar/几何.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,3 +0,0 @@
<template><div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/plugin/31eucyqc/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/plugin/31eucyqc/\",\"title\":\"入门\",\"lang\":\"zh-CN\",\"frontmatter\":{\"lang\":\"zh-CN\",\"title\":\"入门\",\"createTime\":\"2025/02/20 15:13:36\",\"permalink\":\"/guide/plugin/31eucyqc/\",\"description\":\"Astral 3D 内置了插件系统,为其提供了巨大的灵活性和可扩展性。 使用方法 打开插件中心: 插件中心入口 单击需要使用的插件运行以glTF处理器为例 插件中心 glTF处理器 内置插件 Astral 3D Editor 内置了以下插件: glTF处理器在Web端处理glTF文件的能力。用于对 glTF 格式的模型文件进行压缩、优化等操作;\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"入门\\\",\\\"image\\\":[\\\"https://docs.astraljs.com/images/plugin/entrance.jpg\\\",\\\"https://docs.astraljs.com/images/plugin/plane.jpg\\\",\\\"https://docs.astraljs.com/images/plugin/glTFHandler/plane.jpg\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/plugin/31eucyqc/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"入门\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"Astral 3D 内置了插件系统,为其提供了巨大的灵活性和可扩展性。 使用方法 打开插件中心: 插件中心入口 单击需要使用的插件运行以glTF处理器为例 插件中心 glTF处理器 内置插件 Astral 3D Editor 内置了以下插件: glTF处理器在Web端处理glTF文件的能力。用于对 glTF 格式的模型文件进行压缩、优化等操作;\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:image\",\"content\":\"https://docs.astraljs.com/images/plugin/entrance.jpg\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":0.45,\"words\":136},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"autoDesc\":true,\"filePathRelative\":\"notes/guide/plugins/入门.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,21 +0,0 @@
<template><div><blockquote>
<p>Astral 3D 内置了插件系统为其提供了巨大的灵活性和可扩展性</p>
</blockquote>
<h2 id="使用方法" tabindex="-1"><a class="header-anchor" href="#使用方法"><span>使用方法</span></a></h2>
<ol>
<li>打开插件中心</li>
</ol>
<p><img src="/images/plugin/entrance.jpg" alt="插件中心入口"></p>
<ol start="2">
<li>单击需要使用的插件运行<kbd>glTF处理器</kbd>为例</li>
</ol>
<p><img src="/images/plugin/plane.jpg" alt="插件中心"></p>
<p><img src="/images/plugin/glTFHandler/plane.jpg" alt="glTF处理器"></p>
<h2 id="内置插件" tabindex="-1"><a class="header-anchor" href="#内置插件"><span>内置插件</span></a></h2>
<p>Astral 3D Editor 内置了以下插件</p>
<ul>
<li>glTF处理器在Web端处理glTF文件的能力用于对 glTF 格式的模型文件进行压缩优化等操作</li>
</ul>
</div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/plugin/7ro8hsc0/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/plugin/7ro8hsc0/\",\"title\":\"插件开发\",\"lang\":\"zh-CN\",\"frontmatter\":{\"lang\":\"zh-CN\",\"title\":\"插件开发\",\"createTime\":\"2025/02/20 15:13:36\",\"permalink\":\"/guide/plugin/7ro8hsc0/\",\"description\":\"开发插件时插件入口类需要实现以下接口并以esm方式导出Astral3D Engine会加载默认导出模块。 插件入口类接口 示例插件\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"插件开发\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/plugin/7ro8hsc0/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"插件开发\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"开发插件时插件入口类需要实现以下接口并以esm方式导出Astral3D Engine会加载默认导出模块。 插件入口类接口 示例插件\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":0.69,\"words\":208},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"autoDesc\":true,\"filePathRelative\":\"notes/guide/plugins/插件开发.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,44 +0,0 @@
<template><div><blockquote>
<p>开发插件时插件入口类需要实现以下接口并以esm方式导出Astral3D Engine会加载默认导出模块</p>
</blockquote>
<h2 id="插件入口类接口" tabindex="-1"><a class="header-anchor" href="#插件入口类接口"><span>插件入口类接口</span></a></h2>
<div class="language-typescript line-numbers-mode" data-highlighter="shiki" data-ext="typescript" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" v-pre=""><code class="language-typescript"><span class="line"><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375">export</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676"> interface</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994"> Plugin</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> // </span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> name</span><span style="--shiki-light:#999999;--shiki-dark:#666666">: </span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994">string</span><span style="--shiki-light:#999999;--shiki-dark:#666666">;</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE"> </span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> // </span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> version</span><span style="--shiki-light:#999999;--shiki-dark:#666666">:</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994">number</span><span style="--shiki-light:#999999;--shiki-dark:#666666">;</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE"> </span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> // </span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> icon</span><span style="--shiki-light:#999999;--shiki-dark:#666666">:</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994">string</span><span style="--shiki-light:#999999;--shiki-dark:#666666">;</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> // </span></span>
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> install</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">config</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">?</span><span style="--shiki-light:#999999;--shiki-dark:#666666">: </span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994">any</span><span style="--shiki-light:#999999;--shiki-dark:#666666">):</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994"> void</span><span style="--shiki-light:#999999;--shiki-dark:#666666">;</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE"> </span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> // </span></span>
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> uninstall</span><span style="--shiki-light:#999999;--shiki-dark:#666666">():</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994"> void</span><span style="--shiki-light:#999999;--shiki-dark:#666666">;</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD"> // </span></span>
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> run</span><span style="--shiki-light:#999999;--shiki-dark:#666666">():</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994"> void</span><span style="--shiki-light:#999999;--shiki-dark:#666666">;</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE"> </span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666">}</span></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="示例插件" tabindex="-1"><a class="header-anchor" href="#示例插件"><span>示例插件</span></a></h2>
<div class="language-typescript line-numbers-mode" data-highlighter="shiki" data-ext="typescript" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" v-pre=""><code class="language-typescript"><span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD">// 暂未发布到npm请自行将代码拷贝到项目中</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD">// import { Plugin } from 'msy3d';</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">class</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994"> ExamplePlugin</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676"> implements</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> Plugin</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> name</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> =</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77"> '</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D">example-plugin</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77">'</span><span style="--shiki-light:#999999;--shiki-dark:#666666">;</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> version</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> =</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91"> 1.0</span><span style="--shiki-light:#999999;--shiki-dark:#666666">;</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> icon</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> =</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77"> '</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D">https://example.com/icon.png</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77">'</span><span style="--shiki-light:#999999;--shiki-dark:#666666">;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> install</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A">config</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676">?</span><span style="--shiki-light:#999999;--shiki-dark:#666666">: </span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994">any</span><span style="--shiki-light:#999999;--shiki-dark:#666666">):</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994"> void</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> console</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665">log</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77">'</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D">ExamplePlugin installed</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77">'</span><span style="--shiki-light:#999999;--shiki-dark:#666666">);</span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666"> }</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> uninstall</span><span style="--shiki-light:#999999;--shiki-dark:#666666">():</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994"> void</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> console</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665">log</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77">'</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D">ExamplePlugin uninstalled</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77">'</span><span style="--shiki-light:#999999;--shiki-dark:#666666">);</span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666"> }</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> run</span><span style="--shiki-light:#999999;--shiki-dark:#666666">():</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994"> void</span><span style="--shiki-light:#999999;--shiki-dark:#666666"> {</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> console</span><span style="--shiki-light:#999999;--shiki-dark:#666666">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665">log</span><span style="--shiki-light:#999999;--shiki-dark:#666666">(</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77">'</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D">ExamplePlugin run</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77">'</span><span style="--shiki-light:#999999;--shiki-dark:#666666">);</span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666"> }</span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666">}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375">export</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375"> default</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A"> ExamplePlugin</span><span style="--shiki-light:#999999;--shiki-dark:#666666">;</span></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/plugin/builtin/jo87cfk0/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/plugin/builtin/jo87cfk0/\",\"title\":\"glTF 处理器\",\"lang\":\"zh-CN\",\"frontmatter\":{\"lang\":\"zh-CN\",\"title\":\"glTF 处理器\",\"createTime\":\"2025/02/20 15:13:36\",\"permalink\":\"/guide/plugin/builtin/jo87cfk0/\",\"description\":\"此插件提供了在 Web 端处理 glTF 文件的能力,主要能力如下: 优化 glTF 文件: a. 压缩模型数据(包括贴图材质与几何数据),减少文件大小; b. 网格顶点优化,减少顶点数量,提升渲染性能; c. 实例化网格,减少渲染 DrawCall提升渲染性能; d. 压缩裁剪纹理贴图,减少内存占用,提升渲染性能; 面板 glTF处理器 使用方法 ...\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"glTF 处理器\\\",\\\"image\\\":[\\\"https://docs.astraljs.com/images/plugin/glTFHandler/plane.jpg\\\",\\\"https://docs.astraljs.com/images/plugin/glTFHandler/result.jpg\\\",\\\"https://docs.astraljs.com/images/plugin/glTFHandler/compare.jpg\\\",\\\"https://docs.astraljs.com/images/plugin/glTFHandler/compare2.jpg\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/plugin/builtin/jo87cfk0/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"glTF 处理器\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"此插件提供了在 Web 端处理 glTF 文件的能力,主要能力如下: 优化 glTF 文件: a. 压缩模型数据(包括贴图材质与几何数据),减少文件大小; b. 网格顶点优化,减少顶点数量,提升渲染性能; c. 实例化网格,减少渲染 DrawCall提升渲染性能; d. 压缩裁剪纹理贴图,减少内存占用,提升渲染性能; 面板 glTF处理器 使用方法 ...\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:image\",\"content\":\"https://docs.astraljs.com/images/plugin/glTFHandler/plane.jpg\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":3.16,\"words\":947},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"autoDesc\":true,\"filePathRelative\":\"notes/guide/plugins/builtin/glTFHandler.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,136 +0,0 @@
<template><div><blockquote>
<p>此插件提供了在 Web 端处理 glTF 文件的能力主要能力如下</p>
<ul>
<li>优化 glTF 文件
<ul>
<li>a. 压缩模型数据(包括贴图材质与几何数据)减少文件大小;</li>
<li>b. 网格顶点优化减少顶点数量提升渲染性能;</li>
<li>c. 实例化网格减少渲染 DrawCall提升渲染性能;</li>
<li>d. 压缩裁剪纹理贴图减少内存占用提升渲染性能;</li>
</ul>
</li>
</ul>
</blockquote>
<!-- > - 查看glTF文件构成
> - a. 显示glTF文件的结构包括文件头场景节点动画材质几何体等;
> - b. 显示glTF文件中的贴图几何体动画等资源的属性信息; -->
<h2 id="面板" tabindex="-1"><a class="header-anchor" href="#面板"><span>面板</span></a></h2>
<p><img src="/images/plugin/glTFHandler/plane.jpg" alt="glTF处理器"></p>
<h2 id="使用方法" tabindex="-1"><a class="header-anchor" href="#使用方法"><span>使用方法</span></a></h2>
<h4 id="_1-点击面板顶部上传区域-选择-gltf-文件-相关文件不会上传至服务器-仅用于本地处理" tabindex="-1"><a class="header-anchor" href="#_1-点击面板顶部上传区域-选择-gltf-文件-相关文件不会上传至服务器-仅用于本地处理"><span>1. 点击面板顶部上传区域选择 glTF 文件相关文件不会上传至服务器仅用于本地处理</span></a></h4>
<h4 id="_2-修改配置选项或直接使用默认配置" tabindex="-1"><a class="header-anchor" href="#_2-修改配置选项或直接使用默认配置"><span>2. 修改配置选项或直接使用默认配置</span></a></h4>
<h4 id="_3-点击-优化-按钮-开始处理-gltf-文件-优化日志会实时显示在面板顶部-原上传文件区域" tabindex="-1"><a class="header-anchor" href="#_3-点击-优化-按钮-开始处理-gltf-文件-优化日志会实时显示在面板顶部-原上传文件区域"><span>3. 点击优化按钮开始处理 glTF 文件优化日志会实时显示在面板顶部原上传文件区域</span></a></h4>
<h2 id="配置说明" tabindex="-1"><a class="header-anchor" href="#配置说明"><span>配置说明</span></a></h2>
<table>
<thead>
<tr>
<th>配置项</th>
<th>描述</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>压缩方式</td>
<td>网格浮点压缩方法<br/>Draco 压缩 geometry;<br/>Meshopt &amp; Quantization 压缩 geometry animation;</td>
<td><code v-pre>Draco</code>|<code v-pre>Meshopt</code>|<code v-pre>Quantization</code>|<code v-pre>None</code></td>
</tr>
<tr>
<td>Meshopt 压缩级别</td>
<td>压缩方式选择<code v-pre>Meshopt</code>时需要选择压缩级别</td>
<td><code v-pre>low</code>|<code v-pre>medium</code>|<code v-pre>high</code></td>
</tr>
<tr>
<td>实例化网格</td>
<td>使用 GPU 实例化技术共享网格引用即生成<code v-pre>THREE.InstancedMesh</code>对象减少 DrawCall</td>
<td><code v-pre>true</code>|<code v-pre>false</code></td>
</tr>
<tr>
<td>实例化网格界限</td>
<td>实例化网格所需的实例数,实例数低于该值的网格将不会实例化</td>
<td><code v-pre>min:2,max:Infinity</code></td>
</tr>
<tr>
<td>展平场景树</td>
<td>将场景内子模型对象全部展平到场景根节点<br/>开启合并网格时此项无法关闭</td>
<td><code v-pre>true</code>|<code v-pre>false</code></td>
</tr>
<tr>
<td>合并网格</td>
<td>合并网格以减少渲染调用合并后的网格无法单独选中<br/>前置条件开启展平场景树</td>
<td><code v-pre>true</code>|<code v-pre>false</code></td>
</tr>
<tr>
<td>合并纹理</td>
<td>创建调色板纹理并合并材质</td>
<td><code v-pre>true</code>|<code v-pre>false</code></td>
</tr>
<tr>
<td>合并纹理界限</td>
<td>合并纹理所需的纹理数,纹理数低于该值将不会合并</td>
<td><code v-pre>min:2,max:Infinity</code></td>
</tr>
<tr>
<td>修剪</td>
<td>从文件中删除未被场景引用的属性</td>
<td><code v-pre>true</code>|<code v-pre>false</code></td>
</tr>
<tr>
<td>修剪顶点</td>
<td>是否修剪未使用的顶点属性</td>
<td><code v-pre>true</code>|<code v-pre>false</code></td>
</tr>
<tr>
<td>修剪子节点</td>
<td>是否修剪空的叶子节点</td>
<td><code v-pre>true</code>|<code v-pre>false</code></td>
</tr>
<tr>
<td>修剪纹理</td>
<td>是否修剪实体(单色)纹理将其转换为材质元素</td>
<td><code v-pre>true</code>|<code v-pre>false</code></td>
</tr>
<tr>
<td>合并同位顶点</td>
<td>合并按位相同的顶点合并和索引后顶点之间的数据共享效率更高文件大小可以减小GPU 可以更高效地使用顶点缓存<br/>开启简化网格时此项无法关闭</td>
<td><code v-pre>true</code>|<code v-pre>false</code></td>
</tr>
<tr>
<td>简化网格</td>
<td>基于<code v-pre>meshoptimizer</code>的简化算法生成具有较少三角形和顶点的网格简化是有损的但该算法旨在针对给定的参数尽可能地保持视觉质量<br/>前置条件开启合并同位顶点</td>
<td><code v-pre>true</code>|<code v-pre>false</code></td>
</tr>
<tr>
<td>简化误差界限</td>
<td>简化网格误差容忍度以网格尺寸的百分比表示</td>
<td><code v-pre>min:0.01,max:100</code></td>
</tr>
<tr>
<td>简化锁定边界</td>
<td>是否锁定网格的拓扑边界拓扑结构尤其是分割顶点会限制简化器</td>
<td><code v-pre>true</code>|<code v-pre>false</code></td>
</tr>
<tr>
<td>简化比率</td>
<td>要保留的顶点的比率0-1</td>
<td><code v-pre>min:0,max:1</code></td>
</tr>
<tr>
<td>纹理压缩</td>
<td><code v-pre>AVIF</code><code v-pre>WebP</code>优化传输大小;<br/><code v-pre>Auto</code>按原始格式进行压缩;</td>
<td><code v-pre>WebP</code>|<code v-pre>AVIF</code>|<code v-pre>Auto</code>|<code v-pre>None</code></td>
</tr>
<tr>
<td>纹理最大尺寸</td>
<td>超过该尺寸的纹理将被压缩,值一般为 2 N 次方</td>
<td><code v-pre>min:2,max:Infinity</code></td>
</tr>
</tbody>
</table>
<h2 id="结果" tabindex="-1"><a class="header-anchor" href="#结果"><span>结果</span></a></h2>
<p><img src="/images/plugin/glTFHandler/result.jpg" alt="glTF优化结果"></p>
<p><img src="/images/plugin/glTFHandler/compare.jpg" alt="glTF优化文件对比"></p>
<p><img src="/images/plugin/glTFHandler/compare2.jpg" alt="glTF优化文件对比"></p>
</div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/pnmbue0k/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/pnmbue0k/\",\"title\":\"场景配置\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"场景配置\",\"createTime\":\"2025/03/31 20:04:17\",\"permalink\":\"/guide/pnmbue0k/\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"场景配置\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/pnmbue0k/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"场景配置\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":0.04,\"words\":12},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"filePathRelative\":\"notes/guide/manual/editor/rightSidebar/场景配置.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,3 +0,0 @@
<template><div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/rf1xgf4z/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/rf1xgf4z/\",\"title\":\"BIM轻量化\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"BIM轻量化\",\"createTime\":\"2025/03/31 19:48:15\",\"permalink\":\"/guide/rf1xgf4z/\",\"description\":\"简要说明 通过编辑器的BIM轻量化功能您可以将复杂的BIM工程文件如.rvt转换为轻量化的.glTF文件。 转换过程中保留了BIM构件的属性信息同时对模型进行了压缩优化方便在Web端进行高效解析与展示。 主要亮点: 支持BIM文件的轻量化转换优化模型大小。 保留构件属性,便于后续操作与分析。 界面设计与类似,操作直观易用。 功能说明 模型列...\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"BIM轻量化\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/rf1xgf4z/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"BIM轻量化\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"简要说明 通过编辑器的BIM轻量化功能您可以将复杂的BIM工程文件如.rvt转换为轻量化的.glTF文件。 转换过程中保留了BIM构件的属性信息同时对模型进行了压缩优化方便在Web端进行高效解析与展示。 主要亮点: 支持BIM文件的轻量化转换优化模型大小。 保留构件属性,便于后续操作与分析。 界面设计与类似,操作直观易用。 功能说明 模型列...\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":2.92,\"words\":875},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"autoDesc\":true,\"filePathRelative\":\"notes/guide/manual/editor/leftSidebar/BIM轻量化.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,80 +0,0 @@
<template><div><div style="display:flex;justify-content:center;">
<ImageCard
image="/images/manual/editor/leftSidebar/bim.png"
title="BIM"
description="通过将BIM工程文件.rvt转换为glTF文件在保留BIM构件属性的同时压缩优化模型以达到web端解析BIM并且轻量化的目的。"
width="300"
author="ErSan"
date="2025/04/15"
/>
</div>
<h2 id="简要说明" tabindex="-1"><a class="header-anchor" href="#简要说明"><span>简要说明</span></a></h2>
<p>通过编辑器的BIM轻量化功能您可以将复杂的BIM工程文件<code v-pre>.rvt</code>转换为轻量化的<code v-pre>.glTF</code>文件<br>
转换过程中保留了BIM构件的属性信息同时对模型进行了压缩优化方便在Web端进行高效解析与展示</p>
<p><strong>主要亮点</strong></p>
<ul>
<li>支持BIM文件的轻量化转换优化模型大小</li>
<li>保留构件属性便于后续操作与分析</li>
<li>界面设计与<VPLink href="/guide/u1631nwk/">CAD解析预览</VPLink>类似操作直观易用</li>
</ul>
<h2 id="功能说明" tabindex="-1"><a class="header-anchor" href="#功能说明"><span>功能说明</span></a></h2>
<ul>
<li><strong>模型列表</strong>展示用户上传转换的所有BIM模型</li>
<li><strong>上传模型</strong>点击顶部<mark>历史记录</mark>右侧的<mark>上传按钮</mark>会打开模型上传界面</li>
<li><strong>历史记录</strong>点击顶部<mark>历史记录</mark>按钮会弹出历史上传记录列表</li>
</ul>
<h3 id="模型列表" tabindex="-1"><a class="header-anchor" href="#模型列表"><span>模型列表</span></a></h3>
<ul>
<li><strong>功能描述</strong>展示用户上传并转换成功的所有BIM模型</li>
<li><strong>操作方式</strong><br>
如本页面首图列表以网格形式展示<br>
从列表中直接<mark>拖动</mark>相应模型到中间的三维视口 <mark>双击</mark>该模型都可加载并渲染对应模型</li>
</ul>
<h3 id="上传模型" tabindex="-1"><a class="header-anchor" href="#上传模型"><span>上传模型</span></a></h3>
<div style="display:flex;justify-content:center;">
<ImageCard
image="/images/manual/editor/leftSidebar/bimUpload.png"
title="上传模型"
width="400"
author="ErSan"
date="2025/04/15"
/>
</div>
<ul>
<li><strong>支持格式</strong><code v-pre>.rvt.rfa</code></li>
<li><strong>转换方式</strong>
<ul>
<li>文件会在上传后通过WebSocket发起轻量化转换请求</li>
<li>转换结果通过WebSocket消息返回并加载渲染展示</li>
</ul>
</li>
<li><strong>转换配置</strong>
<ul>
<li>极致轻量化模型会在转换过程中执行<mark>网格优化材质贴图压缩并转换格式为WebP网格实例化网格合并</mark>等模型优化操作以确保输出的BIM轻量化模型是最小体积及最小渲染损耗的glTF模型过程中可能执行的具体优化项可参考<VPLink href="/guide/plugin/builtin/jo87cfk0/">glTF处理器</VPLink>章节</li>
<li>导出属性生成的glTF模型中是否包含构件属性</li>
<li>转换视图一个BIM文件中可能会包含多个3D视图如果用户有确切的转换视图目标可选择<code v-pre>按名称</code>并输入视图名称以转换否则将自动以<code v-pre>默认3D视图</code>为目标转换
-视觉样式此设置影响最终输出的模型材质<code v-pre>着色</code>模式基本不包含任何材质贴图以纯色材质方式输出<code v-pre>真实</code>模式会包含用户建模时的材质贴图输出材质更真实</li>
<li>坐标参考一般情况下一个BIM工程模型会由多工程师完成便会存在多个单体BIM文件此设置会决定最终输出模型与笛卡尔坐标系原点的相对位置信息关于<mark>原点项目基点测量点</mark>的详细说明可以参考这篇文章<a href="https://zhuanlan.zhihu.com/p/220113797" target="_blank" rel="noopener noreferrer">详解Revit坐标系</a></li>
</ul>
</li>
</ul>
<h3 id="历史记录" tabindex="-1"><a class="header-anchor" href="#历史记录"><span>历史记录</span></a></h3>
<div class="demo-wrapper only-img no-padding">
<div class="demo-head">
<div class="demo-ctrl"><i></i><i></i><i></i></div>
</div>
<div class="demo-container" >
<ImageCard
image="/images/manual/editor/leftSidebar/bimHistory.png"
title="历史记录"
author="ErSan"
date="2025/04/15"
/>
</div></div><ul>
<li><strong>功能描述</strong>展示用户之前上传的所有BIM模型记录方便快速查找和重新加载</li>
<li><strong>操作方式</strong>点击顶部<mark>历史记录</mark>按钮弹出历史上传记录列表</li>
</ul>
</div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/rzqb0h0l/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/rzqb0h0l/\",\"title\":\"场景树\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"场景树\",\"createTime\":\"2025/03/31 19:58:06\",\"permalink\":\"/guide/rzqb0h0l/\",\"description\":\"简要说明 场景树是 Astral3D 编辑器中用于管理场景中所有对象的工具。它以树状结构展示场景中的层级关系,便于用户快速定位和操作对象。 功能说明 节点搜索:顶部搜索栏用于快速查找节点,模糊查询到的节点父级会自动展开,并在改节点下添加下划线。 层级管理:通过拖拽操作,可以调整对象的父子关系。 对象选择:点击场景树中的对象名称,可以在场景中选中对应的对...\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"场景树\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/rzqb0h0l/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"场景树\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"简要说明 场景树是 Astral3D 编辑器中用于管理场景中所有对象的工具。它以树状结构展示场景中的层级关系,便于用户快速定位和操作对象。 功能说明 节点搜索:顶部搜索栏用于快速查找节点,模糊查询到的节点父级会自动展开,并在改节点下添加下划线。 层级管理:通过拖拽操作,可以调整对象的父子关系。 对象选择:点击场景树中的对象名称,可以在场景中选中对应的对...\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":1.39,\"words\":418},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"autoDesc\":true,\"filePathRelative\":\"notes/guide/manual/editor/leftSidebar/场景树.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,31 +0,0 @@
<template><div><CardGrid>
<ImageCard
image="/images/manual/editor/leftSidebar/sceneTree.png"
title="场景树"
description="场景树是 Astral3D 编辑器中用于管理场景中所有对象的工具。它以树状结构展示场景中的层级关系,便于用户快速定位和操作对象"
author="ErSan"
date="2025/04/14"
/>
<ImageCard
image="/images/manual/editor/leftSidebar/sceneTreeContextMenu.png"
title="场景节点右键菜单"
description="聚焦、删除、拷贝"
author="ErSan"
date="2025/04/14"
/>
</CardGrid>
<h2 id="简要说明" tabindex="-1"><a class="header-anchor" href="#简要说明"><span>简要说明</span></a></h2>
<p>场景树是 Astral3D 编辑器中用于管理场景中所有对象的工具它以树状结构展示场景中的层级关系便于用户快速定位和操作对象</p>
<h2 id="功能说明" tabindex="-1"><a class="header-anchor" href="#功能说明"><span>功能说明</span></a></h2>
<ul>
<li><strong>节点搜索</strong>顶部搜索栏用于快速查找节点模糊查询到的节点父级会自动展开并在改节点下添加下划线</li>
<li><strong>层级管理</strong>通过拖拽操作可以调整对象的父子关系</li>
<li><strong>对象选择</strong>点击场景树中的对象名称可以在场景中选中对应的对象不会自动聚焦</li>
<li><strong>聚焦对象</strong>右键菜单中提供聚焦选项用以在视口中定位模型更推荐使用快捷键默认是<code v-pre>F</code></li>
<li><strong>删除对象</strong>右键菜单中提供删除选项方便移除不需要的对象更推荐使用快捷键默认是<code v-pre>Del</code></li>
<li><strong>拷贝对象</strong>右键菜单中提供拷贝选项方便快速复制对象<VPLink href="/guide/f7smai4w/">顶栏</VPLink>基础操作区中的拷贝</li>
</ul>
<!-- - **对象隐藏/显示**通过点击对象名称旁的图标可以快速隐藏或显示对象
- **重命名**双击对象名称可以对其进行重命名 --></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/sekzh2c0/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/sekzh2c0/\",\"title\":\"设置中心\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"设置中心\",\"createTime\":\"2025/08/01 15:14:51\",\"permalink\":\"/guide/sekzh2c0/\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"设置中心\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-08-01T17:28:41.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/sekzh2c0/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"设置中心\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-08-01T17:28:41.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-08-01T17:28:41.000Z\"}]]},\"readingTime\":{\"minutes\":0.04,\"words\":12},\"git\":{\"createdTime\":1754069321000,\"updatedTime\":1754069321000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"filePathRelative\":\"notes/guide/manual/home/设置中心.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,3 +0,0 @@
<template><div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/siz46vj0/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/siz46vj0/\",\"title\":\"粒子\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"粒子\",\"createTime\":\"2025/03/31 19:50:23\",\"permalink\":\"/guide/siz46vj0/\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"粒子\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/siz46vj0/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"粒子\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":0.03,\"words\":10},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"filePathRelative\":\"notes/guide/manual/editor/rightSidebar/粒子.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,3 +0,0 @@
<template><div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/swepocsg/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/swepocsg/\",\"title\":\"界面\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"界面\",\"createTime\":\"2025/03/31 19:45:41\",\"permalink\":\"/guide/swepocsg/\",\"description\":\"说明 整个编辑界面分为 顶栏,左侧边栏,场景视口,扩展栏,右侧边栏 五个区域\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"界面\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/swepocsg/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"界面\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"说明 整个编辑界面分为 顶栏,左侧边栏,场景视口,扩展栏,右侧边栏 五个区域\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":0.3,\"words\":89},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"autoDesc\":true,\"filePathRelative\":\"notes/guide/manual/editor/界面.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,20 +0,0 @@
<template><div><div class="demo-wrapper only-img no-padding">
<div class="demo-head">
<div class="demo-ctrl"><i></i><i></i><i></i></div>
</div>
<div class="demo-container" >
<ImageCard
image="/images/manual/editor/page.png"
title="编辑器"
description="整个编辑界面分为 `顶栏`,`左侧边栏`,`场景视口`,`扩展栏`,`右侧边栏` 五个区域"
author="ErSan"
date="2025/04/14"
/>
</div></div><div class="hint-container tip">
<p class="hint-container-title">说明</p>
<p>整个编辑界面分为 <code v-pre>顶栏</code>,<code v-pre>左侧边栏</code>,<code v-pre>场景视口</code>,<code v-pre>扩展栏</code>,<code v-pre>右侧边栏</code> 五个区域</p>
</div>
</div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/ta6draim/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/ta6draim/\",\"title\":\"场景图纸\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"场景图纸\",\"createTime\":\"2025/03/31 20:05:40\",\"permalink\":\"/guide/ta6draim/\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"场景图纸\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/ta6draim/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"场景图纸\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":0.04,\"words\":12},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"filePathRelative\":\"notes/guide/manual/editor/rightSidebar/场景图纸.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,3 +0,0 @@
<template><div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/u1631nwk/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/u1631nwk/\",\"title\":\"CAD解析预览\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"CAD解析预览\",\"createTime\":\"2025/03/31 19:49:44\",\"permalink\":\"/guide/u1631nwk/\",\"description\":\"简要说明 通过编辑器的CAD解析预览功能您可以轻松上传并查看多种格式的CAD图纸。 无论是.dwg还是.dxf都能快速解析并在三维视口中直观展示。 这一功能不仅提升了图纸管理的效率,还为三维设计和协作提供了极大的便利。 主要亮点: 支持多种图纸格式,满足不同需求。 即时解析与预览,操作简单高效。 历史记录功能,方便快速查找和重新加载。 让您的设计流...\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"CAD解析预览\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-04-21T09:37:33.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/u1631nwk/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"CAD解析预览\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"简要说明 通过编辑器的CAD解析预览功能您可以轻松上传并查看多种格式的CAD图纸。 无论是.dwg还是.dxf都能快速解析并在三维视口中直观展示。 这一功能不仅提升了图纸管理的效率,还为三维设计和协作提供了极大的便利。 主要亮点: 支持多种图纸格式,满足不同需求。 即时解析与预览,操作简单高效。 历史记录功能,方便快速查找和重新加载。 让您的设计流...\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-04-21T09:37:33.000Z\"}]]},\"readingTime\":{\"minutes\":1.9,\"words\":569},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1745228253000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"autoDesc\":true,\"filePathRelative\":\"notes/guide/manual/editor/leftSidebar/CAD解析预览.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,77 +0,0 @@
<template><div><div style="display:flex;justify-content:center;">
<ImageCard
image="/images/manual/editor/leftSidebar/cad.png"
title="CAD"
description="编辑器支持用户上传CAD图纸(.dwg、.dxf)进行解析预览"
width="300"
author="ErSan"
date="2025/04/15"
/>
</div>
<h2 id="简要说明" tabindex="-1"><a class="header-anchor" href="#简要说明"><span>简要说明</span></a></h2>
<p>通过编辑器的CAD解析预览功能您可以轻松上传并查看多种格式的CAD图纸<br />
无论是<code v-pre>.dwg</code>还是<code v-pre>.dxf</code>都能快速解析并在三维视口中直观展示<br />
这一功能不仅提升了图纸管理的效率还为三维设计和协作提供了极大的便利<br /></p>
<p><strong>主要亮点</strong></p>
<ul>
<li>支持多种图纸格式满足不同需求</li>
<li>即时解析与预览操作简单高效</li>
<li>历史记录功能方便快速查找和重新加载</li>
</ul>
<p>让您的设计流程更加流畅体验前所未有的便捷与高效</p>
<h2 id="功能说明" tabindex="-1"><a class="header-anchor" href="#功能说明"><span>功能说明</span></a></h2>
<ul>
<li><strong>图纸列表</strong>展示用户上传并解析成功的所有图纸</li>
<li><strong>上传图纸</strong>点击顶部<mark>历史记录</mark>右侧的<mark>上传按钮</mark>会打开图纸上传界面</li>
<li><strong>历史记录</strong>点击顶部<mark>历史记录</mark>按钮会弹出历史上传记录列表</li>
</ul>
<h3 id="图纸列表" tabindex="-1"><a class="header-anchor" href="#图纸列表"><span>图纸列表</span></a></h3>
<ul>
<li><strong>功能描述</strong>展示用户上传并解析成功的所有图纸</li>
<li><strong>操作方式</strong><br>
如本页面首图列表以网格形式展示<br>
从列表中直接<mark>拖动</mark>相应图纸到中间的三维视口 <mark>双击</mark>该图纸都可加载并渲染对应图纸</li>
</ul>
<h3 id="上传图纸" tabindex="-1"><a class="header-anchor" href="#上传图纸"><span>上传图纸</span></a></h3>
<div class="demo-wrapper only-img no-padding">
<div class="demo-head">
<div class="demo-ctrl"><i></i><i></i><i></i></div>
</div>
<div class="demo-container" >
<ImageCard
image="/images/manual/editor/leftSidebar/cadUpload.png"
title="上传图纸"
author="ErSan"
date="2025/04/15"
/>
</div></div><ul>
<li><strong>支持格式</strong><code v-pre>.dwg.dxf.png.jpg(jpeg)</code></li>
<li><strong>解析方式</strong>
<ul>
<li><code v-pre>.dwg</code>格式图纸由于无法在前端直接解析会在上传后通过WebSocket发起图纸解析请求</li>
<li>解析结果通过WebSocket消息返回并加载渲染展示</li>
<li>如果<code v-pre>.dwg</code>图纸中包含缩略图会自动解析为封面图<code v-pre>图纸列表</code>中展示</li>
</ul>
</li>
</ul>
<h3 id="历史记录" tabindex="-1"><a class="header-anchor" href="#历史记录"><span>历史记录</span></a></h3>
<div class="demo-wrapper only-img no-padding">
<div class="demo-head">
<div class="demo-ctrl"><i></i><i></i><i></i></div>
</div>
<div class="demo-container" >
<ImageCard
image="/images/manual/editor/leftSidebar/cadHistory.png"
title="历史记录"
author="ErSan"
date="2025/04/15"
/>
</div></div><ul>
<li><strong>功能描述</strong>展示用户之前上传的所有图纸记录方便快速查找和重新加载</li>
<li><strong>操作方式</strong>点击顶部<mark>历史记录</mark>按钮弹出历史上传记录列表</li>
</ul>
</div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/guide/v0m2jmb5/index.html.vue"
const data = JSON.parse("{\"path\":\"/guide/v0m2jmb5/\",\"title\":\"数据中心\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"数据中心\",\"createTime\":\"2025/08/01 15:14:30\",\"permalink\":\"/guide/v0m2jmb5/\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"数据中心\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-08-01T17:28:41.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/guide/v0m2jmb5/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"数据中心\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-08-01T17:28:41.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-08-01T17:28:41.000Z\"}]]},\"readingTime\":{\"minutes\":0.04,\"words\":12},\"git\":{\"createdTime\":1754069321000,\"updatedTime\":1754069321000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":1,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"filePathRelative\":\"notes/guide/manual/home/数据中心.md\",\"headers\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,3 +0,0 @@
<template><div></div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/index.html.vue"
const data = JSON.parse("{\"path\":\"/\",\"title\":\"\",\"lang\":\"zh-CN\",\"frontmatter\":{\"pageLayout\":\"home\",\"externalLinkIcon\":false,\"config\":[{\"type\":\"hero\",\"full\":true,\"background\":\"tint-plate\",\"hero\":{\"name\":\"Astral 3D Engine\",\"tagline\":\"Astral 3D Editor\",\"text\":\"工业孪生3D引擎\",\"actions\":[{\"theme\":\"brand\",\"text\":\"快速入门 -->\",\"link\":\"/guide/6xkx4dnv/\"},{\"theme\":\"alt\",\"text\":\"Demo\",\"link\":\"https://editor.astraljs.com/#/\"},{\"theme\":\"alt\",\"text\":\"Github\",\"link\":\"https://github.com/mlt131220/Astral3D\"}]}},{\"type\":\"features\",\"features\":[{\"title\":\"最新技术栈\",\"icon\":\"🍡\",\"details\":\"基于Vue3、Vite、TypeScript、Naive UI等最新技术栈开发\"},{\"title\":\"基于ThreeJS\",\"icon\":\"🌷\",\"details\":\"Three.js 是基于webGL的封装的一个易于使用且轻量级的3D库是前端开发者研发3D绘图的主要工具\"},{\"title\":\"简洁易用\",\"icon\":\"🔅\",\"details\":\"高效进行场景处理,并且提供网络压缩存储功能,在项目中快速读取加载\"},{\"title\":\"BIM 轻量化引擎\",\"icon\":\"🚀\",\"details\":\"支持上传BIM模型进行轻量化查看并转化为GLB格式\"},{\"title\":\"CAD 在线解析\",\"icon\":\"🌈\",\"details\":\"支持CAD图纸在线解析预览\"},{\"title\":\"3DTiles\",\"icon\":\"🧱\",\"details\":\"支持3DTiles加载、打包、漫游\"},{\"title\":\"插件系统\",\"icon\":\"🏝️\",\"details\":\"编辑器提供了开放的插件系统内置丰富的插件库glTF处理器、地形生成器、模型转换器等等。\"},{\"title\":\"粒子系统\",\"icon\":\"💊\",\"details\":\"内置多种粒子效果,如:烟花、火焰、烟雾、萤火虫等,丰富的配置项可以满足用户各种需求。\"},{\"title\":\"动画系统\",\"icon\":\"🎡\",\"details\":\"支持在线编辑动画关键帧,完善的动画编辑器将支撑你的创作。\"},{\"title\":\"天气系统\",\"icon\":\"🌤️\",\"details\":\"支持多种天气效果,如:晴天、雾天、雨天、雪天等。\"},{\"title\":\"资源中心\",\"icon\":\"🎁\",\"details\":\"模型、材质、粒子、广告牌(Billboard)、HtmlPanel....\"},{\"title\":\"WebGPU (开发阶段)\",\"icon\":\"🚩\",\"details\":\"更快的计算...\"}]},{\"type\":\"image-text\",\"title\":\"工业范\",\"description\":\"CAD? BIM? 亦或更多?\",\"image\":\"/images/home/industryDark.png\",\"width\":600,\"list\":[{\"title\":\"CAD\",\"description\":\"支持 <code>.dwg,.dxf</code> 图纸解析预览\"},{\"title\":\"BIM\",\"description\":\"支持 <code>.rvt,.ifc,.rva</code> 模型轻量化解析\"},{\"title\":\"Future\",\"description\":\"PDMS、VTU\"}]},{\"type\":\"custom\"}],\"description\":\"⚡ 快速开始 Tips: Node >= 23.0.0; 更新记录\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":null,\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"⚡ 快速开始 Tips: Node >= 23.0.0; 更新记录\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}]]},\"readingTime\":{\"minutes\":1.71,\"words\":514},\"git\":{},\"autoDesc\":true,\"filePathRelative\":\"README.md\",\"headers\":[],\"categoryList\":[],\"bulletin\":true}")
export { comp, data }

View File

@ -1,23 +0,0 @@
<template><div><CardGrid>
<RepoCard repo="mlt131220/Astral3D" />
<RepoCard repo="mlt131220/Astral3D" provider="gitee" />
</CardGrid>
<h3 id="快速开始" tabindex="-1"><a class="header-anchor" href="#快速开始"><span> 快速开始</span></a></h3>
<CodeTabs id="5" :data='[{"id":"bash"}]'><template #title0="{ value, isActive }"><VPIcon provider="iconify" name="vscode-icons:file-type-shell"/><span>bash</span></template><template #tab0="{ value, isActive }"><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" v-pre=""><code class="language-bash"><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> git</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> clone</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> https://github.com/mlt131220/Astral3D.git</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965"> cd</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> Astral3D</span></span>
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> pnpm</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> install</span></span>
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> pnpm</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> run</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> sdk:build</span></span>
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665"> pnpm</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> run</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D"> editor:dev</span></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></template></CodeTabs><h5 id="tips" tabindex="-1"><a class="header-anchor" href="#tips"><span>Tips:</span></a></h5>
<ul>
<li><code v-pre>Node &gt;= 23.0.0</code>;</li>
</ul>
<h3 id="更新记录" tabindex="-1"><a class="header-anchor" href="#更新记录"><span>更新记录</span></a></h3>
<p><VPLink href="/notes/update/logs/">Changelog</VPLink></p>
</div></template>
<script setup>
import RepoCard from 'vuepress-theme-plume/features/RepoCard.vue'
</script>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/notes/sdk/index.html.vue"
const data = JSON.parse("{\"path\":\"/notes/sdk/\",\"title\":\"🍉 暂未编写\",\"lang\":\"zh-CN\",\"frontmatter\":{\"lang\":\"zh-CN\",\"description\":\"🍉 暂未编写\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"🍉 暂未编写\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":\\\"2025-07-11T15:24:57.000Z\\\",\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/notes/sdk/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"🍉 暂未编写\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"🍉 暂未编写\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}],[\"meta\",{\"property\":\"og:updated_time\",\"content\":\"2025-07-11T15:24:57.000Z\"}],[\"meta\",{\"property\":\"article:modified_time\",\"content\":\"2025-07-11T15:24:57.000Z\"}]]},\"readingTime\":{\"minutes\":0.03,\"words\":8},\"git\":{\"createdTime\":1745228253000,\"updatedTime\":1752247497000,\"contributors\":[{\"name\":\"ErSan\",\"username\":\"ErSan\",\"email\":\"mlt131220@163.com\",\"commits\":2,\"avatar\":\"https://avatars.githubusercontent.com/ErSan?v=4\",\"url\":\"https://github.com/ErSan\"}]},\"autoDesc\":true,\"filePathRelative\":\"notes/sdk/README.md\",\"headers\":[],\"categoryList\":[{\"id\":\"4358b5\",\"sort\":10000,\"name\":\"notes\"},{\"id\":\"f90142\",\"sort\":10001,\"name\":\"sdk\"}],\"bulletin\":true}")
export { comp, data }

View File

@ -1,4 +0,0 @@
<template><div><h1 id="暂未编写" tabindex="-1"><a class="header-anchor" href="#暂未编写"><span>🍉 暂未编写</span></a></h1>
</div></template>

View File

@ -1,3 +0,0 @@
import comp from "D:/A-Ersan/astraljs/Astral3D/packages/docs/src/.vuepress/.temp/pages/promotion/index.html.vue"
const data = JSON.parse("{\"path\":\"/promotion/\",\"title\":\"推广中心\",\"lang\":\"zh-CN\",\"frontmatter\":{\"title\":\"推广中心\",\"createTime\":\"2025/10/04 19:34:07\",\"permalink\":\"/promotion/\",\"description\":\"作者的话 Astral 3D 是一款基于 Three.js 的完全开源且免费的三维引擎。 如果使用起来觉得还不错,欢迎通过 Star 支持。 它源于个人的兴趣与曾经的工作需求,我将会长期维护它。 如果它对你产生了帮助,那我也深感荣幸。 如果你想,可以捐助我。 一切都是自由的,愿大家,平安喜乐。 岁岁平,岁岁安,岁岁平安。 本页面为各种大网站的推广链接,...\",\"head\":[[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"推广中心\\\",\\\"image\\\":[\\\"https://docs.astraljs.com/images/AliPay.png\\\",\\\"https://docs.astraljs.com/images/WeChatPay.png\\\"],\\\"dateModified\\\":null,\\\"author\\\":[]}\"],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://docs.astraljs.com/promotion/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Astral3D\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"推广中心\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"作者的话 Astral 3D 是一款基于 Three.js 的完全开源且免费的三维引擎。 如果使用起来觉得还不错,欢迎通过 Star 支持。 它源于个人的兴趣与曾经的工作需求,我将会长期维护它。 如果它对你产生了帮助,那我也深感荣幸。 如果你想,可以捐助我。 一切都是自由的,愿大家,平安喜乐。 岁岁平,岁岁安,岁岁平安。 本页面为各种大网站的推广链接,...\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:image\",\"content\":\"https://docs.astraljs.com/images/AliPay.png\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"zh-CN\"}]]},\"readingTime\":{\"minutes\":1.09,\"words\":326},\"git\":{},\"autoDesc\":true,\"filePathRelative\":\"promotion.md\",\"headers\":[],\"categoryList\":[],\"bulletin\":true}")
export { comp, data }

Some files were not shown because too many files have changed in this diff Show More