0.1.14 • Published 7 years ago

aframe-orbit-controls-component-2 v0.1.14

Weekly downloads
14
License
MIT
Repository
github
Last release
7 years ago

aframe-orbit-controls-component

A (almost) direct port of the ThreeJS Orbit Controls for A-Frame. It allows users to rotate the camera around an object. Might be useful as a fallback to VR mode. Automatically switches to look-controls in VR mode.

Have a look at the examples

API

PropertyDescriptionDefault Value
enabledBoolean – defines if the Orbit Controls are usedfalse
targetString – the object the camera is looking at and orbits around''
distanceNumber – the distance of the camera to the target1
enableRotateBoolean – defines if the camera can be rotatedtrue
rotateSpeedNumber – rotation speed1
enableZoomBoolean – defines if the camera can be zoomed in or outtrue
invertZoomBoolean – defines if zooming is invertedfalse
zoomSpeedNumber – zoom speed1
enablePanBoolean – defines if the camera can be panned (using the arrow keys)true
keyPanSpeedNumber – panning speed7
enableDampingBoolean – defines if the rotational movement of the camera is damped / easedfalse
dampingFactorNumber – damping factor0.25
autoRotateBoolean – defines if the camera automatically rotates around the targetfalse
autoRotateSpeedNumber – speed of the automatic rotation2
enableKeysBoolean – defines if the keyboard can be usedtrue
minAzimuthAngleNumber – minimum azimuth angle – Defines how far you can orbit horizontally, lower limit-Infinity
maxAzimuthAngleNumber – maximum azimuth angle – Defines how far you can orbit horizontally, upper limitInfinity
minPolarAngleNumber – minimum polar angle – Defines how far you can orbit vertically, lower limit0
maxPolarAngleNumber – maximum polar angle – Defines how far you can orbit vertically, upper limitMath.PI
minZoomNumber – minimum zoom value – Defines how far you can zoom out for Orthographic Cameras0
maxZoomNumber – maximum zoom value – Defines how far you can zoom in for Orthographic CamerasInfinity
minDistanceNumber – minimum distance – Defines how far you can zoom in for Perspective Cameras0
maxDistanceNumber – maximum distance – Defines how far you can zoom out for Perspective CamerasInfinity
rotateToVector3 – position to rotate automatically to{x:0,y:0,z:0}
rotateToSpeedNumber – rotateTo speed0.05
logPositionBoolean – prints out camera position to console.log() when rotatingtrue
autoVRLookCamBoolean - automatically switch over to look-controls in VR mode?true

Installation

Browser

Install and use by directly including the browser files:

<head>
  <title>A-Frame using a Camera with Orbit Controls</title>
  <script src="https://aframe.io/releases/0.5.0/aframe.min.js"></script>
  <script src="https://cdn.rawgit.com/tizzle/aframe-orbit-controls-component/v0.1.14/dist/aframe-orbit-controls-component.min.js"></script>
</head>

<body>
    <a-scene>

      <a-entity
          id="camera"
          camera="fov: 80; zoom: 1;"
          position="0 2 5"
          orbit-controls="
              autoRotate: false;
              target: #target;
              enableDamping: true;
              dampingFactor: 0.125;
              rotateSpeed:0.25;
              minDistance:3;
              maxDistance:100;
              "
          mouse-cursor="">
          <a-entity geometry="primitive:cone; radius-bottom:1; radius-top:0" scale=".33 1 .33" position="0 0 0" rotation="90 0 0" material="color: #0099ff; transparent: true; opacity:0.5"></a-entity>
      </a-entity>

      <a-entity id="target">
          <a-box id="box" position="-1 0.5 1" rotation="0 45 0" color="#4CC3D9"></a-box>
          <a-sphere id="sphere" position="0 1.25 -1" radius="1.25" color="#EF2D5E"></a-sphere>
          <a-cylinder id="cylinder" position="1 0.75 1" radius="0.5" height="1.5" color="#FFC65D"></a-cylinder>
          <a-plane position="0 0 0" rotation="-90 0 0" width="4" height="4" color="#7BC8A4"></a-plane>
      </a-entity>

      <a-sky color="#ECECEC"></a-sky>

    </a-scene>
</body>

npm

Install via npm:

npm install aframe-orbit-controls-component-2

Then register and use.

require('aframe');
require('aframe-orbit-controls-component-2');

Alternatively, include as a <script> tag:

<script src="https://cdn.rawgit.com/tizzle/aframe-orbit-controls-component/v0.1.14/dist/aframe-orbit-controls-component.min.js"></script>

When the user enters VR mode, orbit-controls will pause itself and switch to the look-controls attached to the same camera. If no look-controls is specified on the current camera, one will be created with the default settings (this usually works fine). If you do not want this behaviour (probably becuase you want to control the camera juggling behaviour yourself) just specify autoVRLookCam:false.

0.1.14

7 years ago

0.1.13

7 years ago

0.1.12

7 years ago

0.1.10

7 years ago

0.1.9

7 years ago

0.1.8

7 years ago

0.1.7

7 years ago

0.1.6

7 years ago

0.1.5

7 years ago

0.1.4

7 years ago

0.1.3

7 years ago

0.1.1

7 years ago

0.1.0

8 years ago