index.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469
  1. const base = {
  2. name: '基础能力',
  3. tag: 'func',
  4. childArr: [
  5. {
  6. name: 'Geometry',
  7. label: '基础图形',
  8. path: '/pages/basic/scene-basic/index',
  9. },
  10. {
  11. name: 'Alpha',
  12. label: '透明画布',
  13. path: '/pages/basic/scene-basic-alpha/index',
  14. },
  15. {
  16. name: 'Light',
  17. label: '多光源',
  18. path: '/pages/basic/scene-basic-light/index',
  19. },
  20. {
  21. name: 'Animation',
  22. label: '动画',
  23. path: '/pages/basic/scene-basic-animation/index',
  24. },
  25. {
  26. name: 'Video',
  27. label: '视频纹理',
  28. path: '/pages/basic/scene-basic-video/index',
  29. },
  30. {
  31. name: 'Interaction',
  32. label: '交互',
  33. path: '/pages/basic/scene-basic-touch/index',
  34. },
  35. {
  36. name: 'Share',
  37. label: '录屏和截频',
  38. path: '/pages/basic/scene-basic-share/index',
  39. },
  40. {
  41. name: 'VisibleLayer',
  42. label: '显示和图层',
  43. path: '/pages/basic/scene-basic-visible-layer/index',
  44. },
  45. {
  46. name: 'Shadow',
  47. label: '动态节点',
  48. path: '/pages/basic/scene-basic-shadow/index',
  49. },
  50. {
  51. name: 'RenderTexture',
  52. label: '渲染目标',
  53. path: '/pages/basic/scene-basic-render-texture/index',
  54. },
  55. {
  56. name: 'PostProcessing',
  57. label: '后处理效果',
  58. path: '/pages/basic/scene-basic-postprocessing/index'
  59. },
  60. {
  61. name: 'EnvData',
  62. label: '全局环境数据与局部环境数据',
  63. path: '/pages/basic/scene-basic-envData/index',
  64. },
  65. ],
  66. };
  67. const gltf = {
  68. name: 'glTF能力',
  69. tag: 'func',
  70. childArr: [{
  71. name: 'Standard',
  72. label: '标准金属头盔',
  73. path: '/pages/gltf/scene-gltf-damageHelmet/index',
  74. },
  75. {
  76. name: 'Unlit',
  77. label: '无光照材质卡通模型',
  78. path: '/pages/gltf/scene-gltf-unlit/index',
  79. },
  80. {
  81. name: 'Loading',
  82. label: '加载界面与多光源场景',
  83. path: '/pages/gltf/scene-gltf-light-loading/index',
  84. },
  85. {
  86. name: 'Animation',
  87. label: 'gltf动画',
  88. path: '/pages/gltf/scene-gltf-animation/index',
  89. },
  90. {
  91. name: 'Morph',
  92. label: 'gltf morph',
  93. path: '/pages/gltf/scene-gltf-morph/index',
  94. },
  95. {
  96. name: '扩展',
  97. label: '压缩纹理',
  98. path: '/pages/gltf/scene-gltf-compressTextures/index',
  99. },
  100. {
  101. name: '扩展',
  102. label: 'KHR_texture_transform',
  103. path: '/pages/gltf/scene-gltf-textureTransform/index',
  104. },
  105. {
  106. name: '扩展',
  107. label: 'KHR_materials_pbrSpecularGlossiness',
  108. path: '/pages/gltf/scene-gltf-specularGlossiness/index',
  109. },
  110. {
  111. name: '扩展',
  112. label: 'KHR_materials_sheen',
  113. path: '/pages/gltf/scene-gltf-sheen/index',
  114. },
  115. {
  116. name: '扩展',
  117. label: 'KHR_materials_transmission',
  118. path: '/pages/gltf/scene-gltf-transmission/index',
  119. },
  120. {
  121. name: '扩展',
  122. label: 'KHR_lights_punctual',
  123. path: '/pages/gltf/scene-gltf-lightsPunctual/index',
  124. },
  125. ],
  126. };
  127. const ar = {
  128. name: 'AR能力',
  129. tag: 'func',
  130. childArr: [{
  131. name: '扫图',
  132. label: 'AR ',
  133. path: '/pages/ar-classic/scene-classic-video/index',
  134. }
  135. ],
  136. };
  137. const physics = {
  138. name: '物理能力',
  139. tag: 'func',
  140. childArr: [
  141. {
  142. name: 'Shoot',
  143. label: '射击积木',
  144. path: '/pages/physics/scene-physics-shoot/index'
  145. },
  146. {
  147. name: 'Throw',
  148. label: '投球入筐',
  149. path: '/pages/physics/scene-physics-throw/index'
  150. }
  151. ]
  152. };
  153. const particle = {
  154. name: '粒子能力',
  155. tag: 'func',
  156. childArr: [
  157. {
  158. name: 'Firework',
  159. label: '喷射烟火',
  160. path: '/pages/particle/scene-particle-firework/index'
  161. },
  162. {
  163. name: 'Portal',
  164. label: '传送门',
  165. path: '/pages/particle/scene-particle-portal/index'
  166. },
  167. {
  168. name: 'Orb',
  169. label: '闪电光球',
  170. path: '/pages/particle/scene-particle-orb/index'
  171. },
  172. {
  173. name: 'ShapeEmitter',
  174. label: '球形发射器',
  175. path: '/pages/particle/scene-particle-shapeEmitter/index'
  176. },
  177. {
  178. name: 'MeshEmitter',
  179. label: '网格发射器',
  180. path: '/pages/particle/scene-particle-meshEmitter/index'
  181. },
  182. {
  183. name: 'HumanFace',
  184. label: '自定义粒子系统',
  185. path: '/pages/particle/scene-particle-custom/index'
  186. },
  187. ]
  188. };
  189. const customParticle = {
  190. name: '粒子定制能力',
  191. tag: 'func',
  192. childArr: [
  193. {
  194. name: 'Firework',
  195. label: '喷射烟火',
  196. path: '/pages/customParticle/scene-customParticle-firework/index'
  197. },
  198. {
  199. name: 'Portal',
  200. label: '传送门',
  201. path: '/pages/customParticle/scene-customParticle-portal/index'
  202. },
  203. {
  204. name: 'Orb',
  205. label: '闪电光球',
  206. path: '/pages/customParticle/scene-customParticle-orb/index'
  207. },
  208. {
  209. name: 'ShapeEmitter',
  210. label: '球形发射器',
  211. path: '/pages/customParticle/scene-customParticle-shapeEmitter/index'
  212. },
  213. {
  214. name: 'MeshEmitter',
  215. label: '网格发射器',
  216. path: '/pages/customParticle/scene-customParticle-meshEmitter/index'
  217. }
  218. ]
  219. };
  220. const custom = {
  221. name: '高级定制',
  222. tag: 'func',
  223. childArr: [
  224. {
  225. name: 'Logic',
  226. label: '定制组件和元素',
  227. path: '/pages/custom/scene-custom-logic/index',
  228. },
  229. {
  230. name: 'Render',
  231. label: '定制渲染资源',
  232. path: '/pages/custom/scene-custom-render/index',
  233. }
  234. ]
  235. };
  236. const messageTemplate = {
  237. name: '混合通信、资源加载、互动',
  238. tag: 'template',
  239. childArr: [
  240. {
  241. name: 'Message',
  242. label: '小程序混合通信',
  243. path: '/pages/template/xr-template-message/index',
  244. },
  245. {
  246. name: 'Loading',
  247. label: '动态资源加载与使用',
  248. path: '/pages/template/xr-template-loading/index',
  249. },
  250. {
  251. name: 'Controller',
  252. label: '第一人称漫游',
  253. path: '/pages/template/xr-template-control/index',
  254. },
  255. {
  256. name: 'Touch',
  257. label: '点选物体与动画控制',
  258. path: '/pages/template/xr-template-select/index',
  259. },
  260. ],
  261. };
  262. const arTemplate = {
  263. name: '常用AR定制能力',
  264. tag: 'template',
  265. childArr: [
  266. {
  267. name: 'Marker',
  268. label: '动态多Tracker切换(图片识别)',
  269. path: '/pages/template/xr-template-tracker/index',
  270. },
  271. {
  272. name: 'Marker',
  273. label: '识别后固定模型,在屏幕中间',
  274. path: '/pages/template/xr-template-markerCenter/index',
  275. },
  276. {
  277. name: 'Plane+Marker',
  278. label: '识别后固定模型,在世界空间',
  279. path: '/pages/template/xr-template-markerLock/index',
  280. },
  281. {
  282. name: 'Plane',
  283. label: '世界空间,动态创建连线',
  284. path: '/pages/template/xr-template-arLine/index',
  285. },
  286. {
  287. name: 'Plane',
  288. label: '模型摆放与手势控制',
  289. path: '/pages/template/xr-template-arPreview/index',
  290. },
  291. {
  292. name: 'AR',
  293. label: '模型控制朝向(面向屏幕的面片与模型)',
  294. path: '/pages/template/xr-template-lookat/index',
  295. },
  296. {
  297. name: 'AR',
  298. label: '平面模式下的 UI 面板',
  299. path: '/pages/template/xr-template-arui/index',
  300. },
  301. ],
  302. };
  303. const customTemplate = {
  304. name: '常用定制(材质、几何体、流程)',
  305. tag: 'template',
  306. childArr: [
  307. {
  308. name: 'Geometry',
  309. label: '定制每帧变化的Geometry',
  310. path: '/pages/template/xr-template-geometry/index',
  311. },
  312. {
  313. name: 'Effect',
  314. label: '模型切换为卡通渲染(自定义多pass)',
  315. path: '/pages/template/xr-template-toon/index',
  316. },
  317. {
  318. name: 'Effect',
  319. label: '透明平面阴影',
  320. path: '/pages/template/xr-template-planeShadow/index',
  321. },
  322. {
  323. name: 'Effect',
  324. label: '序列帧动画(雪碧图、GIF)',
  325. path: '/pages/template/xr-template-frameEffect/index',
  326. },
  327. {
  328. name: 'Video',
  329. label: '过滤黑色背景视频',
  330. path: '/pages/template/xr-template-removeBlack/index',
  331. },
  332. ],
  333. };
  334. const gltfEditTemplate = {
  335. name: 'glTF动态修改',
  336. tag: 'template',
  337. childArr: [
  338. {
  339. name: 'glTF',
  340. label: '模型更换贴图',
  341. path: '/pages/template/xr-template-gltfEdit/index',
  342. },
  343. {
  344. name: 'glTF',
  345. label: '模型动画(脚本、骨骼)',
  346. path: '/pages/template/xr-template-gltfAnimation/index',
  347. },
  348. {
  349. name: 'glTF',
  350. label: '设置 glTF 为遮挡模型',
  351. path: '/pages/template/xr-template-gltfOcclusion/index',
  352. },
  353. {
  354. name: 'glTF',
  355. label: '添加模型内UV动画',
  356. path: '/pages/template/xr-template-gltfUVAnimation/index',
  357. },
  358. {
  359. name: 'glTF',
  360. label: '双面半透明模型渲染',
  361. path: '/pages/template/xr-template-blendDouble/index',
  362. },
  363. ],
  364. };
  365. const toolTemplate = {
  366. name: '通用基础能力',
  367. tag: 'template',
  368. childArr: [
  369. {
  370. name: 'Share',
  371. label: '截图与分享',
  372. path: '/pages/template/xr-template-share/index',
  373. }
  374. // {
  375. // name: 'Video',
  376. // label: '滤色视频(定制化渲染流程)',
  377. // path: '/pages/scene-custom-render/index',
  378. // },
  379. // {
  380. // name: 'Video',
  381. // label: '视频羽化(自定义材质)',
  382. // path: '/pages/template/xr-template-featherVideo/index',
  383. // },
  384. ]
  385. };
  386. const classic = {
  387. name: 'AR典型案例',
  388. tag: 'case',
  389. childArr: [
  390. {
  391. name: 'Perspect',
  392. label: '扫描透视模型',
  393. path: '/pages/ar-classic/scene-classic-perspect/index',
  394. },
  395. {
  396. name: 'Portal',
  397. label: '平面传送门',
  398. path: '/pages/ar-classic/scene-classic-portal/index',
  399. },
  400. {
  401. name: 'Video',
  402. label: '扫描图片视频',
  403. path: '/pages/ar-classic/scene-classic-video/index',
  404. },
  405. {
  406. name: 'OSD',
  407. label: '扫描物体查看信息',
  408. path: '/pages/ar-classic/scene-classic-osd/index',
  409. },
  410. {
  411. name: 'Face',
  412. label: '人脸穿戴案例',
  413. path: '/pages/ar-classic/scene-classic-face/index',
  414. },
  415. {
  416. name: 'Ball',
  417. label: '扫描微信球',
  418. path: '/pages/ar-classic/scene-classic-wxball/index',
  419. }
  420. ],
  421. };
  422. const scan = {
  423. name: '扫描还原案例',
  424. tag: 'case',
  425. childArr: [
  426. {
  427. name: 'Render',
  428. label: '扫描渲染案例(全景、模型)',
  429. path: '/pages/scan/scene-scan-render/index',
  430. },
  431. {
  432. name: 'XRFrameTeam',
  433. label: '卡其脱离太',
  434. path: '/pages/scan/scene-scan-team/index',
  435. }
  436. ],
  437. };
  438. const production = {
  439. name: '产品级案例',
  440. tag: 'case',
  441. childArr: [
  442. {
  443. name: 'Beside Edge',
  444. label: '边缘迷走',
  445. path: '/pages/scene-beside-edge/index'
  446. },
  447. {
  448. name: '',
  449. label: '■■■■',
  450. path: '/pages/scene-last-record/index'
  451. }
  452. ]
  453. };
  454. export default [ar];