Skip to content

Create a Landmarks compatible Environment from scratch

Michael Starrett edited this page Jul 29, 2019 · 44 revisions

Objective: Recreate the SimpleSample_50x50.unity scene from a New Scene using only the Unity Editor

  1. From the Unity editor window, select File > New Scene

  2. Delete everything from the scene's hierarchy (Main Camera and Directional Light)

  3. Drag and drop the _Landmarks_ prefab (Assets/Landmarks/Prefabs/) into the hierarchy

  4. Locate the LM_Environment GameObject, a child of our new _Landmarks_ GameObject, and expand it to view children

  5. Populate the environment with filler props

    • Click on the existing filler_props GameObject. Select "Create Empty" and rename this new child of filler_props to "NonTargetProps"

      • Right click our new NonTargetProps GameObject and select "3D Object > Cube"

        • Click on our new Cube GameObject and, under the Transform component, set the Position (-12.5, 5, 13.8) and Scale (5, 10, 5)
      • Right click the Cube object we just created and select "Duplicate" (repeat this process until there are 5 copies)

      • In the inspector, under Transform, set the Position of each cube GameObject (functionally, these GameObjects can be located anywhere in the environment)

      • In the project window, navigate to Assets/Landmarks/Materials/ then drag and drop the SimpleSample_Pillar material onto each cube that we just created

    • Right click the filler_props GameObject. Select "Create Empty" and rename this new child of filler_props to "Walls"

      • Right click our new Walls GameObject, select "3D Object > Cube", and change the name of this GameObject to "C"

        • In the inspector window, set the values for the Transform component of the C GameObject

        • In the project window, navigate to Assets/Landmarks/Materials/ then drag and drop the SimpleSample_CyanWall material onto the GameObject that we just created

      • Right click the Walls GameObject again, select "3D Object > Cube", and change the name of this GameObject to "M"

        • In the inspector window, set the values for the Transform component of the M GameObject

        • In the project window, navigate to Assets/Landmarks/Materials/ then drag and drop the SimpleSample_MagentaWall material onto the GameObject that we just created

      • Right click the Walls GameObject again, select "3D Object > Cube", and change the name of this GameObject to "Y"

        • In the inspector window, set the values for the Transform component of the Y GameObject

        • In the project window, navigate to Assets/Landmarks/Materials/ then drag and drop the SimpleSample_YellowWall material onto the GameObject that we just created

      • Right click the Walls GameObject again, select "3D Object > Cube", and change the name of this GameObject to "K"

        • In the inspector window, set the values for the Transform component of the K GameObject

        • In the project window, navigate to Assets/Landmarks/Materials/ then drag and drop the SimpleSample_BlackWall material onto the GameObject that we just created

    • Right click the filler_props GameObject. Select "3D Object > Cube" and rename this new child of filler_props to "terrain"

      • In the inspector window, set the values for the Transform component of the terrain GameObject

      • In the project window, navigate to Assets/Landmarks/Materials/ then drag and drop the SimpleSample_MarbleFloor material onto the terrain GameObject we just created.

  6. Create target objects for navigation and other tasks

    • Right-click on the existing TargetObjects GameObject, select "3D Object > Sphere", and rename this new child "Red Sphere"

      • In the inspector window, set the values for the Transform component of the Red Sphere GameObject

      • In the project window, navigate to Assets/Landmarks/Materials/ then drag and drop the SimpleSample_RedSphere material onto the Red Sphere GameObject in the hierarchy.

    • Right-click on the existing TargetObjects GameObject, select "3D Object > Capsule", and rename this new child "Blue Capsule"

      • In the inspector window, set the values for the Transform component of the Blue Capsule GameObject

      • In the project window, navigate to Assets/Landmarks/Materials/ then drag and drop the SimpleSample_BlueCapsule material onto the Blue Capsule GameObject in the hierarchy.

    • Right-click on the existing TargetObjects GameObject, select "3D Object > Cylinder", and rename this new child "Green Cylinder"

      • In the inspector window, set the values for the Transform component of the Green Cylinder GameObject

      • In the project window, navigate to Assets/Landmarks/Materials/ then drag and drop the SimpleSample_GreenCylinder material onto the Green Cylinder GameObject in the hierarchy.

    • NOTE: Using the transforms provided, the target objects will appear far outside the environment in the Scene view. This is because the parent Transform, TargetObjects, has a z-value position of 600, which places any objects effectively 600m from the origin in world space. This is because Landmarks places the targets as part of its initialization procedure, allowing for random placement of targets at specified target locations, if desired)

  7. Specify the possible locations for target objects within the environment (random assignment of target locations to target objects, if desired). You may create as many starting locations as you need, provided that there are at least as many child objects of TargetObjects as there are in TargetLocations. NOTE: Landmarks does allow for there to be more child objects of TargetObjects than there are in TargetLocations. This allows users to sample a subset of targets from a larger collection.

    • Right click on the TargetLocations GameObject and select "Create Empty". Repeat this process two more times so that there are three children of TargetLocations. Rename these GameObjects, "Target01", "Target02", and "Target03", respectively. Use the following values for the Transform component of each object.
  8. Create a row of placeholder objects (Facilitates any task where target objects are removed from the environment and placed outside it, such as TASK_Mappit)

    • Right click on the MapTestPlaceHolders GameObject and select "Create Empty". Repeat this process two more times so that there are three children of MapTestPlaceHolders (one for each child of TargetObjects). Rename these GameObjects, "PlaceHolder01", "PlaceHolder02", and "PlaceHolder03", respectively. Use the following values for the Transform component of each object.
  9. Specify locations in the environment where the player will be spawned (i.e., starting locations)

    • Right click on the NavigationStartingLocations GameObject and select "Create Empty". Repeat this process two more times so that there are three children of NavigationStartingLocations (one for each child of TargetObjects). Rename these GameObjects, "StartLoc01", "StartLoc02", and "StartLoc03", respectively. Use the following values for the Transform component of each object.

Clone this wiki locally