Camera

In the context of ArcGIS, the Camera is used to set the data loading point for an ArcGIS level. Several Actors and components that come with the ArcGIS Maps SDK for Unreal Engine are essential for rendering and interacting with your ArcGIS level.

ArcGIS Camera Component

The ArcGIS Camera Component controls the data that is loaded into your scene. It is an important part of the system that creates a window into the GIS world. You need to attach an ArcGIS Camera Component to an Actor to load tiles and scene nodes for the ArcGIS Map. When the camera moves, this Component will set the view that will determine what tiles and scene nodes are streamed and rendered. The ArcGIS Camera Component inherits from Unreal Engine's Camera Component and contains all of that class's properties. The main difference is that an ArcGIS Camera Component requires an ArcGIS View to visualize the ArcGIS Map.

You can find the ArcGIS Camera Component script here:

ArcGIS Maps SDK for Unreal Engine C++ Classes > ArcGISMapsSDK > Public > ArcGISMapsSDK > Components

Set up an ArcGIS Camera

The ArcGIS Camera Component requires an ArcGIS Location Component to be attached together to the same Actor. This allows the ArcGIS Camera and its Actor to be accurately positioned in the ArcGIS level. These Components are typically attached to a Pawn Actor to allow you to control its movement during runtime. For more information about the ArcGIS Location Component, see the Location Component topic.

The ArcGIS Location Component transforms Unreal Engine coordinates into GIS coordinates and defines the position. The ArcGIS Camera Component defines the tilt and heading of the point from which the level is observed.

Values for camera

  • X (Longitude) : Specifies the east–west position of a point on the Earth's surface. A projected position value for projected coordinate systems or a longitude value for geographic coordinate systems.
  • Y (Latitude) : Specifies the north–south position of a point on the Earth's surface. A projected position value for projected coordinate systems or a latitude value for geographic coordinate systems.
  • Z (Altitude) : The vertical distance of the camera above the terrain.
  • Spatial Reference WKID : The spatial reference of the X, Y and Z values in Well-Known ID (WKID).
  • Heading: Provides the ability to either get or set the map view rotation value. This is also known as yaw or azimuth. It represents the number of degrees by which the map's data will be rotated, measured counterclockwise from the north. To rotate clockwise, use a negative value.
  • Pitch: Provides the ability to either get or set a map view's pitch. Pitch is the equivalent of moving a plane's nose up or down (rotating along the axis that passes through the plane's wings). Positive values, looking forward, are above the horizon (pointing upward) and negative values are below the horizon (pointing downward).
  • Roll: Provides the ability to either get or set a map view's roll. Roll is the equivalent of tilting a plane's wings up or down (rotating along the axis that passes through the center of the plane from front to back). A zero value is perfectly horizontal. Positive values will tilt the left side upward (or right side downward). Negative values do the opposite.

To set up an ArcGIS Camera:

You can create an ArcGIS Camera from the Models Panel UI Camera tab.

  1. Click on the Camera tab.
  2. Fill in the values for the camera position and rotation.
  3. Click on the Create button.

When you create a camera with this feature, it will create a Default Pawn in the Outliner panel with the ArcGIS Camera and ArcGIS Location components attached. For the information about the Default Pawn, see the Unreal Engine's documentation.

If you find a better camera angle while you navigate around during the Editor mode, click on the Align with View to update the initial camera position for the runtime.

You can move the camera around by using WASD keys during the Editor mode regardless you attach a controller Component to it before it responds to player input. For the runtime, you can attach your own controller Component to the Default Pawn. You can also replace the Default Pawn with the sample ArcGIS Pawn that is used in the sample levels. For the information about the sample ArcGIS Pawn, see the ArcGIS Pawn section.

To replace the Default Pawn with the sample ArcGIS Pawn:

  1. Open the location below in the Content Drawer.

    Plugins > ArcGIS Maps SDK for Unreal ENgine C++ Classes > ArcGISSamples > Public

  2. Click on the ArcGIS Pawn to select it. When it is selected the background color changes to blue.

  3. Right click the Default Pawn in the Outliner panel.

  4. Click on Replace Selected Actor with, then select ArcGIS Pawn.

Set a Fixed Data Loading Point

It is not a requirement to attach an ArcGIS Camera Component to your Pawn Actor. In some cases, you may want to use an ArcGIS Camera as a fixed loading point to only bring in a set level of detail into your scene. You can attach the ArcGIS Camera Component and an ArcGIS Location Component to an empty Actor, then set the position of the Actor.

ArcGIS Pawn

ArcGIS Maps SDK for Unreal Engine comes with a sample ArcGIS Pawn that you can use in your ArcGIS levels. This Pawn Actor correctly wraps and moves around the Earth in both Global and Local mode, and it is controlled by using the WASD keys and mouse during runtime. It contains an ArcGIS Camera Component and an ArcGIS Location Component. The Modes Panel UI and the Details panel sync with an Actor that has both Components attached on play and set its initial position and rotation. If you want to move the ArcGIS Pawn position to the current editor camera position during the editor time, you can either click on the Align with View button under the Camera tab in Models Panel UI or right-click on the ArcGIS Pawn in the Outliner panel and select Snap Object to View.

You can find the ArcGIS Pawn in the Unreal Editor Content Browser:

Plugins > ArcGIS Maps SDK for Unreal Engine C++ Classes > ArcGISSamples > Public

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.