audio.html 66 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714
  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">
  6. <title>Audio in jME3 :: jMonkeyEngine Docs</title>
  7. <link rel="canonical" href="https://wiki.jmonkeyengine.org/docs/3.8/core/audio/audio.html">
  8. <link rel="prev" href="../material/normal_types.html">
  9. <link rel="next" href="audio_environment_presets.html">
  10. <meta name="keywords" content="sound, documentation, environment">
  11. <meta name="generator" content="Antora 3.0.1">
  12. <link rel="stylesheet" href="../../../../_/css/site.css">
  13. <meta property="og:image" content="https://wiki.jmonkeyengine.org/_/img/iconx128.png">
  14. <meta property="og:description" content="Audio in jME3">
  15. <meta property="og:title" content="jMonkeyEngine Docs">
  16. <link rel="stylesheet" href="../../../../_/css/site-extra.css">
  17. <link rel="stylesheet" href="../../../../_/css/vendor/docsearch.min.css">
  18. <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css -->
  19. <link rel="icon" href="../../../../_/img/favicon.ico" type="image/x-icon">
  20. </head>
  21. <body class="article">
  22. <header class="header">
  23. <nav class="navbar">
  24. <div class="navbar-brand">
  25. <a class="navbar-item" href="https://wiki.jmonkeyengine.org">
  26. <img alt="" src="../../../../_/img/jme-logo.png" height="32" type="image/x-icon">
  27. </a>
  28. <div class="navbar-item hide-for-print">
  29. <input id="search-input" type="text" placeholder="Search docs">
  30. </div>
  31. <button class="navbar-burger" data-target="topbar-nav">
  32. <span></span>
  33. <span></span>
  34. <span></span>
  35. </button>
  36. </div>
  37. <div id="topbar-nav" class="navbar-menu">
  38. <div class="navbar-end">
  39. <div class="navbar-item theme-switch-wrapper">
  40. <label class="theme-switch" for="checkbox">
  41. <input type="checkbox" id="checkbox" />
  42. <div class="slider round"></div>
  43. </label>
  44. </div>
  45. <a class="navbar-item" href="https://github.com/jmonkeyengine/wiki">Github</a>
  46. </div>
  47. </div>
  48. </nav>
  49. </header>
  50. <div class="body">
  51. <div class="nav-container" data-component="docs" data-version="3.8">
  52. <aside class="nav">
  53. <div class="panels">
  54. <div class="nav-panel-menu is-active" data-panel="menu">
  55. <nav class="nav-menu">
  56. <h3 class="title"><a href="../../documentation.html">JME</a></h3>
  57. <ul class="nav-list">
  58. <li class="nav-item" data-depth="0">
  59. <ul class="nav-list">
  60. <li class="nav-item" data-depth="1">
  61. <a class="nav-link" href="../../documentation.html">Getting Started</a>
  62. </li>
  63. <li class="nav-item" data-depth="1">
  64. <a class="nav-link" href="https://javadoc.jmonkeyengine.org/v3.4.1-stable">JavaDoc</a>
  65. </li>
  66. <li class="nav-item" data-depth="1">
  67. <a class="nav-link" href="../../release.html">Release Guide</a>
  68. </li>
  69. </ul>
  70. </li>
  71. <li class="nav-item" data-depth="0">
  72. <ul class="nav-list">
  73. <li class="nav-item" data-depth="1">
  74. <button class="nav-item-toggle"></button>
  75. <a class="nav-link" href="../../tutorials/beginner/beginner.html">Beginner Tutorials</a>
  76. <ul class="nav-list">
  77. <li class="nav-item" data-depth="2">
  78. <a class="nav-link" href="../../tutorials/beginner/hello_simpleapplication.html">Hello SimpleApplication</a>
  79. </li>
  80. <li class="nav-item" data-depth="2">
  81. <a class="nav-link" href="../../tutorials/beginner/hello_node.html">Hello Node</a>
  82. </li>
  83. <li class="nav-item" data-depth="2">
  84. <a class="nav-link" href="../../tutorials/beginner/hello_asset.html">Hello Asset</a>
  85. </li>
  86. <li class="nav-item" data-depth="2">
  87. <a class="nav-link" href="../../tutorials/beginner/hello_main_event_loop.html">Hello Update Loop</a>
  88. </li>
  89. <li class="nav-item" data-depth="2">
  90. <a class="nav-link" href="../../tutorials/beginner/hello_input_system.html">Hello Input System</a>
  91. </li>
  92. <li class="nav-item" data-depth="2">
  93. <a class="nav-link" href="../../tutorials/beginner/hello_material.html">Hello Material</a>
  94. </li>
  95. <li class="nav-item" data-depth="2">
  96. <a class="nav-link" href="../../tutorials/beginner/hello_animation.html">Hello Animation</a>
  97. </li>
  98. <li class="nav-item" data-depth="2">
  99. <a class="nav-link" href="../../tutorials/beginner/hello_picking.html">Hello Picking</a>
  100. </li>
  101. <li class="nav-item" data-depth="2">
  102. <a class="nav-link" href="../../tutorials/beginner/hello_collision.html">Hello Collision</a>
  103. </li>
  104. <li class="nav-item" data-depth="2">
  105. <a class="nav-link" href="../../tutorials/beginner/hello_terrain.html">Hello Terrain</a>
  106. </li>
  107. <li class="nav-item" data-depth="2">
  108. <a class="nav-link" href="../../tutorials/beginner/hello_audio.html">Hello Audio</a>
  109. </li>
  110. <li class="nav-item" data-depth="2">
  111. <a class="nav-link" href="../../tutorials/beginner/hello_effects.html">Hello Effects</a>
  112. </li>
  113. <li class="nav-item" data-depth="2">
  114. <a class="nav-link" href="../../tutorials/beginner/hello_physics.html">Hello Physics</a>
  115. </li>
  116. </ul>
  117. </li>
  118. <li class="nav-item" data-depth="1">
  119. <button class="nav-item-toggle"></button>
  120. <span class="nav-text">Key Concepts</span>
  121. <ul class="nav-list">
  122. <li class="nav-item" data-depth="2">
  123. <a class="nav-link" href="../../tutorials/concepts/best_practices.html">Best Practices</a>
  124. </li>
  125. <li class="nav-item" data-depth="2">
  126. <a class="nav-link" href="../../tutorials/concepts/optimization.html">Optimization</a>
  127. </li>
  128. <li class="nav-item" data-depth="2">
  129. <a class="nav-link" href="../../tutorials/concepts/faq.html">Frequently Asked Questions</a>
  130. </li>
  131. <li class="nav-item" data-depth="2">
  132. <a class="nav-link" href="../../tutorials/concepts/math_for_dummies.html">Math for Dummies</a>
  133. </li>
  134. <li class="nav-item" data-depth="2">
  135. <a class="nav-link" href="../../tutorials/concepts/math.html">Math overview</a>
  136. </li>
  137. <li class="nav-item" data-depth="2">
  138. <a class="nav-link" href="../../tutorials/concepts/math_cheet_sheet.html">3D math "cheat sheet"</a>
  139. </li>
  140. <li class="nav-item" data-depth="2">
  141. <a class="nav-link" href="../../tutorials/concepts/rotate.html">3-D Rotation</a>
  142. </li>
  143. <li class="nav-item" data-depth="2">
  144. <a class="nav-link" href="../../tutorials/concepts/math_video_tutorials.html">Math video tutorial series</a>
  145. </li>
  146. <li class="nav-item" data-depth="2">
  147. <a class="nav-link" href="../../tutorials/concepts/multi-media_asset_pipeline.html">Multi-Media Asset Pipeline</a>
  148. </li>
  149. <li class="nav-item" data-depth="2">
  150. <a class="nav-link" href="../../tutorials/concepts/the_scene_graph.html">The Scene Graph</a>
  151. </li>
  152. <li class="nav-item" data-depth="2">
  153. <a class="nav-link" href="../../tutorials/concepts/scenegraph_for_dummies.html">Scene Graph for Dummies</a>
  154. </li>
  155. <li class="nav-item" data-depth="2">
  156. <a class="nav-link" href="../../tutorials/concepts/terminology.html">3D Graphics Terminology</a>
  157. </li>
  158. <li class="nav-item" data-depth="2">
  159. <a class="nav-link" href="../../tutorials/concepts/transparency_sorting.html">Transparency Sorting</a>
  160. </li>
  161. </ul>
  162. </li>
  163. <li class="nav-item" data-depth="1">
  164. <button class="nav-item-toggle"></button>
  165. <span class="nav-text">Articles and How-to&#8217;s</span>
  166. <ul class="nav-list">
  167. <li class="nav-item" data-depth="2">
  168. <button class="nav-item-toggle"></button>
  169. <span class="nav-text">How to Model</span>
  170. <ul class="nav-list">
  171. <li class="nav-item" data-depth="3">
  172. <a class="nav-link" href="../../tutorials/how-to/modeling/3dsmax/3dsmax.html">3dsmax</a>
  173. </li>
  174. <li class="nav-item" data-depth="3">
  175. <button class="nav-item-toggle"></button>
  176. <a class="nav-link" href="../../tutorials/how-to/modeling/blender/blender.html">Blender</a>
  177. <ul class="nav-list">
  178. <li class="nav-item" data-depth="4">
  179. <a class="nav-link" href="../../tutorials/how-to/modeling/blender/blender_buffer_clearing.html">Buffer Clearing</a>
  180. </li>
  181. <li class="nav-item" data-depth="4">
  182. <a class="nav-link" href="../../tutorials/how-to/modeling/blender/blender_gltf.html">Export as GlTF</a>
  183. </li>
  184. <li class="nav-item" data-depth="4">
  185. <a class="nav-link" href="../../tutorials/how-to/modeling/blender/blender_ogre_export.html">Export as Ogre XML</a>
  186. </li>
  187. <li class="nav-item" data-depth="4">
  188. <a class="nav-link" href="../../tutorials/how-to/modeling/blender/blender_ogre_compatibility.html">Ogre Compatibility</a>
  189. </li>
  190. <li class="nav-item" data-depth="4">
  191. <a class="nav-link" href="../../tutorials/how-to/modeling/blender/makehuman.html">MakeHuman</a>
  192. </li>
  193. <li class="nav-item" data-depth="4">
  194. <a class="nav-link" href="../../tutorials/how-to/modeling/blender/makehuman_blender_ogrexml_toolchain.html">MakeHuman toolchain</a>
  195. </li>
  196. </ul>
  197. </li>
  198. </ul>
  199. </li>
  200. <li class="nav-item" data-depth="2">
  201. <button class="nav-item-toggle"></button>
  202. <span class="nav-text">How to Animate</span>
  203. <ul class="nav-list">
  204. <li class="nav-item" data-depth="3">
  205. <button class="nav-item-toggle"></button>
  206. <span class="nav-text">Mixamo</span>
  207. <ul class="nav-list">
  208. <li class="nav-item" data-depth="4">
  209. <a class="nav-link" href="../../tutorials/how-to/modeling/blender/mixamo.html">Blender Models</a>
  210. </li>
  211. </ul>
  212. </li>
  213. </ul>
  214. </li>
  215. <li class="nav-item" data-depth="2">
  216. <a class="nav-link" href="../../tutorials/how-to/debugging.html">Debugging with Wireframes</a>
  217. </li>
  218. <li class="nav-item" data-depth="2">
  219. <a class="nav-link" href="../../tutorials/how-to/util/free_skymaps.html">How to create free skymaps</a>
  220. </li>
  221. <li class="nav-item" data-depth="2">
  222. <button class="nav-item-toggle"></button>
  223. <span class="nav-text">Java Tips</span>
  224. <ul class="nav-list">
  225. <li class="nav-item" data-depth="3">
  226. <a class="nav-link" href="../../tutorials/how-to/java/localization.html">Localization</a>
  227. </li>
  228. <li class="nav-item" data-depth="3">
  229. <a class="nav-link" href="../../tutorials/how-to/java/swing_canvas.html">Swing Canvas</a>
  230. </li>
  231. <li class="nav-item" data-depth="3">
  232. <a class="nav-link" href="../../tutorials/how-to/java/logging.html">Logging</a>
  233. </li>
  234. <li class="nav-item" data-depth="3">
  235. <a class="nav-link" href="../../tutorials/how-to/java/read_graphic_card_capabilites.html">Read Graphics Capabilities</a>
  236. </li>
  237. </ul>
  238. </li>
  239. <li class="nav-item" data-depth="2">
  240. <button class="nav-item-toggle"></button>
  241. <span class="nav-text">Articles</span>
  242. <ul class="nav-list">
  243. <li class="nav-item" data-depth="3">
  244. <button class="nav-item-toggle"></button>
  245. <span class="nav-text">Physically Based Rendering</span>
  246. <ul class="nav-list">
  247. <li class="nav-item" data-depth="4">
  248. <a class="nav-link" href="../../tutorials/how-to/articles/pbr/pbr_part1.html">PBR – Part one</a>
  249. </li>
  250. <li class="nav-item" data-depth="4">
  251. <a class="nav-link" href="../../tutorials/how-to/articles/pbr/pbr_part2.html">PBR – Part two</a>
  252. </li>
  253. <li class="nav-item" data-depth="4">
  254. <a class="nav-link" href="../../tutorials/how-to/articles/pbr/pbr_part3.html">PBR – Part three</a>
  255. </li>
  256. </ul>
  257. </li>
  258. </ul>
  259. </li>
  260. </ul>
  261. </li>
  262. </ul>
  263. </li>
  264. <li class="nav-item" data-depth="0">
  265. <ul class="nav-list">
  266. <li class="nav-item" data-depth="1">
  267. <button class="nav-item-toggle"></button>
  268. <span class="nav-text">Core Engine</span>
  269. <ul class="nav-list">
  270. <li class="nav-item" data-depth="2">
  271. <a class="nav-link" href="../app/simpleapplication.html">SimpleApplication</a>
  272. </li>
  273. <li class="nav-item" data-depth="2">
  274. <a class="nav-link" href="../system/appsettings.html">AppSettings</a>
  275. </li>
  276. </ul>
  277. </li>
  278. <li class="nav-item" data-depth="1">
  279. <button class="nav-item-toggle"></button>
  280. <span class="nav-text">Controlling Game Logic</span>
  281. <ul class="nav-list">
  282. <li class="nav-item" data-depth="2">
  283. <a class="nav-link" href="../app/update_loop.html">Update Loop</a>
  284. </li>
  285. <li class="nav-item" data-depth="2">
  286. <a class="nav-link" href="../app/state/application_states.html">Application States</a>
  287. </li>
  288. <li class="nav-item" data-depth="2">
  289. <button class="nav-item-toggle"></button>
  290. <a class="nav-link" href="../scene/control/custom_controls.html">Custom Controls</a>
  291. <ul class="nav-list">
  292. <li class="nav-item" data-depth="3">
  293. <button class="nav-item-toggle"></button>
  294. <span class="nav-text">Video</span>
  295. <ul class="nav-list">
  296. <li class="nav-item" data-depth="4">
  297. <a class="nav-link" href="https://www.youtube.com/watch?v=MNDiZ9YHIpM">Control any scene node</a>
  298. </li>
  299. <li class="nav-item" data-depth="4">
  300. <a class="nav-link" href="https://www.youtube.com/watch?v=-OzRZscLlHY">Control a character</a>
  301. </li>
  302. <li class="nav-item" data-depth="4">
  303. <a class="nav-link" href="https://wiki.jmonkeyengine.org/Scenes/SDK-UsecaseDemo_1.zip">Video Source Code</a>
  304. </li>
  305. </ul>
  306. </li>
  307. </ul>
  308. </li>
  309. <li class="nav-item" data-depth="2">
  310. <a class="nav-link" href="../app/multithreading.html">Multithreading</a>
  311. </li>
  312. </ul>
  313. </li>
  314. <li class="nav-item" data-depth="1">
  315. <button class="nav-item-toggle"></button>
  316. <span class="nav-text">Scene Graph</span>
  317. <ul class="nav-list">
  318. <li class="nav-item" data-depth="2">
  319. <a class="nav-link" href="../scene/traverse_scenegraph.html">Traverse SceneGraph</a>
  320. </li>
  321. <li class="nav-item" data-depth="2">
  322. <a class="nav-link" href="../scene/spatial.html">Spatial: Node vs Geometry</a>
  323. </li>
  324. <li class="nav-item" data-depth="2">
  325. <button class="nav-item-toggle"></button>
  326. <a class="nav-link" href="../scene/mesh.html">Mesh</a>
  327. <ul class="nav-list">
  328. <li class="nav-item" data-depth="3">
  329. <a class="nav-link" href="../scene/custom_meshes.html">Custom Meshes</a>
  330. </li>
  331. <li class="nav-item" data-depth="3">
  332. <a class="nav-link" href="../scene/shape/shape.html">Shape</a>
  333. </li>
  334. <li class="nav-item" data-depth="3">
  335. <a class="nav-link" href="../scene/3d_models.html">3D Models</a>
  336. </li>
  337. </ul>
  338. </li>
  339. <li class="nav-item" data-depth="2">
  340. <a class="nav-link" href="../asset/asset_manager.html">Asset Manager</a>
  341. </li>
  342. <li class="nav-item" data-depth="2">
  343. <a class="nav-link" href="../export/save_and_load.html">Saving and Loading Nodes</a>
  344. </li>
  345. <li class="nav-item" data-depth="2">
  346. <a class="nav-link" href="../collision/collision_and_intersection.html">Collision and Intersection</a>
  347. </li>
  348. <li class="nav-item" data-depth="2">
  349. <a class="nav-link" href="../scene/control/level_of_detail.html">Level of Detail</a>
  350. </li>
  351. </ul>
  352. </li>
  353. <li class="nav-item" data-depth="1">
  354. <button class="nav-item-toggle"></button>
  355. <span class="nav-text">Animation, Scene</span>
  356. <ul class="nav-list">
  357. <li class="nav-item" data-depth="2">
  358. <a class="nav-link" href="../animation/animation_new.html">Animation with AnimComposer</a>
  359. </li>
  360. <li class="nav-item" data-depth="2">
  361. <a class="nav-link" href="../animation/animation.html">Animation-Old (AnimControl)</a>
  362. </li>
  363. <li class="nav-item" data-depth="2">
  364. <a class="nav-link" href="../cinematic/cinematics.html">Cinematics (cutscenes, fake destruction physics)</a>
  365. </li>
  366. <li class="nav-item" data-depth="2">
  367. <a class="nav-link" href="../cinematic/motionpath.html">MotionPaths and Waypoints</a>
  368. </li>
  369. </ul>
  370. </li>
  371. <li class="nav-item" data-depth="1">
  372. <button class="nav-item-toggle"></button>
  373. <span class="nav-text">Material, Light, Shadow</span>
  374. <ul class="nav-list">
  375. <li class="nav-item" data-depth="2">
  376. <a class="nav-link" href="../material/how_to_use_materials.html">How to use Materials</a>
  377. </li>
  378. <li class="nav-item" data-depth="2">
  379. <a class="nav-link" href="../material/j3m_material_files.html">.j3m Material Files</a>
  380. </li>
  381. <li class="nav-item" data-depth="2">
  382. <a class="nav-link" href="../material/material_definitions.html">.j3md Material Definitions</a>
  383. </li>
  384. <li class="nav-item" data-depth="2">
  385. <a class="nav-link" href="../material/materials_overview.html">.j3md Properties</a>
  386. </li>
  387. <li class="nav-item" data-depth="2">
  388. <a class="nav-link" href="../shader/jme3_shaders.html">Shaders and JME3</a>
  389. </li>
  390. <li class="nav-item" data-depth="2">
  391. <a class="nav-link" href="../shader/jme3_shadernodes.html">Shader Node System</a>
  392. </li>
  393. <li class="nav-item" data-depth="2">
  394. <a class="nav-link" href="../shader/shader_video_tutorials.html">Shader Video Tutorials</a>
  395. </li>
  396. <li class="nav-item" data-depth="2">
  397. <a class="nav-link" href="../light/light_and_shadow.html">Light and Shadow</a>
  398. </li>
  399. <li class="nav-item" data-depth="2">
  400. <a class="nav-link" href="../texture/anisotropic_filtering.html">Anisotropic Filtering</a>
  401. </li>
  402. <li class="nav-item" data-depth="2">
  403. <a class="nav-link" href="../system/jme3_srgbpipeline.html">Gamma Correction</a>
  404. </li>
  405. <li class="nav-item" data-depth="2">
  406. <a class="nav-link" href="../material/normal_types.html">Normal Map Conventions</a>
  407. </li>
  408. </ul>
  409. </li>
  410. <li class="nav-item" data-depth="1">
  411. <button class="nav-item-toggle"></button>
  412. <span class="nav-text">Audio, Video</span>
  413. <ul class="nav-list">
  414. <li class="nav-item is-current-page" data-depth="2">
  415. <a class="nav-link" href="audio.html">Playing Sounds</a>
  416. </li>
  417. <li class="nav-item" data-depth="2">
  418. <a class="nav-link" href="audio_environment_presets.html">Audio Environment Presets</a>
  419. </li>
  420. <li class="nav-item" data-depth="2">
  421. <a class="nav-link" href="../app/state/screenshots.html">Capture Screenshots</a>
  422. </li>
  423. <li class="nav-item" data-depth="2">
  424. <a class="nav-link" href="../app/state/capture_audio_video_to_a_file.html">Capture Audio/Video</a>
  425. </li>
  426. </ul>
  427. </li>
  428. <li class="nav-item" data-depth="1">
  429. <button class="nav-item-toggle"></button>
  430. <span class="nav-text">Filter, Effect</span>
  431. <ul class="nav-list">
  432. <li class="nav-item" data-depth="2">
  433. <a class="nav-link" href="../effect/effects_overview.html">Overview</a>
  434. </li>
  435. <li class="nav-item" data-depth="2">
  436. <a class="nav-link" href="../effect/bloom_and_glow.html">Bloom and Glow</a>
  437. </li>
  438. <li class="nav-item" data-depth="2">
  439. <a class="nav-link" href="../effect/particle_emitters.html">Particle Emitters</a>
  440. </li>
  441. </ul>
  442. </li>
  443. <li class="nav-item" data-depth="1">
  444. <button class="nav-item-toggle"></button>
  445. <span class="nav-text">Landscapes</span>
  446. <ul class="nav-list">
  447. <li class="nav-item" data-depth="2">
  448. <a class="nav-link" href="../util/sky.html">Sky</a>
  449. </li>
  450. <li class="nav-item" data-depth="2">
  451. <a class="nav-link" href="../terrain/terrain.html">Terrain (TerraMonkey)</a>
  452. </li>
  453. <li class="nav-item" data-depth="2">
  454. <a class="nav-link" href="../collision/terrain_collision.html">Terrain Collision</a>
  455. </li>
  456. <li class="nav-item" data-depth="2">
  457. <a class="nav-link" href="../effect/water.html">Simple Water</a>
  458. </li>
  459. <li class="nav-item" data-depth="2">
  460. <a class="nav-link" href="../effect/post-processor_water.html">Post-Processor Water</a>
  461. </li>
  462. </ul>
  463. </li>
  464. <li class="nav-item" data-depth="1">
  465. <button class="nav-item-toggle"></button>
  466. <span class="nav-text">Camera</span>
  467. <ul class="nav-list">
  468. <li class="nav-item" data-depth="2">
  469. <a class="nav-link" href="../renderer/camera.html">Camera</a>
  470. </li>
  471. <li class="nav-item" data-depth="2">
  472. <a class="nav-link" href="../renderer/making_the_camera_follow_a_character.html">Follow a Character</a>
  473. </li>
  474. <li class="nav-item" data-depth="2">
  475. <a class="nav-link" href="../renderer/remote-controlling_the_camera.html">Remote-Controlling</a>
  476. </li>
  477. <li class="nav-item" data-depth="2">
  478. <a class="nav-link" href="../renderer/multiple_camera_views.html">Multiple Camera Views</a>
  479. </li>
  480. <li class="nav-item" data-depth="2">
  481. <a class="nav-link" href="../renderer/jme3_renderbuckets.html">Render Buckets</a>
  482. </li>
  483. </ul>
  484. </li>
  485. <li class="nav-item" data-depth="1">
  486. <button class="nav-item-toggle"></button>
  487. <span class="nav-text">Rendering</span>
  488. <ul class="nav-list">
  489. <li class="nav-item" data-depth="2">
  490. <a class="nav-link" href="../renderer/render_pipeline.html">Render Pipelines</a>
  491. </li>
  492. </ul>
  493. </li>
  494. <li class="nav-item" data-depth="1">
  495. <button class="nav-item-toggle"></button>
  496. <span class="nav-text">User Interaction</span>
  497. <ul class="nav-list">
  498. <li class="nav-item" data-depth="2">
  499. <a class="nav-link" href="../input/input_handling.html">Input Handling</a>
  500. </li>
  501. <li class="nav-item" data-depth="2">
  502. <a class="nav-link" href="../input/combo_moves.html">Combo Moves</a>
  503. </li>
  504. <li class="nav-item" data-depth="2">
  505. <a class="nav-link" href="../input/mouse_picking.html">Mouse Picking</a>
  506. </li>
  507. </ul>
  508. </li>
  509. <li class="nav-item" data-depth="1">
  510. <button class="nav-item-toggle"></button>
  511. <a class="nav-link" href="../gui/topic_gui.html">Graphical User Interface</a>
  512. <ul class="nav-list">
  513. <li class="nav-item" data-depth="2">
  514. <button class="nav-item-toggle"></button>
  515. <span class="nav-text">Nifty GUI</span>
  516. <ul class="nav-list">
  517. <li class="nav-item" data-depth="3">
  518. <a class="nav-link" href="../gui/nifty_gui.html">Integration Tutorial</a>
  519. </li>
  520. <li class="nav-item" data-depth="3">
  521. <a class="nav-link" href="../gui/nifty_gui_best_practices.html">Best Practices</a>
  522. </li>
  523. <li class="nav-item" data-depth="3">
  524. <a class="nav-link" href="../gui/nifty_gui_scenarios.html">Scenarios</a>
  525. </li>
  526. </ul>
  527. </li>
  528. <li class="nav-item" data-depth="2">
  529. <a class="nav-link" href="../ui/hud.html">Head-Up Display (HUD)</a>
  530. </li>
  531. </ul>
  532. </li>
  533. <li class="nav-item" data-depth="1">
  534. <button class="nav-item-toggle"></button>
  535. <span class="nav-text">Virtual Reality</span>
  536. <ul class="nav-list">
  537. <li class="nav-item" data-depth="2">
  538. <a class="nav-link" href="../vr/virtualreality.html">Virtual Reality</a>
  539. </li>
  540. <li class="nav-item" data-depth="2">
  541. <a class="nav-link" href="../vr/legacyOpenVr.html">Virtual Reality Legacy Support</a>
  542. </li>
  543. <li class="nav-item" data-depth="2">
  544. <a class="nav-link" href="../vr/virtualrealitycontrollers.html">Virtual Reality Legacy Controller Support</a>
  545. </li>
  546. </ul>
  547. </li>
  548. </ul>
  549. </li>
  550. <li class="nav-item" data-depth="0">
  551. <ul class="nav-list">
  552. <li class="nav-item" data-depth="1">
  553. <button class="nav-item-toggle"></button>
  554. <a class="nav-link" href="../../physics/physics.html">Physics</a>
  555. <ul class="nav-list">
  556. <li class="nav-item" data-depth="2">
  557. <a class="nav-link" href="../../physics/bullet_multithreading.html">Multi-Threaded Physics</a>
  558. </li>
  559. <li class="nav-item" data-depth="2">
  560. <a class="nav-link" href="../../physics/collision/physics_listeners.html">Collision Detection</a>
  561. </li>
  562. <li class="nav-item" data-depth="2">
  563. <a class="nav-link" href="../../physics/joint/hinges_and_joints.html">Hinges and Joints</a>
  564. </li>
  565. <li class="nav-item" data-depth="2">
  566. <a class="nav-link" href="../../physics/control/walking_character.html">Walking Character</a>
  567. </li>
  568. <li class="nav-item" data-depth="2">
  569. <a class="nav-link" href="../../physics/control/ragdoll.html">Ragdoll</a>
  570. </li>
  571. <li class="nav-item" data-depth="2">
  572. <a class="nav-link" href="../../physics/control/vehicles.html">Vehicles</a>
  573. </li>
  574. <li class="nav-item" data-depth="2">
  575. <a class="nav-link" href="../../physics/control/softbody.html">Softbody</a>
  576. </li>
  577. <li class="nav-item" data-depth="2">
  578. <a class="nav-link" href="../../physics/bullet_pitfalls.html">Bullet Physics Pitfalls</a>
  579. </li>
  580. </ul>
  581. </li>
  582. </ul>
  583. </li>
  584. <li class="nav-item" data-depth="0">
  585. <ul class="nav-list">
  586. <li class="nav-item" data-depth="1">
  587. <button class="nav-item-toggle"></button>
  588. <span class="nav-text">Networking</span>
  589. <ul class="nav-list">
  590. <li class="nav-item" data-depth="2">
  591. <a class="nav-link" href="../../networking/networking.html">Networking (SpiderMonkey)</a>
  592. </li>
  593. <li class="nav-item" data-depth="2">
  594. <a class="nav-link" href="../../networking/headless_server.html">Headless Server</a>
  595. </li>
  596. <li class="nav-item" data-depth="2">
  597. <a class="nav-link" href="../../networking/monkey_zone.html">Multi-Player Demo Code</a>
  598. </li>
  599. <li class="nav-item" data-depth="2">
  600. <a class="nav-link" href="../../networking/networking_video_tutorials.html">Networking Video Tutorials</a>
  601. </li>
  602. </ul>
  603. </li>
  604. </ul>
  605. </li>
  606. <li class="nav-item" data-depth="0">
  607. <ul class="nav-list">
  608. <li class="nav-item" data-depth="1">
  609. <button class="nav-item-toggle"></button>
  610. <span class="nav-text">User Contributions</span>
  611. <ul class="nav-list">
  612. <li class="nav-item" data-depth="2">
  613. <a class="nav-link" href="../../contributions/contributions.html">User Made Utilities</a>
  614. </li>
  615. <li class="nav-item" data-depth="2">
  616. <button class="nav-item-toggle"></button>
  617. <span class="nav-text">Shader</span>
  618. <ul class="nav-list">
  619. <li class="nav-item" data-depth="3">
  620. <a class="nav-link" href="../../contributions/shader/shaderblow_project.html">ShaderBlow Project</a>
  621. </li>
  622. </ul>
  623. </li>
  624. <li class="nav-item" data-depth="2">
  625. <button class="nav-item-toggle"></button>
  626. <span class="nav-text">Landscapes</span>
  627. <ul class="nav-list">
  628. <li class="nav-item" data-depth="3">
  629. <a class="nav-link" href="../../contributions/lanscapes/vegetationsystem/vegetationsystem.html">Vegetation System</a>
  630. </li>
  631. </ul>
  632. </li>
  633. <li class="nav-item" data-depth="2">
  634. <button class="nav-item-toggle"></button>
  635. <span class="nav-text">Networking</span>
  636. <ul class="nav-list">
  637. <li class="nav-item" data-depth="3">
  638. <a class="nav-link" href="../../contributions/networking/open_game_finder.html">Open Game Finder</a>
  639. </li>
  640. </ul>
  641. </li>
  642. <li class="nav-item" data-depth="2">
  643. <button class="nav-item-toggle"></button>
  644. <span class="nav-text">Entity System</span>
  645. <ul class="nav-list">
  646. <li class="nav-item" data-depth="3">
  647. <a class="nav-link" href="#es/entitysystem.adoc">The Zay-ES Entity System</a>
  648. </li>
  649. </ul>
  650. </li>
  651. <li class="nav-item" data-depth="2">
  652. <button class="nav-item-toggle"></button>
  653. <span class="nav-text">Artificial Intelligence</span>
  654. <ul class="nav-list">
  655. <li class="nav-item" data-depth="3">
  656. <a class="nav-link" href="../../contributions/ai/recast.html">Recast Navigation</a>
  657. </li>
  658. <li class="nav-item" data-depth="3">
  659. <a class="nav-link" href="../../contributions/ai/building_recast.html">Updating and building Recast Native Bindings</a>
  660. </li>
  661. <li class="nav-item" data-depth="3">
  662. <a class="nav-link" href="../../contributions/ai/monkey_brains.html">Monkey Brains</a>
  663. </li>
  664. <li class="nav-item" data-depth="3">
  665. <a class="nav-link" href="../../contributions/ai/steer_behaviours.html">Steer Behaviours</a>
  666. </li>
  667. <li class="nav-item" data-depth="3">
  668. <a class="nav-link" href="../../contributions/ai/jme3_ai.html">jME3 Artificial Intelligence</a>
  669. </li>
  670. </ul>
  671. </li>
  672. <li class="nav-item" data-depth="2">
  673. <button class="nav-item-toggle"></button>
  674. <a class="nav-link" href="../../contributions/gui/topic_contributions_gui.html">GUI</a>
  675. <ul class="nav-list">
  676. <li class="nav-item" data-depth="3">
  677. <a class="nav-link" href="../../contributions/contributions.html#lemur-gui-library">Lemur - a native jME3 GUI library with scene graph tools</a>
  678. </li>
  679. <li class="nav-item" data-depth="3">
  680. <a class="nav-link" href="../../contributions/contributions.html#tonegodgui">tonegodGUI - a native jME3 GUI library</a>
  681. </li>
  682. <li class="nav-item" data-depth="3">
  683. <a class="nav-link" href="../../contributions/contributions.html#immediate-graphical-user-interface">Immediate graphical user interface</a>
  684. </li>
  685. </ul>
  686. </li>
  687. <li class="nav-item" data-depth="2">
  688. <button class="nav-item-toggle"></button>
  689. <span class="nav-text">Tools</span>
  690. <ul class="nav-list">
  691. <li class="nav-item" data-depth="3">
  692. <a class="nav-link" href="../../contributions/tools/navigation.html">Mercator Projection Tool (Marine Navigation)</a>
  693. </li>
  694. <li class="nav-item" data-depth="3">
  695. <a class="nav-link" href="../../contributions/tools/charts.html">Visualizing Maps in JME3 (Marine Charts)</a>
  696. </li>
  697. </ul>
  698. </li>
  699. <li class="nav-item" data-depth="2">
  700. <button class="nav-item-toggle"></button>
  701. <a class="nav-link" href="../../contributions/vr/topic_contributions_vr.html">Virtual Reality (And augmented reality)</a>
  702. <ul class="nav-list">
  703. <li class="nav-item" data-depth="3">
  704. <a class="nav-link" href="../../contributions/contributions.html#tamarin-openxr">Tamarin OpenXR</a>
  705. </li>
  706. </ul>
  707. </li>
  708. <li class="nav-item" data-depth="2">
  709. <button class="nav-item-toggle"></button>
  710. <span class="nav-text">Projects</span>
  711. <ul class="nav-list">
  712. <li class="nav-item" data-depth="3">
  713. <a class="nav-link" href="../../contributions/projects/rise_of_mutants_project.html">Rise of Mutants Project</a>
  714. </li>
  715. </ul>
  716. </li>
  717. </ul>
  718. </li>
  719. </ul>
  720. </li>
  721. <li class="nav-item" data-depth="0">
  722. <ul class="nav-list">
  723. <li class="nav-item" data-depth="1">
  724. <button class="nav-item-toggle"></button>
  725. <a class="nav-link" href="../../sdk/sdk.html">SDK</a>
  726. <ul class="nav-list">
  727. <li class="nav-item" data-depth="2">
  728. <button class="nav-item-toggle"></button>
  729. <span class="nav-text">Video Tutorials</span>
  730. <ul class="nav-list">
  731. <li class="nav-item" data-depth="3">
  732. <button class="nav-item-toggle"></button>
  733. <span class="nav-text">SDK Use Case Tutorials</span>
  734. <ul class="nav-list">
  735. <li class="nav-item" data-depth="4">
  736. <a class="nav-link" href="http://www.youtube.com/watch?v=-OzRZscLlHY">Demo 1 (Quixote demo)</a>
  737. </li>
  738. <li class="nav-item" data-depth="4">
  739. <a class="nav-link" href="http://www.youtube.com/watch?v=6-YWxD3JByE">Demo 2 (Models and Materials)</a>
  740. </li>
  741. </ul>
  742. </li>
  743. <li class="nav-item" data-depth="3">
  744. <button class="nav-item-toggle"></button>
  745. <span class="nav-text">SDK Tutorials</span>
  746. <ul class="nav-list">
  747. <li class="nav-item" data-depth="4">
  748. <a class="nav-link" href="http://www.youtube.com/watch?v=M1_0pbeyJzI">Basics</a>
  749. </li>
  750. <li class="nav-item" data-depth="4">
  751. <a class="nav-link" href="http://www.youtube.com/watch?v=nL7woH40i5c">Importing Models</a>
  752. </li>
  753. <li class="nav-item" data-depth="4">
  754. <a class="nav-link" href="http://www.youtube.com/watch?v=DUmgAjiNzhY">Dragging&amp;Dropping Nodes</a>
  755. </li>
  756. <li class="nav-item" data-depth="4">
  757. <a class="nav-link" href="http://www.youtube.com/watch?v=ntPAmtsQ6eM">Scene Composing</a>
  758. </li>
  759. <li class="nav-item" data-depth="4">
  760. <a class="nav-link" href="http://www.youtube.com/watch?v=zgPV3W6dD4s">Terrain with Collision Shape</a>
  761. </li>
  762. <li class="nav-item" data-depth="4">
  763. <a class="nav-link" href="http://www.youtube.com/watch?v=Feu3-mrpolc">Working with Materials</a>
  764. </li>
  765. <li class="nav-item" data-depth="4">
  766. <a class="nav-link" href="http://www.youtube.com/watch?v=MNDiZ9YHIpM">Custom Controls</a>
  767. </li>
  768. <li class="nav-item" data-depth="4">
  769. <a class="nav-link" href="http://www.youtube.com/watch?v=oZnssg8TBWQ">WebStart Deployment</a>
  770. </li>
  771. <li class="nav-item" data-depth="4">
  772. <a class="nav-link" href="http://www.youtube.com/watch?v=D7JM4VMKqPc">Animation and Effect TrackEditing</a>
  773. </li>
  774. </ul>
  775. </li>
  776. </ul>
  777. </li>
  778. <li class="nav-item" data-depth="2">
  779. <button class="nav-item-toggle"></button>
  780. <span class="nav-text">Getting Started</span>
  781. <ul class="nav-list">
  782. <li class="nav-item" data-depth="3">
  783. <a class="nav-link" href="../../sdk/update_center.html">Updating jMonkeyEngine SDK</a>
  784. </li>
  785. <li class="nav-item" data-depth="3">
  786. <a class="nav-link" href="../../sdk/troubleshooting.html">Troubleshooting</a>
  787. </li>
  788. </ul>
  789. </li>
  790. <li class="nav-item" data-depth="2">
  791. <button class="nav-item-toggle"></button>
  792. <span class="nav-text">Java Development Features</span>
  793. <ul class="nav-list">
  794. <li class="nav-item" data-depth="3">
  795. <a class="nav-link" href="../../sdk/project_creation.html">Project Creation</a>
  796. </li>
  797. <li class="nav-item" data-depth="3">
  798. <a class="nav-link" href="../../sdk/code_editor.html">Code Editor and Palette</a>
  799. </li>
  800. <li class="nav-item" data-depth="3">
  801. <a class="nav-link" href="../../sdk/version_control.html">File Version Control</a>
  802. </li>
  803. <li class="nav-item" data-depth="3">
  804. <a class="nav-link" href="../../sdk/debugging_profiling_testing.html">Debug, Profile, Test</a>
  805. </li>
  806. <li class="nav-item" data-depth="3">
  807. <button class="nav-item-toggle"></button>
  808. <a class="nav-link" href="../../sdk/application_deployment.html">Application Deployment</a>
  809. <ul class="nav-list">
  810. <li class="nav-item" data-depth="4">
  811. <a class="nav-link" href="../../sdk/default_build_script.html">Default Build Script</a>
  812. </li>
  813. <li class="nav-item" data-depth="4">
  814. <a class="nav-link" href="../../sdk/android.html">Android</a>
  815. </li>
  816. <li class="nav-item" data-depth="4">
  817. <a class="nav-link" href="../../sdk/android_cheat_sheet.html">Android Cheat Sheet</a>
  818. </li>
  819. <li class="nav-item" data-depth="4">
  820. <a class="nav-link" href="../../sdk/ios.html">iOS</a>
  821. </li>
  822. </ul>
  823. </li>
  824. </ul>
  825. </li>
  826. <li class="nav-item" data-depth="2">
  827. <button class="nav-item-toggle"></button>
  828. <span class="nav-text">Unique Features</span>
  829. <ul class="nav-list">
  830. <li class="nav-item" data-depth="3">
  831. <button class="nav-item-toggle"></button>
  832. <a class="nav-link" href="../../sdk/model_loader_and_viewer.html">Import, View, Convert Models</a>
  833. <ul class="nav-list">
  834. <li class="nav-item" data-depth="4">
  835. <a class="nav-link" href="../../sdk/asset_packs.html">Asset Packs</a>
  836. </li>
  837. </ul>
  838. </li>
  839. <li class="nav-item" data-depth="3">
  840. <a class="nav-link" href="../../sdk/scene_explorer.html">The SceneExplorer</a>
  841. </li>
  842. <li class="nav-item" data-depth="3">
  843. <a class="nav-link" href="../../sdk/scene_composer.html">Composing a Scene</a>
  844. </li>
  845. <li class="nav-item" data-depth="3">
  846. <a class="nav-link" href="../../sdk/terrain_editor.html">Terrain Editor</a>
  847. </li>
  848. <li class="nav-item" data-depth="3">
  849. <a class="nav-link" href="../../sdk/sample_code.html">Sample Code</a>
  850. </li>
  851. <li class="nav-item" data-depth="3">
  852. <a class="nav-link" href="../../sdk/material_editing.html">Material Editing</a>
  853. </li>
  854. <li class="nav-item" data-depth="3">
  855. <a class="nav-link" href="../../sdk/font_creation.html">Creating Bitmap Fonts</a>
  856. </li>
  857. <li class="nav-item" data-depth="3">
  858. <button class="nav-item-toggle"></button>
  859. <a class="nav-link" href="https://hub.jmonkeyengine.org/t/effecttrack-and-audiotrack-editing-in-the-sdk/23378">Audio and Effect Track Editing</a>
  860. <ul class="nav-list">
  861. <li class="nav-item" data-depth="4">
  862. <a class="nav-link" href="https://www.youtube.com/watch?v=D7JM4VMKqPc">Video: Effect and AudioTrack editing in jMonkeyEngine 3 sdk</a>
  863. </li>
  864. </ul>
  865. </li>
  866. <li class="nav-item" data-depth="3">
  867. <a class="nav-link" href="../../sdk/filters.html">Post-Processor Filter Editor and Viewer</a>
  868. </li>
  869. <li class="nav-item" data-depth="3">
  870. <a class="nav-link" href="../app/state/application_states.html">Application States</a>
  871. </li>
  872. <li class="nav-item" data-depth="3">
  873. <a class="nav-link" href="../scene/control/custom_controls.html">Custom Controls</a>
  874. </li>
  875. <li class="nav-item" data-depth="3">
  876. <a class="nav-link" href="../../sdk/vehicle_creator.html">Vehicle Creator</a>
  877. </li>
  878. <li class="nav-item" data-depth="3">
  879. <a class="nav-link" href="../../sdk/assetbrowser.html">Asset Browser</a>
  880. </li>
  881. <li class="nav-item" data-depth="3">
  882. <a class="nav-link" href="../../sdk/animations.html">Animations</a>
  883. </li>
  884. </ul>
  885. </li>
  886. <li class="nav-item" data-depth="2">
  887. <button class="nav-item-toggle"></button>
  888. <span class="nav-text">Advanced Usage</span>
  889. <ul class="nav-list">
  890. <li class="nav-item" data-depth="3">
  891. <a class="nav-link" href="../../sdk/build_platform.html">Building jMonkeyEngine SDK</a>
  892. </li>
  893. <li class="nav-item" data-depth="3">
  894. <a class="nav-link" href="../../sdk/use_own_jme.html#.adoc">Using your own (modified) version of jME3 in jMonkeyEngine SDK</a>
  895. </li>
  896. <li class="nav-item" data-depth="3">
  897. <a class="nav-link" href="../../sdk/increasing_heap_memory.html">Increasing Heap Memory</a>
  898. </li>
  899. <li class="nav-item" data-depth="3">
  900. <a class="nav-link" href="../../sdk/log_files.html">Log Files</a>
  901. </li>
  902. </ul>
  903. </li>
  904. <li class="nav-item" data-depth="2">
  905. <button class="nav-item-toggle"></button>
  906. <span class="nav-text">Available external plugins</span>
  907. <ul class="nav-list">
  908. <li class="nav-item" data-depth="3">
  909. <a class="nav-link" href="../../contributions/contributions.html">Contributions</a>
  910. </li>
  911. <li class="nav-item" data-depth="3">
  912. <a class="nav-link" href="../../sdk/neotexture.html">Neo Texture Editor for procedural textures</a>
  913. </li>
  914. <li class="nav-item" data-depth="3">
  915. <a class="nav-link" href="http://www.youtube.com/watch?v=yS9a9o4WzL8">Video: Mesh Tool &amp; Physics Editor</a>
  916. </li>
  917. </ul>
  918. </li>
  919. <li class="nav-item" data-depth="2">
  920. <button class="nav-item-toggle"></button>
  921. <a class="nav-link" href="../../sdk/development.html">Developing plugins for jMonkeyEngine SDK</a>
  922. <ul class="nav-list">
  923. <li class="nav-item" data-depth="3">
  924. <a class="nav-link" href="../../sdk/development/setup.html">Creating a plugin</a>
  925. </li>
  926. <li class="nav-item" data-depth="3">
  927. <a class="nav-link" href="../../sdk/development/general.html">Creating components</a>
  928. </li>
  929. <li class="nav-item" data-depth="3">
  930. <a class="nav-link" href="../../sdk/development/scene.html">The Main Scene</a>
  931. </li>
  932. <li class="nav-item" data-depth="3">
  933. <a class="nav-link" href="../../sdk/development/sceneexplorer.html">The Scene Explorer</a>
  934. </li>
  935. <li class="nav-item" data-depth="3">
  936. <a class="nav-link" href="../../sdk/development/projects_assets.html">Projects and Assets</a>
  937. </li>
  938. <li class="nav-item" data-depth="3">
  939. <a class="nav-link" href="../../sdk/development/extension_library.html">Create a library plugin from a jar file</a>
  940. </li>
  941. <li class="nav-item" data-depth="3">
  942. <a class="nav-link" href="../../sdk/development/model_loader.html">Create a new or custom model filetype and loader</a>
  943. </li>
  944. </ul>
  945. </li>
  946. </ul>
  947. </li>
  948. </ul>
  949. </li>
  950. </ul>
  951. </nav>
  952. </div>
  953. <div class="nav-panel-explore" data-panel="explore">
  954. <div class="context">
  955. <span class="title">JME</span>
  956. <span class="version">3.8</span>
  957. </div>
  958. <ul class="components">
  959. <li class="component is-current">
  960. <span class="title">JME</span>
  961. <ul class="versions">
  962. <li class="version is-current">
  963. <a href="../../documentation.html">3.8</a>
  964. </li>
  965. <li class="version">
  966. <a href="../../../3.4/documentation.html">3.4</a>
  967. </li>
  968. <li class="version">
  969. <a href="../../../3.3/documentation.html">3.3</a>
  970. </li>
  971. <li class="version">
  972. <a href="../../../3.2/documentation.html">3.2</a>
  973. </li>
  974. </ul>
  975. </li>
  976. <li class="component">
  977. <span class="title">Wiki Contribution</span>
  978. <ul class="versions">
  979. <li class="version">
  980. <a href="../../../../docs-wiki/3.8/wiki_contributor.html">3.8</a>
  981. </li>
  982. </ul>
  983. </li>
  984. <li class="component">
  985. <span class="title">Wiki UI</span>
  986. <ul class="versions">
  987. <li class="version">
  988. <a href="../../../../wiki-ui/index.html">master</a>
  989. </li>
  990. </ul>
  991. </li>
  992. </ul>
  993. </div>
  994. </div>
  995. </aside>
  996. </div>
  997. <main class="article">
  998. <div class="toolbar" role="navigation">
  999. <button class="nav-toggle"></button>
  1000. <nav class="breadcrumbs" aria-label="breadcrumbs">
  1001. <ul>
  1002. <li><a href="../../documentation.html">JME</a></li>
  1003. <li>Audio, Video</li>
  1004. <li><a href="audio.html">Playing Sounds</a></li>
  1005. </ul>
  1006. </nav>
  1007. <div class="page-versions">
  1008. <button class="version-menu-toggle" title="Show other versions of page">3.8</button>
  1009. <div class="version-menu">
  1010. <a class="version is-current" href="audio.html">3.8</a>
  1011. <a class="version" href="../../../3.4/core/audio/audio.html">3.4</a>
  1012. <a class="version" href="../../../3.3/core/audio/audio.html">3.3</a>
  1013. <a class="version" href="../../../3.2/core/audio/audio.html">3.2</a>
  1014. </div>
  1015. </div>
  1016. <div class="edit-this-page"><a href="https://github.com/jMonkeyEngine/wiki/edit/master/docs/modules/core/pages/audio/audio.adoc">Edit this Page</a></div>
  1017. </div>
  1018. <div class="content">
  1019. <article class="doc">
  1020. <h1 class="page">Audio in jME3</h1>
  1021. <div id="preamble">
  1022. <div class="sectionbody">
  1023. <div class="paragraph">
  1024. <p>Place audio files in the <code>assets/Sound/</code> directory of your project. jME3 supports Ogg Vorbis audio compression (.ogg) and uncompressed PCM Wave (.wav) formats. You can use for example <a href="https://www.audacityteam.org/download/">Audacity</a> to convert from other formats.</p>
  1025. </div>
  1026. </div>
  1027. </div>
  1028. <div class="sect1">
  1029. <h2 id="audio-terminology"><a class="anchor" href="#audio-terminology"></a>Audio Terminology</h2>
  1030. <div class="sectionbody">
  1031. <div class="ulist">
  1032. <ul>
  1033. <li>
  1034. <p><strong>Streaming:</strong> There are two ways to load audio data: Short audio files are to be stored entirely in memory (prebuffered), while long audio files, such as music, are streamed from the hard drive as it is played.</p>
  1035. </li>
  1036. <li>
  1037. <p><strong>Looping:</strong> You can play a sound either once and then stop, or repeatedly (continuously) in a loop.<br>
  1038. You cannot loop streamed sounds.</p>
  1039. </li>
  1040. <li>
  1041. <p><strong>Instance:</strong> If you play the same audio twice, the playing is queued up and jME plays one after the other. If you play instances of sounds, several instances of the same sound can play at the same time.</p>
  1042. </li>
  1043. </ul>
  1044. </div>
  1045. </div>
  1046. </div>
  1047. <div class="sect1">
  1048. <h2 id="creating-audio-nodes-streamed-or-buffered"><a class="anchor" href="#creating-audio-nodes-streamed-or-buffered"></a>Creating Audio Nodes: Streamed or Buffered</h2>
  1049. <div class="sectionbody">
  1050. <div class="paragraph">
  1051. <p>The main jME audio class to look at is <code>com.jme3.audio.AudioNode</code>. When creating a new audio node you need to declare whether how you want to load this sound:</p>
  1052. </div>
  1053. <div class="ulist">
  1054. <ul>
  1055. <li>
  1056. <p><strong>Buffered:</strong> By default, a new audio node is buffered. This means jME3 loads the whole file into memory before playing. Use this for short sounds. You create a buffered sound by setting DataType.Buffer, or using no DataType at all:</p>
  1057. </li>
  1058. </ul>
  1059. </div>
  1060. <div class="listingblock">
  1061. <div class="content">
  1062. <pre>AudioNode boom = new AudioNode(assetManager, "Sound/boom.wav");
  1063. AudioNode boom = new AudioNode(assetManager, "Sound/boom.wav", DataType.Buffer);</pre>
  1064. </div>
  1065. </div>
  1066. <div class="ulist">
  1067. <ul>
  1068. <li>
  1069. <p><strong>Streamed:</strong> If it is a long file such as music or a dialog, you stream the audio. Streaming means, you load and play in parallel until the sound is done. You cannot loop streams. You create a streamed sound by setting the boolean to true:</p>
  1070. </li>
  1071. </ul>
  1072. </div>
  1073. <div class="listingblock">
  1074. <div class="content">
  1075. <pre>AudioNode music = new AudioNode(assetManager, "Sound/music.wav", DataType.Stream);</pre>
  1076. </div>
  1077. </div>
  1078. </div>
  1079. </div>
  1080. <div class="sect1">
  1081. <h2 id="getting-audionode-properties"><a class="anchor" href="#getting-audionode-properties"></a>Getting AudioNode Properties</h2>
  1082. <div class="sectionbody">
  1083. <table class="tableblock frame-all grid-all stretch">
  1084. <colgroup>
  1085. <col style="width: 50%;">
  1086. <col style="width: 50%;">
  1087. </colgroup>
  1088. <thead>
  1089. <tr>
  1090. <th class="tableblock halign-left valign-top">AudioNode Method</th>
  1091. <th class="tableblock halign-left valign-top">Usage</th>
  1092. </tr>
  1093. </thead>
  1094. <tbody>
  1095. <tr>
  1096. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1097. <p>getStatus()</p>
  1098. </div></div></td>
  1099. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1100. <p>Returns either AudioSource.Status.Playing, AudioSource.Status.Stopped, or AudioSource.Status.Paused.</p>
  1101. </div></div></td>
  1102. </tr>
  1103. <tr>
  1104. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1105. <p>getVolume()</p>
  1106. </div></div></td>
  1107. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1108. <p>Returns the volume.</p>
  1109. </div></div></td>
  1110. </tr>
  1111. <tr>
  1112. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1113. <p>getPitch()</p>
  1114. </div></div></td>
  1115. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1116. <p>Returns the pitch.</p>
  1117. </div></div></td>
  1118. </tr>
  1119. </tbody>
  1120. </table>
  1121. <div class="admonitionblock note">
  1122. <table>
  1123. <tr>
  1124. <td class="icon">
  1125. <i class="fa icon-note" title="Note"></i>
  1126. </td>
  1127. <td class="content">
  1128. <div class="paragraph">
  1129. <p>There are other obvious getters to poll the status of all corresponding setters listed here.</p>
  1130. </div>
  1131. </td>
  1132. </tr>
  1133. </table>
  1134. </div>
  1135. </div>
  1136. </div>
  1137. <div class="sect1">
  1138. <h2 id="setting-audionode-properties"><a class="anchor" href="#setting-audionode-properties"></a>Setting AudioNode Properties</h2>
  1139. <div class="sectionbody">
  1140. <table class="tableblock frame-all grid-all stretch">
  1141. <colgroup>
  1142. <col style="width: 50%;">
  1143. <col style="width: 50%;">
  1144. </colgroup>
  1145. <thead>
  1146. <tr>
  1147. <th class="tableblock halign-left valign-top">AudioNode Method</th>
  1148. <th class="tableblock halign-left valign-top">Usage</th>
  1149. </tr>
  1150. </thead>
  1151. <tbody>
  1152. <tr>
  1153. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1154. <p>setTimeOffset(0.5f)</p>
  1155. </div></div></td>
  1156. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1157. <p>Play the sound starting at a 0.5 second offset from the beginning. Default is 0.</p>
  1158. </div></div></td>
  1159. </tr>
  1160. <tr>
  1161. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1162. <p>setPitch(1)</p>
  1163. </div></div></td>
  1164. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1165. <p>Makes the sound play in a higher or lower pitch. Default is 1. 2 is twice as high, .5f is half as high.</p>
  1166. </div></div></td>
  1167. </tr>
  1168. <tr>
  1169. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1170. <p>setVolume(1)</p>
  1171. </div></div></td>
  1172. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1173. <p>Sets the volume gain. 1 is the default volume, 2 is twice as loud, etc. 0 is silent/mute.</p>
  1174. </div></div></td>
  1175. </tr>
  1176. <tr>
  1177. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1178. <p>setRefDistance(50f)</p>
  1179. </div></div></td>
  1180. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1181. <p>The reference distance controls how far a sound can still be heard at 50% of its original volume (<em>this is assuming an exponential fall-off!</em>). A sound with a high RefDist can be heard loud over wide distances; a sound with a low refDist can only be heard when the listener is close by. Default is 10 world units.</p>
  1182. </div></div></td>
  1183. </tr>
  1184. <tr>
  1185. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1186. <p>setMaxDistance(100f)</p>
  1187. </div></div></td>
  1188. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1189. <p>The 'maximum attenuation distance' specifies how far from the source the sound stops growing more quiet (sounds in nature don&#8217;t do that). Set this to a smaller value to keep the sound loud even at a distance; set this to higher value to let the sound fade out quickly. Default is 20 world units.</p>
  1190. </div></div></td>
  1191. </tr>
  1192. <tr>
  1193. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1194. <p>setLooping(false)</p>
  1195. </div></div></td>
  1196. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1197. <p>Configures the sound so that, if it is played, it plays once and stops. No looping is the default.</p>
  1198. </div></div></td>
  1199. </tr>
  1200. </tbody>
  1201. </table>
  1202. <div class="sect2">
  1203. <h3 id="looping-ambient-sounds"><a class="anchor" href="#looping-ambient-sounds"></a>Looping &amp; Ambient Sounds</h3>
  1204. <table class="tableblock frame-all grid-all stretch">
  1205. <colgroup>
  1206. <col style="width: 50%;">
  1207. <col style="width: 50%;">
  1208. </colgroup>
  1209. <thead>
  1210. <tr>
  1211. <th class="tableblock halign-left valign-top">AudioNode Method</th>
  1212. <th class="tableblock halign-left valign-top">Usage</th>
  1213. </tr>
  1214. </thead>
  1215. <tbody>
  1216. <tr>
  1217. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1218. <p>setPositional(false)<br>
  1219. setDirectional(false)</p>
  1220. </div></div></td>
  1221. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1222. <p>All 3D effects switched off. This sound is global and plays in headspace (it appears to come from everywhere). Good for environmental ambient sounds and background music.</p>
  1223. </div></div></td>
  1224. </tr>
  1225. <tr>
  1226. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1227. <p>setLooping(true)</p>
  1228. </div></div></td>
  1229. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1230. <p>Configures the sound to be a loop: After the sound plays, it repeats from the beginning, until you call stop() or pause(). Good for music and ambient background noises.<br>
  1231. <strong>Before 3.1-alpha2, Looping does not work on streamed sounds.</strong></p>
  1232. </div></div></td>
  1233. </tr>
  1234. </tbody>
  1235. </table>
  1236. </div>
  1237. <div class="sect2">
  1238. <h3 id="positional-3d-sounds"><a class="anchor" href="#positional-3d-sounds"></a>Positional 3D Sounds</h3>
  1239. <table class="tableblock frame-all grid-all stretch">
  1240. <colgroup>
  1241. <col style="width: 50%;">
  1242. <col style="width: 50%;">
  1243. </colgroup>
  1244. <thead>
  1245. <tr>
  1246. <th class="tableblock halign-left valign-top">AudioNode Method</th>
  1247. <th class="tableblock halign-left valign-top">Usage</th>
  1248. </tr>
  1249. </thead>
  1250. <tbody>
  1251. <tr>
  1252. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1253. <p>setPositional(true)<br>
  1254. setLocalTranslation(…)</p>
  1255. </div></div></td>
  1256. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1257. <p>Activates 3D audio: The sound appears to come from a certain position, where it is loudest. Position the AudioNode in the 3D scene, or move it with mobile players or NPCs.</p>
  1258. </div></div></td>
  1259. </tr>
  1260. <tr>
  1261. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1262. <p>setReverbEnabled(true)</p>
  1263. </div></div></td>
  1264. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1265. <p>Reverb is a 3D echo effect that only makes sense with positional AudioNodes. Use Audio Environments to make scenes sound as if they were &#8220;outdoors&#8221;, or &#8220;indoors&#8221; in a large or small room, etc. The reverb effect is defined by the <code>com.jme3.audio.Environment</code> that the <code>audioRenderer</code> is in. See &#8220;Setting Audio Environment Properties&#8221; below.</p>
  1266. </div></div></td>
  1267. </tr>
  1268. </tbody>
  1269. </table>
  1270. <div class="admonitionblock important">
  1271. <table>
  1272. <tr>
  1273. <td class="icon">
  1274. <i class="fa icon-important" title="Important"></i>
  1275. </td>
  1276. <td class="content">
  1277. <div class="paragraph">
  1278. <p>Positional 3D sounds require an <code>AudioListener</code> object in the scene (representing the player&#8217;s ears).</p>
  1279. </div>
  1280. </td>
  1281. </tr>
  1282. </table>
  1283. </div>
  1284. </div>
  1285. <div class="sect2">
  1286. <h3 id="directional-3d-sounds"><a class="anchor" href="#directional-3d-sounds"></a>Directional 3D Sounds</h3>
  1287. <table class="tableblock frame-all grid-all stretch">
  1288. <colgroup>
  1289. <col style="width: 50%;">
  1290. <col style="width: 50%;">
  1291. </colgroup>
  1292. <thead>
  1293. <tr>
  1294. <th class="tableblock halign-left valign-top">AudioNode Method</th>
  1295. <th class="tableblock halign-left valign-top">Usage</th>
  1296. </tr>
  1297. </thead>
  1298. <tbody>
  1299. <tr>
  1300. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1301. <p>setDirectional(true)<br>
  1302. setDirection(…)</p>
  1303. </div></div></td>
  1304. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1305. <p>Activates 3D audio: This sound can only be heard from a certain direction. Specify the direction and angle in the 3D scene if you have setDirectional() true. Use this to restrict noises that should not be heard, for example, through a wall.</p>
  1306. </div></div></td>
  1307. </tr>
  1308. <tr>
  1309. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1310. <p>setInnerAngle()<br>
  1311. setOuterAngle()</p>
  1312. </div></div></td>
  1313. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1314. <p>Set the angle in degrees for the directional audio. The angle is relative to the direction. Note: By default, both angles are 360° and the sound can be heard from all directions!</p>
  1315. </div></div></td>
  1316. </tr>
  1317. </tbody>
  1318. </table>
  1319. <div class="admonitionblock important">
  1320. <table>
  1321. <tr>
  1322. <td class="icon">
  1323. <i class="fa icon-important" title="Important"></i>
  1324. </td>
  1325. <td class="content">
  1326. <div class="paragraph">
  1327. <p>Directional 3D sounds require an AudioListener object in the scene (representing the player&#8217;s ears).</p>
  1328. </div>
  1329. </td>
  1330. </tr>
  1331. </table>
  1332. </div>
  1333. </div>
  1334. </div>
  1335. </div>
  1336. <div class="sect1">
  1337. <h2 id="play-pause-stop"><a class="anchor" href="#play-pause-stop"></a>Play, Pause, Stop</h2>
  1338. <div class="sectionbody">
  1339. <div class="paragraph">
  1340. <p>You play, pause, and stop a node called myAudioNode by using the respective of the following three methods:</p>
  1341. </div>
  1342. <div class="listingblock">
  1343. <div class="content">
  1344. <pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">myAudioNode.play();</code></pre>
  1345. </div>
  1346. </div>
  1347. <div class="listingblock">
  1348. <div class="content">
  1349. <pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">myAudioNode.pause();</code></pre>
  1350. </div>
  1351. </div>
  1352. <div class="listingblock">
  1353. <div class="content">
  1354. <pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">myAudioNode.stop();</code></pre>
  1355. </div>
  1356. </div>
  1357. <div class="admonitionblock note">
  1358. <table>
  1359. <tr>
  1360. <td class="icon">
  1361. <i class="fa icon-note" title="Note"></i>
  1362. </td>
  1363. <td class="content">
  1364. <div class="paragraph">
  1365. <p>Whether an Audio Node plays continuously or only once, depends on the Loop properties you have set above!</p>
  1366. </div>
  1367. </td>
  1368. </tr>
  1369. </table>
  1370. </div>
  1371. <div class="paragraph">
  1372. <p>You can also start playing instances of an AudioNode. Use the <code>playInstance()</code> method if you need to play the same AudioNode multiple times, possibly simultaneously. Note that changes to the parameters of the original AudioNode do not affect the instances that are already playing!</p>
  1373. </div>
  1374. <div class="listingblock">
  1375. <div class="content">
  1376. <pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">myAudioNode.playInstance();</code></pre>
  1377. </div>
  1378. </div>
  1379. </div>
  1380. </div>
  1381. <div class="sect1">
  1382. <h2 id="the-audio-listener"><a class="anchor" href="#the-audio-listener"></a>The Audio Listener</h2>
  1383. <div class="sectionbody">
  1384. <div class="paragraph">
  1385. <p>The default AudioListener object <code>listener</code> in <code>SimpleApplication</code> is the user&#8217;s ear in the scene. If you use 3D audio (positional or directional sounds), you must move the AudioListener with the player: For example, for a first-person player, you move the listener with the camera. For a third-person player, you move the listener with the player avatar Geometry.</p>
  1386. </div>
  1387. <div class="listingblock">
  1388. <div class="content">
  1389. <pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java"> @Override
  1390. public void simpleUpdate(float tpf) {
  1391. // first-person: keep the audio listener moving with the camera
  1392. listener.setLocation(cam.getLocation());
  1393. listener.setRotation(cam.getRotation());
  1394. }</code></pre>
  1395. </div>
  1396. </div>
  1397. </div>
  1398. </div>
  1399. <div class="sect1">
  1400. <h2 id="setting-audio-environment-properties"><a class="anchor" href="#setting-audio-environment-properties"></a>Setting Audio Environment Properties</h2>
  1401. <div class="sectionbody">
  1402. <div class="paragraph">
  1403. <p>Optionally, You can choose from the following environmental presets from <code>com.jme3.audio.Environment</code>. This presets influence subtle echo effects (reverb) that evoke associations of different environments in your users. That is, it makes you scene sound &#8220;indoors&#8221; or &#8220;outdoors&#8221; etc. You use Audio Environments together with <code>setReverbEnabled(true)</code> on positional AudioNodes (see above).</p>
  1404. </div>
  1405. <table class="tableblock frame-all grid-all stretch">
  1406. <colgroup>
  1407. <col style="width: 9.0909%;">
  1408. <col style="width: 9.0909%;">
  1409. <col style="width: 9.0909%;">
  1410. <col style="width: 9.0909%;">
  1411. <col style="width: 9.0909%;">
  1412. <col style="width: 9.0909%;">
  1413. <col style="width: 9.0909%;">
  1414. <col style="width: 9.0909%;">
  1415. <col style="width: 9.0909%;">
  1416. <col style="width: 9.0909%;">
  1417. <col style="width: 9.091%;">
  1418. </colgroup>
  1419. <thead>
  1420. <tr>
  1421. <th class="tableblock halign-left valign-top">Environment</th>
  1422. <th class="tableblock halign-left valign-top">density</th>
  1423. <th class="tableblock halign-left valign-top">diffusion</th>
  1424. <th class="tableblock halign-left valign-top">gain</th>
  1425. <th class="tableblock halign-left valign-top">gainHf</th>
  1426. <th class="tableblock halign-left valign-top">decayTime</th>
  1427. <th class="tableblock halign-left valign-top">decayHf</th>
  1428. <th class="tableblock halign-left valign-top">reflGain</th>
  1429. <th class="tableblock halign-left valign-top">reflDelay</th>
  1430. <th class="tableblock halign-left valign-top">lateGain</th>
  1431. <th class="tableblock halign-left valign-top">lateDelay</th>
  1432. </tr>
  1433. </thead>
  1434. <tbody>
  1435. <tr>
  1436. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1437. <p>Garage</p>
  1438. </div></div></td>
  1439. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1440. <p>1.00f</p>
  1441. </div></div></td>
  1442. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1443. <p>1.0f</p>
  1444. </div></div></td>
  1445. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1446. <p>1.0f</p>
  1447. </div></div></td>
  1448. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1449. <p>1.00f</p>
  1450. </div></div></td>
  1451. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1452. <p>0.90f</p>
  1453. </div></div></td>
  1454. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1455. <p>0.5f</p>
  1456. </div></div></td>
  1457. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1458. <p>0.751f</p>
  1459. </div></div></td>
  1460. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1461. <p>0.0039f</p>
  1462. </div></div></td>
  1463. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1464. <p>0.661f</p>
  1465. </div></div></td>
  1466. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1467. <p>0.0137f</p>
  1468. </div></div></td>
  1469. </tr>
  1470. <tr>
  1471. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1472. <p>Dungeon</p>
  1473. </div></div></td>
  1474. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1475. <p>0.75f</p>
  1476. </div></div></td>
  1477. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1478. <p>1.0f</p>
  1479. </div></div></td>
  1480. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1481. <p>1.0f</p>
  1482. </div></div></td>
  1483. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1484. <p>0.75f</p>
  1485. </div></div></td>
  1486. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1487. <p>1.60f</p>
  1488. </div></div></td>
  1489. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1490. <p>1.0f</p>
  1491. </div></div></td>
  1492. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1493. <p>0.950f</p>
  1494. </div></div></td>
  1495. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1496. <p>0.0026f</p>
  1497. </div></div></td>
  1498. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1499. <p>0.930f</p>
  1500. </div></div></td>
  1501. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1502. <p>0.0103f</p>
  1503. </div></div></td>
  1504. </tr>
  1505. <tr>
  1506. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1507. <p>Cavern</p>
  1508. </div></div></td>
  1509. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1510. <p>0.50f</p>
  1511. </div></div></td>
  1512. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1513. <p>1.0f</p>
  1514. </div></div></td>
  1515. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1516. <p>1.0f</p>
  1517. </div></div></td>
  1518. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1519. <p>0.50f</p>
  1520. </div></div></td>
  1521. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1522. <p>2.25f</p>
  1523. </div></div></td>
  1524. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1525. <p>1.0f</p>
  1526. </div></div></td>
  1527. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1528. <p>0.908f</p>
  1529. </div></div></td>
  1530. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1531. <p>0.0103f</p>
  1532. </div></div></td>
  1533. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1534. <p>0.930f</p>
  1535. </div></div></td>
  1536. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1537. <p>0.0410f</p>
  1538. </div></div></td>
  1539. </tr>
  1540. <tr>
  1541. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1542. <p>AcousticLab</p>
  1543. </div></div></td>
  1544. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1545. <p>0.50f</p>
  1546. </div></div></td>
  1547. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1548. <p>1.0f</p>
  1549. </div></div></td>
  1550. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1551. <p>1.0f</p>
  1552. </div></div></td>
  1553. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1554. <p>1.00f</p>
  1555. </div></div></td>
  1556. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1557. <p>0.28f</p>
  1558. </div></div></td>
  1559. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1560. <p>1.0f</p>
  1561. </div></div></td>
  1562. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1563. <p>0.870f</p>
  1564. </div></div></td>
  1565. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1566. <p>0.0020f</p>
  1567. </div></div></td>
  1568. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1569. <p>0.810f</p>
  1570. </div></div></td>
  1571. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1572. <p>0.0080f</p>
  1573. </div></div></td>
  1574. </tr>
  1575. <tr>
  1576. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1577. <p>Closet</p>
  1578. </div></div></td>
  1579. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1580. <p>1.00f</p>
  1581. </div></div></td>
  1582. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1583. <p>1.0f</p>
  1584. </div></div></td>
  1585. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1586. <p>1.0f</p>
  1587. </div></div></td>
  1588. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1589. <p>1.00f</p>
  1590. </div></div></td>
  1591. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1592. <p>0.15f</p>
  1593. </div></div></td>
  1594. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1595. <p>1.0f</p>
  1596. </div></div></td>
  1597. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1598. <p>0.600f</p>
  1599. </div></div></td>
  1600. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1601. <p>0.0025f</p>
  1602. </div></div></td>
  1603. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1604. <p>0.500f</p>
  1605. </div></div></td>
  1606. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1607. <p>0.0006f</p>
  1608. </div></div></td>
  1609. </tr>
  1610. </tbody>
  1611. </table>
  1612. <div class="olist arabic">
  1613. <ol class="arabic">
  1614. <li>
  1615. <p>Activate a Environment preset</p>
  1616. <div class="ulist">
  1617. <ul>
  1618. <li>
  1619. <p>Either use a default, e.g. make your scene sounds like a dungeon environment:</p>
  1620. <div class="listingblock">
  1621. <div class="content">
  1622. <pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">audioRenderer.setEnvironment(new Environment(Environment.Dungeon));</code></pre>
  1623. </div>
  1624. </div>
  1625. </li>
  1626. <li>
  1627. <p>Or activate <a href="audio_environment_presets.html" class="xref page">custom environment settings</a> in the Environment constructor:</p>
  1628. <div class="listingblock">
  1629. <div class="content">
  1630. <pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">audioRenderer.setEnvironment(
  1631. new Environment( density, diffusion, gain, gainHf, decayTime, decayHf,
  1632. reflGain, reflDelay, lateGain, lateDelay ) );</code></pre>
  1633. </div>
  1634. </div>
  1635. </li>
  1636. </ul>
  1637. </div>
  1638. </li>
  1639. <li>
  1640. <p>Activate 3D audio for certain sounds:</p>
  1641. <div class="listingblock">
  1642. <div class="content">
  1643. <pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">footstepsAudio.setPositional(true);
  1644. footstepsAudio.setReverbEnabled(true);</code></pre>
  1645. </div>
  1646. </div>
  1647. </li>
  1648. </ol>
  1649. </div>
  1650. <div class="admonitionblock tip">
  1651. <table>
  1652. <tr>
  1653. <td class="icon">
  1654. <i class="fa icon-tip" title="Tip"></i>
  1655. </td>
  1656. <td class="content">
  1657. <div class="paragraph">
  1658. <p>A sound engineer can create a custom <code>com.​jme3.​audio.Environment</code> object and specify custom environment values such as density, diffusion, gain, decay, delay… You can find many <a href="audio_environment_presets.html" class="xref page">examples of custom audio environment presets</a> here.</p>
  1659. </div>
  1660. </td>
  1661. </tr>
  1662. </table>
  1663. </div>
  1664. <div class="paragraph">
  1665. <p>Advanced users find more info about OpenAL and its features here: <a href="http://web.archive.org/web/20130327063429/http://connect.creativelabs.com/openal/Documentation/OpenAL_Programmers_Guide.pdf">OpenAL 1.1 Specification</a>.</p>
  1666. </div>
  1667. <div class="admonitionblock important">
  1668. <table>
  1669. <tr>
  1670. <td class="icon">
  1671. <i class="fa icon-important" title="Important"></i>
  1672. </td>
  1673. <td class="content">
  1674. <div class="paragraph">
  1675. <p>It depends on the hardware whether audio effects are supported (if not, you get the message <code>OpenAL EFX not available! Audio effects won&#8217;t work.</code>)</p>
  1676. </div>
  1677. </td>
  1678. </tr>
  1679. </table>
  1680. </div>
  1681. </div>
  1682. </div>
  1683. <nav class="pagination">
  1684. <span class="prev"><a href="../material/normal_types.html">Normal Map Conventions</a></span>
  1685. <span class="next"><a href="audio_environment_presets.html">Audio Environment Presets</a></span>
  1686. </nav>
  1687. </article>
  1688. <aside class="toc sidebar" data-title="Contents" data-levels="2">
  1689. <div class="toc-menu"></div>
  1690. </aside>
  1691. </div>
  1692. </main>
  1693. </div>
  1694. <footer class="footer">
  1695. <p>Copyright 2020 jMonkeyEngine Wiki Contributors. Licensed BSD-3.</p>
  1696. </footer>
  1697. <script src="../../../../_/js/vendor/docsearch.min.js"></script>
  1698. <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js -->
  1699. <script>
  1700. var search = docsearch({
  1701. apiKey: 'a736b6d93de805e26ec2f49b55013fbd',
  1702. indexName: 'jmonkeyengine',
  1703. inputSelector: '#search-input',
  1704. autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
  1705. algoliaOptions: { hitsPerPage: 10 }
  1706. }).autocomplete
  1707. search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
  1708. function focusSearchInput () { document.querySelector('#search-input').focus() }
  1709. if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput)
  1710. </script>
  1711. <script src="../../../../_/js/site.js"></script>
  1712. <script async src="../../../../_/js/vendor/highlight.js"></script>
  1713. </body>
  1714. </html>