vehicle_creator.html 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
  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>jMonkeyEngine SDK: Vehicle Creator :: jMonkeyEngine Docs</title>
  7. <link rel="canonical" href="https://wiki.jmonkeyengine.org/docs/sdk/vehicle_creator.html">
  8. <meta name="keywords" content="documentation, sdk, tool, asset, editor, physics">
  9. <meta name="generator" content="Antora 2.3.3">
  10. <link rel="stylesheet" href="../../_/css/site.css">
  11. <meta property="og:image" content="https://wiki.jmonkeyengine.org/_/img/iconx128.png">
  12. <meta property="og:description" content="jMonkeyEngine SDK: Vehicle Creator">
  13. <meta property="og:title" content="jMonkeyEngine Docs">
  14. <link rel="stylesheet" href="../../_/css/site-extra.css">
  15. <link rel="stylesheet" href="../../_/css/vendor/docsearch.min.css">
  16. <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css -->
  17. <link rel="icon" href="../../_/img/favicon.ico" type="image/x-icon">
  18. </head>
  19. <body class="article">
  20. <header class="header">
  21. <nav class="navbar">
  22. <div class="navbar-brand">
  23. <a class="navbar-item" href="https://wiki.jmonkeyengine.org">
  24. <img alt="" src="../../_/img/jMonkeyDocLogo.png" height="32" type="image/x-icon">
  25. </a>
  26. <div class="navbar-item hide-for-print">
  27. <input type="text" placeholder="Search docs..." id="search-input"/>
  28. </div>
  29. <button class="navbar-burger" data-target="topbar-nav">
  30. <span></span>
  31. <span></span>
  32. <span></span>
  33. </button>
  34. </div>
  35. <div id="topbar-nav" class="navbar-menu">
  36. <div class="navbar-end">
  37. <div class="navbar-item theme-switch-wrapper">
  38. <label class="theme-switch" for="checkbox">
  39. <input type="checkbox" id="checkbox" />
  40. <div class="slider round"></div>
  41. </label>
  42. </div>
  43. <a class="navbar-item" href="https://github.com/jmonkeyengine/wiki">Github</a>
  44. </div>
  45. </div>
  46. </nav>
  47. </header>
  48. <div class="body">
  49. <div class="nav-container" data-component="docs" data-version="master">
  50. <aside class="nav">
  51. <div class="panels">
  52. <div class="nav-panel-menu is-active" data-panel="menu">
  53. <nav class="nav-menu">
  54. <h3 class="title"><a href="../documentation.html">Docs</a></h3>
  55. <ul class="nav-list">
  56. <li class="nav-item" data-depth="0">
  57. <ul class="nav-list">
  58. <li class="nav-item" data-depth="1">
  59. <a class="nav-link" href="../documentation.html">Getting Started</a>
  60. </li>
  61. <li class="nav-item" data-depth="1">
  62. <a class="nav-link" href="https://javadoc.jmonkeyengine.org/v3.3.2-stable">JavaDoc</a>
  63. </li>
  64. <li class="nav-item" data-depth="1">
  65. <button class="nav-item-toggle"></button>
  66. <a class="nav-link" href="../jme3.html">jMonkeyEngine 3</a>
  67. <ul class="nav-list">
  68. <li class="nav-item" data-depth="2">
  69. <button class="nav-item-toggle"></button>
  70. <span class="nav-text">Beginner Tutorials</span>
  71. <ul class="nav-list">
  72. <li class="nav-item" data-depth="3">
  73. <a class="nav-link" href="../jme3/beginner/hello_simpleapplication.html">Hello SimpleApplication</a>
  74. </li>
  75. <li class="nav-item" data-depth="3">
  76. <a class="nav-link" href="../jme3/beginner/hello_node.html">Hello Node</a>
  77. </li>
  78. <li class="nav-item" data-depth="3">
  79. <a class="nav-link" href="../jme3/beginner/hello_asset.html">Hello Asset</a>
  80. </li>
  81. <li class="nav-item" data-depth="3">
  82. <a class="nav-link" href="../jme3/beginner/hello_main_event_loop.html">Hello Main Event Loop</a>
  83. </li>
  84. <li class="nav-item" data-depth="3">
  85. <a class="nav-link" href="../jme3/beginner/hello_input_system.html">Hello Input System</a>
  86. </li>
  87. <li class="nav-item" data-depth="3">
  88. <a class="nav-link" href="../jme3/beginner/hello_material.html">Hello Material</a>
  89. </li>
  90. <li class="nav-item" data-depth="3">
  91. <a class="nav-link" href="../jme3/beginner/hello_animation.html">Hello Animation</a>
  92. </li>
  93. <li class="nav-item" data-depth="3">
  94. <a class="nav-link" href="../jme3/beginner/hello_picking.html">Hello Picking</a>
  95. </li>
  96. <li class="nav-item" data-depth="3">
  97. <a class="nav-link" href="../jme3/beginner/hello_collision.html">Hello Collision</a>
  98. </li>
  99. <li class="nav-item" data-depth="3">
  100. <a class="nav-link" href="../jme3/beginner/hello_terrain.html">Hello Terrain</a>
  101. </li>
  102. <li class="nav-item" data-depth="3">
  103. <a class="nav-link" href="../jme3/beginner/hello_audio.html">Hello Audio</a>
  104. </li>
  105. <li class="nav-item" data-depth="3">
  106. <a class="nav-link" href="../jme3/beginner/hello_effects.html">Hello Effects</a>
  107. </li>
  108. <li class="nav-item" data-depth="3">
  109. <a class="nav-link" href="../jme3/beginner/hello_physics.html">Hello Physics</a>
  110. </li>
  111. </ul>
  112. </li>
  113. <li class="nav-item" data-depth="2">
  114. <button class="nav-item-toggle"></button>
  115. <span class="nav-text">Intermediate Tutorials</span>
  116. <ul class="nav-list">
  117. <li class="nav-item" data-depth="3">
  118. <button class="nav-item-toggle"></button>
  119. <span class="nav-text">Concepts</span>
  120. <ul class="nav-list">
  121. <li class="nav-item" data-depth="4">
  122. <a class="nav-link" href="../jme3/intermediate/best_practices.html">Best Practices</a>
  123. </li>
  124. <li class="nav-item" data-depth="4">
  125. <a class="nav-link" href="../jme3/intermediate/simpleapplication.html">Simple Application</a>
  126. </li>
  127. <li class="nav-item" data-depth="4">
  128. <a class="nav-link" href="../jme3/features.html">Features</a>
  129. </li>
  130. <li class="nav-item" data-depth="4">
  131. <a class="nav-link" href="../jme3/intermediate/optimization.html">Optimization</a>
  132. </li>
  133. <li class="nav-item" data-depth="4">
  134. <a class="nav-link" href="../jme3/faq.html">FAQ</a>
  135. </li>
  136. </ul>
  137. </li>
  138. <li class="nav-item" data-depth="3">
  139. <button class="nav-item-toggle"></button>
  140. <span class="nav-text">Math Concepts</span>
  141. <ul class="nav-list">
  142. <li class="nav-item" data-depth="4">
  143. <a class="nav-link" href="../jme3/math_for_dummies.html">Math For Dummies</a>
  144. </li>
  145. <li class="nav-item" data-depth="4">
  146. <a class="nav-link" href="../jme3/intermediate/math.html">Math</a>
  147. </li>
  148. <li class="nav-item" data-depth="4">
  149. <a class="nav-link" href="../jme3/math.html">More Math</a>
  150. </li>
  151. <li class="nav-item" data-depth="4">
  152. <a class="nav-link" href="../jme3/rotate.html">Rotate</a>
  153. </li>
  154. <li class="nav-item" data-depth="4">
  155. <a class="nav-link" href="../jme3/math_video_tutorials.html">Math Video Tutorials</a>
  156. </li>
  157. </ul>
  158. </li>
  159. <li class="nav-item" data-depth="3">
  160. <button class="nav-item-toggle"></button>
  161. <span class="nav-text">3D Graphics Concepts</span>
  162. <ul class="nav-list">
  163. <li class="nav-item" data-depth="4">
  164. <a class="nav-link" href="../jme3/intermediate/multi-media_asset_pipeline.html">Multi-Media Asset Pipeline</a>
  165. </li>
  166. <li class="nav-item" data-depth="4">
  167. <a class="nav-link" href="../jme3/scenegraph_for_dummies.html">Scenegraph for Dummies</a>
  168. </li>
  169. <li class="nav-item" data-depth="4">
  170. <a class="nav-link" href="../jme3/beginner/hellovector.html">Hello Vector</a>
  171. </li>
  172. <li class="nav-item" data-depth="4">
  173. <a class="nav-link" href="../jme3/terminology.html">Terminology</a>
  174. </li>
  175. <li class="nav-item" data-depth="4">
  176. <a class="nav-link" href="../jme3/intermediate/how_to_use_materials.html">How to Use Materials</a>
  177. </li>
  178. <li class="nav-item" data-depth="4">
  179. <a class="nav-link" href="../jme3/intermediate/transparency_sorting.html">Transparency and Sorting</a>
  180. </li>
  181. <li class="nav-item" data-depth="4">
  182. <a class="nav-link" href="../jme3/external/blender.html">Importing from Blender</a>
  183. </li>
  184. <li class="nav-item" data-depth="4">
  185. <a class="nav-link" href="../jme3/external/3dsmax.html">Importing from 3DS Max</a>
  186. </li>
  187. </ul>
  188. </li>
  189. </ul>
  190. </li>
  191. </ul>
  192. </li>
  193. <li class="nav-item" data-depth="1">
  194. <a class="nav-link" href="../logo.html">Logo Usage</a>
  195. </li>
  196. <li class="nav-item" data-depth="1">
  197. <a class="nav-link" href="../bsd_license.html">License</a>
  198. </li>
  199. <li class="nav-item" data-depth="1">
  200. <a class="nav-link" href="../github_tips.html">Github Tips</a>
  201. </li>
  202. </ul>
  203. </li>
  204. <li class="nav-item" data-depth="0">
  205. <button class="nav-item-toggle"></button>
  206. <span class="nav-text">SDK</span>
  207. <ul class="nav-list">
  208. <li class="nav-item" data-depth="1">
  209. <a class="nav-link" href="../sdk.html">jMonkeyEngine SDK</a>
  210. </li>
  211. </ul>
  212. </li>
  213. </ul>
  214. </nav>
  215. </div>
  216. <div class="nav-panel-explore" data-panel="explore">
  217. <div class="context">
  218. <span class="title">Docs</span>
  219. <span class="version">master</span>
  220. </div>
  221. <ul class="components">
  222. <li class="component is-current">
  223. <span class="title">Docs</span>
  224. <ul class="versions">
  225. <li class="version is-current is-latest">
  226. <a href="../documentation.html">master</a>
  227. </li>
  228. </ul>
  229. </li>
  230. <li class="component">
  231. <span class="title">Wiki UI</span>
  232. <ul class="versions">
  233. <li class="version is-latest">
  234. <a href="../../wiki-ui/index.html">master</a>
  235. </li>
  236. </ul>
  237. </li>
  238. </ul>
  239. </div>
  240. </div>
  241. </aside>
  242. </div>
  243. <main class="article">
  244. <div class="toolbar" role="navigation">
  245. <button class="nav-toggle"></button>
  246. <nav class="breadcrumbs" aria-label="breadcrumbs">
  247. <ul>
  248. <li><a href="../documentation.html">Docs</a></li>
  249. <li><a href="vehicle_creator.html">jMonkeyEngine SDK: Vehicle Creator</a></li>
  250. </ul>
  251. </nav>
  252. <div class="edit-this-page"><a href="https://github.com/jMonkeyEngine/wiki/edit/master/docs/modules/ROOT/pages/sdk/vehicle_creator.adoc">Edit this Page</a></div>
  253. </div>
  254. <div class="content">
  255. <article class="doc">
  256. <h1 class="page">jMonkeyEngine SDK: Vehicle Creator</h1>
  257. <div id="preamble">
  258. <div class="sectionbody">
  259. <div class="paragraph">
  260. <p>Best results when car is facing in z direction (towards you).</p>
  261. </div>
  262. </div>
  263. </div>
  264. <div class="sect1">
  265. <h2 id="usage"><a class="anchor" href="#usage"></a>Usage</h2>
  266. <div class="sectionbody">
  267. <div class="olist arabic">
  268. <ol class="arabic">
  269. <li>
  270. <p>Select a j3o that contains a vehicle model and press the vehicle button (or right-click → edit vehicle)</p>
  271. </li>
  272. <li>
  273. <p>The VehicleCreator automatically adds a PhysicsVehicleControl to the rootNode of the model if there is none</p>
  274. </li>
  275. <li>
  276. <p>Select the Geometry or Node that contains the chassis in the SceneExplorer and press “create hull shape from selected</p>
  277. </li>
  278. <li>
  279. <p>Select a Geometry that contains a wheel and press “make selected spatial wheel, select the “front wheel checkboxes for front wheels</p>
  280. </li>
  281. <li>
  282. <p>Do so for all wheels</p>
  283. </li>
  284. </ol>
  285. </div>
  286. <div class="paragraph">
  287. <p>New wheels will get the current suspension settings, you can edit single wheels via the SceneExplorer (update VehicleControl if wheels dont show up) or apply settings created with the settings generator to wheel groups.</p>
  288. </div>
  289. <div class="paragraph">
  290. <p>Press the “test vehicle button to drive the vehicle, use WASD to control, Enter to reset.</p>
  291. </div>
  292. </div>
  293. </div>
  294. <div class="sect1">
  295. <h2 id="known-issues"><a class="anchor" href="#known-issues"></a>Known Issues</h2>
  296. <div class="sectionbody">
  297. <div class="paragraph">
  298. <p>Don&#8217;t save while testing the vehicle, you will save the location and acceleration info in the j3o.</p>
  299. </div>
  300. </div>
  301. </div>
  302. <div class="sect1">
  303. <h2 id="code-sample"><a class="anchor" href="#code-sample"></a>Code Sample</h2>
  304. <div class="sectionbody">
  305. <div class="paragraph">
  306. <p>Code Example to load vehicle:</p>
  307. </div>
  308. <div class="listingblock">
  309. <div class="content">
  310. <pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">//load vehicle and access VehicleControl
  311. Spatial car=assetManager.loadModel("Models/MyCar.j3o");
  312. VehicleControl control=car.getControl(VehicleControl.class);
  313. rootNode.attachChild(car);
  314. physicsSpace.add(control);
  315. //then use the control to control the vehicle:
  316. control.setPhysicsLocation(new Vector3f(10,2,10));
  317. control.accelerate(100);</code></pre>
  318. </div>
  319. </div>
  320. </div>
  321. </div>
  322. </article>
  323. <aside class="toc sidebar" data-title="Contents" data-levels="2">
  324. <div class="toc-menu"></div>
  325. </aside>
  326. </div>
  327. </main>
  328. </div>
  329. <footer class="footer">
  330. <p>Copyright 2020 jMonkeyEngine Wiki Contributors. Licensed BSD-3.</p>
  331. </footer>
  332. <script src="../../_/js/vendor/docsearch.min.js"></script>
  333. <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js -->
  334. <script>
  335. var search = docsearch({
  336. apiKey: 'a736b6d93de805e26ec2f49b55013fbd',
  337. indexName: 'jmonkeyengine',
  338. inputSelector: '#search-input',
  339. autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
  340. algoliaOptions: { hitsPerPage: 10 }
  341. }).autocomplete
  342. search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
  343. function focusSearchInput () { document.querySelector('#search-input').focus() }
  344. if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput)
  345. </script>
  346. <script src="../../_/js/site.js"></script>
  347. <script async src="../../_/js/vendor/highlight.js"></script>
  348. </body>
  349. </html>