当前位置:   article > 正文

Web 3D 框架简介_web3d

web3d

前言

3D游戏引擎的历史可以追溯到20世纪80年代末和90年代初。当时,计算机技术迅速发展,人们开始对图形和游戏感兴趣。以下是3D游戏引擎的历史故事:

早期引擎的诞生(1980-1990年代)

在这个时期,一些早期的3D游戏引擎开始出现。其中一个著名的例子是id Software开发的Doom引擎,该引擎是第一个在主流市场上取得成功的3D游戏引擎。它采用了一种被称为"重建"的技术,可以在限制的硬件资源下实现3D效果。

商业化时代的到来(1990-2000年代)

随着3D游戏的普及,商业化的3D游戏引擎开始涌现。其中最著名的是id Software开发的Quake引擎,它是第一个具有实时3D渲染和支持网络游戏的引擎。Quake引擎的成功推动了更多的公司开始开发自己的3D游戏引擎,如Epic Games的Unreal Engine和Crytek的CryEngine。

开源引擎的崛起(2000年代后期)

在2000年代后期,一些开源的3D游戏引擎开始崛起。其中最著名的是Unity引擎,它提供了一个友好的界面和工具,使得游戏开发者可以轻松地创建和发布游戏。此外,还有一些其他开源引擎,如Ogre3D和Godot等,它们也受到了广泛的关注和采用。

HTML5和WebGL的兴起(2010年代)

随着HTML5和WebGL技术的发展,3D游戏引擎开始向Web领域扩展。这使得开发者可以在浏览器中创建和运行高质量的3D游戏,而无需额外的插件。一些主要的Web 3D游戏引擎,如Three.js和Babylon.js,开始出现,并得到了广泛的使用。

Web 3D 框架

Unity 3D ,团结引擎,基于 Unity 2022LTS。是 Unity 中国研发团队推出的 Unity 中国版引擎,专为中国开发者定制的实时3D引擎,它以 Unity 2022 LTS 为研发基础,推出了微信小游戏解决方案、团结引擎车机版,赋予小游戏和智能汽车领域的开发者,以更强劲的创作动能,是 Unity 中国加速本土化进程的里程碑。

f692f8ec80dc44ab8c1aeb7b80e829f7.png

Three.js,基于WebGL,提供了一些简单易用的API,使用户能够轻松地创建和显示3D对象、场景、光照和相机。支持多种渲染效果,如纹理映射、阴影、反射等,可以在网页中实现逼真的3D效果。它还提供了一些辅助功能,例如加载模型和动画、进行交互和控制等。应用于游戏开发、虚拟现实、数据可视化等领域。具有强大的灵活性和可扩展性,用户可以通过自定义着色器和材质来实现更高级的效果,还可以通过添加插件和扩展来增加功能。它的文档齐全且有很多示例和教程可供参考,对于初学者和有经验的开发者来说都是一个很好的选择。

4ca075ba0faa434fa54bb8c21fe7dabf.png

PlayCanvas,基于Web的实时图形引擎,提供了一整套工具和功能,可视化场景设计器 workflow,能够直观地创建和编辑游戏内容。这个编辑器支持实时预览和调试功能,基于WebGL和WebVR,以实现高质量的实时渲染效果。开发者可以利用引擎内置的渲染器和材质系统来创建逼真的光照和阴影效果。集成了物理引擎,可以模拟真实世界中的物理效果,如重力、碰撞和刚体运动。

b8cfe26ce65940e89f920e86e494fed9.png

babylon.js ,巴比伦 js,由微软开发和维护的基于WebGL技术 Web3D 的开源游戏引擎,用于创建高性能、交互式的3D图形应用程序。它提供了一个简单易用的API,可以实现各种效果,如渲染、动画、物理模拟、碰撞检测等。可以创建出丰富、互动性强的3D图形应用程序,如游戏、虚拟现实体验、可视化效果等。

209b507ebc7e440781e62236196f5de0.png

9fb8387fc3574384a84005970348e53e.png

CopperCube ,可视化编辑器类型,使用户可以轻松地创建三维场景。它提供了多种内置工具和特性,包括场景编辑器、物理模拟、碰撞检测、动画编辑器等,使开发人员可以在不编写任何代码的情况下创建复杂的三维应用程序。可以使用JavaScript语言来自定义应用程序的行为和交互。它还支持导入和使用3D模型、贴图和音频文件,以及创建动画效果和粒子效果。

c30491e3e85c4195aac6b9e4fc6d2994.png

a5bf9e5617004086a3cc41c099dc4875.png

​​​​​​A-frame ,用于构建虚拟现实(VR)和增强现实(AR)体验的Web开发框架。使用简单的HTML标签来创建三维图形和交互元素。它提供了一组易于使用的组件和实体,包括摄像机、光源、几何体、材质等,用于构建虚拟世界中的对象和场景。简单易用的API和强大的可扩展性。开发者可以使用JavaScript编写自定义组件,实现更复杂的交互行为和特效。同时,A-Frame也与其他Web技术无缝集成,可以与CSS、HTML、JavaScript和Web API进行交互。

d0216147934c4c6cb6c342425d885d2b.png

使用Babylon.js小试牛刀

Babylon.js inspector 检查器是一个可视化调试工具,旨在帮助您确定场景中可能存在的问题。
提供多种工具,如:
场景的层次视图
使用多个特性栅格可以动态更改对象特性
特定的辅助对象,如骨架查看器等
 

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Babylon.js 基础</title>
  8. <style>
  9. html,
  10. body {
  11. overflow: hidden;
  12. width: 100%;
  13. height: 100%;
  14. margin: 0;
  15. padding: 0;
  16. }
  17. #renderCanvas {
  18. width: 100%;
  19. height: 100%;
  20. touch-action: none;
  21. }
  22. </style>
  23. <!--https://doc.cnbabylon.com/3-0-how-to-get-babylon-js/-->
  24. <!--基础Babylonjs包-->
  25. <script src="https://cdn.cnbabylon.com/babylon.js"></script>
  26. <!--用于生成材质-->
  27. <script src="https://cdn.cnbabylon.com/materialsLibrary/babylonjs.materials.min.js"></script>
  28. <!--用于加载素材-->
  29. <script src="https://cdn.cnbabylon.com/loaders/babylonjs.loaders.min.js"></script>
  30. <script src="https://cdn.cnbabylon.com/postProcessesLibrary/babylonjs.postProcess.min.js"></script>
  31. <script src="https://cdn.cnbabylon.com/proceduralTexturesLibrary/babylonjs.proceduralTextures.min.js"></script>
  32. <script src="https://cdn.cnbabylon.com/serializers/babylonjs.serializers.min.js"></script>
  33. <!--GUI 用户交互页面-->
  34. <script src="https://cdn.cnbabylon.com/gui/babylon.gui.min.js"></script>
  35. <script src="https://cdn.babylonjs.com/Oimo.js"></script>
  36. </head>
  37. <body>
  38. <canvas id="renderCanvas"></canvas>
  39. <script>
  40. let sphere = null;
  41. let box = null;
  42. let ground = null;
  43. const Assets = {
  44. materials: {
  45. checkerboard_basecolor: {
  46. path: "https://assets.babylonjs.com/materials/checkerboard/checkerboard_basecolor.png",
  47. rootUrl: "https://assets.babylonjs.com/materials/checkerboard/",
  48. filename: "checkerboard_basecolor.png"
  49. },
  50. checkerboard_metallicRoughness: {
  51. path: "https://assets.babylonjs.com/materials/checkerboard/checkerboard_metallicRoughness.png",
  52. rootUrl: "https://assets.babylonjs.com/materials/checkerboard/",
  53. filename: "checkerboard_metallicRoughness.png"
  54. },
  55. checkerboard_normal: {
  56. path: "https://assets.babylonjs.com/materials/checkerboard/checkerboard_normal.png",
  57. rootUrl: "https://assets.babylonjs.com/materials/checkerboard/",
  58. filename: "checkerboard_normal.png"
  59. }
  60. },
  61. meshes: {
  62. aerobatic_plane: {
  63. path: "https://assets.babylonjs.com/meshes/aerobatic_plane.glb",
  64. rootUrl: "https://assets.babylonjs.com/meshes/",
  65. filename: "aerobatic_plane.glb"
  66. },
  67. alien: {
  68. path: "https://assets.babylonjs.com/meshes/alien.glb",
  69. rootUrl: "https://assets.babylonjs.com/meshes/",
  70. filename: "alien.glb"
  71. },
  72. Alien: {
  73. path: "https://assets.babylonjs.com/meshes/Alien/Alien.gltf",
  74. rootUrl: "https://assets.babylonjs.com/meshes/Alien/",
  75. filename: "Alien.gltf"
  76. },
  77. AlphaBlendModeTest: {
  78. path: "https://assets.babylonjs.com/meshes/AlphaBlendModeTest.glb",
  79. rootUrl: "https://assets.babylonjs.com/meshes/",
  80. filename: "AlphaBlendModeTest.glb"
  81. },
  82. AttenuationTest: {
  83. path: "https://assets.babylonjs.com/meshes/AttenuationTest/AttenuationTest.gltf",
  84. rootUrl: "https://assets.babylonjs.com/meshes/AttenuationTest/",
  85. filename: "AttenuationTest.gltf"
  86. },
  87. babylonBuoy: {
  88. path: "https://assets.babylonjs.com/meshes/babylonBuoy.glb",
  89. rootUrl: "https://assets.babylonjs.com/meshes/",
  90. filename: "babylonBuoy.glb"
  91. },
  92. babylonJS_logo_v3: {
  93. path: "https://assets.babylonjs.com/meshes/BabylonJS-logo/v3/babylonJS_logo_v3.babylon",
  94. rootUrl: "https://assets.babylonjs.com/meshes/BabylonJS-logo/v3/",
  95. filename: "babylonJS_logo_v3.babylon"
  96. },
  97. Babylogo: {
  98. path: "https://assets.babylonjs.com/meshes/BabylonJS-logo/v1-2/Babylogo.babylon",
  99. rootUrl: "https://assets.babylonjs.com/meshes/BabylonJS-logo/v1-2/",
  100. filename: "Babylogo.babylon"
  101. },
  102. babylonJS_logo_solid_v3: {
  103. path: "https://assets.babylonjs.com/meshes/BabylonJS-logo/v3/babylonJS_logo_solid_v3.babylon",
  104. rootUrl: "https://assets.babylonjs.com/meshes/BabylonJS-logo/v3/",
  105. filename: "babylonJS_logo_solid_v3.babylon"
  106. },
  107. ballMesh: {
  108. path: "https://assets.babylonjs.com/meshes/ballMesh.glb",
  109. rootUrl: "https://assets.babylonjs.com/meshes/",
  110. filename: "ballMesh.glb"
  111. },
  112. blackPearl: {
  113. path: "https://assets.babylonjs.com/meshes/blackPearl.glb",
  114. rootUrl: "https://assets.babylonjs.com/meshes/",
  115. filename: "blackPearl.glb"
  116. },
  117. boombox: {
  118. path: "https://assets.babylonjs.com/meshes/boombox.glb",
  119. rootUrl: "https://assets.babylonjs.com/meshes/",
  120. filename: "boombox.glb"
  121. },
  122. BoomBox: {
  123. path: "https://assets.babylonjs.com/meshes/BoomBox/BoomBox.gltf",
  124. rootUrl: "https://assets.babylonjs.com/meshes/BoomBox/",
  125. filename: "BoomBox.gltf"
  126. },
  127. UnlitBoomBox: {
  128. path: "https://assets.babylonjs.com/meshes/BoomBox/UnlitBoomBox.gltf",
  129. rootUrl: "https://assets.babylonjs.com/meshes/BoomBox/",
  130. filename: "UnlitBoomBox.gltf"
  131. },
  132. both_houses_scene: {
  133. path: "https://assets.babylonjs.com/meshes/both_houses_scene.glb",
  134. rootUrl: "https://assets.babylonjs.com/meshes/",
  135. filename: "both_houses_scene.glb"
  136. },
  137. box: {
  138. path: "https://assets.babylonjs.com/meshes/box.glb",
  139. rootUrl: "https://assets.babylonjs.com/meshes/",
  140. filename: "box.glb"
  141. },
  142. Box_extras: {
  143. path: "https://assets.babylonjs.com/meshes/Box/Box_extras.gltf",
  144. rootUrl: "https://assets.babylonjs.com/meshes/Box/",
  145. filename: "Box_extras.gltf"
  146. },
  147. Box: {
  148. path: "https://assets.babylonjs.com/meshes/Box/Box.obj",
  149. rootUrl: "https://assets.babylonjs.com/meshes/Box/",
  150. filename: "Box.obj"
  151. },
  152. BrainStem: {
  153. path: "https://assets.babylonjs.com/meshes/BrainStem/BrainStem.gltf",
  154. rootUrl: "https://assets.babylonjs.com/meshes/BrainStem/",
  155. filename: "BrainStem.gltf"
  156. },
  157. Buggy: {
  158. path: "https://assets.babylonjs.com/meshes/Buggy/glTF/Buggy.gltf",
  159. rootUrl: "https://assets.babylonjs.com/meshes/Buggy/glTF/",
  160. filename: "Buggy.gltf"
  161. },
  162. candle: {
  163. path: "https://assets.babylonjs.com/meshes/candle.babylon",
  164. rootUrl: "https://assets.babylonjs.com/meshes/",
  165. filename: "candle.babylon"
  166. },
  167. car: {
  168. path: "https://assets.babylonjs.com/meshes/car.glb",
  169. rootUrl: "https://assets.babylonjs.com/meshes/",
  170. filename: "car.glb"
  171. },
  172. CarbonFiberWheel: {
  173. path: "https://assets.babylonjs.com/meshes/CarbonFiberWheel.glb",
  174. rootUrl: "https://assets.babylonjs.com/meshes/",
  175. filename: "CarbonFiberWheel.glb"
  176. },
  177. Chair: {
  178. path: "https://assets.babylonjs.com/meshes/Chair/Chair.obj",
  179. rootUrl: "https://assets.babylonjs.com/meshes/Chair/",
  180. filename: "Chair.obj"
  181. },
  182. Channel9: {
  183. path: "https://assets.babylonjs.com/meshes/Channel9/Channel9.stl",
  184. rootUrl: "https://assets.babylonjs.com/meshes/Channel9/",
  185. filename: "Channel9.stl"
  186. },
  187. substanceShaderBall: {
  188. path: "https://assets.babylonjs.com/meshes/ClearCoatShaderBall/substanceShaderBall.gltf",
  189. rootUrl: "https://assets.babylonjs.com/meshes/ClearCoatShaderBall/",
  190. filename: "substanceShaderBall.gltf"
  191. },
  192. ClearCoatTest: {
  193. path: "https://assets.babylonjs.com/meshes/ClearCoatTest/ClearCoatTest.gltf",
  194. rootUrl: "https://assets.babylonjs.com/meshes/ClearCoatTest/",
  195. filename: "ClearCoatTest.gltf"
  196. },
  197. cloth_meshV1: {
  198. path: "https://assets.babylonjs.com/meshes/cloth/cloth_meshV1.glb",
  199. rootUrl: "https://assets.babylonjs.com/meshes/cloth/",
  200. filename: "cloth_meshV1.glb"
  201. },
  202. cloth_meshV2: {
  203. path: "https://assets.babylonjs.com/meshes/cloth/cloth_meshV2.glb",
  204. rootUrl: "https://assets.babylonjs.com/meshes/cloth/",
  205. filename: "cloth_meshV2.glb"
  206. },
  207. cloth_meshV3: {
  208. path: "https://assets.babylonjs.com/meshes/cloth/cloth_meshV3.glb",
  209. rootUrl: "https://assets.babylonjs.com/meshes/cloth/",
  210. filename: "cloth_meshV3.glb"
  211. },
  212. cloth_meshV4: {
  213. path: "https://assets.babylonjs.com/meshes/cloth/cloth_meshV4.glb",
  214. rootUrl: "https://assets.babylonjs.com/meshes/cloth/",
  215. filename: "cloth_meshV4.glb"
  216. },
  217. cloth_meshV5: {
  218. path: "https://assets.babylonjs.com/meshes/cloth/cloth_meshV5.glb",
  219. rootUrl: "https://assets.babylonjs.com/meshes/cloth/",
  220. filename: "cloth_meshV5.glb"
  221. },
  222. cloth_meshV6: {
  223. path: "https://assets.babylonjs.com/meshes/cloth/cloth_meshV6.glb",
  224. rootUrl: "https://assets.babylonjs.com/meshes/cloth/",
  225. filename: "cloth_meshV6.glb"
  226. },
  227. cloth_meshV7: {
  228. path: "https://assets.babylonjs.com/meshes/cloth/cloth_meshV7.glb",
  229. rootUrl: "https://assets.babylonjs.com/meshes/cloth/",
  230. filename: "cloth_meshV7.glb"
  231. },
  232. cloth_meshV8: {
  233. path: "https://assets.babylonjs.com/meshes/cloth/cloth_meshV8.glb",
  234. rootUrl: "https://assets.babylonjs.com/meshes/cloth/",
  235. filename: "cloth_meshV8.glb"
  236. },
  237. cloth_meshV9: {
  238. path: "https://assets.babylonjs.com/meshes/cloth/cloth_meshV9.glb",
  239. rootUrl: "https://assets.babylonjs.com/meshes/cloth/",
  240. filename: "cloth_meshV9.glb"
  241. },
  242. clothFolds: {
  243. path: "https://assets.babylonjs.com/meshes/clothFolds.glb",
  244. rootUrl: "https://assets.babylonjs.com/meshes/",
  245. filename: "clothFolds.glb"
  246. },
  247. generic: {
  248. path: "https://assets.babylonjs.com/meshes/controllers/generic/generic.babylon",
  249. rootUrl: "https://assets.babylonjs.com/meshes/controllers/generic/",
  250. filename: "generic.babylon"
  251. },
  252. left: {
  253. path: "https://assets.babylonjs.com/meshes/controllers/oculusQuest/left.babylon",
  254. rootUrl: "https://assets.babylonjs.com/meshes/controllers/oculusQuest/",
  255. filename: "left.babylon"
  256. },
  257. right: {
  258. path: "https://assets.babylonjs.com/meshes/controllers/oculusQuest/right.babylon",
  259. rootUrl: "https://assets.babylonjs.com/meshes/controllers/oculusQuest/",
  260. filename: "right.babylon"
  261. },
  262. wand: {
  263. path: "https://assets.babylonjs.com/meshes/controllers/vive/wand.babylon",
  264. rootUrl: "https://assets.babylonjs.com/meshes/controllers/vive/",
  265. filename: "wand.babylon"
  266. },
  267. cornellBox: {
  268. path: "https://assets.babylonjs.com/meshes/CornellBox/cornellBox.glb",
  269. rootUrl: "https://assets.babylonjs.com/meshes/CornellBox/",
  270. filename: "cornellBox.glb"
  271. },
  272. D20_Animation: {
  273. path: "https://assets.babylonjs.com/meshes/D20_Animation.glb",
  274. rootUrl: "https://assets.babylonjs.com/meshes/",
  275. filename: "D20_Animation.glb"
  276. },
  277. anisotropyMesh: {
  278. path: "https://assets.babylonjs.com/meshes/Demos/anisotropy/anisotropyMesh.glb",
  279. rootUrl: "https://assets.babylonjs.com/meshes/Demos/anisotropy/",
  280. filename: "anisotropyMesh.glb"
  281. },
  282. morphLoader: {
  283. path: "https://assets.babylonjs.com/meshes/Demos/mograph/morphLoader.glb",
  284. rootUrl: "https://assets.babylonjs.com/meshes/Demos/mograph/",
  285. filename: "morphLoader.glb"
  286. },
  287. lightFixture: {
  288. path: "https://assets.babylonjs.com/meshes/Demos/nmeGlow/lightFixture.glb",
  289. rootUrl: "https://assets.babylonjs.com/meshes/Demos/nmeGlow/",
  290. filename: "lightFixture.glb"
  291. },
  292. riggedMesh: {
  293. path: "https://assets.babylonjs.com/meshes/Demos/retargeting/riggedMesh.glb",
  294. rootUrl: "https://assets.babylonjs.com/meshes/Demos/retargeting/",
  295. filename: "riggedMesh.glb"
  296. },
  297. lightPaddle: {
  298. path: "https://assets.babylonjs.com/meshes/Demos/saber/lightPaddle.glb",
  299. rootUrl: "https://assets.babylonjs.com/meshes/Demos/saber/",
  300. filename: "lightPaddle.glb"
  301. },
  302. BabylonShaderBall_Simple: {
  303. path: "https://assets.babylonjs.com/meshes/shaderBall/BabylonShaderBall_Simple.gltf",
  304. rootUrl: "https://assets.babylonjs.com/meshes/shaderBall/",
  305. filename: "BabylonShaderBall_Simple.gltf"
  306. },
  307. sign: {
  308. path: "https://assets.babylonjs.com/meshes/Demos/Snow_Man_Scene/sign.glb",
  309. rootUrl: "https://assets.babylonjs.com/meshes/Demos/Snow_Man_Scene/",
  310. filename: "sign.glb"
  311. },
  312. snowBall: {
  313. path: "https://assets.babylonjs.com/meshes/Demos/Snow_Man_Scene/snowBall.glb",
  314. rootUrl: "https://assets.babylonjs.com/meshes/Demos/Snow_Man_Scene/",
  315. filename: "snowBall.glb"
  316. },
  317. snowField: {
  318. path: "https://assets.babylonjs.com/meshes/Demos/Snow_Man_Scene/snowField.glb",
  319. rootUrl: "https://assets.babylonjs.com/meshes/Demos/Snow_Man_Scene/",
  320. filename: "snowField.glb"
  321. },
  322. snowMan: {
  323. path: "https://assets.babylonjs.com/meshes/Demos/Snow_Man_Scene/snowMan.glb",
  324. rootUrl: "https://assets.babylonjs.com/meshes/Demos/Snow_Man_Scene/",
  325. filename: "snowMan.glb"
  326. },
  327. marineGround: {
  328. path: "https://assets.babylonjs.com/meshes/Demos/underWaterReflections/marineGround.glb",
  329. rootUrl: "https://assets.babylonjs.com/meshes/Demos/underWaterReflections/",
  330. filename: "marineGround.glb"
  331. },
  332. runeSword: {
  333. path: "https://assets.babylonjs.com/meshes/Demos/weaponsDemo/meshes/runeSword.glb",
  334. rootUrl: "https://assets.babylonjs.com/meshes/Demos/weaponsDemo/meshes/",
  335. filename: "runeSword.glb"
  336. },
  337. greySnapper_vertColor: {
  338. path: "https://assets.babylonjs.com/meshes/Demos/UnderWaterScene/fish/greySnapper_vertColor.glb",
  339. rootUrl: "https://assets.babylonjs.com/meshes/Demos/UnderWaterScene/fish/",
  340. filename: "greySnapper_vertColor.glb"
  341. },
  342. underwaterGround: {
  343. path: "https://assets.babylonjs.com/meshes/Demos/UnderWaterScene/ground/underwaterGround.glb",
  344. rootUrl: "https://assets.babylonjs.com/meshes/Demos/UnderWaterScene/ground/",
  345. filename: "underwaterGround.glb"
  346. },
  347. underwaterSceneNavMesh: {
  348. path: "https://assets.babylonjs.com/meshes/Demos/UnderWaterScene/navMesh/underwaterSceneNavMesh.glb",
  349. rootUrl: "https://assets.babylonjs.com/meshes/Demos/UnderWaterScene/navMesh/",
  350. filename: "underwaterSceneNavMesh.glb"
  351. },
  352. underwaterSceneShadowCatcher: {
  353. path: "https://assets.babylonjs.com/meshes/Demos/UnderWaterScene/shadows/underwaterSceneShadowCatcher.glb",
  354. rootUrl: "https://assets.babylonjs.com/meshes/Demos/UnderWaterScene/shadows/",
  355. filename: "underwaterSceneShadowCatcher.glb"
  356. },
  357. underwaterScene: {
  358. path: "https://assets.babylonjs.com/meshes/Demos/UnderWaterScene/underwaterScene.glb",
  359. rootUrl: "https://assets.babylonjs.com/meshes/Demos/UnderWaterScene/",
  360. filename: "underwaterScene.glb"
  361. },
  362. underwaterSceneRocksBarnaclesMussels: {
  363. path: "https://assets.babylonjs.com/meshes/Demos/UnderWaterScene/underwaterSceneRocksBarnaclesMussels.glb",
  364. rootUrl: "https://assets.babylonjs.com/meshes/Demos/UnderWaterScene/",
  365. filename: "underwaterSceneRocksBarnaclesMussels.glb"
  366. },
  367. frostAxe_noMorph: {
  368. path: "https://assets.babylonjs.com/meshes/Demos/weaponsDemo/meshes/frostAxe_noMorph.glb",
  369. rootUrl: "https://assets.babylonjs.com/meshes/Demos/weaponsDemo/meshes/",
  370. filename: "frostAxe_noMorph.glb"
  371. },
  372. frostAxe: {
  373. path: "https://assets.babylonjs.com/meshes/Demos/weaponsDemo/meshes/frostAxe.glb",
  374. rootUrl: "https://assets.babylonjs.com/meshes/Demos/weaponsDemo/meshes/",
  375. filename: "frostAxe.glb"
  376. },
  377. gemOnly: {
  378. path: "https://assets.babylonjs.com/meshes/Demos/weaponsDemo/meshes/gemOnly.glb",
  379. rootUrl: "https://assets.babylonjs.com/meshes/Demos/weaponsDemo/meshes/",
  380. filename: "gemOnly.glb"
  381. },
  382. moltenDagger: {
  383. path: "https://assets.babylonjs.com/meshes/Demos/weaponsDemo/meshes/moltenDagger.glb",
  384. rootUrl: "https://assets.babylonjs.com/meshes/Demos/weaponsDemo/meshes/",
  385. filename: "moltenDagger.glb"
  386. },
  387. sword_noMat: {
  388. path: "https://assets.babylonjs.com/meshes/Demos/weaponsDemo/meshes/sword_noMat.glb",
  389. rootUrl: "https://assets.babylonjs.com/meshes/Demos/weaponsDemo/meshes/",
  390. filename: "sword_noMat.glb"
  391. },
  392. dude: {
  393. path: "https://assets.babylonjs.com/meshes/Dude/dude.babylon",
  394. rootUrl: "https://assets.babylonjs.com/meshes/Dude/",
  395. filename: "dude.babylon"
  396. },
  397. dummy2: {
  398. path: "https://assets.babylonjs.com/meshes/dummy2.babylon",
  399. rootUrl: "https://assets.babylonjs.com/meshes/",
  400. filename: "dummy2.babylon"
  401. },
  402. dummy3: {
  403. path: "https://assets.babylonjs.com/meshes/dummy3.babylon",
  404. rootUrl: "https://assets.babylonjs.com/meshes/",
  405. filename: "dummy3.babylon"
  406. },
  407. Elf_allAnimations: {
  408. path: "https://assets.babylonjs.com/meshes/Elf/Elf_allAnimations.gltf",
  409. rootUrl: "https://assets.babylonjs.com/meshes/Elf/",
  410. filename: "Elf_allAnimations.gltf"
  411. },
  412. Elf_die: {
  413. path: "https://assets.babylonjs.com/meshes/Elf/Elf_die.gltf",
  414. rootUrl: "https://assets.babylonjs.com/meshes/Elf/",
  415. filename: "Elf_die.gltf"
  416. },
  417. Elf_run: {
  418. path: "https://assets.babylonjs.com/meshes/Elf/Elf_run.gltf",
  419. rootUrl: "https://assets.babylonjs.com/meshes/Elf/",
  420. filename: "Elf_run.gltf"
  421. },
  422. Elf: {
  423. path: "https://assets.babylonjs.com/meshes/Elf/Elf.gltf",
  424. rootUrl: "https://assets.babylonjs.com/meshes/Elf/",
  425. filename: "Elf.gltf"
  426. },
  427. emoji_heart: {
  428. path: "https://assets.babylonjs.com/meshes/emoji_heart.glb",
  429. rootUrl: "https://assets.babylonjs.com/meshes/",
  430. filename: "emoji_heart.glb"
  431. },
  432. ExplodingBarrel: {
  433. path: "https://assets.babylonjs.com/meshes/ExplodingBarrel.glb",
  434. rootUrl: "https://assets.babylonjs.com/meshes/",
  435. filename: "ExplodingBarrel.glb"
  436. },
  437. fish: {
  438. path: "https://assets.babylonjs.com/meshes/fish.glb",
  439. rootUrl: "https://assets.babylonjs.com/meshes/",
  440. filename: "fish.glb"
  441. },
  442. flightHelmet: {
  443. path: "https://assets.babylonjs.com/meshes/flightHelmet.glb",
  444. rootUrl: "https://assets.babylonjs.com/meshes/",
  445. filename: "flightHelmet.glb"
  446. },
  447. FlightHelmet: {
  448. path: "https://assets.babylonjs.com/meshes/FlightHelmetKTX/FlightHelmet.gltf",
  449. rootUrl: "https://assets.babylonjs.com/meshes/FlightHelmetKTX/",
  450. filename: "FlightHelmet.gltf"
  451. },
  452. dragon: {
  453. path: "https://assets.babylonjs.com/meshes/Georgia-Tech-Dragon/dragon.glb",
  454. rootUrl: "https://assets.babylonjs.com/meshes/Georgia-Tech-Dragon/",
  455. filename: "dragon.glb"
  456. },
  457. dragonUV: {
  458. path: "https://assets.babylonjs.com/meshes/Georgia-Tech-Dragon/dragonUV.glb",
  459. rootUrl: "https://assets.babylonjs.com/meshes/Georgia-Tech-Dragon/",
  460. filename: "dragonUV.glb"
  461. },
  462. GoldbergScene: {
  463. path: "https://assets.babylonjs.com/meshes/GoldbergScene.babylon",
  464. rootUrl: "https://assets.babylonjs.com/meshes/",
  465. filename: "GoldbergScene.babylon"
  466. },
  467. goldbergTest: {
  468. path: "https://assets.babylonjs.com/meshes/goldbergTest.babylon",
  469. rootUrl: "https://assets.babylonjs.com/meshes/",
  470. filename: "goldbergTest.babylon"
  471. },
  472. l_hand_lhs: {
  473. path: "https://assets.babylonjs.com/meshes/HandMeshes/l_hand_lhs.glb",
  474. rootUrl: "https://assets.babylonjs.com/meshes/HandMeshes/",
  475. filename: "l_hand_lhs.glb"
  476. },
  477. l_hand_rhs: {
  478. path: "https://assets.babylonjs.com/meshes/HandMeshes/l_hand_rhs.glb",
  479. rootUrl: "https://assets.babylonjs.com/meshes/HandMeshes/",
  480. filename: "l_hand_rhs.glb"
  481. },
  482. r_hand_lhs: {
  483. path: "https://assets.babylonjs.com/meshes/HandMeshes/r_hand_lhs.glb",
  484. rootUrl: "https://assets.babylonjs.com/meshes/HandMeshes/",
  485. filename: "r_hand_lhs.glb"
  486. },
  487. r_hand_rhs: {
  488. path: "https://assets.babylonjs.com/meshes/HandMeshes/r_hand_rhs.glb",
  489. rootUrl: "https://assets.babylonjs.com/meshes/HandMeshes/",
  490. filename: "r_hand_rhs.glb"
  491. },
  492. haunted_house: {
  493. path: "https://assets.babylonjs.com/meshes/haunted_house.glb",
  494. rootUrl: "https://assets.babylonjs.com/meshes/",
  495. filename: "haunted_house.glb"
  496. },
  497. studio: {
  498. path: "https://assets.babylonjs.com/meshes/hdri/studioLighting/blender/blenderStudio/studio.gltf",
  499. rootUrl: "https://assets.babylonjs.com/meshes/hdri/studioLighting/blender/blenderStudio/",
  500. filename: "studio.gltf"
  501. },
  502. hexTile: {
  503. path: "https://assets.babylonjs.com/meshes/hexTile.glb",
  504. rootUrl: "https://assets.babylonjs.com/meshes/",
  505. filename: "hexTile.glb"
  506. },
  507. holiday2021: {
  508. path: "https://assets.babylonjs.com/meshes/holiday2021.glb",
  509. rootUrl: "https://assets.babylonjs.com/meshes/",
  510. filename: "holiday2021.glb"
  511. },
  512. house_scene: {
  513. path: "https://assets.babylonjs.com/meshes/house_scene.glb",
  514. rootUrl: "https://assets.babylonjs.com/meshes/",
  515. filename: "house_scene.glb"
  516. },
  517. HVGirl: {
  518. path: "https://assets.babylonjs.com/meshes/HVGirl.glb",
  519. rootUrl: "https://assets.babylonjs.com/meshes/",
  520. filename: "HVGirl.glb"
  521. },
  522. KHR_materials_volume_testing: {
  523. path: "https://assets.babylonjs.com/meshes/KHR_materials_volume_testing.glb",
  524. rootUrl: "https://assets.babylonjs.com/meshes/",
  525. filename: "KHR_materials_volume_testing.glb"
  526. },
  527. lamp: {
  528. path: "https://assets.babylonjs.com/meshes/lamp.babylon",
  529. rootUrl: "https://assets.babylonjs.com/meshes/",
  530. filename: "lamp.babylon"
  531. },
  532. head: {
  533. path: "https://assets.babylonjs.com/meshes/Lee-Perry-Smith-Head/head.glb",
  534. rootUrl: "https://assets.babylonjs.com/meshes/Lee-Perry-Smith-Head/",
  535. filename: "head.glb"
  536. },
  537. LevelOfDetail: {
  538. path: "https://assets.babylonjs.com/meshes/Tests/LevelOfDetail/LevelOfDetail.gltf",
  539. rootUrl: "https://assets.babylonjs.com/meshes/Tests/LevelOfDetail/",
  540. filename: "LevelOfDetail.gltf"
  541. },
  542. marble: {
  543. path: "https://assets.babylonjs.com/meshes/Marble/marble/marble.gltf",
  544. rootUrl: "https://assets.babylonjs.com/meshes/Marble/marble/",
  545. filename: "marble.gltf"
  546. },
  547. marbleTower: {
  548. path: "https://assets.babylonjs.com/meshes/Marble/marbleTower/marbleTower.gltf",
  549. rootUrl: "https://assets.babylonjs.com/meshes/Marble/marbleTower/",
  550. filename: "marbleTower.gltf"
  551. },
  552. miniBar2: {
  553. path: "https://assets.babylonjs.com/meshes/miniBar2.glb",
  554. rootUrl: "https://assets.babylonjs.com/meshes/",
  555. filename: "miniBar2.glb"
  556. },
  557. morphTargetBars: {
  558. path: "https://assets.babylonjs.com/meshes/morphTargetBars.glb",
  559. rootUrl: "https://assets.babylonjs.com/meshes/",
  560. filename: "morphTargetBars.glb"
  561. },
  562. bars: {
  563. path: "https://assets.babylonjs.com/meshes/morphTargetDemo/bars.glb",
  564. rootUrl: "https://assets.babylonjs.com/meshes/morphTargetDemo/",
  565. filename: "bars.glb"
  566. },
  567. "mrtk-fluent-backplate": {
  568. path: "https://assets.babylonjs.com/meshes/MRTK/mrtk-fluent-backplate.glb",
  569. rootUrl: "https://assets.babylonjs.com/meshes/MRTK/",
  570. filename: "mrtk-fluent-backplate.glb"
  571. },
  572. "mrtk-fluent-button": {
  573. path: "https://assets.babylonjs.com/meshes/MRTK/mrtk-fluent-button.glb",
  574. rootUrl: "https://assets.babylonjs.com/meshes/MRTK/",
  575. filename: "mrtk-fluent-button.glb"
  576. },
  577. octopus_customRig: {
  578. path: "https://assets.babylonjs.com/meshes/octopus_customRig.glb",
  579. rootUrl: "https://assets.babylonjs.com/meshes/",
  580. filename: "octopus_customRig.glb"
  581. },
  582. PBR_Spheres: {
  583. path: "https://assets.babylonjs.com/meshes/PBR_Spheres.glb",
  584. rootUrl: "https://assets.babylonjs.com/meshes/",
  585. filename: "PBR_Spheres.glb"
  586. },
  587. pill: {
  588. path: "https://assets.babylonjs.com/meshes/pill.glb",
  589. rootUrl: "https://assets.babylonjs.com/meshes/",
  590. filename: "pill.glb"
  591. },
  592. cannon: {
  593. path: "https://assets.babylonjs.com/meshes/pirateFort/cannon.glb",
  594. rootUrl: "https://assets.babylonjs.com/meshes/pirateFort/",
  595. filename: "cannon.glb"
  596. },
  597. pirateFort: {
  598. path: "https://assets.babylonjs.com/meshes/pirateFort/pirateFort.glb",
  599. rootUrl: "https://assets.babylonjs.com/meshes/pirateFort/",
  600. filename: "pirateFort.glb"
  601. },
  602. powerplant: {
  603. path: "https://assets.babylonjs.com/meshes/PowerPlant/powerplant.obj",
  604. rootUrl: "https://assets.babylonjs.com/meshes/PowerPlant/",
  605. filename: "powerplant.obj"
  606. },
  607. pumpkinBucketCarved: {
  608. path: "https://assets.babylonjs.com/meshes/pumpkinBucketCarved.glb",
  609. rootUrl: "https://assets.babylonjs.com/meshes/",
  610. filename: "pumpkinBucketCarved.glb"
  611. },
  612. Rabbit: {
  613. path: "https://assets.babylonjs.com/meshes/Rabbit.babylon",
  614. rootUrl: "https://assets.babylonjs.com/meshes/",
  615. filename: "Rabbit.babylon"
  616. },
  617. roundedCube: {
  618. path: "https://assets.babylonjs.com/meshes/roundedCube.glb",
  619. rootUrl: "https://assets.babylonjs.com/meshes/",
  620. filename: "roundedCube.glb"
  621. },
  622. roundedCylinder: {
  623. path: "https://assets.babylonjs.com/meshes/roundedCylinder.glb",
  624. rootUrl: "https://assets.babylonjs.com/meshes/",
  625. filename: "roundedCylinder.glb"
  626. },
  627. seagulf: {
  628. path: "https://assets.babylonjs.com/meshes/seagulf.glb",
  629. rootUrl: "https://assets.babylonjs.com/meshes/",
  630. filename: "seagulf.glb"
  631. },
  632. shaderBall: {
  633. path: "https://assets.babylonjs.com/meshes/shaderBall.glb",
  634. rootUrl: "https://assets.babylonjs.com/meshes/",
  635. filename: "shaderBall.glb"
  636. },
  637. shark: {
  638. path: "https://assets.babylonjs.com/meshes/shark.glb",
  639. rootUrl: "https://assets.babylonjs.com/meshes/",
  640. filename: "shark.glb"
  641. },
  642. Cloth: {
  643. path: "https://assets.babylonjs.com/meshes/Sheen/Cloth.gltf",
  644. rootUrl: "https://assets.babylonjs.com/meshes/Sheen/",
  645. filename: "Cloth.gltf"
  646. },
  647. SheenChair: {
  648. path: "https://assets.babylonjs.com/meshes/SheenChair.glb",
  649. rootUrl: "https://assets.babylonjs.com/meshes/",
  650. filename: "SheenChair.glb"
  651. },
  652. SheenCloth: {
  653. path: "https://assets.babylonjs.com/meshes/SheenCloth/SheenCloth.gltf",
  654. rootUrl: "https://assets.babylonjs.com/meshes/SheenCloth/",
  655. filename: "SheenCloth.gltf"
  656. },
  657. shoe_variants: {
  658. path: "https://assets.babylonjs.com/meshes/shoe_variants.glb",
  659. rootUrl: "https://assets.babylonjs.com/meshes/",
  660. filename: "shoe_variants.glb"
  661. },
  662. skull: {
  663. path: "https://assets.babylonjs.com/meshes/Skull/skull.babylon",
  664. rootUrl: "https://assets.babylonjs.com/meshes/Skull/",
  665. filename: "skull.babylon"
  666. },
  667. solar_system: {
  668. path: "https://assets.babylonjs.com/meshes/solar_system.glb",
  669. rootUrl: "https://assets.babylonjs.com/meshes/",
  670. filename: "solar_system.glb"
  671. },
  672. SpecularTest: {
  673. path: "https://assets.babylonjs.com/meshes/SpecularTest/SpecularTest.gltf",
  674. rootUrl: "https://assets.babylonjs.com/meshes/SpecularTest/",
  675. filename: "SpecularTest.gltf"
  676. },
  677. SSAOcat: {
  678. path: "https://assets.babylonjs.com/meshes/SSAOcat.babylon",
  679. rootUrl: "https://assets.babylonjs.com/meshes/",
  680. filename: "SSAOcat.babylon"
  681. },
  682. StanfordBunny: {
  683. path: "https://assets.babylonjs.com/meshes/StanfordBunny.obj",
  684. rootUrl: "https://assets.babylonjs.com/meshes/",
  685. filename: "StanfordBunny.obj"
  686. },
  687. stud: {
  688. path: "https://assets.babylonjs.com/meshes/stud.glb",
  689. rootUrl: "https://assets.babylonjs.com/meshes/",
  690. filename: "stud.glb"
  691. },
  692. target: {
  693. path: "https://assets.babylonjs.com/meshes/target.glb",
  694. rootUrl: "https://assets.babylonjs.com/meshes/",
  695. filename: "target.glb"
  696. },
  697. TeapotsGalore: {
  698. path: "https://assets.babylonjs.com/meshes/TeapotsGalore/TeapotsGalore.gltf",
  699. rootUrl: "https://assets.babylonjs.com/meshes/TeapotsGalore/",
  700. filename: "TeapotsGalore.gltf"
  701. },
  702. Animation_Node_00: {
  703. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Node/Animation_Node_00.gltf",
  704. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Node/",
  705. filename: "Animation_Node_00.gltf"
  706. },
  707. Animation_Node_01: {
  708. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Node/Animation_Node_01.gltf",
  709. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Node/",
  710. filename: "Animation_Node_01.gltf"
  711. },
  712. Animation_Node_02: {
  713. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Node/Animation_Node_02.gltf",
  714. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Node/",
  715. filename: "Animation_Node_02.gltf"
  716. },
  717. Animation_Node_03: {
  718. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Node/Animation_Node_03.gltf",
  719. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Node/",
  720. filename: "Animation_Node_03.gltf"
  721. },
  722. Animation_Node_04: {
  723. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Node/Animation_Node_04.gltf",
  724. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Node/",
  725. filename: "Animation_Node_04.gltf"
  726. },
  727. Animation_Node_05: {
  728. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Node/Animation_Node_05.gltf",
  729. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Node/",
  730. filename: "Animation_Node_05.gltf"
  731. },
  732. Animation_NodeMisc_00: {
  733. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_NodeMisc/Animation_NodeMisc_00.gltf",
  734. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_NodeMisc/",
  735. filename: "Animation_NodeMisc_00.gltf"
  736. },
  737. Animation_NodeMisc_01: {
  738. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_NodeMisc/Animation_NodeMisc_01.gltf",
  739. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_NodeMisc/",
  740. filename: "Animation_NodeMisc_01.gltf"
  741. },
  742. Animation_NodeMisc_02: {
  743. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_NodeMisc/Animation_NodeMisc_02.gltf",
  744. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_NodeMisc/",
  745. filename: "Animation_NodeMisc_02.gltf"
  746. },
  747. Animation_NodeMisc_03: {
  748. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_NodeMisc/Animation_NodeMisc_03.gltf",
  749. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_NodeMisc/",
  750. filename: "Animation_NodeMisc_03.gltf"
  751. },
  752. Animation_NodeMisc_04: {
  753. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_NodeMisc/Animation_NodeMisc_04.gltf",
  754. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_NodeMisc/",
  755. filename: "Animation_NodeMisc_04.gltf"
  756. },
  757. Animation_NodeMisc_05: {
  758. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_NodeMisc/Animation_NodeMisc_05.gltf",
  759. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_NodeMisc/",
  760. filename: "Animation_NodeMisc_05.gltf"
  761. },
  762. Animation_NodeMisc_06: {
  763. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_NodeMisc/Animation_NodeMisc_06.gltf",
  764. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_NodeMisc/",
  765. filename: "Animation_NodeMisc_06.gltf"
  766. },
  767. Animation_NodeMisc_07: {
  768. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_NodeMisc/Animation_NodeMisc_07.gltf",
  769. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_NodeMisc/",
  770. filename: "Animation_NodeMisc_07.gltf"
  771. },
  772. Animation_Skin_00: {
  773. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Skin/Animation_Skin_00.gltf",
  774. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Skin/",
  775. filename: "Animation_Skin_00.gltf"
  776. },
  777. Animation_Skin_01: {
  778. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Skin/Animation_Skin_01.gltf",
  779. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Skin/",
  780. filename: "Animation_Skin_01.gltf"
  781. },
  782. Animation_Skin_02: {
  783. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Skin/Animation_Skin_02.gltf",
  784. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Skin/",
  785. filename: "Animation_Skin_02.gltf"
  786. },
  787. Animation_Skin_03: {
  788. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Skin/Animation_Skin_03.gltf",
  789. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Skin/",
  790. filename: "Animation_Skin_03.gltf"
  791. },
  792. Animation_Skin_04: {
  793. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Skin/Animation_Skin_04.gltf",
  794. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Skin/",
  795. filename: "Animation_Skin_04.gltf"
  796. },
  797. Animation_Skin_05: {
  798. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Skin/Animation_Skin_05.gltf",
  799. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Skin/",
  800. filename: "Animation_Skin_05.gltf"
  801. },
  802. Animation_Skin_06: {
  803. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Skin/Animation_Skin_06.gltf",
  804. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Skin/",
  805. filename: "Animation_Skin_06.gltf"
  806. },
  807. Animation_Skin_07: {
  808. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Skin/Animation_Skin_07.gltf",
  809. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Skin/",
  810. filename: "Animation_Skin_07.gltf"
  811. },
  812. Animation_Skin_08: {
  813. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Skin/Animation_Skin_08.gltf",
  814. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Skin/",
  815. filename: "Animation_Skin_08.gltf"
  816. },
  817. Animation_Skin_09: {
  818. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Skin/Animation_Skin_09.gltf",
  819. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Skin/",
  820. filename: "Animation_Skin_09.gltf"
  821. },
  822. Animation_Skin_10: {
  823. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Skin/Animation_Skin_10.gltf",
  824. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Skin/",
  825. filename: "Animation_Skin_10.gltf"
  826. },
  827. Animation_Skin_11: {
  828. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Skin/Animation_Skin_11.gltf",
  829. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_Skin/",
  830. filename: "Animation_Skin_11.gltf"
  831. },
  832. Animation_SkinType_00: {
  833. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_SkinType/Animation_SkinType_00.gltf",
  834. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_SkinType/",
  835. filename: "Animation_SkinType_00.gltf"
  836. },
  837. Animation_SkinType_01: {
  838. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_SkinType/Animation_SkinType_01.gltf",
  839. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_SkinType/",
  840. filename: "Animation_SkinType_01.gltf"
  841. },
  842. Animation_SkinType_02: {
  843. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_SkinType/Animation_SkinType_02.gltf",
  844. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_SkinType/",
  845. filename: "Animation_SkinType_02.gltf"
  846. },
  847. Animation_SkinType_03: {
  848. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_SkinType/Animation_SkinType_03.gltf",
  849. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Animation_SkinType/",
  850. filename: "Animation_SkinType_03.gltf"
  851. },
  852. Buffer_Interleaved_00: {
  853. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Buffer_Interleaved/Buffer_Interleaved_00.gltf",
  854. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Buffer_Interleaved/",
  855. filename: "Buffer_Interleaved_00.gltf"
  856. },
  857. Buffer_Interleaved_01: {
  858. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Buffer_Interleaved/Buffer_Interleaved_01.gltf",
  859. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Buffer_Interleaved/",
  860. filename: "Buffer_Interleaved_01.gltf"
  861. },
  862. Buffer_Interleaved_02: {
  863. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Buffer_Interleaved/Buffer_Interleaved_02.gltf",
  864. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Buffer_Interleaved/",
  865. filename: "Buffer_Interleaved_02.gltf"
  866. },
  867. Buffer_Interleaved_03: {
  868. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Buffer_Interleaved/Buffer_Interleaved_03.gltf",
  869. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Buffer_Interleaved/",
  870. filename: "Buffer_Interleaved_03.gltf"
  871. },
  872. Buffer_Interleaved_04: {
  873. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Buffer_Interleaved/Buffer_Interleaved_04.gltf",
  874. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Buffer_Interleaved/",
  875. filename: "Buffer_Interleaved_04.gltf"
  876. },
  877. Compatibility_00: {
  878. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Compatibility/Compatibility_00.gltf",
  879. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Compatibility/",
  880. filename: "Compatibility_00.gltf"
  881. },
  882. Compatibility_01: {
  883. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Compatibility/Compatibility_01.gltf",
  884. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Compatibility/",
  885. filename: "Compatibility_01.gltf"
  886. },
  887. Compatibility_02: {
  888. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Compatibility/Compatibility_02.gltf",
  889. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Compatibility/",
  890. filename: "Compatibility_02.gltf"
  891. },
  892. Compatibility_03: {
  893. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Compatibility/Compatibility_03.gltf",
  894. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Compatibility/",
  895. filename: "Compatibility_03.gltf"
  896. },
  897. Compatibility_04: {
  898. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Compatibility/Compatibility_04.gltf",
  899. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Compatibility/",
  900. filename: "Compatibility_04.gltf"
  901. },
  902. Compatibility_05: {
  903. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Compatibility/Compatibility_05.gltf",
  904. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Compatibility/",
  905. filename: "Compatibility_05.gltf"
  906. },
  907. Material_AlphaBlend_00: {
  908. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaBlend/Material_AlphaBlend_00.gltf",
  909. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaBlend/",
  910. filename: "Material_AlphaBlend_00.gltf"
  911. },
  912. Material_AlphaBlend_01: {
  913. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaBlend/Material_AlphaBlend_01.gltf",
  914. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaBlend/",
  915. filename: "Material_AlphaBlend_01.gltf"
  916. },
  917. Material_AlphaBlend_02: {
  918. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaBlend/Material_AlphaBlend_02.gltf",
  919. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaBlend/",
  920. filename: "Material_AlphaBlend_02.gltf"
  921. },
  922. Material_AlphaBlend_03: {
  923. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaBlend/Material_AlphaBlend_03.gltf",
  924. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaBlend/",
  925. filename: "Material_AlphaBlend_03.gltf"
  926. },
  927. Material_AlphaBlend_04: {
  928. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaBlend/Material_AlphaBlend_04.gltf",
  929. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaBlend/",
  930. filename: "Material_AlphaBlend_04.gltf"
  931. },
  932. Material_AlphaBlend_05: {
  933. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaBlend/Material_AlphaBlend_05.gltf",
  934. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaBlend/",
  935. filename: "Material_AlphaBlend_05.gltf"
  936. },
  937. Material_AlphaBlend_06: {
  938. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaBlend/Material_AlphaBlend_06.gltf",
  939. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaBlend/",
  940. filename: "Material_AlphaBlend_06.gltf"
  941. },
  942. Material_AlphaMask_00: {
  943. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaMask/Material_AlphaMask_00.gltf",
  944. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaMask/",
  945. filename: "Material_AlphaMask_00.gltf"
  946. },
  947. Material_AlphaMask_01: {
  948. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaMask/Material_AlphaMask_01.gltf",
  949. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaMask/",
  950. filename: "Material_AlphaMask_01.gltf"
  951. },
  952. Material_AlphaMask_02: {
  953. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaMask/Material_AlphaMask_02.gltf",
  954. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaMask/",
  955. filename: "Material_AlphaMask_02.gltf"
  956. },
  957. Material_AlphaMask_03: {
  958. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaMask/Material_AlphaMask_03.gltf",
  959. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaMask/",
  960. filename: "Material_AlphaMask_03.gltf"
  961. },
  962. Material_AlphaMask_04: {
  963. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaMask/Material_AlphaMask_04.gltf",
  964. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaMask/",
  965. filename: "Material_AlphaMask_04.gltf"
  966. },
  967. Material_AlphaMask_05: {
  968. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaMask/Material_AlphaMask_05.gltf",
  969. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaMask/",
  970. filename: "Material_AlphaMask_05.gltf"
  971. },
  972. Material_AlphaMask_06: {
  973. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaMask/Material_AlphaMask_06.gltf",
  974. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_AlphaMask/",
  975. filename: "Material_AlphaMask_06.gltf"
  976. },
  977. Material_DoubleSided_00: {
  978. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_DoubleSided/Material_DoubleSided_00.gltf",
  979. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_DoubleSided/",
  980. filename: "Material_DoubleSided_00.gltf"
  981. },
  982. Material_DoubleSided_01: {
  983. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_DoubleSided/Material_DoubleSided_01.gltf",
  984. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_DoubleSided/",
  985. filename: "Material_DoubleSided_01.gltf"
  986. },
  987. Material_DoubleSided_02: {
  988. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_DoubleSided/Material_DoubleSided_02.gltf",
  989. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_DoubleSided/",
  990. filename: "Material_DoubleSided_02.gltf"
  991. },
  992. Material_DoubleSided_03: {
  993. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_DoubleSided/Material_DoubleSided_03.gltf",
  994. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_DoubleSided/",
  995. filename: "Material_DoubleSided_03.gltf"
  996. },
  997. Material_MetallicRoughness_00: {
  998. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_MetallicRoughness/Material_MetallicRoughness_00.gltf",
  999. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_MetallicRoughness/",
  1000. filename: "Material_MetallicRoughness_00.gltf"
  1001. },
  1002. Material_MetallicRoughness_01: {
  1003. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_MetallicRoughness/Material_MetallicRoughness_01.gltf",
  1004. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_MetallicRoughness/",
  1005. filename: "Material_MetallicRoughness_01.gltf"
  1006. },
  1007. Material_MetallicRoughness_02: {
  1008. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_MetallicRoughness/Material_MetallicRoughness_02.gltf",
  1009. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_MetallicRoughness/",
  1010. filename: "Material_MetallicRoughness_02.gltf"
  1011. },
  1012. Material_MetallicRoughness_03: {
  1013. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_MetallicRoughness/Material_MetallicRoughness_03.gltf",
  1014. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_MetallicRoughness/",
  1015. filename: "Material_MetallicRoughness_03.gltf"
  1016. },
  1017. Material_MetallicRoughness_04: {
  1018. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_MetallicRoughness/Material_MetallicRoughness_04.gltf",
  1019. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_MetallicRoughness/",
  1020. filename: "Material_MetallicRoughness_04.gltf"
  1021. },
  1022. Material_MetallicRoughness_05: {
  1023. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_MetallicRoughness/Material_MetallicRoughness_05.gltf",
  1024. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_MetallicRoughness/",
  1025. filename: "Material_MetallicRoughness_05.gltf"
  1026. },
  1027. Material_MetallicRoughness_06: {
  1028. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_MetallicRoughness/Material_MetallicRoughness_06.gltf",
  1029. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_MetallicRoughness/",
  1030. filename: "Material_MetallicRoughness_06.gltf"
  1031. },
  1032. Material_MetallicRoughness_07: {
  1033. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_MetallicRoughness/Material_MetallicRoughness_07.gltf",
  1034. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_MetallicRoughness/",
  1035. filename: "Material_MetallicRoughness_07.gltf"
  1036. },
  1037. Material_MetallicRoughness_08: {
  1038. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_MetallicRoughness/Material_MetallicRoughness_08.gltf",
  1039. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_MetallicRoughness/",
  1040. filename: "Material_MetallicRoughness_08.gltf"
  1041. },
  1042. Material_MetallicRoughness_09: {
  1043. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_MetallicRoughness/Material_MetallicRoughness_09.gltf",
  1044. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_MetallicRoughness/",
  1045. filename: "Material_MetallicRoughness_09.gltf"
  1046. },
  1047. Material_MetallicRoughness_10: {
  1048. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_MetallicRoughness/Material_MetallicRoughness_10.gltf",
  1049. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_MetallicRoughness/",
  1050. filename: "Material_MetallicRoughness_10.gltf"
  1051. },
  1052. Material_MetallicRoughness_11: {
  1053. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_MetallicRoughness/Material_MetallicRoughness_11.gltf",
  1054. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_MetallicRoughness/",
  1055. filename: "Material_MetallicRoughness_11.gltf"
  1056. },
  1057. Material_Mixed_00: {
  1058. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_Mixed/Material_Mixed_00.gltf",
  1059. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_Mixed/",
  1060. filename: "Material_Mixed_00.gltf"
  1061. },
  1062. Material_Mixed_01: {
  1063. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_Mixed/Material_Mixed_01.gltf",
  1064. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_Mixed/",
  1065. filename: "Material_Mixed_01.gltf"
  1066. },
  1067. Material_Mixed_02: {
  1068. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_Mixed/Material_Mixed_02.gltf",
  1069. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_Mixed/",
  1070. filename: "Material_Mixed_02.gltf"
  1071. },
  1072. Material_SpecularGlossiness_00: {
  1073. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/Material_SpecularGlossiness_00.gltf",
  1074. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/",
  1075. filename: "Material_SpecularGlossiness_00.gltf"
  1076. },
  1077. Material_SpecularGlossiness_01: {
  1078. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/Material_SpecularGlossiness_01.gltf",
  1079. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/",
  1080. filename: "Material_SpecularGlossiness_01.gltf"
  1081. },
  1082. Material_SpecularGlossiness_02: {
  1083. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/Material_SpecularGlossiness_02.gltf",
  1084. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/",
  1085. filename: "Material_SpecularGlossiness_02.gltf"
  1086. },
  1087. Material_SpecularGlossiness_03: {
  1088. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/Material_SpecularGlossiness_03.gltf",
  1089. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/",
  1090. filename: "Material_SpecularGlossiness_03.gltf"
  1091. },
  1092. Material_SpecularGlossiness_04: {
  1093. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/Material_SpecularGlossiness_04.gltf",
  1094. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/",
  1095. filename: "Material_SpecularGlossiness_04.gltf"
  1096. },
  1097. Material_SpecularGlossiness_05: {
  1098. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/Material_SpecularGlossiness_05.gltf",
  1099. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/",
  1100. filename: "Material_SpecularGlossiness_05.gltf"
  1101. },
  1102. Material_SpecularGlossiness_06: {
  1103. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/Material_SpecularGlossiness_06.gltf",
  1104. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/",
  1105. filename: "Material_SpecularGlossiness_06.gltf"
  1106. },
  1107. Material_SpecularGlossiness_07: {
  1108. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/Material_SpecularGlossiness_07.gltf",
  1109. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/",
  1110. filename: "Material_SpecularGlossiness_07.gltf"
  1111. },
  1112. Material_SpecularGlossiness_08: {
  1113. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/Material_SpecularGlossiness_08.gltf",
  1114. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/",
  1115. filename: "Material_SpecularGlossiness_08.gltf"
  1116. },
  1117. Material_SpecularGlossiness_09: {
  1118. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/Material_SpecularGlossiness_09.gltf",
  1119. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/",
  1120. filename: "Material_SpecularGlossiness_09.gltf"
  1121. },
  1122. Material_SpecularGlossiness_10: {
  1123. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/Material_SpecularGlossiness_10.gltf",
  1124. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/",
  1125. filename: "Material_SpecularGlossiness_10.gltf"
  1126. },
  1127. Material_SpecularGlossiness_11: {
  1128. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/Material_SpecularGlossiness_11.gltf",
  1129. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/",
  1130. filename: "Material_SpecularGlossiness_11.gltf"
  1131. },
  1132. Material_SpecularGlossiness_12: {
  1133. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/Material_SpecularGlossiness_12.gltf",
  1134. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/",
  1135. filename: "Material_SpecularGlossiness_12.gltf"
  1136. },
  1137. Material_SpecularGlossiness_13: {
  1138. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/Material_SpecularGlossiness_13.gltf",
  1139. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material_SpecularGlossiness/",
  1140. filename: "Material_SpecularGlossiness_13.gltf"
  1141. },
  1142. Material_00: {
  1143. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material/Material_00.gltf",
  1144. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material/",
  1145. filename: "Material_00.gltf"
  1146. },
  1147. Material_01: {
  1148. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material/Material_01.gltf",
  1149. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material/",
  1150. filename: "Material_01.gltf"
  1151. },
  1152. Material_02: {
  1153. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material/Material_02.gltf",
  1154. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material/",
  1155. filename: "Material_02.gltf"
  1156. },
  1157. Material_03: {
  1158. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material/Material_03.gltf",
  1159. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material/",
  1160. filename: "Material_03.gltf"
  1161. },
  1162. Material_04: {
  1163. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material/Material_04.gltf",
  1164. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material/",
  1165. filename: "Material_04.gltf"
  1166. },
  1167. Material_05: {
  1168. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material/Material_05.gltf",
  1169. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material/",
  1170. filename: "Material_05.gltf"
  1171. },
  1172. Material_06: {
  1173. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material/Material_06.gltf",
  1174. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material/",
  1175. filename: "Material_06.gltf"
  1176. },
  1177. Material_07: {
  1178. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material/Material_07.gltf",
  1179. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Material/",
  1180. filename: "Material_07.gltf"
  1181. },
  1182. Mesh_PrimitiveAttribute_00: {
  1183. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_00.gltf",
  1184. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveAttribute/",
  1185. filename: "Mesh_PrimitiveAttribute_00.gltf"
  1186. },
  1187. Mesh_PrimitiveAttribute_01: {
  1188. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_01.gltf",
  1189. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveAttribute/",
  1190. filename: "Mesh_PrimitiveAttribute_01.gltf"
  1191. },
  1192. Mesh_PrimitiveAttribute_02: {
  1193. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_02.gltf",
  1194. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveAttribute/",
  1195. filename: "Mesh_PrimitiveAttribute_02.gltf"
  1196. },
  1197. Mesh_PrimitiveAttribute_03: {
  1198. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_03.gltf",
  1199. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveAttribute/",
  1200. filename: "Mesh_PrimitiveAttribute_03.gltf"
  1201. },
  1202. Mesh_PrimitiveAttribute_04: {
  1203. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_04.gltf",
  1204. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveAttribute/",
  1205. filename: "Mesh_PrimitiveAttribute_04.gltf"
  1206. },
  1207. Mesh_PrimitiveAttribute_05: {
  1208. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_05.gltf",
  1209. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveAttribute/",
  1210. filename: "Mesh_PrimitiveAttribute_05.gltf"
  1211. },
  1212. Mesh_PrimitiveAttribute_06: {
  1213. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_06.gltf",
  1214. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveAttribute/",
  1215. filename: "Mesh_PrimitiveAttribute_06.gltf"
  1216. },
  1217. Mesh_PrimitiveMode_00: {
  1218. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/Mesh_PrimitiveMode_00.gltf",
  1219. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/",
  1220. filename: "Mesh_PrimitiveMode_00.gltf"
  1221. },
  1222. Mesh_PrimitiveMode_01: {
  1223. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/Mesh_PrimitiveMode_01.gltf",
  1224. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/",
  1225. filename: "Mesh_PrimitiveMode_01.gltf"
  1226. },
  1227. Mesh_PrimitiveMode_02: {
  1228. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/Mesh_PrimitiveMode_02.gltf",
  1229. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/",
  1230. filename: "Mesh_PrimitiveMode_02.gltf"
  1231. },
  1232. Mesh_PrimitiveMode_03: {
  1233. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/Mesh_PrimitiveMode_03.gltf",
  1234. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/",
  1235. filename: "Mesh_PrimitiveMode_03.gltf"
  1236. },
  1237. Mesh_PrimitiveMode_04: {
  1238. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/Mesh_PrimitiveMode_04.gltf",
  1239. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/",
  1240. filename: "Mesh_PrimitiveMode_04.gltf"
  1241. },
  1242. Mesh_PrimitiveMode_05: {
  1243. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/Mesh_PrimitiveMode_05.gltf",
  1244. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/",
  1245. filename: "Mesh_PrimitiveMode_05.gltf"
  1246. },
  1247. Mesh_PrimitiveMode_06: {
  1248. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/Mesh_PrimitiveMode_06.gltf",
  1249. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/",
  1250. filename: "Mesh_PrimitiveMode_06.gltf"
  1251. },
  1252. Mesh_PrimitiveMode_07: {
  1253. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/Mesh_PrimitiveMode_07.gltf",
  1254. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/",
  1255. filename: "Mesh_PrimitiveMode_07.gltf"
  1256. },
  1257. Mesh_PrimitiveMode_08: {
  1258. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/Mesh_PrimitiveMode_08.gltf",
  1259. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/",
  1260. filename: "Mesh_PrimitiveMode_08.gltf"
  1261. },
  1262. Mesh_PrimitiveMode_09: {
  1263. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/Mesh_PrimitiveMode_09.gltf",
  1264. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/",
  1265. filename: "Mesh_PrimitiveMode_09.gltf"
  1266. },
  1267. Mesh_PrimitiveMode_10: {
  1268. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/Mesh_PrimitiveMode_10.gltf",
  1269. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/",
  1270. filename: "Mesh_PrimitiveMode_10.gltf"
  1271. },
  1272. Mesh_PrimitiveMode_11: {
  1273. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/Mesh_PrimitiveMode_11.gltf",
  1274. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/",
  1275. filename: "Mesh_PrimitiveMode_11.gltf"
  1276. },
  1277. Mesh_PrimitiveMode_12: {
  1278. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/Mesh_PrimitiveMode_12.gltf",
  1279. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/",
  1280. filename: "Mesh_PrimitiveMode_12.gltf"
  1281. },
  1282. Mesh_PrimitiveMode_13: {
  1283. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/Mesh_PrimitiveMode_13.gltf",
  1284. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/",
  1285. filename: "Mesh_PrimitiveMode_13.gltf"
  1286. },
  1287. Mesh_PrimitiveMode_14: {
  1288. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/Mesh_PrimitiveMode_14.gltf",
  1289. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/",
  1290. filename: "Mesh_PrimitiveMode_14.gltf"
  1291. },
  1292. Mesh_PrimitiveMode_15: {
  1293. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/Mesh_PrimitiveMode_15.gltf",
  1294. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveMode/",
  1295. filename: "Mesh_PrimitiveMode_15.gltf"
  1296. },
  1297. Mesh_Primitives_00: {
  1298. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_Primitives/Mesh_Primitives_00.gltf",
  1299. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_Primitives/",
  1300. filename: "Mesh_Primitives_00.gltf"
  1301. },
  1302. Mesh_PrimitivesUV_00: {
  1303. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitivesUV/Mesh_PrimitivesUV_00.gltf",
  1304. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitivesUV/",
  1305. filename: "Mesh_PrimitivesUV_00.gltf"
  1306. },
  1307. Mesh_PrimitivesUV_01: {
  1308. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitivesUV/Mesh_PrimitivesUV_01.gltf",
  1309. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitivesUV/",
  1310. filename: "Mesh_PrimitivesUV_01.gltf"
  1311. },
  1312. Mesh_PrimitivesUV_02: {
  1313. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitivesUV/Mesh_PrimitivesUV_02.gltf",
  1314. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitivesUV/",
  1315. filename: "Mesh_PrimitivesUV_02.gltf"
  1316. },
  1317. Mesh_PrimitivesUV_03: {
  1318. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitivesUV/Mesh_PrimitivesUV_03.gltf",
  1319. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitivesUV/",
  1320. filename: "Mesh_PrimitivesUV_03.gltf"
  1321. },
  1322. Mesh_PrimitivesUV_04: {
  1323. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitivesUV/Mesh_PrimitivesUV_04.gltf",
  1324. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitivesUV/",
  1325. filename: "Mesh_PrimitivesUV_04.gltf"
  1326. },
  1327. Mesh_PrimitivesUV_05: {
  1328. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitivesUV/Mesh_PrimitivesUV_05.gltf",
  1329. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitivesUV/",
  1330. filename: "Mesh_PrimitivesUV_05.gltf"
  1331. },
  1332. Mesh_PrimitivesUV_06: {
  1333. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitivesUV/Mesh_PrimitivesUV_06.gltf",
  1334. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitivesUV/",
  1335. filename: "Mesh_PrimitivesUV_06.gltf"
  1336. },
  1337. Mesh_PrimitivesUV_07: {
  1338. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitivesUV/Mesh_PrimitivesUV_07.gltf",
  1339. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitivesUV/",
  1340. filename: "Mesh_PrimitivesUV_07.gltf"
  1341. },
  1342. Mesh_PrimitivesUV_08: {
  1343. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitivesUV/Mesh_PrimitivesUV_08.gltf",
  1344. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitivesUV/",
  1345. filename: "Mesh_PrimitivesUV_08.gltf"
  1346. },
  1347. Mesh_PrimitiveVertexColor_00: {
  1348. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveVertexColor/Mesh_PrimitiveVertexColor_00.gltf",
  1349. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveVertexColor/",
  1350. filename: "Mesh_PrimitiveVertexColor_00.gltf"
  1351. },
  1352. Mesh_PrimitiveVertexColor_01: {
  1353. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveVertexColor/Mesh_PrimitiveVertexColor_01.gltf",
  1354. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveVertexColor/",
  1355. filename: "Mesh_PrimitiveVertexColor_01.gltf"
  1356. },
  1357. Mesh_PrimitiveVertexColor_02: {
  1358. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveVertexColor/Mesh_PrimitiveVertexColor_02.gltf",
  1359. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveVertexColor/",
  1360. filename: "Mesh_PrimitiveVertexColor_02.gltf"
  1361. },
  1362. Mesh_PrimitiveVertexColor_03: {
  1363. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveVertexColor/Mesh_PrimitiveVertexColor_03.gltf",
  1364. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveVertexColor/",
  1365. filename: "Mesh_PrimitiveVertexColor_03.gltf"
  1366. },
  1367. Mesh_PrimitiveVertexColor_04: {
  1368. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveVertexColor/Mesh_PrimitiveVertexColor_04.gltf",
  1369. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveVertexColor/",
  1370. filename: "Mesh_PrimitiveVertexColor_04.gltf"
  1371. },
  1372. Mesh_PrimitiveVertexColor_05: {
  1373. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveVertexColor/Mesh_PrimitiveVertexColor_05.gltf",
  1374. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Mesh_PrimitiveVertexColor/",
  1375. filename: "Mesh_PrimitiveVertexColor_05.gltf"
  1376. },
  1377. Node_Attribute_00: {
  1378. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_Attribute/Node_Attribute_00.gltf",
  1379. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_Attribute/",
  1380. filename: "Node_Attribute_00.gltf"
  1381. },
  1382. Node_Attribute_01: {
  1383. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_Attribute/Node_Attribute_01.gltf",
  1384. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_Attribute/",
  1385. filename: "Node_Attribute_01.gltf"
  1386. },
  1387. Node_Attribute_02: {
  1388. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_Attribute/Node_Attribute_02.gltf",
  1389. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_Attribute/",
  1390. filename: "Node_Attribute_02.gltf"
  1391. },
  1392. Node_Attribute_03: {
  1393. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_Attribute/Node_Attribute_03.gltf",
  1394. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_Attribute/",
  1395. filename: "Node_Attribute_03.gltf"
  1396. },
  1397. Node_Attribute_04: {
  1398. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_Attribute/Node_Attribute_04.gltf",
  1399. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_Attribute/",
  1400. filename: "Node_Attribute_04.gltf"
  1401. },
  1402. Node_Attribute_05: {
  1403. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_Attribute/Node_Attribute_05.gltf",
  1404. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_Attribute/",
  1405. filename: "Node_Attribute_05.gltf"
  1406. },
  1407. Node_Attribute_06: {
  1408. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_Attribute/Node_Attribute_06.gltf",
  1409. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_Attribute/",
  1410. filename: "Node_Attribute_06.gltf"
  1411. },
  1412. Node_Attribute_07: {
  1413. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_Attribute/Node_Attribute_07.gltf",
  1414. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_Attribute/",
  1415. filename: "Node_Attribute_07.gltf"
  1416. },
  1417. Node_Attribute_08: {
  1418. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_Attribute/Node_Attribute_08.gltf",
  1419. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_Attribute/",
  1420. filename: "Node_Attribute_08.gltf"
  1421. },
  1422. Node_NegativeScale_00: {
  1423. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/Node_NegativeScale_00.gltf",
  1424. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/",
  1425. filename: "Node_NegativeScale_00.gltf"
  1426. },
  1427. Node_NegativeScale_01: {
  1428. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/Node_NegativeScale_01.gltf",
  1429. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/",
  1430. filename: "Node_NegativeScale_01.gltf"
  1431. },
  1432. Node_NegativeScale_02: {
  1433. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/Node_NegativeScale_02.gltf",
  1434. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/",
  1435. filename: "Node_NegativeScale_02.gltf"
  1436. },
  1437. Node_NegativeScale_03: {
  1438. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/Node_NegativeScale_03.gltf",
  1439. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/",
  1440. filename: "Node_NegativeScale_03.gltf"
  1441. },
  1442. Node_NegativeScale_04: {
  1443. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/Node_NegativeScale_04.gltf",
  1444. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/",
  1445. filename: "Node_NegativeScale_04.gltf"
  1446. },
  1447. Node_NegativeScale_05: {
  1448. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/Node_NegativeScale_05.gltf",
  1449. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/",
  1450. filename: "Node_NegativeScale_05.gltf"
  1451. },
  1452. Node_NegativeScale_06: {
  1453. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/Node_NegativeScale_06.gltf",
  1454. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/",
  1455. filename: "Node_NegativeScale_06.gltf"
  1456. },
  1457. Node_NegativeScale_07: {
  1458. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/Node_NegativeScale_07.gltf",
  1459. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/",
  1460. filename: "Node_NegativeScale_07.gltf"
  1461. },
  1462. Node_NegativeScale_08: {
  1463. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/Node_NegativeScale_08.gltf",
  1464. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/",
  1465. filename: "Node_NegativeScale_08.gltf"
  1466. },
  1467. Node_NegativeScale_09: {
  1468. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/Node_NegativeScale_09.gltf",
  1469. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/",
  1470. filename: "Node_NegativeScale_09.gltf"
  1471. },
  1472. Node_NegativeScale_10: {
  1473. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/Node_NegativeScale_10.gltf",
  1474. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/",
  1475. filename: "Node_NegativeScale_10.gltf"
  1476. },
  1477. Node_NegativeScale_11: {
  1478. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/Node_NegativeScale_11.gltf",
  1479. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/",
  1480. filename: "Node_NegativeScale_11.gltf"
  1481. },
  1482. Node_NegativeScale_12: {
  1483. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/Node_NegativeScale_12.gltf",
  1484. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Node_NegativeScale/",
  1485. filename: "Node_NegativeScale_12.gltf"
  1486. },
  1487. Texture_Sampler_00: {
  1488. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/Texture_Sampler_00.gltf",
  1489. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/",
  1490. filename: "Texture_Sampler_00.gltf"
  1491. },
  1492. Texture_Sampler_01: {
  1493. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/Texture_Sampler_01.gltf",
  1494. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/",
  1495. filename: "Texture_Sampler_01.gltf"
  1496. },
  1497. Texture_Sampler_02: {
  1498. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/Texture_Sampler_02.gltf",
  1499. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/",
  1500. filename: "Texture_Sampler_02.gltf"
  1501. },
  1502. Texture_Sampler_03: {
  1503. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/Texture_Sampler_03.gltf",
  1504. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/",
  1505. filename: "Texture_Sampler_03.gltf"
  1506. },
  1507. Texture_Sampler_04: {
  1508. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/Texture_Sampler_04.gltf",
  1509. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/",
  1510. filename: "Texture_Sampler_04.gltf"
  1511. },
  1512. Texture_Sampler_05: {
  1513. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/Texture_Sampler_05.gltf",
  1514. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/",
  1515. filename: "Texture_Sampler_05.gltf"
  1516. },
  1517. Texture_Sampler_06: {
  1518. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/Texture_Sampler_06.gltf",
  1519. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/",
  1520. filename: "Texture_Sampler_06.gltf"
  1521. },
  1522. Texture_Sampler_07: {
  1523. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/Texture_Sampler_07.gltf",
  1524. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/",
  1525. filename: "Texture_Sampler_07.gltf"
  1526. },
  1527. Texture_Sampler_08: {
  1528. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/Texture_Sampler_08.gltf",
  1529. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/",
  1530. filename: "Texture_Sampler_08.gltf"
  1531. },
  1532. Texture_Sampler_09: {
  1533. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/Texture_Sampler_09.gltf",
  1534. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/",
  1535. filename: "Texture_Sampler_09.gltf"
  1536. },
  1537. Texture_Sampler_10: {
  1538. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/Texture_Sampler_10.gltf",
  1539. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/",
  1540. filename: "Texture_Sampler_10.gltf"
  1541. },
  1542. Texture_Sampler_11: {
  1543. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/Texture_Sampler_11.gltf",
  1544. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/",
  1545. filename: "Texture_Sampler_11.gltf"
  1546. },
  1547. Texture_Sampler_12: {
  1548. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/Texture_Sampler_12.gltf",
  1549. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/",
  1550. filename: "Texture_Sampler_12.gltf"
  1551. },
  1552. Texture_Sampler_13: {
  1553. path: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/Texture_Sampler_13.gltf",
  1554. rootUrl: "https://assets.babylonjs.com/meshes/Tests/AssetGenerator/0.6/Texture_Sampler/",
  1555. filename: "Texture_Sampler_13.gltf"
  1556. },
  1557. Test: {
  1558. path: "https://assets.babylonjs.com/meshes/Tests/CompileMaterials/Test.gltf",
  1559. rootUrl: "https://assets.babylonjs.com/meshes/Tests/CompileMaterials/",
  1560. filename: "Test.gltf"
  1561. },
  1562. LevelOfDetailNoTextures: {
  1563. path: "https://assets.babylonjs.com/meshes/Tests/LevelOfDetail/LevelOfDetailNoTextures.gltf",
  1564. rootUrl: "https://assets.babylonjs.com/meshes/Tests/LevelOfDetail/",
  1565. filename: "LevelOfDetailNoTextures.gltf"
  1566. },
  1567. MultiPrimitive: {
  1568. path: "https://assets.babylonjs.com/meshes/Tests/MultiPrimitive/MultiPrimitive.gltf",
  1569. rootUrl: "https://assets.babylonjs.com/meshes/Tests/MultiPrimitive/",
  1570. filename: "MultiPrimitive.gltf"
  1571. },
  1572. TextureTransformTest: {
  1573. path: "https://assets.babylonjs.com/meshes/Tests/TextureTransform/TextureTransformTest.gltf",
  1574. rootUrl: "https://assets.babylonjs.com/meshes/Tests/TextureTransform/",
  1575. filename: "TextureTransformTest.gltf"
  1576. },
  1577. TwoQuads: {
  1578. path: "https://assets.babylonjs.com/meshes/Tests/TwoQuads/TwoQuads.gltf",
  1579. rootUrl: "https://assets.babylonjs.com/meshes/Tests/TwoQuads/",
  1580. filename: "TwoQuads.gltf"
  1581. },
  1582. TextureLinearInterpolationTest: {
  1583. path: "https://assets.babylonjs.com/meshes/TextureLinearInterpolationTest/TextureLinearInterpolationTest.gltf",
  1584. rootUrl: "https://assets.babylonjs.com/meshes/TextureLinearInterpolationTest/",
  1585. filename: "TextureLinearInterpolationTest.gltf"
  1586. },
  1587. toast_acrobatics: {
  1588. path: "https://assets.babylonjs.com/meshes/toast_acrobatics.glb",
  1589. rootUrl: "https://assets.babylonjs.com/meshes/",
  1590. filename: "toast_acrobatics.glb"
  1591. },
  1592. greenEnergyBall: {
  1593. path: "https://assets.babylonjs.com/meshes/TrailMeshSpell/greenEnergyBall.glb",
  1594. rootUrl: "https://assets.babylonjs.com/meshes/TrailMeshSpell/",
  1595. filename: "greenEnergyBall.glb"
  1596. },
  1597. pinkEnergyBall: {
  1598. path: "https://assets.babylonjs.com/meshes/TrailMeshSpell/pinkEnergyBall.glb",
  1599. rootUrl: "https://assets.babylonjs.com/meshes/TrailMeshSpell/",
  1600. filename: "pinkEnergyBall.glb"
  1601. },
  1602. spellDisk: {
  1603. path: "https://assets.babylonjs.com/meshes/TrailMeshSpell/spellDisk.glb",
  1604. rootUrl: "https://assets.babylonjs.com/meshes/TrailMeshSpell/",
  1605. filename: "spellDisk.glb"
  1606. },
  1607. yellowEnergyBall: {
  1608. path: "https://assets.babylonjs.com/meshes/TrailMeshSpell/yellowEnergyBall.glb",
  1609. rootUrl: "https://assets.babylonjs.com/meshes/TrailMeshSpell/",
  1610. filename: "yellowEnergyBall.glb"
  1611. },
  1612. rawtrees: {
  1613. path: "https://assets.babylonjs.com/meshes/Trees/rawtrees.babylon",
  1614. rootUrl: "https://assets.babylonjs.com/meshes/Trees/",
  1615. filename: "rawtrees.babylon"
  1616. },
  1617. ufo: {
  1618. path: "https://assets.babylonjs.com/meshes/ufo.glb",
  1619. rootUrl: "https://assets.babylonjs.com/meshes/",
  1620. filename: "ufo.glb"
  1621. },
  1622. valleyvillage: {
  1623. path: "https://assets.babylonjs.com/meshes/valleyvillage.glb",
  1624. rootUrl: "https://assets.babylonjs.com/meshes/",
  1625. filename: "valleyvillage.glb"
  1626. },
  1627. village: {
  1628. path: "https://assets.babylonjs.com/meshes/village.glb",
  1629. rootUrl: "https://assets.babylonjs.com/meshes/",
  1630. filename: "village.glb"
  1631. },
  1632. vintageFan_animated: {
  1633. path: "https://assets.babylonjs.com/meshes/vintageDeskFan/vintageFan_animated.gltf",
  1634. rootUrl: "https://assets.babylonjs.com/meshes/vintageDeskFan/",
  1635. filename: "vintageFan_animated.gltf"
  1636. },
  1637. WaterBottle: {
  1638. path: "https://assets.babylonjs.com/meshes/waterBottle/WaterBottle.gltf",
  1639. rootUrl: "https://assets.babylonjs.com/meshes/waterBottle/",
  1640. filename: "WaterBottle.gltf"
  1641. },
  1642. webp: {
  1643. path: "https://assets.babylonjs.com/meshes/webp/webp.gltf",
  1644. rootUrl: "https://assets.babylonjs.com/meshes/webp/",
  1645. filename: "webp.gltf"
  1646. },
  1647. Xbot: {
  1648. path: "https://assets.babylonjs.com/meshes/Xbot.glb",
  1649. rootUrl: "https://assets.babylonjs.com/meshes/",
  1650. filename: "Xbot.glb"
  1651. },
  1652. Yeti: {
  1653. path: "https://assets.babylonjs.com/meshes/Yeti/MayaExport/glTF/Yeti.gltf",
  1654. rootUrl: "https://assets.babylonjs.com/meshes/Yeti/MayaExport/glTF/",
  1655. filename: "Yeti.gltf"
  1656. },
  1657. YetiUnity: {
  1658. path: "https://assets.babylonjs.com/meshes/Yeti/Unity/YetiUnity.gltf",
  1659. rootUrl: "https://assets.babylonjs.com/meshes/Yeti/Unity/",
  1660. filename: "YetiUnity.gltf"
  1661. },
  1662. IridescentSphere: {
  1663. path: "https://assets.babylonjs.com/meshes/iridescentSphere.glb",
  1664. rootUrl: "https://assets.babylonjs.com/meshes/",
  1665. filename: "iridescentSphere.glb"
  1666. },
  1667. module_600_glb: {
  1668. path: "https://assets.babylonjs.com/meshes/module_600.glb",
  1669. rootUrl: "https://assets.babylonjs.com/meshes/",
  1670. filename: "module_600.glb"
  1671. },
  1672. solid_glb: {
  1673. path: "https://assets.babylonjs.com/meshes/solid.glb",
  1674. rootUrl: "https://assets.babylonjs.com/meshes/",
  1675. filename: "solid.glb"
  1676. },
  1677. coffin_glb: {
  1678. path: "https://assets.babylonjs.com/meshes/graveYardPack/coffin/coffin.glb",
  1679. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/coffin/",
  1680. filename: "coffin.glb"
  1681. },
  1682. coffin_gltf: {
  1683. path: "https://assets.babylonjs.com/meshes/graveYardPack/coffin/gltf/coffin.gltf",
  1684. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/coffin/gltf/",
  1685. filename: "coffin.gltf"
  1686. },
  1687. coffinOpen_glb: {
  1688. path: "https://assets.babylonjs.com/meshes/graveYardPack/coffinOpen/coffinOpen.glb",
  1689. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/coffinOpen/",
  1690. filename: "coffinOpen.glb"
  1691. },
  1692. coffinOpen_gltf: {
  1693. path: "https://assets.babylonjs.com/meshes/graveYardPack/coffinOpen/gltf/coffinOpen.gltf",
  1694. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/coffinOpen/gltf/",
  1695. filename: "coffinOpen.gltf"
  1696. },
  1697. fenceACorner1_glb: {
  1698. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceACorner1/fenceACorner1.glb",
  1699. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceACorner1/",
  1700. filename: "fenceACorner1.glb"
  1701. },
  1702. fenceACorner1_gltf: {
  1703. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceACorner1/gltf/fenceACorner1.gltf",
  1704. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceACorner1/gltf/",
  1705. filename: "fenceACorner1.gltf"
  1706. },
  1707. fenceACorner2_glb: {
  1708. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceACorner2/fenceACorner2.glb",
  1709. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceACorner2/",
  1710. filename: "fenceACorner2.glb"
  1711. },
  1712. fenceACorner2_gltf: {
  1713. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceACorner2/gltf/fenceACorner2.gltf",
  1714. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceACorner2/gltf/",
  1715. filename: "fenceACorner2.gltf"
  1716. },
  1717. fenceACorner3_glb: {
  1718. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceACorner3/fenceACorner3.glb",
  1719. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceACorner3/",
  1720. filename: "fenceACorner3.glb"
  1721. },
  1722. fenceACorner3_gltf: {
  1723. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceACorner3/gltf/fenceACorner3.gltf",
  1724. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceACorner3/gltf/",
  1725. filename: "fenceACorner3.gltf"
  1726. },
  1727. fenceACorner4_glb: {
  1728. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceACorner4/fenceACorner4.glb",
  1729. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceACorner4/",
  1730. filename: "fenceACorner4.glb"
  1731. },
  1732. fenceACorner4_gltf: {
  1733. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceACorner4/gltf/fenceACorner4.gltf",
  1734. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceACorner4/gltf/",
  1735. filename: "fenceACorner4.gltf"
  1736. },
  1737. fenceAGate_glb: {
  1738. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAGate/fenceAGate.glb",
  1739. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAGate/",
  1740. filename: "fenceAGate.glb"
  1741. },
  1742. fenceAGate_gltf: {
  1743. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAGate/gltf/fenceAGate.gltf",
  1744. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAGate/gltf/",
  1745. filename: "fenceAGate.gltf"
  1746. },
  1747. fenceAPillar1_glb: {
  1748. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar1/fenceAPillar1.glb",
  1749. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar1/",
  1750. filename: "fenceAPillar1.glb"
  1751. },
  1752. fenceAPillar1_gltf: {
  1753. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar1/gltf/fenceAPillar1.gltf",
  1754. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar1/gltf/",
  1755. filename: "fenceAPillar1.gltf"
  1756. },
  1757. fenceAPillar2_glb: {
  1758. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar2/fenceAPillar2.glb",
  1759. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar2/",
  1760. filename: "fenceAPillar2.glb"
  1761. },
  1762. fenceAPillar2_gltf: {
  1763. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar2/gltf/fenceAPillar2.gltf",
  1764. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar2/gltf/",
  1765. filename: "fenceAPillar2.gltf"
  1766. },
  1767. fenceAPillar3_glb: {
  1768. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar3/fenceAPillar3.glb",
  1769. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar3/",
  1770. filename: "fenceAPillar3.glb"
  1771. },
  1772. fenceAPillar3_gltf: {
  1773. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar3/gltf/fenceAPillar3.gltf",
  1774. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar3/gltf/",
  1775. filename: "fenceAPillar3.gltf"
  1776. },
  1777. fenceAPillar4_glb: {
  1778. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar4/fenceAPillar4.glb",
  1779. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar4/",
  1780. filename: "fenceAPillar4.glb"
  1781. },
  1782. fenceAPillar4_gltf: {
  1783. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar4/gltf/fenceAPillar4.gltf",
  1784. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar4/gltf/",
  1785. filename: "fenceAPillar4.gltf"
  1786. },
  1787. fenceAPillar5_glb: {
  1788. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar5/fenceAPillar5.glb",
  1789. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar5/",
  1790. filename: "fenceAPillar5.glb"
  1791. },
  1792. fenceAPillar5_gltf: {
  1793. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar5/gltf/fenceAPillar5.gltf",
  1794. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar5/gltf/",
  1795. filename: "fenceAPillar5.gltf"
  1796. },
  1797. fenceAPillar6_glb: {
  1798. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar6/fenceAPillar6.glb",
  1799. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar6/",
  1800. filename: "fenceAPillar6.glb"
  1801. },
  1802. fenceAPillar6_gltf: {
  1803. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar6/gltf/fenceAPillar6.gltf",
  1804. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar6/gltf/",
  1805. filename: "fenceAPillar6.gltf"
  1806. },
  1807. fenceAPillar7_glb: {
  1808. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar7/fenceAPillar7.glb",
  1809. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar7/",
  1810. filename: "fenceAPillar7.glb"
  1811. },
  1812. fenceAPillar7_gltf: {
  1813. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar7/gltf/fenceAPillar7.gltf",
  1814. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar7/gltf/",
  1815. filename: "fenceAPillar7.gltf"
  1816. },
  1817. fenceAPillar8_glb: {
  1818. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar8/fenceAPillar8.glb",
  1819. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar8/",
  1820. filename: "fenceAPillar8.glb"
  1821. },
  1822. fenceAPillar8_gltf: {
  1823. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar8/gltf/fenceAPillar8.gltf",
  1824. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceAPillar8/gltf/",
  1825. filename: "fenceAPillar8.gltf"
  1826. },
  1827. fenceASection1_glb: {
  1828. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceASection1/fenceASection1.glb",
  1829. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceASection1/",
  1830. filename: "fenceASection1.glb"
  1831. },
  1832. fenceASection1_gltf: {
  1833. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceASection1/gltf/fenceASection1.gltf",
  1834. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceASection1/gltf/",
  1835. filename: "fenceASection1.gltf"
  1836. },
  1837. fenceASection2_glb: {
  1838. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceASection2/fenceASection2.glb",
  1839. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceASection2/",
  1840. filename: "fenceASection2.glb"
  1841. },
  1842. fenceASection2_gltf: {
  1843. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceASection2/gltf/fenceASection2.gltf",
  1844. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceASection2/gltf/",
  1845. filename: "fenceASection2.gltf"
  1846. },
  1847. fenceASection3_glb: {
  1848. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceASection3/fenceASection3.glb",
  1849. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceASection3/",
  1850. filename: "fenceASection3.glb"
  1851. },
  1852. fenceASection3_gltf: {
  1853. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceASection3/gltf/fenceASection3.gltf",
  1854. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceASection3/gltf/",
  1855. filename: "fenceASection3.gltf"
  1856. },
  1857. fenceASection4_glb: {
  1858. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceASection4/fenceASection4.glb",
  1859. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceASection4/",
  1860. filename: "fenceASection4.glb"
  1861. },
  1862. fenceASection4_gltf: {
  1863. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceASection4/gltf/fenceASection4.gltf",
  1864. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceASection4/gltf/",
  1865. filename: "fenceASection4.gltf"
  1866. },
  1867. fenceASection5_glb: {
  1868. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceASection5/fenceASection5.glb",
  1869. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceASection5/",
  1870. filename: "fenceASection5.glb"
  1871. },
  1872. fenceASection5_gltf: {
  1873. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceASection5/gltf/fenceASection5.gltf",
  1874. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceASection5/gltf/",
  1875. filename: "fenceASection5.gltf"
  1876. },
  1877. fenceBCorner1_glb: {
  1878. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBCorner1/fenceBCorner1.glb",
  1879. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBCorner1/",
  1880. filename: "fenceBCorner1.glb"
  1881. },
  1882. fenceBCorner1_gltf: {
  1883. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBCorner1/gltf/fenceBCorner1.gltf",
  1884. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBCorner1/gltf/",
  1885. filename: "fenceBCorner1.gltf"
  1886. },
  1887. fenceBCorner2_glb: {
  1888. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBCorner2/fenceBCorner2.glb",
  1889. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBCorner2/",
  1890. filename: "fenceBCorner2.glb"
  1891. },
  1892. fenceBCorner2_gltf: {
  1893. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBCorner2/gltf/fenceBCorner2.gltf",
  1894. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBCorner2/gltf/",
  1895. filename: "fenceBCorner2.gltf"
  1896. },
  1897. fenceBCorner3_glb: {
  1898. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBCorner3/fenceBCorner3.glb",
  1899. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBCorner3/",
  1900. filename: "fenceBCorner3.glb"
  1901. },
  1902. fenceBCorner3_gltf: {
  1903. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBCorner3/gltf/fenceBCorner3.gltf",
  1904. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBCorner3/gltf/",
  1905. filename: "fenceBCorner3.gltf"
  1906. },
  1907. fenceBPillar1_glb: {
  1908. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBPillar1/fenceBPillar1.glb",
  1909. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBPillar1/",
  1910. filename: "fenceBPillar1.glb"
  1911. },
  1912. fenceBPillar1_gltf: {
  1913. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBPillar1/gltf/fenceBPillar1.gltf",
  1914. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBPillar1/gltf/",
  1915. filename: "fenceBPillar1.gltf"
  1916. },
  1917. fenceBPillar2_glb: {
  1918. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBPillar2/fenceBPillar2.glb",
  1919. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBPillar2/",
  1920. filename: "fenceBPillar2.glb"
  1921. },
  1922. fenceBPillar2_gltf: {
  1923. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBPillar2/gltf/fenceBPillar2.gltf",
  1924. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBPillar2/gltf/",
  1925. filename: "fenceBPillar2.gltf"
  1926. },
  1927. fenceBPillar3_glb: {
  1928. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBPillar3/fenceBPillar3.glb",
  1929. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBPillar3/",
  1930. filename: "fenceBPillar3.glb"
  1931. },
  1932. fenceBPillar3_gltf: {
  1933. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBPillar3/gltf/fenceBPillar3.gltf",
  1934. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBPillar3/gltf/",
  1935. filename: "fenceBPillar3.gltf"
  1936. },
  1937. fenceBPillar4_glb: {
  1938. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBPillar4/fenceBPillar4.glb",
  1939. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBPillar4/",
  1940. filename: "fenceBPillar4.glb"
  1941. },
  1942. fenceBPillar4_gltf: {
  1943. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBPillar4/gltf/fenceBPillar4.gltf",
  1944. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBPillar4/gltf/",
  1945. filename: "fenceBPillar4.gltf"
  1946. },
  1947. fenceBSection1_glb: {
  1948. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBSection1/fenceBSection1.glb",
  1949. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBSection1/",
  1950. filename: "fenceBSection1.glb"
  1951. },
  1952. fenceBSection1_gltf: {
  1953. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBSection1/gltf/fenceBSection1.gltf",
  1954. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBSection1/gltf/",
  1955. filename: "fenceBSection1.gltf"
  1956. },
  1957. fenceBSection2_glb: {
  1958. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBSection2/fenceBSection2.glb",
  1959. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBSection2/",
  1960. filename: "fenceBSection2.glb"
  1961. },
  1962. fenceBSection2_gltf: {
  1963. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBSection2/gltf/fenceBSection2.gltf",
  1964. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBSection2/gltf/",
  1965. filename: "fenceBSection2.gltf"
  1966. },
  1967. fenceBSection3_glb: {
  1968. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBSection3/fenceBSection3.glb",
  1969. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBSection3/",
  1970. filename: "fenceBSection3.glb"
  1971. },
  1972. fenceBSection3_gltf: {
  1973. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBSection3/gltf/fenceBSection3.gltf",
  1974. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBSection3/gltf/",
  1975. filename: "fenceBSection3.gltf"
  1976. },
  1977. fenceBSection4_glb: {
  1978. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBSection4/fenceBSection4.glb",
  1979. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBSection4/",
  1980. filename: "fenceBSection4.glb"
  1981. },
  1982. fenceBSection4_gltf: {
  1983. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBSection4/gltf/fenceBSection4.gltf",
  1984. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceBSection4/gltf/",
  1985. filename: "fenceBSection4.gltf"
  1986. },
  1987. fenceC1_glb: {
  1988. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceC1/fenceC1.glb",
  1989. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceC1/",
  1990. filename: "fenceC1.glb"
  1991. },
  1992. fenceC1_gltf: {
  1993. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceC1/gltf/fenceC1.gltf",
  1994. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceC1/gltf/",
  1995. filename: "fenceC1.gltf"
  1996. },
  1997. fenceC1Skewed_glb: {
  1998. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceC1Skewed/fenceC1Skewed.glb",
  1999. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceC1Skewed/",
  2000. filename: "fenceC1Skewed.glb"
  2001. },
  2002. fenceC1Skewed_gltf: {
  2003. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceC1Skewed/gltf/fenceC1Skewed.gltf",
  2004. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceC1Skewed/gltf/",
  2005. filename: "fenceC1Skewed.gltf"
  2006. },
  2007. fenceC2_glb: {
  2008. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceC2/fenceC2.glb",
  2009. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceC2/",
  2010. filename: "fenceC2.glb"
  2011. },
  2012. fenceC2_gltf: {
  2013. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceC2/gltf/fenceC2.gltf",
  2014. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceC2/gltf/",
  2015. filename: "fenceC2.gltf"
  2016. },
  2017. fenceC3_glb: {
  2018. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceC3/fenceC3.glb",
  2019. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceC3/",
  2020. filename: "fenceC3.glb"
  2021. },
  2022. fenceC3_gltf: {
  2023. path: "https://assets.babylonjs.com/meshes/graveYardPack/fenceC3/gltf/fenceC3.gltf",
  2024. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/fenceC3/gltf/",
  2025. filename: "fenceC3.gltf"
  2026. },
  2027. graveyardScene_gltf: {
  2028. path: "https://assets.babylonjs.com/meshes/graveYardPack/graveyardScene/gltf/graveyardScene.gltf",
  2029. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/graveyardScene/gltf/",
  2030. filename: "graveyardScene.gltf"
  2031. },
  2032. graveyardScene_glb: {
  2033. path: "https://assets.babylonjs.com/meshes/graveYardPack/graveyardScene/graveyardScene.glb",
  2034. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/graveyardScene/",
  2035. filename: "graveyardScene.glb"
  2036. },
  2037. mausoleumLarge_gltf: {
  2038. path: "https://assets.babylonjs.com/meshes/graveYardPack/mausoleumLarge/gltf/mausoleumLarge.gltf",
  2039. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/mausoleumLarge/gltf/",
  2040. filename: "mausoleumLarge.gltf"
  2041. },
  2042. mausoleumLarge_glb: {
  2043. path: "https://assets.babylonjs.com/meshes/graveYardPack/mausoleumLarge/mausoleumLarge.glb",
  2044. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/mausoleumLarge/",
  2045. filename: "mausoleumLarge.glb"
  2046. },
  2047. mausoleumLargeSkewed_gltf: {
  2048. path: "https://assets.babylonjs.com/meshes/graveYardPack/mausoleumLargeSkewed/gltf/mausoleumLargeSkewed.gltf",
  2049. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/mausoleumLargeSkewed/gltf/",
  2050. filename: "mausoleumLargeSkewed.gltf"
  2051. },
  2052. mausoleumLargeSkewed_glb: {
  2053. path: "https://assets.babylonjs.com/meshes/graveYardPack/mausoleumLargeSkewed/mausoleumLargeSkewed.glb",
  2054. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/mausoleumLargeSkewed/",
  2055. filename: "mausoleumLargeSkewed.glb"
  2056. },
  2057. mausoleumSmall_gltf: {
  2058. path: "https://assets.babylonjs.com/meshes/graveYardPack/mausoleumSmall/gltf/mausoleumSmall.gltf",
  2059. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/mausoleumSmall/gltf/",
  2060. filename: "mausoleumSmall.gltf"
  2061. },
  2062. mausoleumSmall_glb: {
  2063. path: "https://assets.babylonjs.com/meshes/graveYardPack/mausoleumSmall/mausoleumSmall.glb",
  2064. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/mausoleumSmall/",
  2065. filename: "mausoleumSmall.glb"
  2066. },
  2067. mausoleumSmallSkewed_gltf: {
  2068. path: "https://assets.babylonjs.com/meshes/graveYardPack/mausoleumSmallSkewed/gltf/mausoleumSmallSkewed.gltf",
  2069. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/mausoleumSmallSkewed/gltf/",
  2070. filename: "mausoleumSmallSkewed.gltf"
  2071. },
  2072. mausoleumSmallSkewed_glb: {
  2073. path: "https://assets.babylonjs.com/meshes/graveYardPack/mausoleumSmallSkewed/mausoleumSmallSkewed.glb",
  2074. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/mausoleumSmallSkewed/",
  2075. filename: "mausoleumSmallSkewed.glb"
  2076. },
  2077. obelisk1_gltf: {
  2078. path: "https://assets.babylonjs.com/meshes/graveYardPack/obelisk1/gltf/obelisk1.gltf",
  2079. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/obelisk1/gltf/",
  2080. filename: "obelisk1.gltf"
  2081. },
  2082. obelisk1_glb: {
  2083. path: "https://assets.babylonjs.com/meshes/graveYardPack/obelisk1/obelisk1.glb",
  2084. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/obelisk1/",
  2085. filename: "obelisk1.glb"
  2086. },
  2087. obelisk2_gltf: {
  2088. path: "https://assets.babylonjs.com/meshes/graveYardPack/obelisk2/gltf/obelisk2.gltf",
  2089. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/obelisk2/gltf/",
  2090. filename: "obelisk2.gltf"
  2091. },
  2092. obelisk2_glb: {
  2093. path: "https://assets.babylonjs.com/meshes/graveYardPack/obelisk2/obelisk2.glb",
  2094. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/obelisk2/",
  2095. filename: "obelisk2.glb"
  2096. },
  2097. sarcophagus_gltf: {
  2098. path: "https://assets.babylonjs.com/meshes/graveYardPack/sarcophagus/gltf/sarcophagus.gltf",
  2099. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/sarcophagus/gltf/",
  2100. filename: "sarcophagus.gltf"
  2101. },
  2102. sarcophagus_glb: {
  2103. path: "https://assets.babylonjs.com/meshes/graveYardPack/sarcophagus/sarcophagus.glb",
  2104. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/sarcophagus/",
  2105. filename: "sarcophagus.glb"
  2106. },
  2107. sarcophagusOpen_gltf: {
  2108. path: "https://assets.babylonjs.com/meshes/graveYardPack/sarcophagusOpen/gltf/sarcophagusOpen.gltf",
  2109. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/sarcophagusOpen/gltf/",
  2110. filename: "sarcophagusOpen.gltf"
  2111. },
  2112. sarcophagusOpen_glb: {
  2113. path: "https://assets.babylonjs.com/meshes/graveYardPack/sarcophagusOpen/sarcophagusOpen.glb",
  2114. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/sarcophagusOpen/",
  2115. filename: "sarcophagusOpen.glb"
  2116. },
  2117. signboard1_gltf: {
  2118. path: "https://assets.babylonjs.com/meshes/graveYardPack/signboard1/gltf/signboard1.gltf",
  2119. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/signboard1/gltf/",
  2120. filename: "signboard1.gltf"
  2121. },
  2122. signboard1_glb: {
  2123. path: "https://assets.babylonjs.com/meshes/graveYardPack/signboard1/signboard1.glb",
  2124. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/signboard1/",
  2125. filename: "signboard1.glb"
  2126. },
  2127. signboard2_gltf: {
  2128. path: "https://assets.babylonjs.com/meshes/graveYardPack/signboard2/gltf/signboard2.gltf",
  2129. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/signboard2/gltf/",
  2130. filename: "signboard2.gltf"
  2131. },
  2132. signboard2_glb: {
  2133. path: "https://assets.babylonjs.com/meshes/graveYardPack/signboard2/signboard2.glb",
  2134. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/signboard2/",
  2135. filename: "signboard2.glb"
  2136. },
  2137. stump1_gltf: {
  2138. path: "https://assets.babylonjs.com/meshes/graveYardPack/stump1/gltf/stump1.gltf",
  2139. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/stump1/gltf/",
  2140. filename: "stump1.gltf"
  2141. },
  2142. stump1_glb: {
  2143. path: "https://assets.babylonjs.com/meshes/graveYardPack/stump1/stump1.glb",
  2144. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/stump1/",
  2145. filename: "stump1.glb"
  2146. },
  2147. stump2_gltf: {
  2148. path: "https://assets.babylonjs.com/meshes/graveYardPack/stump2/gltf/stump2.gltf",
  2149. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/stump2/gltf/",
  2150. filename: "stump2.gltf"
  2151. },
  2152. stump2_glb: {
  2153. path: "https://assets.babylonjs.com/meshes/graveYardPack/stump2/stump2.glb",
  2154. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/stump2/",
  2155. filename: "stump2.glb"
  2156. },
  2157. tombstone1_gltf: {
  2158. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone1/gltf/tombstone1.gltf",
  2159. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone1/gltf/",
  2160. filename: "tombstone1.gltf"
  2161. },
  2162. tombstone1_glb: {
  2163. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone1/tombstone1.glb",
  2164. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone1/",
  2165. filename: "tombstone1.glb"
  2166. },
  2167. tombstone10_gltf: {
  2168. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone10/gltf/tombstone10.gltf",
  2169. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone10/gltf/",
  2170. filename: "tombstone10.gltf"
  2171. },
  2172. tombstone10_glb: {
  2173. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone10/tombstone10.glb",
  2174. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone10/",
  2175. filename: "tombstone10.glb"
  2176. },
  2177. tombstone11_gltf: {
  2178. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone11/gltf/tombstone11.gltf",
  2179. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone11/gltf/",
  2180. filename: "tombstone11.gltf"
  2181. },
  2182. tombstone11_glb: {
  2183. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone11/tombstone11.glb",
  2184. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone11/",
  2185. filename: "tombstone11.glb"
  2186. },
  2187. tombstone1Weathered_gltf: {
  2188. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone1Weathered/gltf/tombstone1Weathered.gltf",
  2189. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone1Weathered/gltf/",
  2190. filename: "tombstone1Weathered.gltf"
  2191. },
  2192. tombstone1Weathered_glb: {
  2193. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone1Weathered/tombstone1Weathered.glb",
  2194. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone1Weathered/",
  2195. filename: "tombstone1Weathered.glb"
  2196. },
  2197. tombstone2_gltf: {
  2198. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone2/gltf/tombstone2.gltf",
  2199. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone2/gltf/",
  2200. filename: "tombstone2.gltf"
  2201. },
  2202. tombstone2_glb: {
  2203. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone2/tombstone2.glb",
  2204. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone2/",
  2205. filename: "tombstone2.glb"
  2206. },
  2207. tombstone2Weathered_gltf: {
  2208. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone2Weathered/gltf/tombstone2Weathered.gltf",
  2209. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone2Weathered/gltf/",
  2210. filename: "tombstone2Weathered.gltf"
  2211. },
  2212. tombstone2Weathered_glb: {
  2213. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone2Weathered/tombstone2Weathered.glb",
  2214. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone2Weathered/",
  2215. filename: "tombstone2Weathered.glb"
  2216. },
  2217. tombstone3_gltf: {
  2218. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone3/gltf/tombstone3.gltf",
  2219. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone3/gltf/",
  2220. filename: "tombstone3.gltf"
  2221. },
  2222. tombstone3_glb: {
  2223. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone3/tombstone3.glb",
  2224. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone3/",
  2225. filename: "tombstone3.glb"
  2226. },
  2227. tombstone4_gltf: {
  2228. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone4/gltf/tombstone4.gltf",
  2229. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone4/gltf/",
  2230. filename: "tombstone4.gltf"
  2231. },
  2232. tombstone4_glb: {
  2233. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone4/tombstone4.glb",
  2234. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone4/",
  2235. filename: "tombstone4.glb"
  2236. },
  2237. tombstone5_gltf: {
  2238. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone5/gltf/tombstone5.gltf",
  2239. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone5/gltf/",
  2240. filename: "tombstone5.gltf"
  2241. },
  2242. tombstone5_glb: {
  2243. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone5/tombstone5.glb",
  2244. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone5/",
  2245. filename: "tombstone5.glb"
  2246. },
  2247. tombstone5Weathered_gltf: {
  2248. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone5Weathered/gltf/tombstone5Weathered.gltf",
  2249. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone5Weathered/gltf/",
  2250. filename: "tombstone5Weathered.gltf"
  2251. },
  2252. tombstone5Weathered_glb: {
  2253. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone5Weathered/tombstone5Weathered.glb",
  2254. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone5Weathered/",
  2255. filename: "tombstone5Weathered.glb"
  2256. },
  2257. tombstone6_gltf: {
  2258. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone6/gltf/tombstone6.gltf",
  2259. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone6/gltf/",
  2260. filename: "tombstone6.gltf"
  2261. },
  2262. tombstone6_glb: {
  2263. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone6/tombstone6.glb",
  2264. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone6/",
  2265. filename: "tombstone6.glb"
  2266. },
  2267. tombstone7_gltf: {
  2268. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone7/gltf/tombstone7.gltf",
  2269. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone7/gltf/",
  2270. filename: "tombstone7.gltf"
  2271. },
  2272. tombstone7_glb: {
  2273. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone7/tombstone7.glb",
  2274. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone7/",
  2275. filename: "tombstone7.glb"
  2276. },
  2277. tombstone8_gltf: {
  2278. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone8/gltf/tombstone8.gltf",
  2279. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone8/gltf/",
  2280. filename: "tombstone8.gltf"
  2281. },
  2282. tombstone8_glb: {
  2283. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone8/tombstone8.glb",
  2284. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone8/",
  2285. filename: "tombstone8.glb"
  2286. },
  2287. tombstone9_gltf: {
  2288. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone9/gltf/tombstone9.gltf",
  2289. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone9/gltf/",
  2290. filename: "tombstone9.gltf"
  2291. },
  2292. tombstone9_glb: {
  2293. path: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone9/tombstone9.glb",
  2294. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tombstone9/",
  2295. filename: "tombstone9.glb"
  2296. },
  2297. tree1_gltf: {
  2298. path: "https://assets.babylonjs.com/meshes/villagePack/tree1/gltf/tree1.gltf",
  2299. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/tree1/gltf/",
  2300. filename: "tree1.gltf"
  2301. },
  2302. tree1_glb: {
  2303. path: "https://assets.babylonjs.com/meshes/villagePack/tree1/tree1.glb",
  2304. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/tree1/",
  2305. filename: "tree1.glb"
  2306. },
  2307. tree2_gltf: {
  2308. path: "https://assets.babylonjs.com/meshes/villagePack/tree2/gltf/tree2.gltf",
  2309. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/tree2/gltf/",
  2310. filename: "tree2.gltf"
  2311. },
  2312. tree2_glb: {
  2313. path: "https://assets.babylonjs.com/meshes/villagePack/tree2/tree2.glb",
  2314. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/tree2/",
  2315. filename: "tree2.glb"
  2316. },
  2317. tree3_gltf: {
  2318. path: "https://assets.babylonjs.com/meshes/villagePack/tree3/gltf/tree3.gltf",
  2319. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/tree3/gltf/",
  2320. filename: "tree3.gltf"
  2321. },
  2322. tree3_glb: {
  2323. path: "https://assets.babylonjs.com/meshes/villagePack/tree3/tree3.glb",
  2324. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/tree3/",
  2325. filename: "tree3.glb"
  2326. },
  2327. tree4_gltf: {
  2328. path: "https://assets.babylonjs.com/meshes/villagePack/tree4/gltf/tree4.gltf",
  2329. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/tree4/gltf/",
  2330. filename: "tree4.gltf"
  2331. },
  2332. tree4_glb: {
  2333. path: "https://assets.babylonjs.com/meshes/villagePack/tree4/tree4.glb",
  2334. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/tree4/",
  2335. filename: "tree4.glb"
  2336. },
  2337. tree5_gltf: {
  2338. path: "https://assets.babylonjs.com/meshes/graveYardPack/tree5/gltf/tree5.gltf",
  2339. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tree5/gltf/",
  2340. filename: "tree5.gltf"
  2341. },
  2342. tree5_glb: {
  2343. path: "https://assets.babylonjs.com/meshes/graveYardPack/tree5/tree5.glb",
  2344. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tree5/",
  2345. filename: "tree5.glb"
  2346. },
  2347. tree6_gltf: {
  2348. path: "https://assets.babylonjs.com/meshes/graveYardPack/tree6/gltf/tree6.gltf",
  2349. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tree6/gltf/",
  2350. filename: "tree6.gltf"
  2351. },
  2352. tree6_glb: {
  2353. path: "https://assets.babylonjs.com/meshes/graveYardPack/tree6/tree6.glb",
  2354. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tree6/",
  2355. filename: "tree6.glb"
  2356. },
  2357. tree7_gltf: {
  2358. path: "https://assets.babylonjs.com/meshes/graveYardPack/tree7/gltf/tree7.gltf",
  2359. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tree7/gltf/",
  2360. filename: "tree7.gltf"
  2361. },
  2362. tree7_glb: {
  2363. path: "https://assets.babylonjs.com/meshes/graveYardPack/tree7/tree7.glb",
  2364. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tree7/",
  2365. filename: "tree7.glb"
  2366. },
  2367. tree8_gltf: {
  2368. path: "https://assets.babylonjs.com/meshes/graveYardPack/tree8/gltf/tree8.gltf",
  2369. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tree8/gltf/",
  2370. filename: "tree8.gltf"
  2371. },
  2372. tree8_glb: {
  2373. path: "https://assets.babylonjs.com/meshes/graveYardPack/tree8/tree8.glb",
  2374. rootUrl: "https://assets.babylonjs.com/meshes/graveYardPack/tree8/",
  2375. filename: "tree8.glb"
  2376. },
  2377. barrel_glb: {
  2378. path: "https://assets.babylonjs.com/meshes/villagePack/barrel/barrel.glb",
  2379. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/barrel/",
  2380. filename: "barrel.glb"
  2381. },
  2382. barrel_gltf: {
  2383. path: "https://assets.babylonjs.com/meshes/villagePack/barrel/gltf/barrel.gltf",
  2384. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/barrel/gltf/",
  2385. filename: "barrel.gltf"
  2386. },
  2387. bush1_glb: {
  2388. path: "https://assets.babylonjs.com/meshes/villagePack/bush1/bush1.glb",
  2389. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/bush1/",
  2390. filename: "bush1.glb"
  2391. },
  2392. bush1_gltf: {
  2393. path: "https://assets.babylonjs.com/meshes/villagePack/bush1/gltf/bush1.gltf",
  2394. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/bush1/gltf/",
  2395. filename: "bush1.gltf"
  2396. },
  2397. bush2_glb: {
  2398. path: "https://assets.babylonjs.com/meshes/villagePack/bush2/bush2.glb",
  2399. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/bush2/",
  2400. filename: "bush2.glb"
  2401. },
  2402. bush2_gltf: {
  2403. path: "https://assets.babylonjs.com/meshes/villagePack/bush2/gltf/bush2.gltf",
  2404. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/bush2/gltf/",
  2405. filename: "bush2.gltf"
  2406. },
  2407. bush3_glb: {
  2408. path: "https://assets.babylonjs.com/meshes/villagePack/bush3/bush3.glb",
  2409. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/bush3/",
  2410. filename: "bush3.glb"
  2411. },
  2412. bush3_gltf: {
  2413. path: "https://assets.babylonjs.com/meshes/villagePack/bush3/gltf/bush3.gltf",
  2414. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/bush3/gltf/",
  2415. filename: "bush3.gltf"
  2416. },
  2417. bush4_glb: {
  2418. path: "https://assets.babylonjs.com/meshes/villagePack/bush4/bush4.glb",
  2419. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/bush4/",
  2420. filename: "bush4.glb"
  2421. },
  2422. bush4_gltf: {
  2423. path: "https://assets.babylonjs.com/meshes/villagePack/bush4/gltf/bush4.gltf",
  2424. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/bush4/gltf/",
  2425. filename: "bush4.gltf"
  2426. },
  2427. bush5_glb: {
  2428. path: "https://assets.babylonjs.com/meshes/villagePack/bush5/bush5.glb",
  2429. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/bush5/",
  2430. filename: "bush5.glb"
  2431. },
  2432. bush5_gltf: {
  2433. path: "https://assets.babylonjs.com/meshes/villagePack/bush5/gltf/bush5.gltf",
  2434. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/bush5/gltf/",
  2435. filename: "bush5.gltf"
  2436. },
  2437. cellarDoor_glb: {
  2438. path: "https://assets.babylonjs.com/meshes/villagePack/cellarDoor/cellarDoor.glb",
  2439. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/cellarDoor/",
  2440. filename: "cellarDoor.glb"
  2441. },
  2442. cellarDoor_gltf: {
  2443. path: "https://assets.babylonjs.com/meshes/villagePack/cellarDoor/gltf/cellarDoor.gltf",
  2444. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/cellarDoor/gltf/",
  2445. filename: "cellarDoor.gltf"
  2446. },
  2447. cottage_glb: {
  2448. path: "https://assets.babylonjs.com/meshes/villagePack/cottage/cottage.glb",
  2449. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/cottage/",
  2450. filename: "cottage.glb"
  2451. },
  2452. cottage_gltf: {
  2453. path: "https://assets.babylonjs.com/meshes/villagePack/cottage/gltf/cottage.gltf",
  2454. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/cottage/gltf/",
  2455. filename: "cottage.gltf"
  2456. },
  2457. crate1_glb: {
  2458. path: "https://assets.babylonjs.com/meshes/villagePack/crate1/crate1.glb",
  2459. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/crate1/",
  2460. filename: "crate1.glb"
  2461. },
  2462. crate1_gltf: {
  2463. path: "https://assets.babylonjs.com/meshes/villagePack/crate1/gltf/crate1.gltf",
  2464. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/crate1/gltf/",
  2465. filename: "crate1.gltf"
  2466. },
  2467. crate2_glb: {
  2468. path: "https://assets.babylonjs.com/meshes/villagePack/crate2/crate2.glb",
  2469. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/crate2/",
  2470. filename: "crate2.glb"
  2471. },
  2472. crate2_gltf: {
  2473. path: "https://assets.babylonjs.com/meshes/villagePack/crate2/gltf/crate2.gltf",
  2474. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/crate2/gltf/",
  2475. filename: "crate2.gltf"
  2476. },
  2477. crateStack_glb: {
  2478. path: "https://assets.babylonjs.com/meshes/villagePack/crateStack/crateStack.glb",
  2479. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/crateStack/",
  2480. filename: "crateStack.glb"
  2481. },
  2482. crateStack_gltf: {
  2483. path: "https://assets.babylonjs.com/meshes/villagePack/crateStack/gltf/crateStack.gltf",
  2484. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/crateStack/gltf/",
  2485. filename: "crateStack.gltf"
  2486. },
  2487. fence_glb: {
  2488. path: "https://assets.babylonjs.com/meshes/villagePack/fence/fence.glb",
  2489. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/fence/",
  2490. filename: "fence.glb"
  2491. },
  2492. fence_gltf: {
  2493. path: "https://assets.babylonjs.com/meshes/villagePack/fence/gltf/fence.gltf",
  2494. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/fence/gltf/",
  2495. filename: "fence.gltf"
  2496. },
  2497. hollowLog_gltf: {
  2498. path: "https://assets.babylonjs.com/meshes/villagePack/hollowLog/gltf/hollowLog.gltf",
  2499. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/hollowLog/gltf/",
  2500. filename: "hollowLog.gltf"
  2501. },
  2502. hollowLog_glb: {
  2503. path: "https://assets.babylonjs.com/meshes/villagePack/hollowLog/hollowLog.glb",
  2504. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/hollowLog/",
  2505. filename: "hollowLog.glb"
  2506. },
  2507. inn_gltf: {
  2508. path: "https://assets.babylonjs.com/meshes/villagePack/inn/gltf/inn.gltf",
  2509. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/inn/gltf/",
  2510. filename: "inn.gltf"
  2511. },
  2512. inn_glb: {
  2513. path: "https://assets.babylonjs.com/meshes/villagePack/inn/inn.glb",
  2514. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/inn/",
  2515. filename: "inn.glb"
  2516. },
  2517. lightPost1_gltf: {
  2518. path: "https://assets.babylonjs.com/meshes/villagePack/lightPost1/gltf/lightPost1.gltf",
  2519. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/lightPost1/gltf/",
  2520. filename: "lightPost1.gltf"
  2521. },
  2522. lightPost1_glb: {
  2523. path: "https://assets.babylonjs.com/meshes/villagePack/lightPost1/lightPost1.glb",
  2524. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/lightPost1/",
  2525. filename: "lightPost1.glb"
  2526. },
  2527. lightPost2_gltf: {
  2528. path: "https://assets.babylonjs.com/meshes/villagePack/lightPost2/gltf/lightPost2.gltf",
  2529. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/lightPost2/gltf/",
  2530. filename: "lightPost2.gltf"
  2531. },
  2532. lightPost2_glb: {
  2533. path: "https://assets.babylonjs.com/meshes/villagePack/lightPost2/lightPost2.glb",
  2534. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/lightPost2/",
  2535. filename: "lightPost2.glb"
  2536. },
  2537. lightPost3_gltf: {
  2538. path: "https://assets.babylonjs.com/meshes/villagePack/lightPost3/gltf/lightPost3.gltf",
  2539. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/lightPost3/gltf/",
  2540. filename: "lightPost3.gltf"
  2541. },
  2542. lightPost3_glb: {
  2543. path: "https://assets.babylonjs.com/meshes/villagePack/lightPost3/lightPost3.glb",
  2544. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/lightPost3/",
  2545. filename: "lightPost3.glb"
  2546. },
  2547. logSaw_gltf: {
  2548. path: "https://assets.babylonjs.com/meshes/villagePack/logSaw/gltf/logSaw.gltf",
  2549. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/logSaw/gltf/",
  2550. filename: "logSaw.gltf"
  2551. },
  2552. logSaw_glb: {
  2553. path: "https://assets.babylonjs.com/meshes/villagePack/logSaw/logSaw.glb",
  2554. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/logSaw/",
  2555. filename: "logSaw.glb"
  2556. },
  2557. rocks1_gltf: {
  2558. path: "https://assets.babylonjs.com/meshes/villagePack/rocks1/gltf/rocks1.gltf",
  2559. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/rocks1/gltf/",
  2560. filename: "rocks1.gltf"
  2561. },
  2562. rocks1_glb: {
  2563. path: "https://assets.babylonjs.com/meshes/villagePack/rocks1/rocks1.glb",
  2564. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/rocks1/",
  2565. filename: "rocks1.glb"
  2566. },
  2567. rocks2_gltf: {
  2568. path: "https://assets.babylonjs.com/meshes/villagePack/rocks2/gltf/rocks2.gltf",
  2569. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/rocks2/gltf/",
  2570. filename: "rocks2.gltf"
  2571. },
  2572. rocks2_glb: {
  2573. path: "https://assets.babylonjs.com/meshes/villagePack/rocks2/rocks2.glb",
  2574. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/rocks2/",
  2575. filename: "rocks2.glb"
  2576. },
  2577. rocks3_gltf: {
  2578. path: "https://assets.babylonjs.com/meshes/villagePack/rocks3/gltf/rocks3.gltf",
  2579. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/rocks3/gltf/",
  2580. filename: "rocks3.gltf"
  2581. },
  2582. rocks3_glb: {
  2583. path: "https://assets.babylonjs.com/meshes/villagePack/rocks3/rocks3.glb",
  2584. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/rocks3/",
  2585. filename: "rocks3.glb"
  2586. },
  2587. rocks4_gltf: {
  2588. path: "https://assets.babylonjs.com/meshes/villagePack/rocks4/gltf/rocks4.gltf",
  2589. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/rocks4/gltf/",
  2590. filename: "rocks4.gltf"
  2591. },
  2592. rocks4_glb: {
  2593. path: "https://assets.babylonjs.com/meshes/villagePack/rocks4/rocks4.glb",
  2594. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/rocks4/",
  2595. filename: "rocks4.glb"
  2596. },
  2597. sawMill_gltf: {
  2598. path: "https://assets.babylonjs.com/meshes/villagePack/sawMill/gltf/sawMill.gltf",
  2599. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/sawMill/gltf/",
  2600. filename: "sawMill.gltf"
  2601. },
  2602. sawMill_glb: {
  2603. path: "https://assets.babylonjs.com/meshes/villagePack/sawMill/sawMill.glb",
  2604. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/sawMill/",
  2605. filename: "sawMill.glb"
  2606. },
  2607. stump_gltf: {
  2608. path: "https://assets.babylonjs.com/meshes/villagePack/stump/gltf/stump.gltf",
  2609. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/stump/gltf/",
  2610. filename: "stump.gltf"
  2611. },
  2612. stump_glb: {
  2613. path: "https://assets.babylonjs.com/meshes/villagePack/stump/stump.glb",
  2614. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/stump/",
  2615. filename: "stump.glb"
  2616. },
  2617. stumpAxe_gltf: {
  2618. path: "https://assets.babylonjs.com/meshes/villagePack/stumpAxe/gltf/stumpAxe.gltf",
  2619. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/stumpAxe/gltf/",
  2620. filename: "stumpAxe.gltf"
  2621. },
  2622. stumpAxe_glb: {
  2623. path: "https://assets.babylonjs.com/meshes/villagePack/stumpAxe/stumpAxe.glb",
  2624. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/stumpAxe/",
  2625. filename: "stumpAxe.glb"
  2626. },
  2627. wagon_gltf: {
  2628. path: "https://assets.babylonjs.com/meshes/villagePack/wagon/gltf/wagon.gltf",
  2629. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/wagon/gltf/",
  2630. filename: "wagon.gltf"
  2631. },
  2632. wagon_glb: {
  2633. path: "https://assets.babylonjs.com/meshes/villagePack/wagon/wagon.glb",
  2634. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/wagon/",
  2635. filename: "wagon.glb"
  2636. },
  2637. wall_gltf: {
  2638. path: "https://assets.babylonjs.com/meshes/villagePack/wall/gltf/wall.gltf",
  2639. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/wall/gltf/",
  2640. filename: "wall.gltf"
  2641. },
  2642. wall_glb: {
  2643. path: "https://assets.babylonjs.com/meshes/villagePack/wall/wall.glb",
  2644. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/wall/",
  2645. filename: "wall.glb"
  2646. },
  2647. wallArch_gltf: {
  2648. path: "https://assets.babylonjs.com/meshes/villagePack/wallArch/gltf/wallArch.gltf",
  2649. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/wallArch/gltf/",
  2650. filename: "wallArch.gltf"
  2651. },
  2652. wallArch_glb: {
  2653. path: "https://assets.babylonjs.com/meshes/villagePack/wallArch/wallArch.glb",
  2654. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/wallArch/",
  2655. filename: "wallArch.glb"
  2656. },
  2657. wallCorner_gltf: {
  2658. path: "https://assets.babylonjs.com/meshes/villagePack/wallCorner/gltf/wallCorner.gltf",
  2659. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/wallCorner/gltf/",
  2660. filename: "wallCorner.gltf"
  2661. },
  2662. wallCorner_glb: {
  2663. path: "https://assets.babylonjs.com/meshes/villagePack/wallCorner/wallCorner.glb",
  2664. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/wallCorner/",
  2665. filename: "wallCorner.glb"
  2666. },
  2667. waterwell_gltf: {
  2668. path: "https://assets.babylonjs.com/meshes/villagePack/waterwell/gltf/waterwell.gltf",
  2669. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/waterwell/gltf/",
  2670. filename: "waterwell.gltf"
  2671. },
  2672. waterwell_glb: {
  2673. path: "https://assets.babylonjs.com/meshes/villagePack/waterwell/waterwell.glb",
  2674. rootUrl: "https://assets.babylonjs.com/meshes/villagePack/waterwell/",
  2675. filename: "waterwell.glb"
  2676. },
  2677. tree_babylon: {
  2678. path: "https://assets.babylonjs.com/meshes/Tree/tree.babylon",
  2679. rootUrl: "https://assets.babylonjs.com/meshes/Tree/",
  2680. filename: "tree.babylon"
  2681. },
  2682. highPolyPlane_glb: {
  2683. path: "https://assets.babylonjs.com/meshes/highPolyPlane.glb",
  2684. rootUrl: "https://assets.babylonjs.com/meshes/",
  2685. filename: "highPolyPlane.glb"
  2686. },
  2687. previewSphere_glb: {
  2688. path: "https://assets.babylonjs.com/meshes/previewSphere.glb",
  2689. rootUrl: "https://assets.babylonjs.com/meshes/",
  2690. filename: "previewSphere.glb"
  2691. },
  2692. "mrtk-fluent-frontplate_glb": {
  2693. path: "https://assets.babylonjs.com/meshes/MRTK/mrtk-fluent-frontplate.glb",
  2694. rootUrl: "https://assets.babylonjs.com/meshes/MRTK/",
  2695. filename: "mrtk-fluent-frontplate.glb"
  2696. },
  2697. SlateProximity_glb: {
  2698. path: "https://assets.babylonjs.com/meshes/MRTK/SlateProximity.glb",
  2699. rootUrl: "https://assets.babylonjs.com/meshes/MRTK/",
  2700. filename: "SlateProximity.glb"
  2701. },
  2702. bowlingBall_glb: {
  2703. path: "https://assets.babylonjs.com/meshes/bowlingBall.glb",
  2704. rootUrl: "https://assets.babylonjs.com/meshes/",
  2705. filename: "bowlingBall.glb"
  2706. },
  2707. bowlingPinpin_glb: {
  2708. path: "https://assets.babylonjs.com/meshes/bowlingPinpin.glb",
  2709. rootUrl: "https://assets.babylonjs.com/meshes/",
  2710. filename: "bowlingPinpin.glb"
  2711. },
  2712. "ceiling corner_glb": {
  2713. path: "https://assets.babylonjs.com/meshes/Buildings/ceiling corner.glb",
  2714. rootUrl: "https://assets.babylonjs.com/meshes/Buildings/",
  2715. filename: "ceiling corner.glb"
  2716. },
  2717. "ceiling straight_glb": {
  2718. path: "https://assets.babylonjs.com/meshes/Buildings/ceiling straight.glb",
  2719. rootUrl: "https://assets.babylonjs.com/meshes/Buildings/",
  2720. filename: "ceiling straight.glb"
  2721. },
  2722. ceiling_glb: {
  2723. path: "https://assets.babylonjs.com/meshes/Buildings/ceiling.glb",
  2724. rootUrl: "https://assets.babylonjs.com/meshes/Buildings/",
  2725. filename: "ceiling.glb"
  2726. },
  2727. corner_glb: {
  2728. path: "https://assets.babylonjs.com/meshes/Buildings/corner.glb",
  2729. rootUrl: "https://assets.babylonjs.com/meshes/Buildings/",
  2730. filename: "corner.glb"
  2731. },
  2732. corner2_glb: {
  2733. path: "https://assets.babylonjs.com/meshes/Buildings/corner2.glb",
  2734. rootUrl: "https://assets.babylonjs.com/meshes/Buildings/",
  2735. filename: "corner2.glb"
  2736. },
  2737. Gap_glb: {
  2738. path: "https://assets.babylonjs.com/meshes/Buildings/Gap.glb",
  2739. rootUrl: "https://assets.babylonjs.com/meshes/Buildings/",
  2740. filename: "Gap.glb"
  2741. },
  2742. "Road corner_glb": {
  2743. path: "https://assets.babylonjs.com/meshes/Buildings/Road corner.glb",
  2744. rootUrl: "https://assets.babylonjs.com/meshes/Buildings/",
  2745. filename: "Road corner.glb"
  2746. },
  2747. "road gap_glb": {
  2748. path: "https://assets.babylonjs.com/meshes/Buildings/road gap.glb",
  2749. rootUrl: "https://assets.babylonjs.com/meshes/Buildings/",
  2750. filename: "road gap.glb"
  2751. },
  2752. straight_glb: {
  2753. path: "https://assets.babylonjs.com/meshes/Buildings/straight.glb",
  2754. rootUrl: "https://assets.babylonjs.com/meshes/Buildings/",
  2755. filename: "straight.glb"
  2756. },
  2757. window_glb: {
  2758. path: "https://assets.babylonjs.com/meshes/Buildings/window.glb",
  2759. rootUrl: "https://assets.babylonjs.com/meshes/Buildings/",
  2760. filename: "window.glb"
  2761. },
  2762. window2_glb: {
  2763. path: "https://assets.babylonjs.com/meshes/Buildings/window2.glb",
  2764. rootUrl: "https://assets.babylonjs.com/meshes/Buildings/",
  2765. filename: "window2.glb"
  2766. },
  2767. shaderBall_rotation_glb: {
  2768. path: "https://assets.babylonjs.com/meshes/Demos/pbr_mr_specular/shaderBall_rotation.glb",
  2769. rootUrl: "https://assets.babylonjs.com/meshes/Demos/pbr_mr_specular/",
  2770. filename: "shaderBall_rotation.glb"
  2771. },
  2772. "Box-draco_glb": {
  2773. path: "https://assets.babylonjs.com/meshes/Tests/BadDraco/Box-draco.glb",
  2774. rootUrl: "https://assets.babylonjs.com/meshes/Tests/BadDraco/",
  2775. filename: "Box-draco.glb"
  2776. }
  2777. },
  2778. nme: {
  2779. directionSlider: {
  2780. path: "https://assets.babylonjs.com/nme/customFrames/directionSlider.json",
  2781. rootUrl: "https://assets.babylonjs.com/nme/customFrames/",
  2782. filename: "directionSlider.json"
  2783. },
  2784. normalBlend: {
  2785. path: "https://assets.babylonjs.com/nme/customFrames/normalBlend.json",
  2786. rootUrl: "https://assets.babylonjs.com/nme/customFrames/",
  2787. filename: "normalBlend.json"
  2788. },
  2789. OOB: {
  2790. path: "https://assets.babylonjs.com/nme/customFrames/OOB.json",
  2791. rootUrl: "https://assets.babylonjs.com/nme/customFrames/",
  2792. filename: "OOB.json"
  2793. },
  2794. screenPosition: {
  2795. path: "https://assets.babylonjs.com/nme/customFrames/screenPosition.json",
  2796. rootUrl: "https://assets.babylonjs.com/nme/customFrames/",
  2797. filename: "screenPosition.json"
  2798. },
  2799. tileAndOffset: {
  2800. path: "https://assets.babylonjs.com/nme/customFrames/tileAndOffset.json",
  2801. rootUrl: "https://assets.babylonjs.com/nme/customFrames/",
  2802. filename: "tileAndOffset.json"
  2803. },
  2804. uvTwirl: {
  2805. path: "https://assets.babylonjs.com/nme/customFrames/uvTwirl.json",
  2806. rootUrl: "https://assets.babylonjs.com/nme/customFrames/",
  2807. filename: "uvTwirl.json"
  2808. },
  2809. zebraStripes: {
  2810. path: "https://assets.babylonjs.com/nme/customFrames/zebraStripes.json",
  2811. rootUrl: "https://assets.babylonjs.com/nme/customFrames/",
  2812. filename: "zebraStripes.json"
  2813. },
  2814. Position_json: {
  2815. path: "https://assets.babylonjs.com/nme/customFrames/Position.json",
  2816. rootUrl: "https://assets.babylonjs.com/nme/customFrames/",
  2817. filename: "Position.json"
  2818. },
  2819. Rotation3d_json: {
  2820. path: "https://assets.babylonjs.com/nme/customFrames/Rotation3d.json",
  2821. rootUrl: "https://assets.babylonjs.com/nme/customFrames/",
  2822. filename: "Rotation3d.json"
  2823. },
  2824. Transform3d_json: {
  2825. path: "https://assets.babylonjs.com/nme/customFrames/Transform3d.json",
  2826. rootUrl: "https://assets.babylonjs.com/nme/customFrames/",
  2827. filename: "Transform3d.json"
  2828. },
  2829. VectorScale_json: {
  2830. path: "https://assets.babylonjs.com/nme/customFrames/VectorScale.json",
  2831. rootUrl: "https://assets.babylonjs.com/nme/customFrames/",
  2832. filename: "VectorScale.json"
  2833. },
  2834. "Vertex Output_json": {
  2835. path: "https://assets.babylonjs.com/nme/customFrames/Vertex Output.json",
  2836. rootUrl: "https://assets.babylonjs.com/nme/customFrames/",
  2837. filename: "Vertex Output.json"
  2838. },
  2839. nearInteractionTouchMaterial_json: {
  2840. path: "https://assets.babylonjs.com/nme/nearInteractionTouchMaterial.json",
  2841. rootUrl: "https://assets.babylonjs.com/nme/",
  2842. filename: "nearInteractionTouchMaterial.json"
  2843. }
  2844. },
  2845. particles: {
  2846. explosion: {
  2847. path: "https://assets.babylonjs.com/particles/systems/explosion.json",
  2848. rootUrl: "https://assets.babylonjs.com/particles/systems/",
  2849. filename: "explosion.json"
  2850. },
  2851. fire: {
  2852. path: "https://assets.babylonjs.com/particles/systems/fire.json",
  2853. rootUrl: "https://assets.babylonjs.com/particles/systems/",
  2854. filename: "fire.json"
  2855. },
  2856. rain: {
  2857. path: "https://assets.babylonjs.com/particles/systems/rain.json",
  2858. rootUrl: "https://assets.babylonjs.com/particles/systems/",
  2859. filename: "rain.json"
  2860. },
  2861. smoke: {
  2862. path: "https://assets.babylonjs.com/particles/systems/smoke.json",
  2863. rootUrl: "https://assets.babylonjs.com/particles/systems/",
  2864. filename: "smoke.json"
  2865. },
  2866. sun: {
  2867. path: "https://assets.babylonjs.com/particles/systems/sun.json",
  2868. rootUrl: "https://assets.babylonjs.com/particles/systems/",
  2869. filename: "sun.json"
  2870. }
  2871. },
  2872. sound: {
  2873. cannonBlast: {
  2874. path: "https://assets.babylonjs.com/sound/cannonBlast.mp3",
  2875. rootUrl: "https://assets.babylonjs.com/sound/",
  2876. filename: "cannonBlast.mp3"
  2877. },
  2878. a6: {
  2879. path: "https://assets.babylonjs.com/sound/holiday2021/a6.mp3",
  2880. rootUrl: "https://assets.babylonjs.com/sound/holiday2021/",
  2881. filename: "a6.mp3"
  2882. },
  2883. b6: {
  2884. path: "https://assets.babylonjs.com/sound/holiday2021/b6.mp3",
  2885. rootUrl: "https://assets.babylonjs.com/sound/holiday2021/",
  2886. filename: "b6.mp3"
  2887. },
  2888. c7: {
  2889. path: "https://assets.babylonjs.com/sound/holiday2021/c7.mp3",
  2890. rootUrl: "https://assets.babylonjs.com/sound/holiday2021/",
  2891. filename: "c7.mp3"
  2892. },
  2893. d6: {
  2894. path: "https://assets.babylonjs.com/sound/holiday2021/d6.mp3",
  2895. rootUrl: "https://assets.babylonjs.com/sound/holiday2021/",
  2896. filename: "d6.mp3"
  2897. },
  2898. e6: {
  2899. path: "https://assets.babylonjs.com/sound/holiday2021/e6.mp3",
  2900. rootUrl: "https://assets.babylonjs.com/sound/holiday2021/",
  2901. filename: "e6.mp3"
  2902. },
  2903. "f#6": {
  2904. path: "https://assets.babylonjs.com/sound/holiday2021/f#6.mp3",
  2905. rootUrl: "https://assets.babylonjs.com/sound/holiday2021/",
  2906. filename: "f#6.mp3"
  2907. },
  2908. g6: {
  2909. path: "https://assets.babylonjs.com/sound/holiday2021/g6.mp3",
  2910. rootUrl: "https://assets.babylonjs.com/sound/holiday2021/",
  2911. filename: "g6.mp3"
  2912. },
  2913. pirateFun: {
  2914. path: "https://assets.babylonjs.com/sound/pirateFun.mp3",
  2915. rootUrl: "https://assets.babylonjs.com/sound/",
  2916. filename: "pirateFun.mp3"
  2917. },
  2918. "This Is Christmas": {
  2919. path: "https://assets.babylonjs.com/sound/Snow_Man_Scene/This Is Christmas.mp3",
  2920. rootUrl: "https://assets.babylonjs.com/sound/Snow_Man_Scene/",
  2921. filename: "This Is Christmas.mp3"
  2922. },
  2923. winterWoods: {
  2924. path: "https://assets.babylonjs.com/sound/Snow_Man_Scene/winterWoods.mp3",
  2925. rootUrl: "https://assets.babylonjs.com/sound/Snow_Man_Scene/",
  2926. filename: "winterWoods.mp3"
  2927. },
  2928. mp3_mp3: {
  2929. path: "https://assets.babylonjs.com/sound/testing/mp3.mp3",
  2930. rootUrl: "https://assets.babylonjs.com/sound/testing/",
  2931. filename: "mp3.mp3"
  2932. },
  2933. ogg_ogg: {
  2934. path: "https://assets.babylonjs.com/sound/testing/ogg.ogg",
  2935. rootUrl: "https://assets.babylonjs.com/sound/testing/",
  2936. filename: "ogg.ogg"
  2937. },
  2938. ac3_ac3: {
  2939. path: "https://assets.babylonjs.com/sound/testing/ac3.ac3",
  2940. rootUrl: "https://assets.babylonjs.com/sound/testing/",
  2941. filename: "ac3.ac3"
  2942. }
  2943. },
  2944. luts: {
  2945. "colorGrade-highContrast_png": {
  2946. path: "https://assets.babylonjs.com/luts/colorGrade-highContrast.png",
  2947. rootUrl: "https://assets.babylonjs.com/luts/",
  2948. filename: "colorGrade-highContrast.png"
  2949. },
  2950. "colorGrade-inverted_png": {
  2951. path: "https://assets.babylonjs.com/luts/colorGrade-inverted.png",
  2952. rootUrl: "https://assets.babylonjs.com/luts/",
  2953. filename: "colorGrade-inverted.png"
  2954. },
  2955. "colorGrade-posterize_png": {
  2956. path: "https://assets.babylonjs.com/luts/colorGrade-posterize.png",
  2957. rootUrl: "https://assets.babylonjs.com/luts/",
  2958. filename: "colorGrade-posterize.png"
  2959. },
  2960. colorGrade_png: {
  2961. path: "https://assets.babylonjs.com/luts/colorGrade.png",
  2962. rootUrl: "https://assets.babylonjs.com/luts/",
  2963. filename: "colorGrade.png"
  2964. },
  2965. HorrorBlue_3dl: {
  2966. path: "https://assets.babylonjs.com/luts/HorrorBlue.3dl",
  2967. rootUrl: "https://assets.babylonjs.com/luts/",
  2968. filename: "HorrorBlue.3dl"
  2969. },
  2970. invert_3dl: {
  2971. path: "https://assets.babylonjs.com/luts/invert.3dl",
  2972. rootUrl: "https://assets.babylonjs.com/luts/",
  2973. filename: "invert.3dl"
  2974. },
  2975. LateSunset_3dl: {
  2976. path: "https://assets.babylonjs.com/luts/LateSunset.3dl",
  2977. rootUrl: "https://assets.babylonjs.com/luts/",
  2978. filename: "LateSunset.3dl"
  2979. }
  2980. },
  2981. photoDomes: {
  2982. equirectangular_jpg: {
  2983. path: "https://assets.babylonjs.com/photoDomes/equirectangular.jpg",
  2984. rootUrl: "https://assets.babylonjs.com/photoDomes/",
  2985. filename: "equirectangular.jpg"
  2986. },
  2987. GatonaParkWalkway1_Panorama_4Kx2K_jpg: {
  2988. path: "https://assets.babylonjs.com/photoDomes/GatonaParkWalkway1_Panorama_4Kx2K.jpg",
  2989. rootUrl: "https://assets.babylonjs.com/photoDomes/",
  2990. filename: "GatonaParkWalkway1_Panorama_4Kx2K.jpg"
  2991. }
  2992. },
  2993. skyboxes: {
  2994. skybox_nx_jpg: {
  2995. path: "https://assets.babylonjs.com/skyboxes/skybox/skybox_nx.jpg",
  2996. rootUrl: "https://assets.babylonjs.com/skyboxes/skybox/",
  2997. filename: "skybox_nx.jpg"
  2998. },
  2999. skybox_ny_jpg: {
  3000. path: "https://assets.babylonjs.com/skyboxes/skybox/skybox_ny.jpg",
  3001. rootUrl: "https://assets.babylonjs.com/skyboxes/skybox/",
  3002. filename: "skybox_ny.jpg"
  3003. },
  3004. skybox_nz_jpg: {
  3005. path: "https://assets.babylonjs.com/skyboxes/skybox/skybox_nz.jpg",
  3006. rootUrl: "https://assets.babylonjs.com/skyboxes/skybox/",
  3007. filename: "skybox_nz.jpg"
  3008. },
  3009. skybox_px_jpg: {
  3010. path: "https://assets.babylonjs.com/skyboxes/skybox/skybox_px.jpg",
  3011. rootUrl: "https://assets.babylonjs.com/skyboxes/skybox/",
  3012. filename: "skybox_px.jpg"
  3013. },
  3014. skybox_py_jpg: {
  3015. path: "https://assets.babylonjs.com/skyboxes/skybox/skybox_py.jpg",
  3016. rootUrl: "https://assets.babylonjs.com/skyboxes/skybox/",
  3017. filename: "skybox_py.jpg"
  3018. },
  3019. skybox_pz_jpg: {
  3020. path: "https://assets.babylonjs.com/skyboxes/skybox/skybox_pz.jpg",
  3021. rootUrl: "https://assets.babylonjs.com/skyboxes/skybox/",
  3022. filename: "skybox_pz.jpg"
  3023. },
  3024. skybox2_nx_jpg: {
  3025. path: "https://assets.babylonjs.com/skyboxes/skybox2/skybox2_nx.jpg",
  3026. rootUrl: "https://assets.babylonjs.com/skyboxes/skybox2/",
  3027. filename: "skybox2_nx.jpg"
  3028. },
  3029. skybox2_ny_jpg: {
  3030. path: "https://assets.babylonjs.com/skyboxes/skybox2/skybox2_ny.jpg",
  3031. rootUrl: "https://assets.babylonjs.com/skyboxes/skybox2/",
  3032. filename: "skybox2_ny.jpg"
  3033. },
  3034. skybox2_nz_jpg: {
  3035. path: "https://assets.babylonjs.com/skyboxes/skybox2/skybox2_nz.jpg",
  3036. rootUrl: "https://assets.babylonjs.com/skyboxes/skybox2/",
  3037. filename: "skybox2_nz.jpg"
  3038. },
  3039. skybox2_px_jpg: {
  3040. path: "https://assets.babylonjs.com/skyboxes/skybox2/skybox2_px.jpg",
  3041. rootUrl: "https://assets.babylonjs.com/skyboxes/skybox2/",
  3042. filename: "skybox2_px.jpg"
  3043. },
  3044. skybox2_py_jpg: {
  3045. path: "https://assets.babylonjs.com/skyboxes/skybox2/skybox2_py.jpg",
  3046. rootUrl: "https://assets.babylonjs.com/skyboxes/skybox2/",
  3047. filename: "skybox2_py.jpg"
  3048. },
  3049. skybox2_pz_jpg: {
  3050. path: "https://assets.babylonjs.com/skyboxes/skybox2/skybox2_pz.jpg",
  3051. rootUrl: "https://assets.babylonjs.com/skyboxes/skybox2/",
  3052. filename: "skybox2_pz.jpg"
  3053. },
  3054. skybox3_nx_jpg: {
  3055. path: "https://assets.babylonjs.com/skyboxes/skybox3/skybox3_nx.jpg",
  3056. rootUrl: "https://assets.babylonjs.com/skyboxes/skybox3/",
  3057. filename: "skybox3_nx.jpg"
  3058. },
  3059. skybox3_ny_jpg: {
  3060. path: "https://assets.babylonjs.com/skyboxes/skybox3/skybox3_ny.jpg",
  3061. rootUrl: "https://assets.babylonjs.com/skyboxes/skybox3/",
  3062. filename: "skybox3_ny.jpg"
  3063. },
  3064. skybox3_nz_jpg: {
  3065. path: "https://assets.babylonjs.com/skyboxes/skybox3/skybox3_nz.jpg",
  3066. rootUrl: "https://assets.babylonjs.com/skyboxes/skybox3/",
  3067. filename: "skybox3_nz.jpg"
  3068. },
  3069. skybox3_px_jpg: {
  3070. path: "https://assets.babylonjs.com/skyboxes/skybox3/skybox3_px.jpg",
  3071. rootUrl: "https://assets.babylonjs.com/skyboxes/skybox3/",
  3072. filename: "skybox3_px.jpg"
  3073. },
  3074. skybox3_py_jpg: {
  3075. path: "https://assets.babylonjs.com/skyboxes/skybox3/skybox3_py.jpg",
  3076. rootUrl: "https://assets.babylonjs.com/skyboxes/skybox3/",
  3077. filename: "skybox3_py.jpg"
  3078. },
  3079. skybox3_pz_jpg: {
  3080. path: "https://assets.babylonjs.com/skyboxes/skybox3/skybox3_pz.jpg",
  3081. rootUrl: "https://assets.babylonjs.com/skyboxes/skybox3/",
  3082. filename: "skybox3_pz.jpg"
  3083. },
  3084. skybox4_nx_jpg: {
  3085. path: "https://assets.babylonjs.com/skyboxes/skybox4/skybox4_nx.jpg",
  3086. rootUrl: "https://assets.babylonjs.com/skyboxes/skybox4/",
  3087. filename: "skybox4_nx.jpg"
  3088. },
  3089. skybox4_ny_jpg: {
  3090. path: "https://assets.babylonjs.com/skyboxes/skybox4/skybox4_ny.jpg",
  3091. rootUrl: "https://assets.babylonjs.com/skyboxes/skybox4/",
  3092. filename: "skybox4_ny.jpg"
  3093. },
  3094. skybox4_nz_jpg: {
  3095. path: "https://assets.babylonjs.com/skyboxes/skybox4/skybox4_nz.jpg",
  3096. rootUrl: "https://assets.babylonjs.com/skyboxes/skybox4/",
  3097. filename: "skybox4_nz.jpg"
  3098. },
  3099. skybox4_px_jpg: {
  3100. path: "https://assets.babylonjs.com/skyboxes/skybox4/skybox4_px.jpg",
  3101. rootUrl: "https://assets.babylonjs.com/skyboxes/skybox4/",
  3102. filename: "skybox4_px.jpg"
  3103. },
  3104. skybox4_py_jpg: {
  3105. path: "https://assets.babylonjs.com/skyboxes/skybox4/skybox4_py.jpg",
  3106. rootUrl: "https://assets.babylonjs.com/skyboxes/skybox4/",
  3107. filename: "skybox4_py.jpg"
  3108. },
  3109. skybox4_pz_jpg: {
  3110. path: "https://assets.babylonjs.com/skyboxes/skybox4/skybox4_pz.jpg",
  3111. rootUrl: "https://assets.babylonjs.com/skyboxes/skybox4/",
  3112. filename: "skybox4_pz.jpg"
  3113. },
  3114. skyboxBlack_nx_jpg: {
  3115. path: "https://assets.babylonjs.com/skyboxes/skyboxBlack/skyboxBlack_nx.jpg",
  3116. rootUrl: "https://assets.babylonjs.com/skyboxes/skyboxBlack/",
  3117. filename: "skyboxBlack_nx.jpg"
  3118. },
  3119. skyboxBlack_ny_jpg: {
  3120. path: "https://assets.babylonjs.com/skyboxes/skyboxBlack/skyboxBlack_ny.jpg",
  3121. rootUrl: "https://assets.babylonjs.com/skyboxes/skyboxBlack/",
  3122. filename: "skyboxBlack_ny.jpg"
  3123. },
  3124. skyboxBlack_nz_jpg: {
  3125. path: "https://assets.babylonjs.com/skyboxes/skyboxBlack/skyboxBlack_nz.jpg",
  3126. rootUrl: "https://assets.babylonjs.com/skyboxes/skyboxBlack/",
  3127. filename: "skyboxBlack_nz.jpg"
  3128. },
  3129. skyboxBlack_px_jpg: {
  3130. path: "https://assets.babylonjs.com/skyboxes/skyboxBlack/skyboxBlack_px.jpg",
  3131. rootUrl: "https://assets.babylonjs.com/skyboxes/skyboxBlack/",
  3132. filename: "skyboxBlack_px.jpg"
  3133. },
  3134. skyboxBlack_py_jpg: {
  3135. path: "https://assets.babylonjs.com/skyboxes/skyboxBlack/skyboxBlack_py.jpg",
  3136. rootUrl: "https://assets.babylonjs.com/skyboxes/skyboxBlack/",
  3137. filename: "skyboxBlack_py.jpg"
  3138. },
  3139. skyboxBlack_pz_jpg: {
  3140. path: "https://assets.babylonjs.com/skyboxes/skyboxBlack/skyboxBlack_pz.jpg",
  3141. rootUrl: "https://assets.babylonjs.com/skyboxes/skyboxBlack/",
  3142. filename: "skyboxBlack_pz.jpg"
  3143. },
  3144. winter_lake_01_1k_hdr: {
  3145. path: "https://assets.babylonjs.com/skyboxes/Snow_Man_Scene/winter_lake_01_1k.hdr",
  3146. rootUrl: "https://assets.babylonjs.com/skyboxes/Snow_Man_Scene/",
  3147. filename: "winter_lake_01_1k.hdr"
  3148. },
  3149. space_back_jpg: {
  3150. path: "https://assets.babylonjs.com/skyboxes/Space/space_back.jpg",
  3151. rootUrl: "https://assets.babylonjs.com/skyboxes/Space/",
  3152. filename: "space_back.jpg"
  3153. },
  3154. space_down_jpg: {
  3155. path: "https://assets.babylonjs.com/skyboxes/Space/space_down.jpg",
  3156. rootUrl: "https://assets.babylonjs.com/skyboxes/Space/",
  3157. filename: "space_down.jpg"
  3158. },
  3159. space_front_jpg: {
  3160. path: "https://assets.babylonjs.com/skyboxes/Space/space_front.jpg",
  3161. rootUrl: "https://assets.babylonjs.com/skyboxes/Space/",
  3162. filename: "space_front.jpg"
  3163. },
  3164. space_left_jpg: {
  3165. path: "https://assets.babylonjs.com/skyboxes/Space/space_left.jpg",
  3166. rootUrl: "https://assets.babylonjs.com/skyboxes/Space/",
  3167. filename: "space_left.jpg"
  3168. },
  3169. space_right_jpg: {
  3170. path: "https://assets.babylonjs.com/skyboxes/Space/space_right.jpg",
  3171. rootUrl: "https://assets.babylonjs.com/skyboxes/Space/",
  3172. filename: "space_right.jpg"
  3173. },
  3174. space_up_jpg: {
  3175. path: "https://assets.babylonjs.com/skyboxes/Space/space_up.jpg",
  3176. rootUrl: "https://assets.babylonjs.com/skyboxes/Space/",
  3177. filename: "space_up.jpg"
  3178. },
  3179. toySky_nx_jpg: {
  3180. path: "https://assets.babylonjs.com/skyboxes/toySky/toySky_nx.jpg",
  3181. rootUrl: "https://assets.babylonjs.com/skyboxes/toySky/",
  3182. filename: "toySky_nx.jpg"
  3183. },
  3184. toySky_ny_jpg: {
  3185. path: "https://assets.babylonjs.com/skyboxes/toySky/toySky_ny.jpg",
  3186. rootUrl: "https://assets.babylonjs.com/skyboxes/toySky/",
  3187. filename: "toySky_ny.jpg"
  3188. },
  3189. toySky_nz_jpg: {
  3190. path: "https://assets.babylonjs.com/skyboxes/toySky/toySky_nz.jpg",
  3191. rootUrl: "https://assets.babylonjs.com/skyboxes/toySky/",
  3192. filename: "toySky_nz.jpg"
  3193. },
  3194. toySky_px_jpg: {
  3195. path: "https://assets.babylonjs.com/skyboxes/toySky/toySky_px.jpg",
  3196. rootUrl: "https://assets.babylonjs.com/skyboxes/toySky/",
  3197. filename: "toySky_px.jpg"
  3198. },
  3199. toySky_py_jpg: {
  3200. path: "https://assets.babylonjs.com/skyboxes/toySky/toySky_py.jpg",
  3201. rootUrl: "https://assets.babylonjs.com/skyboxes/toySky/",
  3202. filename: "toySky_py.jpg"
  3203. },
  3204. toySky_pz_jpg: {
  3205. path: "https://assets.babylonjs.com/skyboxes/toySky/toySky_pz.jpg",
  3206. rootUrl: "https://assets.babylonjs.com/skyboxes/toySky/",
  3207. filename: "toySky_pz.jpg"
  3208. },
  3209. TropicalSunnyDay_nx_jpg: {
  3210. path: "https://assets.babylonjs.com/skyboxes/TropicalSunnyDay/TropicalSunnyDay_nx.jpg",
  3211. rootUrl: "https://assets.babylonjs.com/skyboxes/TropicalSunnyDay/",
  3212. filename: "TropicalSunnyDay_nx.jpg"
  3213. },
  3214. TropicalSunnyDay_ny_jpg: {
  3215. path: "https://assets.babylonjs.com/skyboxes/TropicalSunnyDay/TropicalSunnyDay_ny.jpg",
  3216. rootUrl: "https://assets.babylonjs.com/skyboxes/TropicalSunnyDay/",
  3217. filename: "TropicalSunnyDay_ny.jpg"
  3218. },
  3219. TropicalSunnyDay_nz_jpg: {
  3220. path: "https://assets.babylonjs.com/skyboxes/TropicalSunnyDay/TropicalSunnyDay_nz.jpg",
  3221. rootUrl: "https://assets.babylonjs.com/skyboxes/TropicalSunnyDay/",
  3222. filename: "TropicalSunnyDay_nz.jpg"
  3223. },
  3224. TropicalSunnyDay_px_jpg: {
  3225. path: "https://assets.babylonjs.com/skyboxes/TropicalSunnyDay/TropicalSunnyDay_px.jpg",
  3226. rootUrl: "https://assets.babylonjs.com/skyboxes/TropicalSunnyDay/",
  3227. filename: "TropicalSunnyDay_px.jpg"
  3228. },
  3229. TropicalSunnyDay_py_jpg: {
  3230. path: "https://assets.babylonjs.com/skyboxes/TropicalSunnyDay/TropicalSunnyDay_py.jpg",
  3231. rootUrl: "https://assets.babylonjs.com/skyboxes/TropicalSunnyDay/",
  3232. filename: "TropicalSunnyDay_py.jpg"
  3233. },
  3234. TropicalSunnyDay_pz_jpg: {
  3235. path: "https://assets.babylonjs.com/skyboxes/TropicalSunnyDay/TropicalSunnyDay_pz.jpg",
  3236. rootUrl: "https://assets.babylonjs.com/skyboxes/TropicalSunnyDay/",
  3237. filename: "TropicalSunnyDay_pz.jpg"
  3238. },
  3239. matcap_jpg: {
  3240. path: "https://assets.babylonjs.com/skyboxes/matcap.jpg",
  3241. rootUrl: "https://assets.babylonjs.com/skyboxes/",
  3242. filename: "matcap.jpg"
  3243. }
  3244. },
  3245. sprites: {
  3246. Fire_SpriteSheet_8x8_png: {
  3247. path: "https://assets.babylonjs.com/sprites/Fire_SpriteSheet_8x8.png",
  3248. rootUrl: "https://assets.babylonjs.com/sprites/",
  3249. filename: "Fire_SpriteSheet_8x8.png"
  3250. },
  3251. Fire_SpriteSheet1_8x8_png: {
  3252. path: "https://assets.babylonjs.com/sprites/Fire_SpriteSheet1_8x8.png",
  3253. rootUrl: "https://assets.babylonjs.com/sprites/",
  3254. filename: "Fire_SpriteSheet1_8x8.png"
  3255. },
  3256. Fire_SpriteSheet2_8x8_png: {
  3257. path: "https://assets.babylonjs.com/sprites/Fire_SpriteSheet2_8x8.png",
  3258. rootUrl: "https://assets.babylonjs.com/sprites/",
  3259. filename: "Fire_SpriteSheet2_8x8.png"
  3260. },
  3261. Fire_SpriteSheet3_8x8_png: {
  3262. path: "https://assets.babylonjs.com/sprites/Fire_SpriteSheet3_8x8.png",
  3263. rootUrl: "https://assets.babylonjs.com/sprites/",
  3264. filename: "Fire_SpriteSheet3_8x8.png"
  3265. },
  3266. FlameBlastSpriteSheet_png: {
  3267. path: "https://assets.babylonjs.com/sprites/FlameBlastSpriteSheet.png",
  3268. rootUrl: "https://assets.babylonjs.com/sprites/",
  3269. filename: "FlameBlastSpriteSheet.png"
  3270. },
  3271. Legends_Level_A_png: {
  3272. path: "https://assets.babylonjs.com/sprites/Legends_Level_A.png",
  3273. rootUrl: "https://assets.babylonjs.com/sprites/",
  3274. filename: "Legends_Level_A.png"
  3275. },
  3276. palm_png: {
  3277. path: "https://assets.babylonjs.com/sprites/palm.png",
  3278. rootUrl: "https://assets.babylonjs.com/sprites/",
  3279. filename: "palm.png"
  3280. },
  3281. player_png: {
  3282. path: "https://assets.babylonjs.com/sprites/player.png",
  3283. rootUrl: "https://assets.babylonjs.com/sprites/",
  3284. filename: "player.png"
  3285. },
  3286. Rain_png: {
  3287. path: "https://assets.babylonjs.com/sprites/Rain.png",
  3288. rootUrl: "https://assets.babylonjs.com/sprites/",
  3289. filename: "Rain.png"
  3290. },
  3291. Smoke_SpriteSheet_8x8_png: {
  3292. path: "https://assets.babylonjs.com/sprites/Smoke_SpriteSheet_8x8.png",
  3293. rootUrl: "https://assets.babylonjs.com/sprites/",
  3294. filename: "Smoke_SpriteSheet_8x8.png"
  3295. },
  3296. spriteAtlas_png: {
  3297. path: "https://assets.babylonjs.com/sprites/spriteAtlas.png",
  3298. rootUrl: "https://assets.babylonjs.com/sprites/",
  3299. filename: "spriteAtlas.png"
  3300. },
  3301. ufo_png: {
  3302. path: "https://assets.babylonjs.com/sprites/ufo.png",
  3303. rootUrl: "https://assets.babylonjs.com/sprites/",
  3304. filename: "ufo.png"
  3305. },
  3306. walk_png: {
  3307. path: "https://assets.babylonjs.com/sprites/walk.png",
  3308. rootUrl: "https://assets.babylonjs.com/sprites/",
  3309. filename: "walk.png"
  3310. }
  3311. },
  3312. textures: {
  3313. amiga_jpg: {
  3314. path: "https://assets.babylonjs.com/textures/amiga.jpg",
  3315. rootUrl: "https://assets.babylonjs.com/textures/",
  3316. filename: "amiga.jpg"
  3317. },
  3318. backgroundGround_png: {
  3319. path: "https://assets.babylonjs.com/textures/backgroundGround.png",
  3320. rootUrl: "https://assets.babylonjs.com/textures/",
  3321. filename: "backgroundGround.png"
  3322. },
  3323. bloc_jpg: {
  3324. path: "https://assets.babylonjs.com/textures/bloc.jpg",
  3325. rootUrl: "https://assets.babylonjs.com/textures/",
  3326. filename: "bloc.jpg"
  3327. },
  3328. bricktile_jpg: {
  3329. path: "https://assets.babylonjs.com/textures/bricktile.jpg",
  3330. rootUrl: "https://assets.babylonjs.com/textures/",
  3331. filename: "bricktile.jpg"
  3332. },
  3333. candleopacity_png: {
  3334. path: "https://assets.babylonjs.com/textures/candleopacity.png",
  3335. rootUrl: "https://assets.babylonjs.com/textures/",
  3336. filename: "candleopacity.png"
  3337. },
  3338. Checker_albedo_png: {
  3339. path: "https://assets.babylonjs.com/textures/Checker_albedo.png",
  3340. rootUrl: "https://assets.babylonjs.com/textures/",
  3341. filename: "Checker_albedo.png"
  3342. },
  3343. checkerboard_basecolor_png: {
  3344. path: "https://assets.babylonjs.com/textures/checkerboard_basecolor.png",
  3345. rootUrl: "https://assets.babylonjs.com/textures/",
  3346. filename: "checkerboard_basecolor.png"
  3347. },
  3348. checkerboard_metallicRoughness_png: {
  3349. path: "https://assets.babylonjs.com/textures/checkerboard_metallicRoughness.png",
  3350. rootUrl: "https://assets.babylonjs.com/textures/",
  3351. filename: "checkerboard_metallicRoughness.png"
  3352. },
  3353. checkerboard_normal_png: {
  3354. path: "https://assets.babylonjs.com/textures/checkerboard_normal.png",
  3355. rootUrl: "https://assets.babylonjs.com/textures/",
  3356. filename: "checkerboard_normal.png"
  3357. },
  3358. cloud_png: {
  3359. path: "https://assets.babylonjs.com/textures/lava/cloud.png",
  3360. rootUrl: "https://assets.babylonjs.com/textures/lava/",
  3361. filename: "cloud.png"
  3362. },
  3363. co_png: {
  3364. path: "https://assets.babylonjs.com/textures/co.png",
  3365. rootUrl: "https://assets.babylonjs.com/textures/",
  3366. filename: "co.png"
  3367. },
  3368. correlatedBRDF_dds: {
  3369. path: "https://assets.babylonjs.com/textures/correlatedBRDF.dds",
  3370. rootUrl: "https://assets.babylonjs.com/textures/",
  3371. filename: "correlatedBRDF.dds"
  3372. },
  3373. crate_png: {
  3374. path: "https://assets.babylonjs.com/textures/crate.png",
  3375. rootUrl: "https://assets.babylonjs.com/textures/",
  3376. filename: "crate.png"
  3377. },
  3378. cubehouse_png: {
  3379. path: "https://assets.babylonjs.com/textures/cubehouse.png",
  3380. rootUrl: "https://assets.babylonjs.com/textures/",
  3381. filename: "cubehouse.png"
  3382. },
  3383. dirt_jpg: {
  3384. path: "https://assets.babylonjs.com/textures/dirt.jpg",
  3385. rootUrl: "https://assets.babylonjs.com/textures/",
  3386. filename: "dirt.jpg"
  3387. },
  3388. distortion_png: {
  3389. path: "https://assets.babylonjs.com/textures/fire/distortion.png",
  3390. rootUrl: "https://assets.babylonjs.com/textures/fire/",
  3391. filename: "distortion.png"
  3392. },
  3393. Dot_png: {
  3394. path: "https://assets.babylonjs.com/textures/Dot.png",
  3395. rootUrl: "https://assets.babylonjs.com/textures/",
  3396. filename: "Dot.png"
  3397. },
  3398. down_png: {
  3399. path: "https://assets.babylonjs.com/textures/down.png",
  3400. rootUrl: "https://assets.babylonjs.com/textures/",
  3401. filename: "down.png"
  3402. },
  3403. earth_jpg: {
  3404. path: "https://assets.babylonjs.com/textures/earth.jpg",
  3405. rootUrl: "https://assets.babylonjs.com/textures/",
  3406. filename: "earth.jpg"
  3407. },
  3408. earthnormal_jpg: {
  3409. path: "https://assets.babylonjs.com/textures/earthnormal.jpg",
  3410. rootUrl: "https://assets.babylonjs.com/textures/",
  3411. filename: "earthnormal.jpg"
  3412. },
  3413. fan_png: {
  3414. path: "https://assets.babylonjs.com/textures/fan.png",
  3415. rootUrl: "https://assets.babylonjs.com/textures/",
  3416. filename: "fan.png"
  3417. },
  3418. fire_jpg: {
  3419. path: "https://assets.babylonjs.com/textures/fire.jpg",
  3420. rootUrl: "https://assets.babylonjs.com/textures/",
  3421. filename: "fire.jpg"
  3422. },
  3423. fire_png: {
  3424. path: "https://assets.babylonjs.com/textures/fire.png",
  3425. rootUrl: "https://assets.babylonjs.com/textures/",
  3426. filename: "fire.png"
  3427. },
  3428. diffuse_png: {
  3429. path: "https://assets.babylonjs.com/textures/fire/diffuse.png",
  3430. rootUrl: "https://assets.babylonjs.com/textures/fire/",
  3431. filename: "diffuse.png"
  3432. },
  3433. opacity_png: {
  3434. path: "https://assets.babylonjs.com/textures/opacity.png",
  3435. rootUrl: "https://assets.babylonjs.com/textures/",
  3436. filename: "opacity.png"
  3437. },
  3438. flare_png: {
  3439. path: "https://assets.babylonjs.com/textures/flare.png",
  3440. rootUrl: "https://assets.babylonjs.com/textures/",
  3441. filename: "flare.png"
  3442. },
  3443. Flare2_png: {
  3444. path: "https://assets.babylonjs.com/textures/Flare2.png",
  3445. rootUrl: "https://assets.babylonjs.com/textures/",
  3446. filename: "Flare2.png"
  3447. },
  3448. flare3_png: {
  3449. path: "https://assets.babylonjs.com/textures/flare3.png",
  3450. rootUrl: "https://assets.babylonjs.com/textures/",
  3451. filename: "flare3.png"
  3452. },
  3453. FlashParticle_png: {
  3454. path: "https://assets.babylonjs.com/textures/FlashParticle.png",
  3455. rootUrl: "https://assets.babylonjs.com/textures/",
  3456. filename: "FlashParticle.png"
  3457. },
  3458. floor_png: {
  3459. path: "https://assets.babylonjs.com/textures/floor.png",
  3460. rootUrl: "https://assets.babylonjs.com/textures/",
  3461. filename: "floor.png"
  3462. },
  3463. fur_jpg: {
  3464. path: "https://assets.babylonjs.com/textures/fur.jpg",
  3465. rootUrl: "https://assets.babylonjs.com/textures/",
  3466. filename: "fur.jpg"
  3467. },
  3468. grass_dds: {
  3469. path: "https://assets.babylonjs.com/textures/grass.dds",
  3470. rootUrl: "https://assets.babylonjs.com/textures/",
  3471. filename: "grass.dds"
  3472. },
  3473. grass_jpg: {
  3474. path: "https://assets.babylonjs.com/textures/grass.jpg",
  3475. rootUrl: "https://assets.babylonjs.com/textures/",
  3476. filename: "grass.jpg"
  3477. },
  3478. grass_png: {
  3479. path: "https://assets.babylonjs.com/textures/grass.png",
  3480. rootUrl: "https://assets.babylonjs.com/textures/",
  3481. filename: "grass.png"
  3482. },
  3483. grassn_png: {
  3484. path: "https://assets.babylonjs.com/textures/grassn.png",
  3485. rootUrl: "https://assets.babylonjs.com/textures/",
  3486. filename: "grassn.png"
  3487. },
  3488. ground_jpg: {
  3489. path: "https://assets.babylonjs.com/textures/ground.jpg",
  3490. rootUrl: "https://assets.babylonjs.com/textures/",
  3491. filename: "ground.jpg"
  3492. },
  3493. heightMap_png: {
  3494. path: "https://assets.babylonjs.com/textures/heightMap.png",
  3495. rootUrl: "https://assets.babylonjs.com/textures/",
  3496. filename: "heightMap.png"
  3497. },
  3498. heightMapTriPlanar_png: {
  3499. path: "https://assets.babylonjs.com/textures/heightMapTriPlanar.png",
  3500. rootUrl: "https://assets.babylonjs.com/textures/",
  3501. filename: "heightMapTriPlanar.png"
  3502. },
  3503. hollow_png: {
  3504. path: "https://assets.babylonjs.com/textures/hollow.png",
  3505. rootUrl: "https://assets.babylonjs.com/textures/",
  3506. filename: "hollow.png"
  3507. },
  3508. impact_png: {
  3509. path: "https://assets.babylonjs.com/textures/impact.png",
  3510. rootUrl: "https://assets.babylonjs.com/textures/",
  3511. filename: "impact.png"
  3512. },
  3513. invmask_png: {
  3514. path: "https://assets.babylonjs.com/textures/invmask.png",
  3515. rootUrl: "https://assets.babylonjs.com/textures/",
  3516. filename: "invmask.png"
  3517. },
  3518. lavatile_jpg: {
  3519. path: "https://assets.babylonjs.com/textures/lava/lavatile.jpg",
  3520. rootUrl: "https://assets.babylonjs.com/textures/lava/",
  3521. filename: "lavatile.jpg"
  3522. },
  3523. lensdirt_jpg: {
  3524. path: "https://assets.babylonjs.com/textures/lensdirt.jpg",
  3525. rootUrl: "https://assets.babylonjs.com/textures/",
  3526. filename: "lensdirt.jpg"
  3527. },
  3528. lensflaredirt_png: {
  3529. path: "https://assets.babylonjs.com/textures/lensflaredirt.png",
  3530. rootUrl: "https://assets.babylonjs.com/textures/",
  3531. filename: "lensflaredirt.png"
  3532. },
  3533. lensstar_png: {
  3534. path: "https://assets.babylonjs.com/textures/lensstar.png",
  3535. rootUrl: "https://assets.babylonjs.com/textures/",
  3536. filename: "lensstar.png"
  3537. },
  3538. mercator_jpg: {
  3539. path: "https://assets.babylonjs.com/textures/mercator.jpg",
  3540. rootUrl: "https://assets.babylonjs.com/textures/",
  3541. filename: "mercator.jpg"
  3542. },
  3543. mercator2_jpg: {
  3544. path: "https://assets.babylonjs.com/textures/mercator2.jpg",
  3545. rootUrl: "https://assets.babylonjs.com/textures/",
  3546. filename: "mercator2.jpg"
  3547. },
  3548. misc_jpg: {
  3549. path: "https://assets.babylonjs.com/textures/misc.jpg",
  3550. rootUrl: "https://assets.babylonjs.com/textures/",
  3551. filename: "misc.jpg"
  3552. },
  3553. mixMap_png: {
  3554. path: "https://assets.babylonjs.com/textures/mixMap.png",
  3555. rootUrl: "https://assets.babylonjs.com/textures/",
  3556. filename: "mixMap.png"
  3557. },
  3558. normal_png: {
  3559. path: "https://assets.babylonjs.com/textures/normal.png",
  3560. rootUrl: "https://assets.babylonjs.com/textures/",
  3561. filename: "normal.png"
  3562. },
  3563. normalMap_jpg: {
  3564. path: "https://assets.babylonjs.com/textures/normalMap.jpg",
  3565. rootUrl: "https://assets.babylonjs.com/textures/",
  3566. filename: "normalMap.jpg"
  3567. },
  3568. ParallaxDiffuse_png: {
  3569. path: "https://assets.babylonjs.com/textures/ParallaxDiffuse.png",
  3570. rootUrl: "https://assets.babylonjs.com/textures/",
  3571. filename: "ParallaxDiffuse.png"
  3572. },
  3573. ParallaxNormal_png: {
  3574. path: "https://assets.babylonjs.com/textures/ParallaxNormal.png",
  3575. rootUrl: "https://assets.babylonjs.com/textures/",
  3576. filename: "ParallaxNormal.png"
  3577. },
  3578. particle_png: {
  3579. path: "https://assets.babylonjs.com/textures/particle.png",
  3580. rootUrl: "https://assets.babylonjs.com/textures/",
  3581. filename: "particle.png"
  3582. },
  3583. plane_basis: {
  3584. path: "https://assets.babylonjs.com/textures/plane.basis",
  3585. rootUrl: "https://assets.babylonjs.com/textures/",
  3586. filename: "plane.basis"
  3587. },
  3588. reflectivity_png: {
  3589. path: "https://assets.babylonjs.com/textures/reflectivity.png",
  3590. rootUrl: "https://assets.babylonjs.com/textures/",
  3591. filename: "reflectivity.png"
  3592. },
  3593. rock_png: {
  3594. path: "https://assets.babylonjs.com/textures/rock.png",
  3595. rootUrl: "https://assets.babylonjs.com/textures/",
  3596. filename: "rock.png"
  3597. },
  3598. rockn_png: {
  3599. path: "https://assets.babylonjs.com/textures/rockn.png",
  3600. rootUrl: "https://assets.babylonjs.com/textures/",
  3601. filename: "rockn.png"
  3602. },
  3603. rockyGround_basecolor_png: {
  3604. path: "https://assets.babylonjs.com/textures/rockyGround_basecolor.png",
  3605. rootUrl: "https://assets.babylonjs.com/textures/",
  3606. filename: "rockyGround_basecolor.png"
  3607. },
  3608. rockyGround_metalRough_png: {
  3609. path: "https://assets.babylonjs.com/textures/rockyGround_metalRough.png",
  3610. rootUrl: "https://assets.babylonjs.com/textures/",
  3611. filename: "rockyGround_metalRough.png"
  3612. },
  3613. rockyGround_normal_png: {
  3614. path: "https://assets.babylonjs.com/textures/rockyGround_normal.png",
  3615. rootUrl: "https://assets.babylonjs.com/textures/",
  3616. filename: "rockyGround_normal.png"
  3617. },
  3618. roof_jpg: {
  3619. path: "https://assets.babylonjs.com/textures/roof.jpg",
  3620. rootUrl: "https://assets.babylonjs.com/textures/",
  3621. filename: "roof.jpg"
  3622. },
  3623. roundMask_png: {
  3624. path: "https://assets.babylonjs.com/textures/roundMask.png",
  3625. rootUrl: "https://assets.babylonjs.com/textures/",
  3626. filename: "roundMask.png"
  3627. },
  3628. sand_jpg: {
  3629. path: "https://assets.babylonjs.com/textures/sand.jpg",
  3630. rootUrl: "https://assets.babylonjs.com/textures/",
  3631. filename: "sand.jpg"
  3632. },
  3633. semihouse_png: {
  3634. path: "https://assets.babylonjs.com/textures/semihouse.png",
  3635. rootUrl: "https://assets.babylonjs.com/textures/",
  3636. filename: "semihouse.png"
  3637. },
  3638. Spark_png: {
  3639. path: "https://assets.babylonjs.com/textures/Spark.png",
  3640. rootUrl: "https://assets.babylonjs.com/textures/",
  3641. filename: "Spark.png"
  3642. },
  3643. sparkle_png: {
  3644. path: "https://assets.babylonjs.com/textures/sparkle.png",
  3645. rootUrl: "https://assets.babylonjs.com/textures/",
  3646. filename: "sparkle.png"
  3647. },
  3648. sparkle2_jpg: {
  3649. path: "https://assets.babylonjs.com/textures/sparkle2.jpg",
  3650. rootUrl: "https://assets.babylonjs.com/textures/",
  3651. filename: "sparkle2.jpg"
  3652. },
  3653. sparks_png: {
  3654. path: "https://assets.babylonjs.com/textures/sparks.png",
  3655. rootUrl: "https://assets.babylonjs.com/textures/",
  3656. filename: "sparks.png"
  3657. },
  3658. sparkStretched_png: {
  3659. path: "https://assets.babylonjs.com/textures/sparkStretched.png",
  3660. rootUrl: "https://assets.babylonjs.com/textures/",
  3661. filename: "sparkStretched.png"
  3662. },
  3663. speckles_jpg: {
  3664. path: "https://assets.babylonjs.com/textures/speckles.jpg",
  3665. rootUrl: "https://assets.babylonjs.com/textures/",
  3666. filename: "speckles.jpg"
  3667. },
  3668. stars_png: {
  3669. path: "https://assets.babylonjs.com/textures/stars.png",
  3670. rootUrl: "https://assets.babylonjs.com/textures/",
  3671. filename: "stars.png"
  3672. },
  3673. sun_png: {
  3674. path: "https://assets.babylonjs.com/textures/sun.png",
  3675. rootUrl: "https://assets.babylonjs.com/textures/",
  3676. filename: "sun.png"
  3677. },
  3678. SunDiffuse_png: {
  3679. path: "https://assets.babylonjs.com/textures/SunDiffuse.png",
  3680. rootUrl: "https://assets.babylonjs.com/textures/",
  3681. filename: "SunDiffuse.png"
  3682. },
  3683. tree_png: {
  3684. path: "https://assets.babylonjs.com/textures/tree.png",
  3685. rootUrl: "https://assets.babylonjs.com/textures/",
  3686. filename: "tree.png"
  3687. },
  3688. up_png: {
  3689. path: "https://assets.babylonjs.com/textures/up.png",
  3690. rootUrl: "https://assets.babylonjs.com/textures/",
  3691. filename: "up.png"
  3692. },
  3693. valleygrass_png: {
  3694. path: "https://assets.babylonjs.com/textures/valleygrass.png",
  3695. rootUrl: "https://assets.babylonjs.com/textures/",
  3696. filename: "valleygrass.png"
  3697. },
  3698. villagegreen_png: {
  3699. path: "https://assets.babylonjs.com/textures/villagegreen.png",
  3700. rootUrl: "https://assets.babylonjs.com/textures/",
  3701. filename: "villagegreen.png"
  3702. },
  3703. villageheightmap_png: {
  3704. path: "https://assets.babylonjs.com/textures/villageheightmap.png",
  3705. rootUrl: "https://assets.babylonjs.com/textures/",
  3706. filename: "villageheightmap.png"
  3707. },
  3708. waterbump_png: {
  3709. path: "https://assets.babylonjs.com/textures/waterbump.png",
  3710. rootUrl: "https://assets.babylonjs.com/textures/",
  3711. filename: "waterbump.png"
  3712. },
  3713. waterFoam_circular_mask_png: {
  3714. path: "https://assets.babylonjs.com/textures/waterFoam_circular_mask.png",
  3715. rootUrl: "https://assets.babylonjs.com/textures/",
  3716. filename: "waterFoam_circular_mask.png"
  3717. },
  3718. wheel_png: {
  3719. path: "https://assets.babylonjs.com/textures/wheel.png",
  3720. rootUrl: "https://assets.babylonjs.com/textures/",
  3721. filename: "wheel.png"
  3722. },
  3723. WhiteTransarentRamp_png: {
  3724. path: "https://assets.babylonjs.com/textures/WhiteTransarentRamp.png",
  3725. rootUrl: "https://assets.babylonjs.com/textures/",
  3726. filename: "WhiteTransarentRamp.png"
  3727. },
  3728. wood_jpg: {
  3729. path: "https://assets.babylonjs.com/textures/wood.jpg",
  3730. rootUrl: "https://assets.babylonjs.com/textures/",
  3731. filename: "wood.jpg"
  3732. },
  3733. woodAlbedo_png: {
  3734. path: "https://assets.babylonjs.com/textures/woodAlbedo.png",
  3735. rootUrl: "https://assets.babylonjs.com/textures/",
  3736. filename: "woodAlbedo.png"
  3737. },
  3738. worldHeightMap_jpg: {
  3739. path: "https://assets.babylonjs.com/textures/worldHeightMap.jpg",
  3740. rootUrl: "https://assets.babylonjs.com/textures/",
  3741. filename: "worldHeightMap.jpg"
  3742. },
  3743. floorn_png: {
  3744. path: "https://assets.babylonjs.com/textures/floorn.png",
  3745. rootUrl: "https://assets.babylonjs.com/textures/",
  3746. filename: "floorn.png"
  3747. },
  3748. stoneso_png: {
  3749. path: "https://assets.babylonjs.com/textures/stoneso.png",
  3750. rootUrl: "https://assets.babylonjs.com/textures/",
  3751. filename: "stoneso.png"
  3752. },
  3753. leafPositionTexture_png: {
  3754. path: "https://assets.babylonjs.com/textures/leafPositionTexture.png",
  3755. rootUrl: "https://assets.babylonjs.com/textures/",
  3756. filename: "leafPositionTexture.png"
  3757. },
  3758. leafRotationTexture_png: {
  3759. path: "https://assets.babylonjs.com/textures/leafRotationTexture.png",
  3760. rootUrl: "https://assets.babylonjs.com/textures/",
  3761. filename: "leafRotationTexture.png"
  3762. },
  3763. blue_noise_rgb_16bit_png: {
  3764. path: "https://assets.babylonjs.com/textures/blue_noise/blue_noise_rgb_16bit.png",
  3765. rootUrl: "https://assets.babylonjs.com/textures/blue_noise/",
  3766. filename: "blue_noise_rgb_16bit.png"
  3767. },
  3768. blue_noise_rgb_png: {
  3769. path: "https://assets.babylonjs.com/textures/blue_noise/blue_noise_rgb.png",
  3770. rootUrl: "https://assets.babylonjs.com/textures/blue_noise/",
  3771. filename: "blue_noise_rgb.png"
  3772. },
  3773. wheelcar_png: {
  3774. path: "https://assets.babylonjs.com/textures/wheelcar.png",
  3775. rootUrl: "https://assets.babylonjs.com/textures/",
  3776. filename: "wheelcar.png"
  3777. }
  3778. },
  3779. fonts: {},
  3780. splats: {}
  3781. };
  3782. // 初始化 3d 引擎 选择挂载的DOM画布
  3783. const canvas = document.getElementById("renderCanvas")
  3784. const engine = new BABYLON.Engine(canvas, true) // 第二个选项是是否开启平滑(anti-alias)
  3785. engine.enableOfflineSupport = true // 除非你想做离线体验,这里可以设为 false
  3786. // 启用碰撞检测和重力
  3787. const enableCameraCollision = (camera, scene)=> {
  3788. // Enable gravity on the scene. Should be similar to earth's gravity.
  3789. scene.gravity = new BABYLON.Vector3(0, -0.98, 0);
  3790. // Enable collisions globally.
  3791. scene.collisionsEnabled = true;
  3792. // Enable collision detection and gravity on the free camera.
  3793. camera.checkCollisions = true;
  3794. camera.applyGravity = true;
  3795. // Set the player size, the camera's ellipsoid.
  3796. camera.ellipsoid = new BABYLON.Vector3(0.4, 0.8, 0.4);
  3797. }
  3798. // 启用碰撞检查,通过在每个要碰撞的网格上设置布尔标志。
  3799. const enableMeshesCollision =(meshes)=> {
  3800. meshes.forEach((mesh)=> {
  3801. mesh.checkCollisions = true;
  3802. });
  3803. }
  3804. const file = {
  3805. name:'fish',
  3806. url:'https://minio.cnbabylon.com/public/Assets/fish.glb',
  3807. }
  3808. const loadModels = (file) => {
  3809. //除了粒子等少数元素,场景和物体(包含物体的动画)都是外部导入素材。
  3810. //目前最流行的素材统一格式是.gltf。
  3811. //开源模型网站 https://sketchfab.com/ 直接下载 .gltf .glb格式三维模型。
  3812. let assetsManager = new BABYLON.AssetsManager(scene);
  3813. //三维素材一般由 .gltf,.bin 和 textures (皮肤) 文件组成。
  3814. //.gltf 转 .glb,将所有文件合成一个 .glb。
  3815. let task = assetsManager.addMeshTask(file.name, '', file.url);
  3816. // .gltf 等文件全放在一个文件夹,比如 /assets/
  3817. //BABYLON.SceneLoader.Append("/assets/", "a.gltf", scene, (newScene) => {
  3818. //
  3819. //})
  3820. // 单个 .glb 文件
  3821. //BABYLON.SceneLoader.ImportMesh("", "", "www.a.com/a.glb", scene, (meshes, particleSystems, skeletons) => {
  3822. //
  3823. //})
  3824. // promise 版本的
  3825. //BABYLON.SceneLoader.AppendAsync("/assets/", "a.gltf", scene).then(newScene => {
  3826. //
  3827. //})
  3828. //Append 和 ImportMesh 基本功能都是加载模型,然后渲染到场景 scene 中,主要区别:
  3829. //回调函数的参数,前者是场景,后者是 mesh,粒子和骨架
  3830. //ImportMesh 第一个参数可以用于指定引入一部分素材,空字符串会引入全部。
  3831. // task on success
  3832. task.onSuccess = (obj) => {
  3833. // setMeshActions(task, index, file);
  3834. //console.log(obj.loadedMeshes)
  3835. //console.log(obj.loadedAnimationGroups)
  3836. //let meshes = obj.loadedMeshes;
  3837. //try {
  3838. // meshes.map((mesh)=>{
  3839. // console.log(mesh)
  3840. // })
  3841. //} catch (e) {
  3842. // console.log(e);
  3843. //}
  3844. };
  3845. // task on error
  3846. task.onError = (task, message, exception) => {
  3847. console.log({
  3848. "task": task,
  3849. "message": message,
  3850. "exception": exception
  3851. });
  3852. };
  3853. //要抓取一个素材需要操作的部分和自带动画,需要了解素材的构成
  3854. // 在callback里
  3855. //const wheel = newMeshes.find(n => n.id === 'Cylinder1');
  3856. // 隐藏轮子
  3857. //wheel.isVisible = false;
  3858. // 一般整个素材是
  3859. //const car = newMeshes[0];
  3860. // 可以在scene里寻找动画
  3861. //const anime = scene.animationGroups[0];
  3862. // 播放和停止动画
  3863. //anime.start(); // 播放
  3864. //anime.stop(); // 停止
  3865. //anime.pause(); // 暂停
  3866. //anime.restart(); // 重新开始
  3867. //anime..goToFrame(60) // 到某一帧
  3868. // 创建动画
  3869. //new Animation(名称, 变化的属性, fps, 动画变量数据类型, 循环模式)
  3870. // 使用动画
  3871. //scene.beginDirectAnimation(target, animations, 从哪帧, 到哪帧, 循环否?, 播放速度, 结束callback)
  3872. // 控制动画 一般 60 帧(frame)是一秒。素材自带动画也属于Animatable
  3873. //const myAnime = scene.beginDirectAnimation( ... )
  3874. assetsManager.onTasksDoneObservable.add(tasks => {
  3875. tasks.filter( (task)=> {
  3876. return task.taskState === BABYLON.AssetTaskState.ERROR;
  3877. });
  3878. tasks.filter( (task)=> {
  3879. return task.taskState !== BABYLON.AssetTaskState.SUCCESS;
  3880. });
  3881. //startGame();
  3882. });
  3883. return assetsManager;
  3884. }
  3885. const startGame = () => {
  3886. }
  3887. const nozzleController = {
  3888. "nozzles": [0, 0, 0, 0],
  3889. "shipsParticles": [],
  3890. "pulsation": false,
  3891. "groupMode": false,
  3892. "compas": null,
  3893. "toggles": [],
  3894. "displays": [],
  3895. "joysticks": [],
  3896. "indicators": [],
  3897. "prevClickId": null,
  3898. "linearVelocity": 0.8,
  3899. "linearThrottle": 1.8,
  3900. "angularVelocity": 0.15,
  3901. "throttle": 0,
  3902. get: () => {
  3903. return nozzleController;
  3904. },
  3905. set: (i, val, pulse) => {
  3906. nozzleController.nozzles[i] = val;
  3907. nozzleController.pulsation = pulse;
  3908. return nozzleController;
  3909. }
  3910. };
  3911. const compasStyle = {
  3912. "width": 5,
  3913. "height": 5,
  3914. "top": 5,
  3915. "left": 5
  3916. }
  3917. const displays = [
  3918. {
  3919. "name": "enginePower",
  3920. "text": "ENGINE POWER",
  3921. "width": 92,
  3922. "height": 40,
  3923. "elements": [0, 0, 0, 0, 0, 0, 0, 0],
  3924. "disabled": {
  3925. "backgroundColor": "red"
  3926. },
  3927. "active": {
  3928. "backgroundColor": "#ABD436"
  3929. }
  3930. },
  3931. {
  3932. "name": "batteryPower",
  3933. "text": "BATTERY POWER",
  3934. "width": 92,
  3935. "height": 40,
  3936. "elements": [0, 0, 0, 0, 0, 0, 0, 0],
  3937. "disabled": {
  3938. "backgroundColor": "red"
  3939. },
  3940. "active": {
  3941. "backgroundColor": "#ABD436"
  3942. }
  3943. }
  3944. ]
  3945. // controlPanel
  3946. let controlPanelStyles = {
  3947. "top": -20,
  3948. "left": 20,
  3949. "cornerRadius": 36,
  3950. "backgroundColor": "#171a2fe6",
  3951. "outlineColor": "#2f313561",
  3952. "shadows": {
  3953. "x": 0,
  3954. "y": 5,
  3955. "blur": 40,
  3956. "color": "#171a2f80"
  3957. },
  3958. "expanded": {
  3959. "width": 480,
  3960. "height": 380,
  3961. },
  3962. "collapsed": {
  3963. "width": 220,
  3964. "height": 62,
  3965. }
  3966. };
  3967. const calcGuiSize = (val) => {
  3968. let size = val * dpi;
  3969. return size;
  3970. }
  3971. //Force Settings
  3972. const transformForce = (mesh, vec)=> {
  3973. let mymatrix = new BABYLON.Matrix();
  3974. mesh.rotationQuaternion.toRotationMatrix(mymatrix);
  3975. return BABYLON.Vector3.TransformNormal(vec, mymatrix);
  3976. };
  3977. const rotate = (mesh, direction, power) => {
  3978. mesh.physicsImpostor.setAngularVelocity(
  3979. // mesh.physicsImpostor.getAngularVelocity().add(
  3980. direction.scale(power)
  3981. // )
  3982. );
  3983. }
  3984. const translate = (mesh, direction, power) => {
  3985. mesh.physicsImpostor.setLinearVelocity(
  3986. // mesh.physicsImpostor.getLinearVelocity().add(
  3987. transformForce(mesh, direction.scale(power))
  3988. // )
  3989. );
  3990. // mesh.locallyTranslate( direction.scale(power) );
  3991. }
  3992. // keyboard
  3993. const keyPress = () => {
  3994. let enginePower = nozzleController.displays[0];
  3995. nozzleController.nozzles.forEach((jet, i) => {
  3996. if(jet > 0) {
  3997. nozzleController.shipsParticles[i].emitRate = 3500;
  3998. }
  3999. });
  4000. enginePower.children.forEach((displayIndicator, i) => {
  4001. // console.log(displayIndicator);
  4002. if(i > 0 && i < enginePower.children.length) {
  4003. displayIndicator.background = "#ABD436";
  4004. }
  4005. });
  4006. }
  4007. const keyRelase = () => {
  4008. stopEngine();
  4009. }
  4010. const onKeyDown = (event) => {
  4011. switch (event.keyCode) {
  4012. case 65: // a
  4013. nozzleController.nozzles = [0, 1, 0, 1];
  4014. keyPress();
  4015. break;
  4016. case 68: // d
  4017. nozzleController.nozzles = [1, 0, 1, 0];
  4018. keyPress();
  4019. break;
  4020. case 83: // s
  4021. nozzleController.nozzles = [0, 0, 1, 1];
  4022. keyPress();
  4023. break;
  4024. case 87: // w
  4025. nozzleController.nozzles = [1, 1, 0, 0];
  4026. keyPress();
  4027. break;
  4028. case 69: // q
  4029. nozzleController.nozzles = [0, 1, 1, 0];
  4030. keyPress();
  4031. break;
  4032. case 81: // e
  4033. nozzleController.nozzles = [1, 0, 0, 1];
  4034. keyPress();
  4035. break;
  4036. }
  4037. };
  4038. const meshNodeAnimate = () => {
  4039. let nozzles = JSON.stringify(nozzleController.get().nozzles);
  4040. let pulsation = nozzleController.get().pulsation;
  4041. // -
  4042. // ---
  4043. // 0----1
  4044. // ------
  4045. // 2----3
  4046. // ----
  4047. nozzleController.compas.rotation = mainVessel.absoluteRotationQuaternion.toEulerAngles().y;
  4048. if(nozzleController.groupMode === true) {
  4049. } else {
  4050. // move right
  4051. if (nozzles === JSON.stringify([0.5, 0, 0.5, 0]) ) {
  4052. translate(mainVessel, new BABYLON.Vector3(0, 0, 1), linearVelocity * linearThrottle);
  4053. return;
  4054. }
  4055. else if (nozzles === JSON.stringify([1, 0, 1, 0]) ) {
  4056. translate(mainVessel, new BABYLON.Vector3(0, 0, 1), linearVelocity * linearThrottle * 2);
  4057. return;
  4058. }
  4059. // move left
  4060. else if (nozzles === JSON.stringify([0, 0.5, 0, 0.5]) ) {
  4061. translate(mainVessel, new BABYLON.Vector3(0, 0, -1), linearVelocity * linearThrottle);
  4062. return;
  4063. }
  4064. else if (nozzles === JSON.stringify([0, 1, 0, 1]) ) {
  4065. translate(mainVessel, new BABYLON.Vector3(0, 0, -1), linearVelocity * linearThrottle * 2);
  4066. return;
  4067. }
  4068. // move back
  4069. else if (nozzles === JSON.stringify([0.5, 0.5, 0, 0]) ) {
  4070. translate(mainVessel, new BABYLON.Vector3(-1, 0, 0), linearVelocity * linearThrottle);
  4071. return;
  4072. } else if (nozzles === JSON.stringify([1, 1, 0, 0]) ) {
  4073. translate(mainVessel, new BABYLON.Vector3(-1, 0, 0), linearVelocity * linearThrottle * 2);
  4074. return;
  4075. }
  4076. // move forward
  4077. else if (nozzles === JSON.stringify([0, 0, 0.5, 0.5]) ) {
  4078. translate(mainVessel, new BABYLON.Vector3(1, 0, 0), linearVelocity * linearThrottle);
  4079. return;
  4080. } else if (nozzles === JSON.stringify([0, 0, 1, 1]) ) {
  4081. translate(mainVessel, new BABYLON.Vector3(1, 0, 0), linearVelocity * linearThrottle * 2);
  4082. return;
  4083. }
  4084. // rotate -
  4085. if (nozzles === JSON.stringify([0, 0.5, 0.5, 0]) ) {
  4086. rotate(mainVessel, new BABYLON.Vector3(0, 1, 0), angularVelocity);
  4087. return;
  4088. }
  4089. else if (nozzles === JSON.stringify([0, 1, 1, 0]) ) {
  4090. rotate(mainVessel, new BABYLON.Vector3(0, 1, 0), angularVelocity * 2);
  4091. return;
  4092. }
  4093. // rotate +
  4094. else if (nozzles === JSON.stringify([0.5, 0, 0, 0.5]) ) {
  4095. rotate(mainVessel, new BABYLON.Vector3(0, -1, 0), angularVelocity);
  4096. return;
  4097. }
  4098. else if (nozzles === JSON.stringify([1, 0, 0, 1]) ) {
  4099. rotate(mainVessel, new BABYLON.Vector3(0, -1, 0), angularVelocity * 2);
  4100. return;
  4101. }
  4102. if(pulsation === true) {
  4103. }
  4104. }
  4105. }
  4106. const onKeyUp = (event) => {
  4107. switch (event.keyCode) {
  4108. case 65: // a
  4109. nozzleController.nozzles = [0, 0, 0, 0];
  4110. keyRelase();
  4111. break;
  4112. case 68: // d
  4113. nozzleController.nozzles = [0, 0, 0, 0];
  4114. keyRelase();
  4115. break;
  4116. case 83: // s
  4117. nozzleController.nozzles = [0, 0, 0, 0];
  4118. keyRelase();
  4119. break;
  4120. case 87: // w
  4121. nozzleController.nozzles = [0, 0, 0, 0];
  4122. keyRelase();
  4123. break;
  4124. case 69: // q
  4125. nozzleController.nozzles = [0, 0, 0, 0];
  4126. keyRelase();
  4127. break;
  4128. case 81: // e
  4129. nozzleController.nozzles = [0, 0, 0, 0];
  4130. keyRelase();
  4131. break;
  4132. }
  4133. };
  4134. const config = {
  4135. "nozzlesPos": [
  4136. {
  4137. "name": "front_left",
  4138. "position": [6, 0, -2],
  4139. "rotation": [0, Math.PI, 0, 0],
  4140. },
  4141. {
  4142. "name": "front_right",
  4143. "position": [6, 0, 2],
  4144. "rotation": [0, 0, 0, 0],
  4145. },
  4146. {
  4147. "name": "back_left",
  4148. "position": [-6, 0, -2],
  4149. "rotation": [0, Math.PI, 0, 0],
  4150. },
  4151. {
  4152. "name": "back_right",
  4153. "position": [-6, 0, 2],
  4154. "rotation": [0, 0, 0, 0],
  4155. }
  4156. ]
  4157. }
  4158. const linearVelocity = nozzleController.linearVelocity;
  4159. const linearThrottle = nozzleController.linearThrottle;
  4160. const angularVelocity = nozzleController.angularVelocity;
  4161. const throttle = nozzleController.throttle;
  4162. const dpi = window.devicePixelRatio;
  4163. let activeModel = null
  4164. let activeColor = null
  4165. let sprite1 = null
  4166. let timer1 = null
  4167. // createNozzles
  4168. const createNozzleParticles = (targetMesh, name) => {
  4169. let ps = new BABYLON.ParticleSystem("particles", 3500, scene);
  4170. ps.diffuseTexture = new BABYLON.Texture("https://aframe.io/images/showcase/supercraft.jpg", scene);
  4171. ps.emitter = targetMesh;
  4172. ps.name = name;
  4173. ps.minEmitBox = new BABYLON.Vector3(0, 0, 0);
  4174. ps.maxEmitBox = new BABYLON.Vector3(0, 0, 0);
  4175. ps.gravity = new BABYLON.Vector3(0, -0.2, 0);
  4176. ps.addSizeGradient(0, 0, 0.1);
  4177. ps.addSizeGradient(0.69, 1, 1);
  4178. ps.color1 = new BABYLON.Color4(0.88, 0.9, 0.9, 0.9);
  4179. ps.color2 = new BABYLON.Color4(0.78, 0.78, 0.89, 0.8);
  4180. ps.colorDead = new BABYLON.Color4(0.643, 0.643, 0.875, 0.0);
  4181. ps.minSize = 0.1;
  4182. ps.maxSize = 1.2;
  4183. ps.updateSpeed = 0.01;
  4184. ps.minScaleX = 1;
  4185. ps.maxScaleX = 2;
  4186. ps.minScaleY = 1;
  4187. ps.maxScaleY = 2;
  4188. ps.minLifeTime = 0.1;
  4189. ps.maxLifeTime = 1.5;
  4190. ps.emitRate = throttle * 500;
  4191. ps.blendMode = BABYLON.ParticleSystem.BLENDMODE_STANDARD;
  4192. ps.gravity = new BABYLON.Vector3(0, 0, 0);
  4193. ps.direction1 = new BABYLON.Vector3(0.25, 0, 1);
  4194. ps.direction2 = new BABYLON.Vector3(-0.25, 0, 1);
  4195. ps.minAngularSpeed = Math.PI / 8;
  4196. ps.minAngularSpeed = Math.PI / 8;
  4197. ps.minInitialRotation = Math.PI / 8;
  4198. ps.maxInitialRotation = Math.PI / 2;
  4199. ps.minEmitPower = 2;
  4200. ps.maxEmitPower = 10;
  4201. ps.start();
  4202. return ps;
  4203. }
  4204. const stopEngine = () => {
  4205. nozzleController.shipsParticles.forEach(particle => {
  4206. particle.emitRate = 0;
  4207. });
  4208. nozzleController.indicators.forEach(indicator => {
  4209. indicator.image.cellId = 0;
  4210. });
  4211. nozzleController.joysticks.forEach(joystick => {
  4212. joystick.children.forEach(button => {
  4213. if(button.metadata) {
  4214. button.metadata.state = 0;
  4215. button.image.cellId = 0;
  4216. }
  4217. });
  4218. });
  4219. let enginePower = nozzleController.displays[0];
  4220. enginePower.children.forEach(displayIndicator => {
  4221. displayIndicator.background = "transparent";
  4222. });
  4223. nozzleController.nozzles.forEach((jet, i) => {
  4224. nozzleController.set(i, 0, false);
  4225. });
  4226. let togglesPanelStyle = {
  4227. "width": 50,
  4228. "height": 300,
  4229. "top": -30,
  4230. "left": 400,
  4231. "backgroundColor": "transparent",
  4232. "toggle": {
  4233. "width": 50,
  4234. "height": 30,
  4235. "cornerRadius": 4,
  4236. "toggler": {
  4237. "width": 10,
  4238. "height": 30,
  4239. "cornerRadius": 4
  4240. },
  4241. "disabled":{
  4242. "backgroundColor": "#F65175",
  4243. "togglerBackgroundColor": "#E81F4B",
  4244. "shadow": {
  4245. "color": "#9c0324",
  4246. "x": 2,
  4247. "y": 0,
  4248. "blur": 10
  4249. }
  4250. },
  4251. "hover": {
  4252. "backgroundColor": "#E81F4B",
  4253. "togglerBackgroundColor": "#E81F4B",
  4254. "shadow": {
  4255. "color": "#E81F4B",
  4256. "x": 0,
  4257. "y": 0,
  4258. "blur": 0
  4259. }
  4260. },
  4261. "active": {
  4262. "backgroundColor": "#ABD436",
  4263. "togglerBackgroundColor": "#769D06",
  4264. "shadow": {
  4265. "color": "#769D06",
  4266. "x": -2,
  4267. "y": 0,
  4268. "blur": 10
  4269. }
  4270. }
  4271. }
  4272. };
  4273. nozzleController.toggles.forEach((toggle, i) => {
  4274. toggle.background = "#F65175";
  4275. toggle.metadata.state = false;
  4276. toggle.children[1].leftInPixels = 0;
  4277. toggle.children[1].shadowColor = togglesPanelStyle.toggle.disabled.shadow.color;
  4278. toggle.children[1].shadowOffsetX = togglesPanelStyle.toggle.disabled.shadow.x;
  4279. toggle.children[1].shadowOffsetY = togglesPanelStyle.toggle.disabled.shadow.y;
  4280. toggle.children[1].shadowBlur = togglesPanelStyle.toggle.disabled.shadow.blur;
  4281. toggle.children[1].background = togglesPanelStyle.toggle.disabled.togglerBackgroundColor;
  4282. });
  4283. nozzleController.groupMode = false;
  4284. // console.log(nozzleController)
  4285. }
  4286. const vecToLocal = (vector,mesh)=>{
  4287. let m = mesh.getWorldMatrix()
  4288. let v = BABYLON.Vector3.TransformCoordinates(vector,m)
  4289. return v
  4290. }
  4291. //Animation Camera position
  4292. const animateCameraToPosition = (speed, frameCount, newPos) =>{
  4293. let ease = new BABYLON.CubicEase();
  4294. ease.setEasingMode(BABYLON.EasingFunction.EASINGMODE_EASEINOUT);
  4295. //BABYLON.Animation.CreateAndStartAnimation = function(name, mesh, targetProperty, framePerSecond, totalFrame, from, to, loopMode);
  4296. BABYLON.Animation.CreateAndStartAnimation('a1', scene.activeCamera, 'position', speed, frameCount, scene.activeCamera.position, newPos, 0, ease);
  4297. //scene.activeCamera.setPosition(newPos);
  4298. }
  4299. const animateCameraTargetToPosition = (speed, frameCount, newPos)=> {
  4300. let ease = new BABYLON.CubicEase();
  4301. ease.setEasingMode(BABYLON.EasingFunction.EASINGMODE_EASEINOUT);
  4302. BABYLON.Animation.CreateAndStartAnimation('a2', scene.activeCamera, 'target', speed, frameCount, scene.activeCamera.target, newPos, 0, ease);
  4303. //scene.activeCamera.setTarget(newPos);
  4304. }
  4305. const onPointerDown = (e)=>{
  4306. let pickResult = scene.pick(scene.pointerX, scene.pointerY,
  4307. null, false, null, (p0, p1, p2, ray) => {
  4308. let p0p1 = p0.subtract(p1);
  4309. let p2p1 = p2.subtract(p1);
  4310. let normal = BABYLON.Vector3.Cross(p0p1, p2p1);
  4311. return (BABYLON.Vector3.Dot(ray.direction, normal) < 0);
  4312. });
  4313. if(pickResult.hit) {
  4314. if(["WhiteMesh"].includes(pickResult.pickedMesh.name)){
  4315. let oldPivotTranslation = pickResult.pickedMesh.getBoundingInfo().boundingBox.centerWorld.clone();
  4316. sprite1.position = new BABYLON.Vector3(oldPivotTranslation.x,oldPivotTranslation.y+2,oldPivotTranslation.z);
  4317. }
  4318. if(["box","sphere"].includes(pickResult.pickedMesh.name)){
  4319. // ** Disable all before apply Outline Render **
  4320. scene.meshes.forEach((mesh)=>{
  4321. if(mesh.name.indexOf("") != -1){
  4322. mesh.renderOverlay = false;
  4323. }
  4324. });
  4325. // Outline Render
  4326. let StudyArea = scene.getMeshByName(pickResult.pickedMesh.name);
  4327. StudyArea.renderOverlay = true;
  4328. let oldPivotTranslation = pickResult.pickedMesh.getBoundingInfo().boundingBox.centerWorld.clone();
  4329. sprite1.position = new BABYLON.Vector3(oldPivotTranslation.x,oldPivotTranslation.y+2,oldPivotTranslation.z);
  4330. let postion = new BABYLON.Vector3(oldPivotTranslation.x+10,oldPivotTranslation.y+10,oldPivotTranslation.z+10)
  4331. let speed1 = 500;
  4332. let speed2 = 500;
  4333. let frameCount = 200;
  4334. animateCameraToPosition(speed1, frameCount, postion);
  4335. animateCameraTargetToPosition(speed2, frameCount, oldPivotTranslation);
  4336. // 没有选中模型时的操作
  4337. if (!activeModel) {
  4338. activeModel = pickResult.pickedMesh;
  4339. if(pickResult.pickedMesh.material!=null){
  4340. activeColor = new BABYLON.Color3(
  4341. ...Object.values(pickResult.pickedMesh.material.diffuseColor)
  4342. );
  4343. activeModel.material.diffuseColor = HexToRGB('#FFFFFF');
  4344. activeModel.material.albedoColor = HexToRGB('#FFFFFF');
  4345. }else{
  4346. activeColor = HexToRGB('#FFFFFF');
  4347. }
  4348. }
  4349. // 有选中模型,且不是连续选中的同一个
  4350. if (activeModel && activeModel != pickResult.pickedMesh) {
  4351. // 选中新模型
  4352. activeModel.material.diffuseColor = activeColor;
  4353. activeModel = pickResult.pickedMesh;
  4354. if(pickResult.pickedMesh.material!=null){
  4355. activeColor = new BABYLON.Color3(
  4356. ...Object.values(pickResult.pickedMesh.material.diffuseColor)
  4357. );
  4358. activeModel.material.diffuseColor = HexToRGB('#F0F0F0');
  4359. activeModel.material.albedoColor = HexToRGB('#F0F0F0');
  4360. }else{
  4361. activeColor = HexToRGB('#FFFFFF');
  4362. }
  4363. }
  4364. }
  4365. } else if (activeModel) {
  4366. activeModel.material.diffuseColor = activeColor;
  4367. activeModel.material.albedoColor = activeColor;
  4368. activeModel = null;
  4369. activeColor = null;
  4370. }
  4371. }
  4372. const onDispose = ()=>{
  4373. scene.onPrePointerObservable.removeCallback(onPointerDown());
  4374. }
  4375. //十六进颜色制转 BABYLON.Color3
  4376. const HexToRGB = (hexColor)=>{
  4377. if (typeof (hexColor) == 'undefined' || hexColor.length < 6) {
  4378. return new BABYLON.Color3(1, 0, 1);
  4379. }
  4380. let hex = (hexColor.charAt(0) == "#") ? hexColor.substring(1, 7) : hexColor;
  4381. var r = parseInt(hex.substring(0, 2), 16) / 255;
  4382. var g = parseInt(hex.substring(2, 4), 16) / 255;
  4383. var b = parseInt(hex.substring(4, 6), 16) / 255;
  4384. return new BABYLON.Color3(r, g, b);
  4385. }
  4386. // rgb(0,0,0) ’ 转 BABYLON.Color3
  4387. const RGBToNum = (color)=>{
  4388. // 颜色转换
  4389. let numSrt = (color.substring(4, color.length - 1)).split(",");
  4390. let newColor = new BABYLON.Color3(
  4391. Number.parseInt(numSrt[0]) / 255 -0.2,
  4392. Number.parseInt(numSrt[1]) / 255 -0.2,
  4393. Number.parseInt(numSrt[2]) / 255 -0.2
  4394. );
  4395. }
  4396. const resetSphere = (ball, position)=>{
  4397. ball.position = new BABYLON.Vector3(0, 0, 0) // position
  4398. }
  4399. let MeshesCollisionList = []
  4400. let camera = null
  4401. //创建场景
  4402. const createScene = ()=> {
  4403. // 实例化场景
  4404. const scene = new BABYLON.Scene(engine)
  4405. engine.setHardwareScalingLevel(1 / window.devicePixelRatio);
  4406. scene.clearColor = new BABYLON.Color3.Black;
  4407. //环境光
  4408. scene.ambientColor = new BABYLON.Color3(1, 1, 1);
  4409. const alpha = Math.PI/4;
  4410. const beta = Math.PI/3;
  4411. const radius = 8;
  4412. const target = new BABYLON.Vector3(0, 0, 0);
  4413. // 创建相机并添加到canvas 最常用的是两种相机: UniversalCamera, 可以自由移动和转向的相机,兼容三端
  4414. //const camera = new BABYLON.UniversalCamera(
  4415. // 'FCamera',
  4416. // new BABYLON.Vector3(0, 0, 0),
  4417. // scene
  4418. // )
  4419. // camera.attachControl(canvas, true)
  4420. // 以及ArcRotateCamera, 360度“围观”一个场景用的相机
  4421. // 参数分别是alpha, beta, radius, target 和 scene
  4422. camera = new BABYLON.ArcRotateCamera("Camera", alpha, beta, radius, target, scene)
  4423. camera.attachControl(canvas, true)
  4424. // 将照相机添加到场景活动相机
  4425. scene.activeCameras.push(camera);
  4426. // 向场景添加光源
  4427. // 点光源
  4428. const light1 = new BABYLON.PointLight("pointLight", new BABYLON.Vector3(1, 10, 1), scene)
  4429. // 所有光源都有散射光 diffuse 和 镜面光specular,diffuse 代表光的主体颜色,specular 代表照在物体上高亮部分的颜色
  4430. light1.diffuse = new BABYLON.Color3(0, 0, 1)
  4431. light1.specular = new BABYLON.Color3(1, 0, 0)
  4432. // 方向光
  4433. const light2 = new BABYLON.DirectionalLight("DirectionalLight", new BABYLON.Vector3(0, -1, 0), scene)
  4434. // 聚光灯 参数用于描述一个锥形的光束
  4435. const light3 = new BABYLON.SpotLight("spotLight", new BABYLON.Vector3(0, 30, -10), new BABYLON.Vector3(0, -1, 0), Math.PI / 3, 2, scene)
  4436. // 环境光 模拟一种四处都被光照射到的环境
  4437. const light4 = new BABYLON.HemisphericLight("HemiLight", new BABYLON.Vector3(0, 1, 0), scene)
  4438. // 只有环境光有groundColor,代表地上反射光的颜色
  4439. light4.groundColor = new BABYLON.Color3(0, 1, 0)
  4440. //使用多个光源达到复合效果,点光源+环境光
  4441. // 创建一个球,材质
  4442. sphere = BABYLON.MeshBuilder.CreateSphere("sphere", { diameter: 1.2 }, scene)
  4443. const sphereTexture = new BABYLON.Texture("https://aframe.io/images/showcase/soundboxing.jpg", scene);
  4444. sphereTexture.vScale = 1;
  4445. sphereTexture.uScale = 1;
  4446. let sphereMaterial = new BABYLON.StandardMaterial("sphereMaterial", scene);
  4447. sphereMaterial.diffuseTexture = sphereTexture;
  4448. sphere.material = sphereMaterial;
  4449. sphere.position = new BABYLON.Vector3(0, 1, 0);
  4450. //自发光
  4451. sphere.material.emissiveColor = new BABYLON.Color3(1, 1, 1);
  4452. //环境光
  4453. sphere.ambientColor = new BABYLON.Color3(1, 1, 1);
  4454. //散射光
  4455. sphere.diffuseColor = new BABYLON.Color3(1, 1, 1);
  4456. //镜面光
  4457. sphere.specularColor = new BABYLON.Color3(0, 0, 0);
  4458. // 创建一个盒子,材质
  4459. box = BABYLON.MeshBuilder.CreateBox("box", {diameter: 1 }, scene);
  4460. const boxTexture = new BABYLON.Texture("https://aframe.io/images/showcase/musicalforest.jpg", scene);
  4461. boxTexture.vScale = 1;//在v(y)轴方向上同样长度内由五块原材质拼接
  4462. boxTexture.uScale = 1;//在u(x)轴方向上同样长度内由五块原材质拼接
  4463. let boxMaterial = new BABYLON.StandardMaterial("boxMaterial", scene);
  4464. boxMaterial.bumpTexture = new BABYLON.Texture("https://aframe.io/images/showcase/moonrider.jpg", scene);
  4465. //凹凸反向 凹凸映射是补色渲染技术(Phong Shading Technique)的一项扩展,只是在补色渲染里,多边形表面上的法线将被改变,这个向量用来计算该点的亮度
  4466. boxMaterial.invertNormalMapX = true;
  4467. boxMaterial.invertNormalMapY = true
  4468. // 透明度映射
  4469. boxMaterial.opacityTexture = new BABYLON.Texture("https://aframe.io/images/showcase/insidemusic.jpg", scene);
  4470. // 细节贴图可用于基础表面信息上覆盖第二组纹理
  4471. //boxMaterial.detailMap.texture = new BABYLON.Texture("https://aframe.io/images/showcase/beatsaverviewer.jpg", scene);
  4472. //boxMaterial.detailMap.isEnabled = true;
  4473. //boxMaterial.detailMap.diffuseBlendLevel = 0.1;
  4474. //boxMaterial.detailMap.bumpLevel = 1;
  4475. //boxMaterial.detailMap.roughnessBlendLevel = 0.25;
  4476. boxMaterial.alpha = 0.9;//材质透明度设置
  4477. boxMaterial.diffuseTexture = boxTexture;
  4478. box.material = boxMaterial;
  4479. box.position = new BABYLON.Vector3(0, 1, 0)
  4480. box.actionManager = new BABYLON.ActionManager(scene);
  4481. box.actionManager.registerAction(new BABYLON.ExecuteCodeAction(
  4482. BABYLON.ActionManager.OnLeftPickTrigger,
  4483. (event)=> {
  4484. const sourceBox = event.meshUnderPointer;
  4485. console.log('current click model %o', sourceBox.name);
  4486. //let pickResult = scene.pick(event.offsetX, event.offsetY);
  4487. //box.position = pickResult.ray.direction
  4488. // Set camera
  4489. //camera.lockedTarget = sourceBox;
  4490. }
  4491. ));
  4492. // 创建一个地面,材质
  4493. ground = BABYLON.MeshBuilder.CreateGround("gournd", {
  4494. width: 31,
  4495. height: 31,
  4496. depth: 10,
  4497. subdivisions: 1
  4498. });
  4499. ground.position = new BABYLON.Vector3(0, 0, 0);
  4500. ground.visibility = false;
  4501. BABYLON.NodeMaterial.ParseFromSnippetAsync("RHFLCX#11", scene).then(nodeMaterial => {
  4502. //ground.material = nodeMaterial;
  4503. const groundTexture = new BABYLON.Texture("https://aframe.io/images/showcase/supercraft.jpg", this.scene);
  4504. groundTexture.vScale = 1;
  4505. groundTexture.uScale = 1;
  4506. let groundMaterial = new BABYLON.StandardMaterial("groundMaterial", scene);
  4507. groundMaterial.diffuseTexture = groundTexture;
  4508. ground.material = groundMaterial;
  4509. ground.visibility = true;
  4510. let scaleFactor = nodeMaterial.getBlockByName("ScaleFactor");
  4511. scaleFactor.value = -0.5;
  4512. scene.debugLayer.show({ showExplorer: true, embedMode: true }).then(() => {
  4513. scene.debugLayer.select(ground.material, "INPUTS");
  4514. });
  4515. });
  4516. // Skybox天空盒子
  4517. let skybox = BABYLON.Mesh.CreateBox("skyBox", 5000.0, scene);
  4518. let skyboxMaterial = new BABYLON.StandardMaterial("skyBox", scene);
  4519. skyboxMaterial.backFaceCulling = false;
  4520. skyboxMaterial.reflectionTexture = new BABYLON.CubeTexture("https://www.babylonjs.com/assets/skybox/TropicalSunnyDay", scene);
  4521. skyboxMaterial.reflectionTexture.coordinatesMode = BABYLON.Texture.SKYBOX_MODE;
  4522. skyboxMaterial.diffuseColor = new BABYLON.Color3(0, 0, 0);
  4523. skyboxMaterial.specularColor = new BABYLON.Color3(0, 0, 0);
  4524. skyboxMaterial.disableLighting = true;
  4525. skybox.material = skyboxMaterial;
  4526. let hdrTexture = BABYLON.CubeTexture.CreateFromPrefilteredData("https://www.babylonjs-playground.com/textures/environment.dds", scene);
  4527. let currentSkybox = scene.createDefaultSkybox(hdrTexture, true);
  4528. const waterMaterial = new BABYLON.WaterMaterial("waterMaterial", scene, new BABYLON.Vector2(1024, 1024));
  4529. waterMaterial.backFaceCulling = true;
  4530. waterMaterial.bumpTexture = new BABYLON.Texture("https://www.babylonjs.com/assets/waterbump.png", scene);
  4531. //设置风力,决定了水波运动速度
  4532. waterMaterial.windForce = -5
  4533. waterMaterial.windDirection = new BABYLON.Vector2(1, 1);设置风向 x y
  4534. //设置水的波浪高度
  4535. waterMaterial.waveHeight = 0.1
  4536. //设置水纹理高度 凸起高度
  4537. waterMaterial.bumpHeight = 0.1
  4538. //设置波浪的长度
  4539. waterMaterial.waveLength = 0.3
  4540. //设置波浪运行速度
  4541. waterMaterial.waveSpeed = 5
  4542. //设置水的颜色
  4543. waterMaterial.waterColor = new BABYLON.Color3(0,0,0.6)
  4544. waterMaterial.colorBlendFactor = 0;
  4545. //自发光
  4546. waterMaterial.emissiveColor = new BABYLON.Color3(0,0,0.5)
  4547. //环境光
  4548. waterMaterial.ambientColor = new BABYLON.Color3(1, 1, 1);
  4549. //散射光
  4550. waterMaterial.diffuseColor = new BABYLON.Color3(1, 1, 1);
  4551. //镜面光
  4552. waterMaterial.specularColor = new BABYLON.Color3(0, 0, 0);
  4553. waterMaterial.alpha = 0.9;
  4554. // 冻结材质,优化渲染速度
  4555. waterMaterial.freeze();
  4556. //增加地板到水材质中,才能正常显示水 把需要透射在水面的东西添加到render层里
  4557. waterMaterial.addToRenderList(ground)
  4558. waterMaterial.addToRenderList(box)
  4559. waterMaterial.addToRenderList(sphere)
  4560. //修改水面大小、位置
  4561. const waterMesh = BABYLON.MeshBuilder.CreateGround("waterMesh", {
  4562. width: 20,
  4563. height: 10,
  4564. subdivisions: 1
  4565. });
  4566. waterMesh.position = new BABYLON.Vector3(0, 0, 0)
  4567. waterMesh.material = waterMaterial
  4568. // 创建一个物理世界
  4569. const world = new OIMO.World({
  4570. timestep: 1/60, // 物理世界的刷新频率,通常为60帧每秒,之前在项目中为了提高性能,降低cpu的消耗,将此值改为1/30即30帧每秒,导致原先计算准确的物理碰撞发生计算不灵敏的情况,尤其是在开启重力感应后,和重力感应相关的物理碰撞计算,建议尽量维持60帧,除非你所需要计算的内容对精度要求真的不高,只要模拟个大概。
  4571. iterations: 8,
  4572. broadphase: 2, // 1 brute force, 2 sweep and prune, 3 volume tree 碰撞检测算法类型,1 暴力算法 2 及/或扫掠裁减(sweep and prune)算法,这是目前市面上最常见的碰撞检测算法 3 volume tree算法(中文名不详)目前探究发现,使用2号算法是最稳定的,但是所要花费的性能也是最高的
  4573. worldscale: 1, // scale full world 物理世界的缩放
  4574. random: true, // randomize sample 是否使用随机样本
  4575. info: false, // calculate statistic or not
  4576. gravity: [0,-9.8,0] // 重力加速度的大小,x,y,z三个方向可设置
  4577. });
  4578. //向物理世界添加物体
  4579. /*const bodySphere = world.add({
  4580. type:'sphere1', // type of shape : sphere, box, cylinder
  4581. size:[1,1,1], // size of shape
  4582. pos:[0,0,0], // start position in degree
  4583. rot:[0,0,90], // start rotation in degree
  4584. move:true, // dynamic or statique
  4585. density: 1,
  4586. friction: 0.2,
  4587. restitution: 0.2,
  4588. belongsTo: 1, // The bits of the collision groups to which the shape belongs.
  4589. collidesWith: 0xffffffff // The bits of the collision groups with which the shape collides.
  4590. });*/
  4591. enableCameraCollision(camera, scene);
  4592. MeshesCollisionList.push(sphere)
  4593. MeshesCollisionList.push(box)
  4594. MeshesCollisionList.push(ground)
  4595. //启用物理引擎 Babylon.js 目前对两个物理引擎实施了界面: Cannon.js (cannonjs.org) 和 Oimo.js (github.com/lo-th/Oimo.js)。
  4596. scene.enablePhysics(new BABYLON.Vector3(0, -9.8, 0), new BABYLON.OimoJSPlugin());
  4597. //定义替身 Physics Add Imposters
  4598. box.physicsImpostor = new BABYLON.PhysicsImpostor(
  4599. box,
  4600. BABYLON.PhysicsEngine.BoxImpostor, {
  4601. mass: 500,
  4602. friction: 0.5,
  4603. restitution: 0.5
  4604. },
  4605. scene
  4606. );
  4607. sphere.physicsImpostor = new BABYLON.PhysicsImpostor(
  4608. sphere,
  4609. BABYLON.PhysicsEngine.SphereImpostor, {
  4610. mass: 500,
  4611. friction: 0.5,
  4612. restitution: 0.5
  4613. },
  4614. scene
  4615. );
  4616. ground.physicsImpostor = new BABYLON.PhysicsImpostor(
  4617. ground,
  4618. BABYLON.PhysicsImpostor.MeshImpostor,
  4619. {
  4620. mass: 0
  4621. },
  4622. scene
  4623. );
  4624. //移动球体 第一个变量是冲力的矢量,此处为 Y 轴上 10 个单位,重置场景时会转接。
  4625. // 第二个变量指定将作用力应用于对象的位置。
  4626. ball = sphere;
  4627. sphere.applyImpulse(new BABYLON.Vector3(0, 10, 0), box.getAbsolutePosition());
  4628. return scene
  4629. }
  4630. const scene = createScene()
  4631. //loadModels(file).load();
  4632. const nozzlesAssembly = new BABYLON.TransformNode("emitters_assembly");
  4633. config.nozzlesPos.forEach(nozzle => {
  4634. let nozzleNode = new BABYLON.TransformNode(nozzle.name);
  4635. nozzleNode.parent = nozzlesAssembly;
  4636. let boxWhite = BABYLON.MeshBuilder.CreateBox("", {height:1,width:1,depth:1,diameter: 1}, scene);
  4637. boxWhite.parent = nozzleNode;
  4638. nozzleNode.position = new BABYLON.Vector3(
  4639. nozzle.position[0],
  4640. nozzle.position[1],
  4641. nozzle.position[2]
  4642. );
  4643. nozzleNode.rotation = new BABYLON.Vector3(
  4644. nozzle.rotation[0],
  4645. nozzle.rotation[1],
  4646. nozzle.rotation[2]
  4647. );
  4648. let ps = createNozzleParticles(boxWhite, nozzle.name);
  4649. nozzleController.shipsParticles.push(ps);
  4650. //定义替身 Physics Add Imposters
  4651. boxWhite.physicsImpostor = new BABYLON.PhysicsImpostor(
  4652. boxWhite,
  4653. BABYLON.PhysicsEngine.BoxImpostor, {
  4654. mass: 500,
  4655. friction: 0.5,
  4656. restitution: 0.1
  4657. },
  4658. scene
  4659. );
  4660. MeshesCollisionList.push(boxWhite);
  4661. });
  4662. let mainVessel = scene.getMeshByName("box");
  4663. nozzlesAssembly.parent = mainVessel;
  4664. let compasBack = new BABYLON.GUI.Image("but", "https://aframe.io/images/showcase/soundboxing.jpg");
  4665. compasBack.widthInPixels = calcGuiSize(compasStyle.width);
  4666. compasBack.heightInPixels = calcGuiSize(compasStyle.height);
  4667. compasBack.cellId = 0;
  4668. compasBack.cellHeight = 300;
  4669. compasBack.cellWidth = 300;
  4670. compasBack.rotation = 0;
  4671. nozzleController.compas = compasBack;
  4672. let controlPanel = new BABYLON.GUI.Rectangle("controlPanel");
  4673. controlPanel.horizontalAlignment = BABYLON.GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;
  4674. controlPanel.verticalAlignment = BABYLON.GUI.Control.VERTICAL_ALIGNMENT_BOTTOM;
  4675. controlPanel.widthInPixels = calcGuiSize(controlPanelStyles.collapsed.width);
  4676. controlPanel.heightInPixels = calcGuiSize(controlPanelStyles.collapsed.height);
  4677. controlPanel.topInPixels = calcGuiSize(controlPanelStyles.top);
  4678. controlPanel.leftInPixels = calcGuiSize(controlPanelStyles.left);
  4679. controlPanel.cornerRadius = calcGuiSize(controlPanelStyles.cornerRadius);
  4680. controlPanel.isPointerBlocker = true;
  4681. controlPanel.background = controlPanelStyles.backgroundColor;
  4682. controlPanel.color = controlPanelStyles.outlineColor;
  4683. controlPanel.thickness = 0;
  4684. controlPanel.shadowColor = controlPanelStyles.shadows.color;
  4685. controlPanel.shadowOffsetX = controlPanelStyles.shadows.x;
  4686. controlPanel.shadowOffsetY = controlPanelStyles.shadows.y;
  4687. controlPanel.shadowBlur = controlPanelStyles.shadows.blur;
  4688. displays.forEach((display, i) => {
  4689. let displayPanel = new BABYLON.GUI.Rectangle(display.name);
  4690. displayPanel.horizontalAlignment = BABYLON.GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;
  4691. displayPanel.verticalAlignment = BABYLON.GUI.Control.VERTICAL_ALIGNMENT_BOTTOM;
  4692. displayPanel.widthInPixels = calcGuiSize(display.width);
  4693. displayPanel.heightInPixels = calcGuiSize(display.height);
  4694. displayPanel.topInPixels = calcGuiSize(-70);
  4695. displayPanel.leftInPixels = display.width * dpi * i + 30;
  4696. displayPanel.thickness = 0;
  4697. displayPanel.paddingLeftInPixels = calcGuiSize(5);
  4698. displayPanel.paddingRightInPixels = calcGuiSize(5);
  4699. let title = new BABYLON.GUI.TextBlock("title");
  4700. title.verticalAlignment = BABYLON.GUI.Control.VERTICAL_ALIGNMENT_BOTTOM;
  4701. title.text = display.text;
  4702. title.color = "white";
  4703. title.topInPixels = calcGuiSize(-26);
  4704. title.fontSizeInPixels = calcGuiSize(9);
  4705. title.heightInPixels = calcGuiSize(14);
  4706. displayPanel.addControl(title);
  4707. display.elements.forEach((element, i) => {
  4708. let rect = new BABYLON.GUI.Rectangle("rect");
  4709. rect.horizontalAlignment = BABYLON.GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;
  4710. rect.verticalAlignment = BABYLON.GUI.Control.VERTICAL_ALIGNMENT_BOTTOM;
  4711. rect.widthInPixels = calcGuiSize(8);
  4712. rect.heightInPixels = calcGuiSize(20);
  4713. rect.leftInPixels = (rect.widthInPixels + 5) * i + dpi;
  4714. rect.topInPixels = calcGuiSize(-6);
  4715. displayPanel.addControl(rect);
  4716. });
  4717. controlPanel.addControl(displayPanel);
  4718. nozzleController.displays.push(displayPanel);
  4719. });
  4720. const spriteManager = new BABYLON.SpriteManager("spriteManager", Assets.sprites.ufo_png.path, 1, {width: 128, height: 76}, scene);
  4721. sprite1 = new BABYLON.Sprite("sprite1", spriteManager);
  4722. sprite1.size = 1;
  4723. sprite1.playAnimation(0, 16, true, 300);
  4724. sprite1.position = new BABYLON.Vector3(0,3,0);
  4725. //Babylonjs也提供了自己的事件,使用observable监听 html原生事件
  4726. scene.onBeforePhysicsObservable.add(meshNodeAnimate);
  4727. canvas.addEventListener('keydown', onKeyDown, false);
  4728. canvas.addEventListener('keyup', onKeyUp, false);
  4729. //Babylon.js 提供了一系列观察者 observable,用于监听事件
  4730. //scene.onBeforeRenderObservable 每帧监听
  4731. //scene.onPointerObservable 监听点击/拖拽/手势/键盘等
  4732. scene.onKeyboardObservable.add(kbInfo => {
  4733. switch (kbInfo.type) {
  4734. case BABYLON.KeyboardEventTypes.KEYDOWN:
  4735. console.log('按键: ', kbInfo.event.key);
  4736. break;
  4737. case BABYLON.KeyboardEventTypes.KEYUP:
  4738. console.log('抬起按键: ', kbInfo.event.keyCode);
  4739. break;
  4740. }
  4741. });
  4742. scene.onPointerObservable.add(pointerInfo => {
  4743. switch (pointerInfo.type) {
  4744. case BABYLON.PointerEventTypes.POINTERDOWN:
  4745. console.log('按下');
  4746. break;
  4747. case BABYLON.PointerEventTypes.POINTERUP:
  4748. console.log('抬起');
  4749. break;
  4750. case BABYLON.PointerEventTypes.POINTERMOVE:
  4751. console.log('移动');
  4752. break;
  4753. case BABYLON.PointerEventTypes.POINTERWHEEL:
  4754. console.log('滚轮');
  4755. break;
  4756. case BABYLON.PointerEventTypes.POINTERTAP:
  4757. console.log('点击');
  4758. break;
  4759. case BABYLON.PointerEventTypes.POINTERDOUBLETAP:
  4760. console.log('双击');
  4761. sprite1.size = 0;
  4762. break;
  4763. }
  4764. });
  4765. let strengthCounter = 5;
  4766. let counterUp = function() {
  4767. strengthCounter += 0.5;
  4768. }
  4769. // This function will be called on pointer-down events.
  4770. scene.onPointerDown = function(evt, pickInfo) {
  4771. // Start increasing the strength counter.
  4772. scene.registerBeforeRender(counterUp);
  4773. }
  4774. // This function will be called on pointer-up events.
  4775. scene.onPointerUp = function(evt, pickInfo) {
  4776. if (pickInfo.hit) {
  4777. // Calculate the direction using the picked point and the sphere's position.
  4778. let direction = pickInfo.pickedPoint.subtract(sphere.position);
  4779. // To be able to apply scaling correctly, normalization is required.
  4780. direction = direction.normalize();
  4781. // Give it a bit more power (scale the normalized direction).
  4782. let impulse = direction.scale(0.5);
  4783. // Apply the impulse (and throw the sphere).
  4784. sphere.applyImpulse(impulse, new BABYLON.Vector3(0, 0, 0));
  4785. }
  4786. // Stop increasing the strength counter.
  4787. scene.unregisterBeforeRender(counterUp);
  4788. // Calculate throw direction.
  4789. let direction = pickInfo.pickedPoint.subtract(sphere.position).normalize();
  4790. // Impulse is multiplied with the strength counter with max value of 25.
  4791. let impulse = direction.scale(Math.min(strengthCounter, 25));
  4792. // Apply the impulse.
  4793. sphere.applyImpulse(impulse, sphere.getAbsolutePosition());
  4794. // Register a function that will run before each render call
  4795. scene.registerBeforeRender(function ballCheck() {
  4796. if (sphere.intersectsMesh(ground, false)) {
  4797. // The sphere intersects with the ground, stop checking its position.
  4798. scene.unregisterBeforeRender(ballCheck);
  4799. // Let the ball roll around for 1.5 seconds before resetting it.
  4800. setTimeout(()=> {
  4801. let newPosition = scene.cameras[0].position.clone();
  4802. newPosition.x /= 100;
  4803. newPosition.y /= 100;
  4804. newPosition.z /= 100;
  4805. resetSphere(sphere, newPosition);
  4806. }, 1000);
  4807. }
  4808. });
  4809. strengthCounter = 5;
  4810. }
  4811. let leftBox = BABYLON.MeshBuilder.CreateBox("box", {height:5,width:30,depth:1,diameter: 1}, scene);
  4812. // Create a material for the scoreboard.
  4813. leftBox.material = new BABYLON.StandardMaterial("scoradboardMat", scene);
  4814. leftBox.position = new BABYLON.Vector3(0,2,15);
  4815. let rightBox = BABYLON.MeshBuilder.CreateBox("box", {height:5,width:30,depth:1,diameter: 1}, scene);
  4816. // Create a material for the scoreboard.
  4817. rightBox.material = new BABYLON.StandardMaterial("scoradboardMat", scene);
  4818. rightBox.position = new BABYLON.Vector3(0,2,-15);
  4819. let frontBox = BABYLON.MeshBuilder.CreateBox("box", {height:5,width:1,depth:30,diameter: 1}, scene);
  4820. // Create a material for the scoreboard.
  4821. frontBox.material = new BABYLON.StandardMaterial("scoradboardMat", scene);
  4822. frontBox.position = new BABYLON.Vector3(15,2,0);
  4823. let backBox = BABYLON.MeshBuilder.CreateBox("box", {height:5,width:1,depth:30,diameter: 1}, scene);
  4824. // Create a material for the scoreboard.
  4825. backBox.material = new BABYLON.StandardMaterial("scoradboardMat", scene);
  4826. backBox.position = new BABYLON.Vector3(-15,2,0);
  4827. //定义替身 Physics Add Imposters
  4828. leftBox.physicsImpostor = new BABYLON.PhysicsImpostor(
  4829. leftBox,
  4830. BABYLON.PhysicsEngine.BoxImpostor, {
  4831. mass: 0
  4832. },
  4833. scene
  4834. );
  4835. MeshesCollisionList.push(leftBox);
  4836. //定义替身 Physics Add Imposters
  4837. rightBox.physicsImpostor = new BABYLON.PhysicsImpostor(
  4838. rightBox,
  4839. BABYLON.PhysicsEngine.BoxImpostor, {
  4840. mass: 0
  4841. },
  4842. scene
  4843. );
  4844. MeshesCollisionList.push(rightBox);
  4845. //定义替身 Physics Add Imposters
  4846. frontBox.physicsImpostor = new BABYLON.PhysicsImpostor(
  4847. frontBox,
  4848. BABYLON.PhysicsEngine.BoxImpostor, {
  4849. mass: 0
  4850. },
  4851. scene
  4852. );
  4853. MeshesCollisionList.push(frontBox);
  4854. //定义替身 Physics Add Imposters
  4855. backBox.physicsImpostor = new BABYLON.PhysicsImpostor(
  4856. backBox,
  4857. BABYLON.PhysicsEngine.BoxImpostor, {
  4858. mass: 0
  4859. },
  4860. scene
  4861. );
  4862. MeshesCollisionList.push(backBox);
  4863. //启用网格碰撞检查
  4864. enableMeshesCollision(MeshesCollisionList);
  4865. // 掷球时创建跟随照相机
  4866. let followCamera = new BABYLON.FollowCamera("followCamera", ball.position, scene);
  4867. followCamera.radius = 1.5; // How far from the object should the camera be.
  4868. followCamera.heightOffset = 0.8; // How high above the object should it be.
  4869. followCamera.rotationOffset = 180; // The camera's angle. here - from behind.
  4870. followCamera.cameraAcceleration = 0.5 // Acceleration of the camera.
  4871. followCamera.maxCameraSpeed = 20; // The camera's max speed.
  4872. // 创建一个可获得球位置,而不是其旋转状态的跟随对象
  4873. // Create a very small simple mesh.
  4874. let followObject = BABYLON.Mesh.CreateBox("followObject", 0.5, scene);
  4875. // Set its position to be the same as the ball's position.
  4876. followObject.position = ball.position;
  4877. // 照相机将跟随与球一起移动的跟随照相机。
  4878. followCamera.target = followObject;
  4879. // 照相机需要的最后一个配置是视区。每个照相机可以定义将使用的屏幕空间。
  4880. // let viewport = new BABYLON.Viewport(xPosition, yPosition, width, height);
  4881. followCamera.viewport = new BABYLON.Viewport(0.0, 0.0, 1, 1);
  4882. scene.onPrePointerObservable.add(onPointerDown,BABYLON.PointerEventTypes.POINTERDOWN);
  4883. scene.onDispose = onDispose();
  4884. // 确保场景的每帧更新渲染,循环loop
  4885. engine.runRenderLoop( ()=> {
  4886. scene.render()
  4887. })
  4888. // 更新引擎尺寸resize
  4889. window.addEventListener("resize", ()=> {
  4890. engine.resize()
  4891. })
  4892. </script>
  4893. </body>
  4894. </html>

09f03304a60f4657b0dea9e9d0b9f69c.png

d5d8c9bf571f4cfab0815b5bee7399d6.png

ccbe3323f3664e2ba4cb3146725039b8.png

参见:

游戏开发 - Babylon.js: 用于改进您的首个 Web 游戏的高级功能 | Microsoft Learn

Babylon.js 简介和 WebXR 教程 - Mixed Reality | Microsoft Learn

一步一步的引导你学会babylon引擎

Babylon.js Playground

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号