remote-controlling_the_camera.html 5.2 KB

1234567891011121314151617181920
  1. <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]--><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="Asciidoctor 1.5.4"><meta name="keywords" content="camera, documentation, cinematics"><title>Remote-Controlling the Camera</title><link rel="stylesheet" href="./asciidoctor.css">
  2. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css">
  3. <link rel="stylesheet" href="./coderay-asciidoctor.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.css"><link rel="stylesheet" href="/home/travis/build/jMonkeyEngine/wiki/build/asciidoc/html5/jme3/advanced/twemoji-awesome.css"></head><body class="article toc2 toc-left"><div id="header"><div id="toolbar"><a href="https://github.com/jMonkeyEngine/wiki/edit/master/src/docs/asciidoc/jme3/advanced/remote-controlling_the_camera.adoc"><i class="fa fa-pencil-square" aria-hidden="true"></i></a><a href="https://github.com/jMonkeyEngine/wiki/new/master/src/docs/asciidoc/jme3/advanced/"><i class="fa fa-plus-square" aria-hidden="true"></i></a><input dir="auto" style="position: relative; vertical-align: top;" spellcheck="false" autocomplete="off" class="searchbox__input aa-input" id="doc-search" name="search" placeholder="Search in the doc" required="required" type="search"></div><h1>Remote-Controlling the Camera</h1><div class="details"><span class="author" id="author"></span><br><span id="revnumber">version ,</span> <span id="revdate">2016/03/17 20:48</span></div><div id="toc" class="toc2"><div id="toctitle">Table of Contents</div><ul class="sectlevel1"><li><a href="#positioning-the-camera">Positioning the Camera</a><ul class="sectlevel2"><li><a href="#code-sample">Code Sample</a></li></ul></li><li><a href="#moving-the-camera">Moving the Camera</a></li></ul></div></div><div id="content"><div class="sect2"><h3 id="positioning-the-camera">Positioning the Camera</h3><div class="paragraph"><p>You can steer the camera using <a href="../../jme3/advanced/cinematics.html">Cinematics</a>:</p></div>
  4. <div class="olist arabic"><ol class="arabic"><li><p>Create a Cinematic.</p></li><li><p>Create a CameraNode and bind the camera object to the Cinematic. Note that we also give the camera node a name in this step.</p><div class="listingblock"><div class="content"><pre class="CodeRay highlight"><code data-lang="java">CameraNode camNode = cinematic.bindCamera(<span class="string"><span class="delimiter">&quot;</span><span class="content">topView</span><span class="delimiter">&quot;</span></span>, cam);</code></pre></div></div></li><li><p>Position the camera node in its start location.</p></li><li><p>Use activateCamera() to give the control of the camera to this node. You now see the scene from this camera&#8217;s point of view. For example to see through the camera node named “topView, 6 seconds after the start of the cinematic, you&#8217;d write</p><div class="listingblock"><div class="content"><pre class="CodeRay highlight"><code data-lang="java">cinematic.activateCamera(<span class="integer">6</span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">topView</span><span class="delimiter">&quot;</span></span>);</code></pre></div></div></li></ol></div>
  5. <div class="sect2"><h3 id="code-sample">Code Sample</h3><div class="listingblock"><div class="content"><pre class="CodeRay highlight"><code data-lang="java">flyCam.setEnabled(<span class="predefined-constant">false</span>);
  6. Cinematic cinematic = <span class="keyword">new</span> Cinematic(rootNode, <span class="integer">20</span>);
  7. CameraNode camNodeTop = cinematic.bindCamera(<span class="string"><span class="delimiter">&quot;</span><span class="content">topView</span><span class="delimiter">&quot;</span></span>, cam);
  8. camNodeTop.setControlDir(ControlDirection.SpatialToCamera);
  9. camNodeTop.getControl(<span class="integer">0</span>).setEnabled(<span class="predefined-constant">false</span>);
  10. CameraNode camNodeSide = cinematic.bindCamera(<span class="string"><span class="delimiter">&quot;</span><span class="content">sideView</span><span class="delimiter">&quot;</span></span>, cam);
  11. camNodeSide.setControlDir(ControlDirection.CameraToSpatial);
  12. camNodeSide.getControl(<span class="integer">0</span>).setEnabled(<span class="predefined-constant">false</span>);</code></pre></div></div></div></div>
  13. <div class="sect1"><h2 id="moving-the-camera">Moving the Camera</h2><div class="sectionbody"><div class="paragraph"><p>If desired, attach the camNode to a MotionEvent to let it travel along waypoints. This is demonstrated in the <a href="https://github.com/jMonkeyEngine/jmonkeyengine/blob/master/jme3-examples/src/main/java/jme3test/animation/TestCameraMotionPath.java">TestCameraMotionPath.java</a> example.</p></div></div></div></div><div id="footer"><div id="footer-text">Version <br>Last updated 2019-12-20 23:30:51 +00:00</div></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.js"></script><script>docsearch({
  14. apiKey: 'a736b6d93de805e26ec2f49b55013fbd',
  15. indexName: 'jmonkeyengine',
  16. inputSelector: '#doc-search',
  17. debug: false // Set debug to true if you want to inspect the dropdown
  18. });</script></body></html>