FROZEN DESTINATION | PROJECT BREAKDOWN AR0771 | Beyond 3D Computer Visualization Virtual Reality | Final Report Dan Sobieraj | 5088917 February 6, 2021
Dan Sobieraj | VR Final Report | AR0771
Dan Sobieraj | VR Final Report | AR0771
Dedication This project is dedicated to my parents and friends who supported me through the final phase of this project with food and time, and the amazing team at TU Delft’s VR Lab teaching the Beyond 3D course, with special thanks to Arno Freeke and Paul de Ruiter. I especially appreciated the tutorial they dedicated on how to model a plane fuselage.
Dan Sobieraj | VR Final Report | AR0771
CONTENTS 0.0 Foreword
9
2.4 Modelling Issues
44
1.0 Inspiration & Concept
11
2.5 Modelling Tutorials & References
44
1.1 Preliminary Concept
11
2.51 Modelling Tutorials
44
1.1.1 Initial Interest
11
2.52 Reference Images
45
1.1.2 Initial Concept
11
1.2 Final Concept
20
2.6 Downloaded Models 3.0 Sculpting in ZBrush
45 49
1.2.1 VR Storyboard
20
3.1 Battered Plane Fuselage & Wings
49
1.2.2 Wayfinding
20
3.2 Dented Jet
49
1.2.3 Aesthetics
21
3.3 Cushy Plane Seats
49
1.2.4 Colour Palette
21
3.4 ZBrush Tutorials
49
2.0 Maya 3D Modelling
25
4.0 Material Design in Substance Designer
53
2.1 Reference Images
25
4.1 Smooth Snow Texture
53
2.2 Modelling Workflow
25
4.2 Rough Snow Texture
53
2.2.1 Exterior Modelling
25
4.3 Snowflakes
53
2.2.2 Interior Modelling
33
4.4 Material Tutorials
53
2.2.3 Destroying the Model
40
5.0 Texturing in Substance Painter
59
44
5.1 Geometry Preparation
59
2.3 UV Unwrapping
Dan Sobieraj | VR Final Report | AR0771
5.2 Substance Painter Set-Up
59
5.3 Substance Painter Materials
59
6.7 Animated Elements
86
59
6.7.1 Lighthouse
86
59
6.7.2 Rotating Jet Props
86
65
6.7.3 Fire, Smoke, Sparks & Steam
86
6.1 Material Shaders
65
6.7.4 Flashing & Sparking Electronics
87
6.2 Material Instances
65
6.8 Interactive Elements
87
6.3 Landscape Materials
65
6.8.1 Driveable Boat
87
6.4 Landscape & Environment
70
6.8.2 Throwable Door
87
6.5 Foliage Elements & Levels-of-Detail
70
6.8.3 Openable Door
87
6.5.1 Modelling Snow Clumps
70
6.8.4 Flight Recorder
87
6.5.2 Levels-of-Detail (LODs)
70
5.3.1 Windows 5.4 Substance Painter Tutorials 6.0 Unreal Engine 4.24
6.6 Lighting & Atmosphere
6.6.5 Fog
6.9 Audio
86
94
86
6.9.1 Narration
94
6.6.1 Skylight & Reflection Spheres
86
6.9.2 Ambient Noises
94
6.6.2 Directional Light (Sun)
86
6.9.3 Driveable Boat
94
6.6.3 Sun Position
86
6.9.4 Throwable Door
94
6.6.4 Point Lights & Spotlights
86
6.9.5 Plane Interior
94
Dan Sobieraj | VR Final Report | AR0771
CONTENTS 6.10 UE4 Troubles
94
6.11 UE4 Resources
95
6.11.1 UE4 Tutorials
95
6.11.2 UE4 Plugins
100
6.11.3 Audio Sources
100
7.0 Conclusion 7.1 Easter Eggs
103 103
7.1.1 Baking Textures
103
7.1.2 Bridging Virtual and Reality
103
7.2 Concluding Remarks
110
7.3 Alchemist Tutorials
110
7.4 Videos & Download
110
8.0 Final Images
111
Dan Sobieraj | VR Final Report | AR0771
Dan Sobieraj | VR Final Report | AR0771
8
Dan Sobieraj | VR Final Report | AR0771
0.0 Foreword My interest in enrolling in the Beyond 3D course came from the variety of skills the course had to offer that are crucial for creating an immersive VR experience. Looking back, I realize that my initial ambitions for this course were unreal(istic) in the time-frame I had, however I am very happy that the students were given the opportunity and extra time to develop their projects. This is probably the most memorable course I have taken, and time-intensive, but I have enjoyed every minute of it. I wish I was given the opportunity to learn Maya, Z-Brush, Substance Designer/Alchemist/ Painter, and Unreal Engine 4 (UE4) in my Bachelor’s. Please note: All images have been produced by the author, unless stated otherwise.
9
Dan Sobieraj | VR Final Report | AR0771
IMAGE with CONCEPT
10
Dan Sobieraj | VR Final Report | AR0771
1.0 Inspiration & Concept 1.1 Preliminary Concept 1.1.1 Initial Interest
1.1.2 Initial Concept
The initial concept of my scene stemmed from
The preliminary sketch of the search and rescue scenario involved 6 main elements in the map:
two things. As a Canadian in Delft in the month of February, the first was my craving for snow. The second inspiration was a surreal image I
(1) A bucket excavator digging into an ice bank
saw of a plane that crashed in 1973 on the
(2) Plane crash on a floating ice sheet
beach at Sรณlheimasandur, on the South Coast
(3) A burning oil rig at sea
of Iceland (see image below). I quickly started to brainstorm a search and rescue scenario.
(4) A ship graveyard (5) An ice-breaker research ship (6) A tiny-house research station
Plane wreck in Sรณlheimasandur | Photo: Grant Ritchie on Unsplash
The map was bounded by a mountain range, a steep escarpment made by the excavator, and the sea. However, it was an open world without much structure or wayfinding other than a voice recording that would give directions of what to do next. In addition, when I asked for feedback at the VR lab it was strongly recommended that I focus on only one element as this was overly ambitious for the time given. I therefore decided to narrow my scope down to the plane wreck, as it best represents the year 2020. 11
Dan Sobieraj | VR Final Report | AR0771
12
Dan Sobieraj | VR Final Report | AR0771
Please note: All precedent images, except for the tiny house, have been found through browsing Google Image Search.
13
Dan Sobieraj | VR Final Report | AR0771
14
Dan Sobieraj | VR Final Report | AR0771
15
Dan Sobieraj | VR Final Report | AR0771
16
Dan Sobieraj | VR Final Report | AR0771
17
Dan Sobieraj | VR Final Report | AR0771
18
Dan Sobieraj | VR Final Report | AR0771
19
Dan Sobieraj | VR Final Report | AR0771
1.2 Final Concept By narrowing down my scope, I was able allocate more time to creating a more detailed scene. The two main elements became (1) the plane wreck and (2) the research boat where the character starts. It should be noted that the story was not finalized when I started modelling, but that my ideas developed
3. The player gets into the driveable boat and steers it to the lighthouse, there is massive cloud of smoke in the distance.
10. The player searches for the flight recorder. 4. Once on the shore, the player gets out of the boat and moves towards the smoke in the distance by walking in between two large mounds of snow and ice. Once the player passes the mounds, the plane crash is in full view.
during the process of producing the project. 1.2.1 VR Storyboard The map is played in the following sequence: 1. Player starts on the floating research boat off the frigid coast. 2. A voice prompt tells the player a riddle: “A plane crashes in the arctic. There are survivors, but no single person survives. Find out why. Recover the flight recorder from the cockpit. Get in the rescue boat and sail to the lighthouse.”
5. A river cuts the player’s path, where the only way to get across is by jumping on 3 floating icebergs. 6. The player follows a subtle path up to the end of the plane where a door is highlighted. 7. The player opens the aircraft door and enters the plane making the way up to the cockpit.
11. The player finds the flight recorder and the answer to the riddle is played. 1.2.2 Wayfinding The final scene has more defined limits and better wayfinding than the initial concept. Landmarks are viewed by the player in a very linear sequence, even though the map does not seem linear due to the endless sea that it is located in. An illuminated lighthouse serves as a very clear landmark, as well as the plane in the distance that has a large trail of dark smoke rising above it. A line of dark ice on the snow-covered ground also serves as a subtle “trail” that most players will instinctively follow.
8. Once the player opens the door to the cockpit, there is another audio prompt: “Seems like the flight recorder is not here. Have a look below the deck, in the cargo hold.”
20
9. The player then drops down to the deck below and exits at the rear cargo doors.
Dan Sobieraj | VR Final Report | AR0771
1.2.3 Aesthetics
1.2.4 Colour Palette
The aesthetic vision from the initial concept
The overall colour palette of the scene was
carried over to the final scene. A snow
made of cooler tones to give a frigid feel to the environment. Warmer tones, such as reds, oranges, and yellows were used on elements to attract the player’s attention. These warmaccented elements included the driveable boat, light ray of the lighthouse, text that prompts action, and objects that are interactive, such as doors, and electronics within the plane.
environment allowed for a high level of contrast between elements and their surroundings, and therefore the objects placed in the scene stand out like works in an art gallery. Elements that juxtapose one another well in the sunny snow environment are: 1. The rough dark sea and the flat white coast 2. Thick dark smoke against the light sky 3. Rough snow and dark smooth ice 4. Dynamic fire and static snow 5. Patches of rough grass in the sheets of white snow 6. The light clear exterior vs the dark smoky interior of the plane
21
Dan Sobieraj | VR Final Report | AR0771
1. RESEARCH BOAT STARTING POINT
1
2
3 4
5
2. DRIVEABLE BOAT
6 10
9
8 7 11 12
3. LIGHTHOUSE
22
Dan Sobieraj | VR Final Report | AR0771
4. SNOW MOUNDS
7. PLANE DOOR BREACH
10. COCKPIT SEARCH
5. ICEBERG CROSSING
8. FUSELAGE WALKTHROUGH
11. CARGO BAY WALKTHROUGH
6. PLANE WRECK
9. COCKPIT ENTRANCE
12. FLIGHT RECORDER DISCOVERY
23
Dan Sobieraj | VR Final Report | AR0771
24
Dan Sobieraj | VR Final Report | AR0771
2.0 Maya 3D Modelling The modelling for this project was done exclusively in Maya 3D and was a continuous learning process, sometimes frustrating because of crashes, file corruptions, and the discovery of better workflows and methods at a later stage. 2.1 Reference Images
2.2 Modelling Workflow My plan was to model the plane as new, and then have fun ripping it apart and destroying it. To facilitate this process, I divided the plane into 5 parts: (1) cockpit, (2) first class, (3) main section with wings, (4) end section, and (5) the tail end. I also minimized the amount of work by modelling half the plane, which I then mirrored along the long axis.
I started the process by watching a few tutorials on how to model a plane, mentioned in a later section. One of them mentioned the-blueprints. com, a database of many free technical
2.2.1 Exterior Modelling Plane Fuselage
drawings. The plane I chose to model was the
The plane began as a primitive mesh cylinder
Boeing 777-200, a large passenger plane that
that I divided into the 5 sections based on
is very common and that is well documented
the technical drawings. A section drawing
with reference images online, which you
of the plane was used as a reference to
have probably flown inside many times!
extrude an accurate wall thickness. The edgeloop tool made sculpting the plane’s shape
rectangular prisms from the fuselage. Later on this became problematic when I used the smooth tool. Because of a lack of edge loops, the window holes would be deformed and there was no clean way of adding in new edgeloops. I had to redo the process by deleting the face of where an opening would be, bridging the mesh of the interior and exterior fuselage, and adding more edge-loops to give the opening more definition. This conversion to edge-loops was time consuming as it required a lot of clean up, and the “merge vertices� tool was used extensively. At some points deleting and inserting edge-loops would corrupt the geometry, creating double faces, or removing all faces in a section, and I had to revert to older versions and try again. While it did take time initially, the model was much cleaner at the end and I was able to save time later on.
The plane images were scaled using the
an easy process because all I had to do was
default human model as reference. The
apply a semi-transparent material to the
plane front and side elevations were
plane and align the edges with the drawing
Windows were modelled by taking the
then aligned with the plan drawing.
by scaling the loops and moving vertices.
rounded rectangular prism that was used to
Windows
initially to perform the Boolean subtraction. The window openings were initially modelled by
An extrusion with a void was modelled from
performing a Boolean subtraction of rounded 25
Dan Sobieraj | VR Final Report | AR0771
Fig. 1 | Photo of the selected reference plane model the Boeing 777-300. Taken on Nov, 25, 2020.
Fig. 2 | Alignment of reference images & beginning of plane model.
Fig. 3 | Plane wreck division & mock-up.
Fig. 4 | Plane fuselage modelling.
26
Dan Sobieraj | VR Final Report | AR0771
Fig. 5 | Smoothed plane tyre.
Fig. 6 | Jet modelling.
Fig. 7 | Radial array and “twisting� of jet propellors.
Fig. 8 | Defining edges in cockpit windows. 27
Dan Sobieraj | VR Final Report | AR0771
this shape to frame the openings nicely.
flaps and the rudder that could be individually
using the twist tool to give a more realistic
A simple 2D plane was used for the glass.
angled to give another level of realism.
appearance. The blades were arrayed radially
The cockpit windows were more difficult to model because they were modelled as one mesh, not as separate elements. This required a serious amount of edge-loops to define the window frames, just enough to make the openings clear but not too many or else the windows would look as boxy as a Tesla Cybertruck even when smoothed. Once the fuselage and windows were
Landing Gear The landing gear was modelled using a cylinder that had many offset and inset extrusions to create the tyre and the wheel hub. Smoothing the shape created very nice results. The wheel was then copied as an instance, and a series of smoothed cylinders made the main structure of the landing gear. Jet Engine
modelled, the last step was to mirror the geometry along the long axis of the plane and
The jet engine was modelled from a cylinder
merge the vertices to create a closed mesh.
that had one major inset from one side, and on the other a series of insets and extrusions
Wing Section & Rear Stabilizers
that gradually became smaller and smaller. The connection of the jet to the wing was
To model the wings and rear stabilizers, the
modelled by deleting a face from both
plane fuselage was subdivided with edge-loops
the engine and plane wing, then using the
and one large face was extruded. More edge-
“Append To Polygon� tool to connect the
loops were added and their vertices aligned in
edges of both deleted polygons together.
plan and elevation to give a more accurate wing shape. Once the wings and stabilizers were
The blades of the jet were modelled using a flat
modelled, certain faces were separated to create
rectangular prism with a chamfered tip, then
28
as instances to make small adjustments easier. A conical cap was put on to hide the point of rotation where the blades come together. The blades were then smoothed and grouped as a separate element from the engine so that they can be animated with a rotation in Unreal Engine. Exterior Doors The exterior doors and cargo doors were modelled by taking the product of a Boolean difference made by the ship hull and a rounded rectangular prism. For the exterior doors, an opening was modelled in the door with a window, a large latch placed, and the interior side extruded and smoothed to give the door the look of having a locking mechanism within it.
Dan Sobieraj | VR Final Report | AR0771
Fig. 9 | Initial fuselage Boolean subtraction.
Fig. 10 | Boolean difference appeared clean.
Fig. 11 | Modelling of window frames and glass.
Fig. 12 | Lack of edge-loops collapsed windows when smoothed. 29
Dan Sobieraj | VR Final Report | AR0771
Fig. 13 | Exterior door - this is where I learned how to make proper openings with edge-loops.
Fig. 14 | New smoothed window openings, with clean edge-loops.
Fig. 15 | Closing the loops.
Fig. 16 | Adding thickness to fuselage shell.
30
Dan Sobieraj | VR Final Report | AR0771
Fig. 17 | Completed cockpit exterior.
Fig. 18 | Exterior door modelling.
Fig. 19 | Exterior door detailing.
Fig. 20 | Mirroring of plane geometry. 31
Dan Sobieraj | VR Final Report | AR0771
Fig. 21 | Extrusion of vertical stabilizer.
Fig. 22 | Modelling of rudders.
Fig. 23 | Rear rudders.
Fig. 24 | Completed plane exterior.
32
Dan Sobieraj | VR Final Report | AR0771
2.2.2 Interior Modelling Cockpit
the middle, having odd overhead baggage compartments sticking out and looking like their placement was an afterthought.
Due to time-constraints, I bought a highlydetailed model of a cockpit that was untextured,
The partition walls were modelled from a
made by AirStudios and sold on TurboSquid.
rectangular prism that took the profile of
I did this so that I could spend more time
the fuselage, detailed with metal baseboards
detailing other parts of my scene, but still have
and an extruded frame around openings.
the ability to texture it from scratch. This model included a dash control board with flight control sticks, an overhead control board, seats, and a fire extinguisher. I slightly modified this model by deleting parts of it, such as the windows, re-scaling and positioning it accurately within my plane fuselage. To fully integrate the cockpit model with my geometry, I modelled extra walls that hid the transition between both models. Partition Walls As I divided the plane in a haphazard way, without referring to an interior plan, I decided that the best place to put the partition walls and toilets would be at the ends of the split parts of the fuselage. This way I would mitigate any awkward space created with a toilet partitioning the airplane hull in
was inserted into a cavity in the walls. Interior Doors Interior
doors
were
modelled
from
rectangular prisms and include a metal frame, door handle, screws, a baseboard, and metal panels. I modelled the door hinge at the origin of the model so that
Toilets
it could be easily made operable in UE4.
Adjacent to the partition walls are the toilets,
Seats
which were modelled in a similar way to the walls but with different proportions. Each partition wall has two toilets close to the exterior of the plane, and two centered in the core. The doors of the toilets were modelled from a variety of reference images. The doors include a bi-fold hinge, a sliding lock, a pull handle, inset panels, and several other features to add to its realism.
The airline passenger seats were modelled from reference images, with a humanoid model as a scale reference. Rectangular prisms were morphed into the rounded symmetrical cushions with the use of the connect tool to create equidistant edge-loops. The vertices were then aligned with the plan and elevation drawings of the seat. The bevel tool was
First Aid Pods
used to give the solid parts of the chair (chair
To add detail to the large blank wall surfaces
quickly and without the hassle of adding
and to the toilet cores, I modelled an
edge-loops to all sides of the geometry.
legs, tray, arm rests) a more realistic look,
inset first-aid panel. This panel has three inset windows with metal frames, and
I made the seats low-poly to not affect the VR’s 33
Dan Sobieraj | VR Final Report | AR0771
performance, as I would be arraying these seats
this length, meaning that 3 panels would fit
about 100 times as instances within the scene.
below the storage container. This allowed me
Floors The floors were modelled from a rectangular prism and feature aisles with raised edges. Definitely one of the simplest elements and quickest to model. The
to add as many storage modules as needed to cover the length of the plane. Details of the overhead storage modules include recessed handles, air nozzles, lights, and aisle numbers. Vents & Inner Ribs
detail was added in the texturing phase.
Under the windows and close to the floor are
Overhead Storage Modules
reference images. I quickly arrayed a bunch of
The overhead storage made up most of the interior of the plane and was modelled from a technical section drawing of the plane. There are two types of overhead storage: (1) the storage close to the windows of the plane and (2) storage in the center of the plane. The overhead storage was composed of several elements: the (1) storage compartments (2) lights and air vent panels, and (3) normal panels. To maximize workflow efficiency in Maya and UE4, I simplified the overhead storage into a single low-poly module. The length of the module was equal to one storage container, and the panels would be 1/3rd of 34
vent panels that I modelled based on some bevelled rectangular prisms into a grid to add some detail to the bare inner surface of the fuselage. Additionally, I modelled ribs that run floor-to-ceiling between windows along the fuselage to give the impression of panelization.
Dan Sobieraj | VR Final Report | AR0771
Fig. 25 | WC module.
Fig. 26 | Edging details.
Fig. 27 | Seat modelling.
Fig. 28 | Seat details. 35
Dan Sobieraj | VR Final Report | AR0771
Fig. 29 | Seat tray details.
Fig. 30 | Passenger chair array.
Fig. 31 | Vents & ribs.
Fig. 32 | Overhead storage making up most of the interior.
36
Dan Sobieraj | VR Final Report | AR0771
Fig. 33 | Two types of overhead storage.
Fig. 34 | Overhead storage at center of plane.
Fig. 35 | Overhead storage on window sides.
Fig. 36 | Overhead storage vent/light panel detail. 37
Dan Sobieraj | VR Final Report | AR0771
Fig. 37 | Partition walls.
Fig. 38 | Inset first-aid pod.
Fig. 39 | Cockpit integration.
Fig. 40 | Cockpit integration with exterior windows.
38
Dan Sobieraj | VR Final Report | AR0771
Fig. 41 | WC core modelling.
Fig. 42 | Completion of interior element modelling. 39
Dan Sobieraj | VR Final Report | AR0771
2.2.3 Destroying the Model Even by splitting the model into pieces that resembled a plane wreck, some realism was still missing. I knew I could batter the model up in ZBrush, however I was not sure how I could give it the look of being “ripped� apart. I decided I would have to model these elements as I could not find a tutorial on getting the look I envisioned. After the entire fuselage was modelled, interior and exterior, I extruded thin parts of the outer shell of the model in a random branch-like shape to give the appearance that the plane’s metal panelling was torn apart on impact. I was not satisfied with this as it looked very 2 dimensional and flat, so I decided to have another pass of the extruded parts and moved all the vertices in random directions. This last part really did the trick and looked believable when textured! I also created circular web-perforated steel I-beams at the end of the plane sections to expose some of the inner structure that was revealed after the crash. These were 40
modelled from a primitive cylinder that was converted into a donut, divided by edgeloops, with the inner section inset, and finally smoothed. Then smaller cylinders were radially arrayed and a Boolean difference was performed to achieve the perforated look. A section of panels on the vertical stabilizer on the tail of the plane was deleted to expose rebar underneath and to give the appearance of being damaged. This was done by detaching the panels, and trimming and extruding the detached panels to give the appearance of rebar.
Dan Sobieraj | VR Final Report | AR0771
Fig. 43 | The tears looked a bit flat.
Fig. 44 | Moving the vertices in random directions solved this.
Fig. 45 | Every tear was extruded individually.
Fig. 46 | Modelling of web-perforated steel I-beam. 41
Dan Sobieraj | VR Final Report | AR0771
Fig. 47 | Boolean subtraction preparation.
Fig. 48 | Perforated beam integrated with fuselage.
Fig. 49 | Overall view of damaged fuselage.
Fig. 50 | Removal of vertical stabilizer panels for a more damaged look.
42
Dan Sobieraj | VR Final Report | AR0771
Fig. 51 | Grafting tears on the other side of the fuselage.
Fig. 52 | End section with completed tears.
Fig. 53 | Cockpit with completed tears.
Fig. 54 | Vertical stabilizer with exposed rebar. 43
Dan Sobieraj | VR Final Report | AR0771
2.3 UV Unwrapping Unwrapping the UVs of my model was a trial and error process. I used Maya’s UV unwrapping tools extensively, however it took me several attempts of importing my model into Substance Painter to realize that my objects that I modelled separately should be combined into one mesh, their UVs need to be well unwrapped and laid out, and there cannot be any hiding duplicated or inverted faces. Even when the UVs of certain elements looked good, I still had to recreate them a couple times and sometimes also remodel the geometry because textures were not displayed well in Substance Painter. 2.4 Modelling Issues
simply subtract the shape I wanted from the fuselage, but I had to model the openings by eye. What became problematic was that the fuselage was not always planar, and sometimes deleting or creating new edge-loops caused bad geometry. This took a few days of manual cleaning but in the end made my life easier when I exported the mesh to other programs such as ZBrush and Substance Painter. The second issue was that Maya had corrupted my files on several occasions. This happened unexpectedly, without any complex operations being performed or program crashes. The files would simply not open with an “Error Line 0: Error Reading File”. I tried clearing my preferences with no success. Fortunately, Arno was able to open the corrupted files and send recovered versions, saving days of work!
The first issue I encountered was that mesh modelling in Maya is counterintuitive to what I
I made sure to save my models as .ma, instead of
am used to in Rhino’s NURBS modelling. Instead
binary .mb files that cannot be fixed, as soon as
of simple Boolean operations, I have to keep
this happened for the first time. I also saved daily
the structure of edge-loops in mind. This was
backups of my working files, so as not lose more
very time consuming, especially when making
than a day’s work as the worst-case scenario.
openings in the fuselage because I could not 44
2.5 Modelling Tutorials & References Below is a list of modelling tutorials and resources that were useful to me. Many of the modelling tutorials were not done in Maya, instead 3DS Max or Cinema 4D, however the concepts were easily transferable as the tools and workflows in these softwares is very similar. 2.51 Modelling Tutorials How To Model A Boeing 777200 Part 1 Uploaded By “aqeel anjum” on YouTube https://youtu.be/6fxuDa-2Mic Maya for Beginners Tutorial: 3D Modeling An Airplane In Maya Part 1 by Misterh3D Uploaded By “Edge-CGI 3D Tutorials and more!” on YouTube https://youtu.be/rUIG6DlPRhE Maya 2014 tutorial : How to model an Airplane interior Uploaded By “Mike Hermes” on YouTube https://youtu.be/-Z9gLnbyCzA
Dan Sobieraj | VR Final Report | AR0771
Maya 2017 tutorial : How to create a sunken door handle Uploaded By “Mike Hermes” on YouTube
2.6 Downloaded Models
https://youtu.be/c9knrhfE174
from sources like flight simulator and tutorial
Modeling An Airplane In Maya - Part 1 Uploaded By “Mr. H” on YouTube https://youtu.be/mHVIZsXFGh4 Plane crash Tutorial part 1 Uploaded By “cinema 4d tutorials” on YouTube https://youtu.be/csPgcba2Zm4 2.52 Reference Images Airliners www.airliners.net Unsplash https://unsplash.com/s/photos/brokenairplane The Blueprints https://www.the-blueprints.com//blueprints/ modernplanes/boeing/19893/view/ boeing_777_200/
Boat Zodiac 3D model by juanmrgt in Turbo Squid (Paid)
While I did find lots of reference images online websites, I decided that because I have modelled nearly my entire scene I could use my time to progress to sculpting and texturing instead of modelling more elements. I therefore decided to purchase and download a few models, that will be cited in this section. Please note that I recreated the UVs for all these models and
Description: FBX file of a inflatable Zodiac pontoon with an motor, oars, rope, and bench. https://www.turbosquid.com/3d-models/ zodiac-boat-3d-model-1602671 Free lighthouse by POPA_3D on Turbo Squid (Free)
applied custom textures in Substance Painter to better suit the aesthetic of the scene. Airplane Cockpit by Air Studios on Turbo Squid (Paid) Description: Native Maya file of an untextured but highly detailed 3d model of a commercial jet cockpit. It includes flight control sticks, dashboard, control panels with buttons, nobs, and levers, an overhead control panel, pilot seats, and a fire-extinguisher. https://www.turbosquid.com/3d-models/3dcommercial-jet-cockpit/1018809
Description: Maya model of a light house with a small building attached to its base. https://www.turbosquid.com/3d-models/freelighthouse-3d-model/328013 3D black_box by bkorkmaz3d on Turbo Squid (Paid) Description: Native Maya model of an airplane flight recorder. Includes two models, one of a new flight recorder, and one that has been damaged. https://www.turbosquid.com/3d-models/3dblack-box-1584036 45
Dan Sobieraj | VR Final Report | AR0771
Fig. 55 | UV unwrapping of geometry before texturing.
Fig. 56 | One of many unexpected “Fatal Error”s.
Fig. 57 | One of many unexpected crashes.
Fig. 58 | Unexpected “Error: Line 0” when opening a recent file.
46
Dan Sobieraj | VR Final Report | AR0771
Fig. 59 | Detailed cockpit model by Air Studios.
Fig. 60 | Zodiac boat model by juanmrgt.
Fig. 61 | Black box model by bkorkmaz3d.
Fig. 62 | Lighthouse model by POPA_3D. 47
Dan Sobieraj | VR Final Report | AR0771
48
Dan Sobieraj | VR Final Report | AR0771
3.0 Sculpting in ZBrush
as overlapping surfaces. I would then bake the
ZBrush proved to be a handy tool in adding detail
apply to the low-poly model, giving the low-
to geometry very quickly. Its user interface took
poly model the detailed appearance of the
a while to get used to, but in the end it gave me
high-poly but without the extra geometry.
great results with the plane fuselage, jet, plane seats, and snow clumps used in the landscape (this will be mentioned in a later section). 3.1 Battered Plane Fuselage & Wings
high-poly model into the texture that I would
3.2 Dented Jet The same process as the fuselage was applied to the jets. However, because the interior of the jet is not visible because of
First, I imported the individual parts of the
the jet propellers, I managed to create even
fuselage and wings into ZBrush and worked
more dramatic dents. The only thing I had
on them one at a time. The “Trim Dynamic”
to be careful with was to make sure the
brush applied at different strengths and sizes
jet body did not get deformed to the point
was used to dent the smooth round fuselage. I
where it would collide with the propellors.
had to be careful with the intensity, especially around the thinner parts of the mesh, because it was very easy to morph the mesh to the point it was inside out. Once I was happy with the fuselage’s appearance, I unwrapped the UVs and exported both a high-polygon version and a low-polygon version, as OBJs, of the battered plane fuselage. I then imported both
3.4 ZBrush Tutorials Request - Airplane Seat Uploaded By “Arrimus 3D” on YouTube https://youtu.be/aceHWP_qq6c Tutorial - Forest Snow Ground - Substance and Unreal Engine By Pure Polygons – Available at https://gumroad.com/l/Tut-FGS-all ZBrush was covered in one of the videos in this tutorial series. https://youtu.be/V14ZsqaomzM
3.3 Cushy Plane Seats The plane seats seemed a bit too rigid, so I used a small brush with long strokes to give the cushions a slightly wrinkled appearance that was much softer. This worked well and I proceeded to prepare the model for texturing.
models into Maya and checked to make sure that their location in the model was correct and to fix and problems with geometry, such 49
Dan Sobieraj | VR Final Report | AR0771
Fig. 63 | Tail section before sculpting in ZBrush.
Fig. 64 | Battering of fuselage.
Fig. 65 | Tail section fully sculpted.
Fig. 66 | Tail section with unwrapped UVs.
50
Dan Sobieraj | VR Final Report | AR0771
Fig. 67 | Detailed sculpting of tears.
Fig. 68 | Interior sculpting of dents.
Fig. 69 | End section fully sculpted.
Fig. 70 | Wing fully sculpted. 51
Dan Sobieraj | VR Final Report | AR0771
52
Dan Sobieraj | VR Final Report | AR0771
4.0 Material Design in Substance Designer While browsing online for tutorials on how to create realistic materials for snow, I came across a tutorial package for sale by Pure Polygons. The 12-hour tutorial set included a breakdown of how to create a high-quality snow material from scratch with many material maps in Substance Designer, how to create the snow shaders in UE4, how to model and sculpt snow clumps with several Levels-of-Detail (LODs) that can later be painted on in the landscape, and finally how to create weighted landscape materials in UE4. 4.1 Smooth Snow Texture The material design started by creating a white base for the snow with a heightmap that was generated in a cell pattern. This same cell pattern was used to create an ambient occlusion that emphasized the shadows created by the undulating surface. Blurring maps, adding noise, and using masks created realistic peaks and shiny speckles placed and scaled randomly on the snow that added to the realism. The
great part about using Substance Designer
to randomly place, rotate, scale, and raise
was that the material was parametric and it
the snowflakes across the material. Once
was very easy to optimize the finished product.
complete, the material maps were exported
4.2 Rough Snow Texture The rough snow texture was based on the smooth snow texture, but with more masks applied to it. The main difference was that the heigh map of the rough snow was increased, and rough craters were scooped out from the smooth snow surface. Most of the work on the
as 16-bit 4096x4096px textures for UE4. 4.4 Material Tutorials Tutorial - Forest Snow Ground - Substance and Unreal Engine By Pure Polygons – Available at https:// gumroad.com/l/Tut-FGS-all https://youtu.be/V14ZsqaomzM
rough snow texture was creating craters in the snow with snow clumps inside and on the edges of the craters, as you would see in real life. The “tile sampler” tool was key to the process of identifying edges of masks and placing the snow clumps in the appropriate places. 4.3 Snowflakes The snowflakes were created as a separate material that can be added on to both snow textures by blending the shaders in UE4. The snowflakes were simply a default “starburst” shape that were deformed. The “tile sampler” tool was used 53
Dan Sobieraj | VR Final Report | AR0771
Fig. 71 | Creation of smooth snow material in Substance Designer.
Fig. 72 | Using cells as normal masks to give the snow texture.
Fig. 73 | Modifying height and tesselation of snow material.
Fig. 74 | Blending an ambient occlusion layer to get more depth.
54
Dan Sobieraj | VR Final Report | AR0771
Fig. 75 | Blending of layers to achieve more detail in snow material.
Fig. 76 | Blending more detail for rough snow.
Fig. 77 | Blending crevaces for an “icy� feel.
Fig. 78 | Final blended snow material. 55
Dan Sobieraj | VR Final Report | AR0771
Fig. 79 | Adding granular speckles on snow material.
Fig. 80 | Study of different speckle sizes on overall material.
Fig. 81 | Using tile sampler to create points around craters.
Fig. 82 | Placement of snow mounds around craters with tile sampler.
56
Dan Sobieraj | VR Final Report | AR0771
Fig. 83 | Placement of snow mounds around craters with tile sampler.
Fig. 84 | Placement of snow mounds around craters with tile sampler.
57
Dan Sobieraj | VR Final Report | AR0771
58
Dan Sobieraj | VR Final Report | AR0771
5.0 Texturing in Substance Painter
without the expense of computer performance.
5.1 Geometry Preparation
5.3 Substance Painter Materials
Following section 4, once the geometry has
Applying materials in Substance Painter is
been cleaned and its UVs unwrapped it was
very quick after baking the maps. While
ready to have materials applied to it. Unique
the smart materials with their appropriate
materials were created in Maya and applied to
placement of scratches and dirt looked great,
all faces of the geometry. I realized that because
I customized all of them to achieve the exact
of all the edge-loops I created, the edge
look I wanted. I would add layers with dirt
between two materials was not always straight
and paint drip generators on to the materials
and parallel. I strategically placed elements like
to give them a damaged and worn look. The
floors and walls to hide those edges. After a last
dirt generator with a white colour was great
check of the UVs, I exported the materialized
at simulating snow cover because it uses
geometry in FBX format to Substance Painter.
the Ambient Occlusion map and places the
5.2 Substance Painter Set-Up Once the geometry was imported into Substance Painter with a PBR template set at 4K, it was time to bake some mesh maps! The mesh maps were baked with 4x4 Subsampling, and a high-poly model of the geometry was sculpted in ZBrush. Baking high-poly geometry into the texture of a lowpoly model greatly improved its quality in UE4,
5.3.1 Windows The windows were slightly different as the glass
“dirt” at the edges, accounting for gravity. I also applied many logos on to the doors, fire extinguishers, zodiac boat, and the flight recorder. I created custom logos in photoshop, such as “KLD” (on the plane’s vertical stabilizer and interior doors), “FLIGHT RECORDER DO NOT OPEN” (on the flight recorder), and “SEARCH AND RESCUE” (on the Zodiac boat). This gave me an opportunity to have some fun with customization.
layer had to have its shader setting switched to “PBR – Metal Rough with Alpha” to allow for an opacity to be added to the material to make it transparent. The dirt generator with a white colour worked great to give the widows a frosted appearance, and the fibre glass scratches gave it a realistic damaged look. Once the textures looked good on geometry, they were packaged for UE4 and exported. 5.4 Substance Painter Tutorials Adding a Logo to your Textures in Substance Painter Uploaded By “Flipped Normals” on YouTube https://youtu.be/SrSxTsIuX0M Substance Glass Shader Uploaded By “Tutor” on YouTube https://youtu.be/lfufwfE1rA0 [Tutorial] Substance Painter To Unreal Engine 4 Workflow Uploaded By “K9Tvz” on YouTube https://youtu.be/Geck8fWLNCg 59
Dan Sobieraj | VR Final Report | AR0771
Fig. 85 | Quick selection tool was useful in assigning materials to faces.
Fig. 86 | Materials assigned in Maya ready for Substance Painter.
Fig. 87 | FBX model imported into Substance Painter.
Fig. 88 | Baking textures in Substance Painter.
60
Dan Sobieraj | VR Final Report | AR0771
Fig. 89 | Applying and adjusting smart materials to mesh.
Fig. 90 | Custom logos to be overlaid in Painter.
Fig. 91 | Dirt alpha brush used to blend logo with texture.
Fig. 92 | Textured fuselage. 61
Dan Sobieraj | VR Final Report | AR0771
Fig. 93 | Window frame textured with smart materials.
Fig. 94 | Shader setting switched to “PBR – Metal Rough with Alpha”.
Fig. 95 | Overlaid layer with “dirt” generator applied.
Fig. 96 | Overlaid layer with “fibre glass” generator applied.
62
Dan Sobieraj | VR Final Report | AR0771
63
Dan Sobieraj | VR Final Report | AR0771
64
Dan Sobieraj | VR Final Report | AR0771
6.0 Unreal Engine 4.24
distorted on steep and round slopes. I therefore
purchased). A weighted layer blend was set
set up 3 masks so that the texture would project
up in UE4 so that all layers would mix nicely
6.1 Material Shaders
correctly (1) x-y plane (2) x-z plane, and (3) y-z
and in a realistic way when painted on the
plane. I used “if” statements to set a rule that
landscape. This was seen in the transition areas
would project the textures appropriately given
between both the textured snow and smooth
the normal of the face it is being applied to.
ice, which looked very realistic. In addition, the
Exporting from Substance Painter and Designer with the UE4 preset was quick and simple. Substance exports 3 material maps (base colour, normal, and occlusion/roughness/
6.2 Material Instances
metallic maps) that need to be linked when creating materials in UE4. Models in FBX
Material instances were used extensively
format were imported into UE4, and individual
when setting up the materials, especially
UE4 materials were created for each material
the snow, because it allowed for quick
layer in the imported models. The workflow
iterations. I parameterized many of the
was the same for all materials, except for
settings so that I could modify my material
glass and snow. Glass differs because it has
instances quickly without having to wait for
a “translucent” blend-mode with a “Surface
hundreds of material shaders to compile,
Translucency Volume” lighting mode to allow
from settings like the material brightness
for transparency. Snow has a “Subsurface”
and colour, to its tessellation intensity.
shading model to allow for light to penetrate its surface, giving the impression of being made of frozen water, and also has a displacement map to give the snow more three-dimensionality. The snow textures from substance designer were imported and set up in UE4. Correct projection of the snow texture onto the topography was crucial, so as not to look
snow mask that I gave both snow materials in Substance Designer dictated how the texture would appear and added to its photorealism, this was most notably visible when I would paint snow onto regions of pure ice. To achieve a more realistic landscape, I painted areas around the plane and steep topography with rough snow to give it the look of an impact, and patches of ice and uncovered grass around areas that were burning.
6.3 Landscape Materials The landscape material in my scene is composed of 4 different materials: (1) soft snow, (2) rough snow, (3) ice (a shiny dark blue material) and (4) a forest ground material with grass, sticks, and leaves (which I obtained from the Pure Polygons tutorial package I 65
Dan Sobieraj | VR Final Report | AR0771
Fig. 97 | Material set up for translucent plane window.
Fig. 98 | Subsurface shading around snow edges provides realism.
Fig. 99 | Subsurface shading around snow edges provides realism.
Fig. 100 | Creation of tri-planar world projection for snow material.
66
Dan Sobieraj | VR Final Report | AR0771
Fig. 101 | Tri-planar world projection was a trial-and-error process.
Fig. 102 | Result of projection settings that I was satisfied with.
Fig. 103 | Material instances enabled for quick material changes.
Fig. 104 | The landscape material consists of 4 weighted materials. 67
Dan Sobieraj | VR Final Report | AR0771
Fig. 105 | Weighted snow texture.
Fig. 106 | Four textures blending nicely together when applied.
Fig. 107 | Masks from Substance Designer gave a nice “frosted� look.
Fig. 108 | Blend of smooth and rough snow with some ice near plane.
68
Dan Sobieraj | VR Final Report | AR0771
Fig. 109 | Rough snow and ice adds detail near impact site.
Fig. 110 | All 4 textures seen around heat sources, like the jet engines.
Fig. 111 | Materials blend into each other nicely.
Fig. 112 | Mixture of textures created contrast, good for wayfinding.
69
Dan Sobieraj | VR Final Report | AR0771
6.4 Landscape & Environment After I created the landscape materials, it was time to shape the arctic landscape. To make
buoyancy settings were then optimized for
using the “Morph UV” tool, and high- and
the icebergs until the physics looked realistic.
low-resolution OBJ meshes were exported to bring back into Maya. Once imported in
the scene’s boundaries as natural as possible
6.5 Foliage Elements & Levels-of-Detail
I decided to create a landscape, with a size
6.5.1 Modelling Snow Clumps
of 64x64 components and a resolution of
Maya, overlapping faces in the low-poly mesh were cleaned using the “average vertices” tool. xNormal, a texture baking app, was used to create high-resolution normal and height
505x505, in the middle of an endless ocean.
To add some more realism into the scene, I
To create the ocean, I used the Ocean Project
added snow clumps as foliage elements that
and Environment Project plugins because
were placed mainly around landscape features,
they feature an infinite plane of dynamic
such as cliffs and the impact zone. Using the
water with realistic physics, details such as
soft selection tool, spheres were deformed
ocean foam, and its own buoyancy physics
to look more like organic clumps of snow.
To save on processing power required for
that can be applied to different objects.
The transform component tool with vertex
my scene, I decided to create several levels
options was used to scale vertices irregularly
of detail for the snow clump elements. The
Mountains were created by using the sculpting
for a natural snowball shape. A variety of snow
highest level of detail for the snow clumps
tools in UE4. The sculpting tool with a round
clumps were created with different sizes and
would be shown when the player is within a
brush was mainly used to crate mounds and
made into physics objects by applying an active
few meters, the second and more simplified
craters. The erosion and smoothing brushes
rigid body to the meshes. The “bullet solver”
level of detail would be shown when the player
were then used to add the final touches.
was used to simulate how the snow clumps
is within 3-9 meters of the object, and the
would fall and rest on the ground. The file
lowest level of detail would be shown when
was saved as an OBJ and imported to ZBrush.
the player is farther away than that. The low-
I created floating icebergs as an obstacle for
maps by baking the high-resolution model snow clump with the low-resolution model. 6.5.2 Levels-of-Detail (LODs)
poly snow clump model from the previous step
the player to jump over to reach the plane. These were modelled in Maya and imported
Noise was applied in ZBrush to give more
was used as the highest LOD. The geometry
as a mesh into the “buoyant actor” template
detail and texture. The “Trim Dynamic” brush
was copied and the “Reduce” mesh tool was
provided by the Ocean Project Plugin. The
was used to smoothen certain parts for an icy
used to simplify the detail on the geometry for
appearance. The UVs were then unwrapped
the second LOD. I then repeated this step once
70
Dan Sobieraj | VR Final Report | AR0771
more to achieve the lowest LOD. A LOD group was created consisting of all three models and the threshold distances were adjusted to display the LODs correctly. Once set, one FBX file was exported from Maya and imported to UE4 without any need to setup LODs in UE4. In UE4, I created a new material using the baked maps from xNormal, however I had trouble blending it with the landscape material, so I ended up applying the rough snow landscape material to the snow clumps to solve the issue. I then created a landscape foliage brush using the snow clump asset. I gave the brush a random scaling and rotation, and made the placement point below the surface to make the clumps look like they are embedded in the snow. After the density of the brush was adjusted, I was ready to paint the landscape with snow clumps.
71
Dan Sobieraj | VR Final Report | AR0771
Fig. 113 | Importing and assembling the plane model in UE4.
Fig. 114 | Importing and assembling the plane model in UE4.
Fig. 115 | Assembly was quality control to see if everything aligned.
Fig. 116 | Once the plane was assembled, it was time to destroy it.
72
Dan Sobieraj | VR Final Report | AR0771
Fig. 117 | Creation of landscape plane around aeroplane model.
Fig. 118 | Painting of landscape with landscape textures.
Fig. 119 | Sculpting of islands and waterways.
Fig. 120 | Sculpting of islands and waterways. 73
Dan Sobieraj | VR Final Report | AR0771
Fig. 121 | Insertion of endless ocean plane.
Fig. 122 | Division of plane to create wreck impact scene.
Fig. 123 | Plane parts moved and rotated.
Fig. 124 | Plane wreck placement complete.
74
Dan Sobieraj | VR Final Report | AR0771
Fig. 125 | Placement of flight recorder.
Fig. 126 | Sculpting of mound under plane.
Fig. 127 | Sculpting of mound under plane.
Fig. 128 | Mounds created under plane. 75
Dan Sobieraj | VR Final Report | AR0771
Fig. 129 | Sculpting snow in the cargo bay.
Fig. 130 | Testing if waterway distance is greater than player’s jump.
Fig. 131 | Sculpting of islands and waterways.
Fig. 132 | Sculpting of topography with UE4 sculpt brushes.
76
Dan Sobieraj | VR Final Report | AR0771
Fig. 133 | Ice cliffs sculpted to hide view of plane wreck.
Fig. 134 | Mounds sculpted and painted around jet engines.
Fig. 135 | Ice paths painted for player wayfinding.
Fig. 136 | Sculpting of mountains in background. 77
Dan Sobieraj | VR Final Report | AR0771
Fig. 137 | Mountains sculpted in background.
Fig. 138 | Mountains sculpted in background.
Fig. 139 | Islands sculpted in background.
Fig. 140 | Icebergs modelled as interactive buoyant elements.
78
Dan Sobieraj | VR Final Report | AR0771
Fig. 141 | Icebergs modelled as interactive buoyant elements.
Fig. 142 | Once landscape was sculpted, materials were painted.
Fig. 143 | Adding detail to cliffs by painting with rough snow texture.
Fig. 144 | Using soft selection to deform spheres into snow clumps. 79
Dan Sobieraj | VR Final Report | AR0771
Fig. 145 | Randomly scaling vertices for a rough look.
Fig. 146 | Applying a rigid body to make the clumps a physics object.
Fig. 147 | Simulation of how clumps would fall and rest on the ground.
Fig. 148 | Application of noise to mesh in ZBrush for more detail.
80
Dan Sobieraj | VR Final Report | AR0771
Fig. 149 | Some faces flattened for an “icy” smooth appearance.
Fig. 150 | Unwrapping of snow clump UVs.
Fig. 151 | Unwrapping of snow clump UVs.
Fig. 152 | Fixing overlapping faces in Maya with “average vertices” tool. 81
Dan Sobieraj | VR Final Report | AR0771
Fig. 153 | Final UV unwrap after fixing overlapping faces.
Fig. 154 | Snow clump mesh after fixing faces.
Fig. 155 | Baking high-resolution normal and height maps in xNormal.
Fig. 156 | Simplifying mesh for a lower level of detail.
82
Dan Sobieraj | VR Final Report | AR0771
Fig. 157 | Three levels of detail displayed at different distances.
Fig. 158 | Level-of-detail group ready for export to UE4.
Fig. 159 | Snow clumps placed at edges of landscape features.
Fig. 160 | Snow clumps placed around impact zone for added detail. 83
Dan Sobieraj | VR Final Report | AR0771
Fig. 161 | Snow clumps painted on quickly with UE4’s foliage brush.
Fig. 163 | Landscape snow material applied to snow clumps. 84
Fig. 162 | Baked clump textures did not blend well with landscape.
Dan Sobieraj | VR Final Report | AR0771
85
Dan Sobieraj | VR Final Report | AR0771
6.6 Lighting & Atmosphere
plane’s interior.
6.6.1 Skylight & Reflection Spheres
6.6.5 Fog
The skylight is the main source of illumination
To give the scene more of an oceanic and
for the scene. A reflection sphere ensures that
arctic atmosphere, I used the “Exponential
the environment is captured and visible in the
Height Fog” and “Atmospheric Fog”. This
reflection of shiny surfaces, such as the ice.
provides an atmospheric perspective and
6.6.2 Directional Light (Sun) The Sun gives the scene much needed contrast, atmosphere, and helps emphasize the forms of the snow mounds and craters. Without it the scene looks very flat and materials lose detail. 6.6.3 Sun Position I used the “Sun Position Calculator” plugin to modify the Sun’s position and backlight the scene. The low sun position created dramatic shadows and a strong
creates a sense of depth within the scene. I enjoy the fact that the fog lowers the contrast and lightens distant objects, revealing those objects as the player approaches. 6.7 Animated Elements To give life to the scene, and place features that attract attention, I created several animated elements: an illuminated lighthouse, rotating jet propellors, flashing lights, and fires with smoke. 6.7.1 Lighthouse
just how light falls off in real life. I then added a “RotatingMovement” component to give the ray of light a rotating motion. 6.7.2 Rotating Jet Props To give the impression that the plane is a “fresh” wreck, I gave the jet propellors a slow rotation. What I learned is that objects rotate around the origin of the file they were exported in, and this origin cannot be changed in UE4. I therefore exported several models out of Maya to get the axis of rotation correct. Once the propellors were set in the jet, I added a “RotatingMovement” component. 6.7.3 Fire, Smoke, Sparks & Steam The default fire, smoke, sparks, and steam animated particles provided in the UE4 starter content were very effective in creating a
contrast between the light sky and the dark
I textured the lighthouse beacon with an
more immersive scene. Parts of the fuselage
silhouette of smoke rising from the wreck.
emissive material and wanted to give it a
and the jets were set aflame with a large dark
rotating beam of light. I modelled a hollow
smoke cloud that could be seen from the
cone in Maya, imported it into Unreal
scene’s starting point on the boat, serving as
Engine and gave the emissive material a
a wayfinding element. Smoke and steam were
gradient mask so that it fades on both ends,
also added to the interior of the plane to give a
6.6.4 Point Lights & Spotlights In areas too dark to see, point lights and spotlights were added to slightly illuminate the 86
Dan Sobieraj | VR Final Report | AR0771
dark and claustrophobic atmosphere with low-
with the Zodiac model that I downloaded and
door when a player interacts with it within a
visibility, in contrast to the bright open outdoors.
textured. I then set up a camera and player
close distance. This door also has a flashing
controls for entering/exiting and directing
emissive material, and the message “Press
thrust to move the boat. When the player comes
“E” to open” appears when close to the door.
6.7.4 Flashing & Sparking Electronics Flashing emissive materials of different colours and sparks were added to the cockpit to create an even more immersive experience. Aisle numbers, cockpit controls and electronics displays, first-aid pods,
within close proximity of the boat, the player changes into the “boat” character. Upon exit the default character is teleported to the top of the boat, which the player then possesses.
6.8.4 Flight Recorder The final element that the player interacts with is the plane’s black box. It is hidden
6.8.2 Throwable Door
in the map, but it has an emissive material
interactive elements and even the aisle
The access into the plane is blocked by a
proximity, “Press “E” to listen” appears, and
walkway edges were illuminated to add detail,
door that must be thrown out of the way.
the player can listen to the answer to the
and to also serve as wayfinding in the scene.
This was done by editing the blueprint
riddle presented at the beginning of the scene.
signs on toilet doors, the flight recorder,
6.8 Interactive Elements 6.8.1 Driveable Boat
that flashes. Once a player is within a close
of the main character to be able to grab, hold, and release physics objects within the player’s view. The door has an emissive material that flashes to grab the player’s
The driveable boat was one of the most critical
attention. Once the player comes within a
and time-consuming elements of my scene,
few meters a rendered text appears on the
because it was the most immersive method I
door “Click & Drag LMB (Left Mouse Button)”.
could think of transporting the player from the research boat to the shoreline. The research boat was a buoyant element provided as part of the Environment Project plugin. I started by using the Environment Project’s “Buoyant Pawn” template and replaced the default mesh
6.8.3 Openable Door To enter the cockpit, the player must open a door by pressing the “E” key. This was done by setting a rotation component to rotate the
Light beam made from gradient mask applied to cone.
87
Dan Sobieraj | VR Final Report | AR0771
Fig. 164 | Sun position blueprint (left), reflection capture sphere (center), and skylight (right).
Fig. 165 | Directional light (Sun) asset placed in scene.
Fig. 166 | Point lights illuminate dark areas in plane for better visibility.
Fig. 167 | Atmospheric (left) and exponential height (right) fog assets.
88
Dan Sobieraj | VR Final Report | AR0771
Fig. 168 | The fog assets create a sense of depth in the scene.
Fig. 169 | Lighthouse features a rotating light ray.
Fig. 170 | Jet engines feature rotating propellors.
Fig. 171 | Fire and smoke provide a more immersive experience. 89
Dan Sobieraj | VR Final Report | AR0771
Fig. 172 | Sparks and steam create detail and realism.
Fig. 173 | Cockpit features flashing displays, blinking lights, and sparks.
Fig. 174 | Flashing aisle numbers and walkway edges.
Fig. 175 | Illuminated elements on first aid pods and W/C doors.
90
Dan Sobieraj | VR Final Report | AR0771
Fig. 176 | Flight recorder also included illuminated elements.
Fig. 177 | Driveable Zodiac boat UE4 asset.
Fig. 178 | Driveable Zodiac boat UE4 blueprint.
Fig. 179 | Boat is controllable by player. 91
Dan Sobieraj | VR Final Report | AR0771
Fig. 180 | Throwable exterior door.
Fig. 182 | Flight recorder with text prompts that follow player. 92
Fig. 181 | Operable cockpit door.
Dan Sobieraj | VR Final Report | AR0771
93
Dan Sobieraj | VR Final Report | AR0771
6.9 Audio
6.9.2 Ambient Noises
6.9.5 Plane Interior
Audio was the last element that was added
Ambient noises have been downloaded as audio
Electrical sparks, fire burning, and seat
to the scene, and it took the experience to
files from YouTube videos and trimmed to fit the
belt chimes are all heard throughout the
another level of immersion. All sound in the
VR scene. These noises include: arctic wind,
plane. In the cockpit, the “Ground Proximity
scene has a limited spatial range, becomes
waves crashing on the shore, fire burning, and
Warning
System”
plays
louder when the player approaches the
jet turbines spinning. The attenuation of these
Terrain!
Terrain!
Pull
source, and is attenuated so as not to drown
sounds was set in a way so that the exterior
out other noises and to give a clear audible
sounds were barely audible inside the plane.
6.10 UE4 Troubles
6.9.3 Driveable Boat
Although
As the player enters the boat, the sound of a
there were some issues that I ran into.
difference between distinct parts of the scene. 6.9.1 Narration
working
with
continuously. up!
Pull
UE4
was
up!
a
much smoother experience than Maya,
Audio prompts are used as the main
motorboat engine starting up begins to play.
communication method to inform the player of
This was done by attaching a sound source
1. CPU Crash: Occasionally when I would open
the scene’s context and the goal of the player’s
to the boat pawn that would play when the
my project file, the loading screen would get
mission. To add class to the game I used the
character possessed it. As the sound source
stuck at 39% while my CPU was performing
online text-to-speech tool by Natural Readers
was nested within the boat pawn, the sound
at 100%. The solution to this was to close
to give prompts in the voice of Peter, an
remained consistent even when the player sailed
UE4, rename the “Config” folder in the
Englishman. I used trigger boxes to play Peter’s
around because it would move with the boat.
project files, and restart the program.
voice when the player reached a milestone in the level. The last narration is activated when the player interacts with the flight recorder, and the answer to the riddle is played.
6.9.4 Throwable Door When the door is grabbed the sound of a metal impact and “whoosh” of it flying through the air is played. This was done by editing the main character blueprint to play this noise every time something is grabbed.
94
2. Compiling Shaders: While I tried to use material instances as much as possible, several times I had to modify the original material parent. This caused over 6,000 shaders related to the landscape texture to compile. This operation crashed several
Dan Sobieraj | VR Final Report | AR0771
times, but resolved itself eventually. 3. Door Physics: This is an issue that occurs 20% of the time. When I play the level, occasionally the throwable door shoots into space. This is because it is a physics object and its collision mesh is wedged inside the plane fuselage. Sometimes when the level is played, gravity will cause the door to fall into the fuselage at an awkward position that shoots it out within a few seconds. At the writing of this report no solution has been found. 6.11 UE4 Resources 6.11.1 UE4 Tutorials Creating A Basic Playable Character Controller - Character Blueprints in Unreal Engine 4 Uploaded By “AstrumSensei - Game Dev Tutorials” on YouTube https://youtu.be/M8WtmIUUdHM Custom Driveable Boat Tutorial Unreal Engine 4 (Download Included) Uploaded By “Smart Poly” on YouTube https://youtu.be/dkcKwq6xRM4
Free Ocean Project For Unreal Engine 4.25 Tutorial Uploaded By “Smart Poly” on YouTube
UE4 - WIP Community FREE Ocean Project adding buoyancy to actors Uploaded By “Nilson Fernandes de Lima” on
https://youtu.be/V22XjSQyQ_4
YouTube https://youtu.be/r2ZVnAkZAKI
Hover Vehicle 2018 (using Blueprints) - Unreal Engine 4 Tutorial Uploaded By “Marco Ghislanzoni” on YouTube https://youtu.be/ko6lDSSNhV8
UNREAL ENGINE 4 - Door Rotation Blueprint - with E Key PRESSED Uploaded By “vrayguide” on YouTube https://youtu.be/dvRmx8fCgSM
Substance Painter Importing Glass to Unreal Engine UE4 Easy and Quick Tutorial Window Realistic Uploaded By “3DTudor” on YouTube https://youtu.be/Lz7dV2OtdYY
[ue4] - Vehicle - Enter/Exit Vehicle [part 2/3]-[Tutorial] Uploaded By “NiceShadow” on YouTube https://youtu.be/BOYeVU-qeME
[Tutorial] Substance Painter To Unreal Engine
[Unreal Engine 4.7+] Hover Vehicle Blueprint
4 Workflow Uploaded By “K9Tvz” on YouTube https://youtu.be/Geck8fWLNCg
Tutorial Uploaded By “Unain” on YouTube https://youtu.be/cPVaDndT7tY
Ue4: advanced materials (Ep. 26 Basic Custom Godrays/LightShafts) Uploaded By “Steve’s Tutorials” on YouTube https://youtu.be/9qAXiVJSzxw UE4: How to Rotate an Object Perpetually Uploaded By “ITEACH3D” on YouTube https://youtu.be/lSIya9obbSo
Compiling landscape shaders was very time consuming.
95
Dan Sobieraj | VR Final Report | AR0771
Fig. 183 | Scene aerial perspective showing sound attenuation spheres.
Fig. 184 | Sound attenuation allowed for sounds to dissipate spatially.
Fig. 185 | Interior sounds are audible only in interior, and dissipate within a short radius from the plane.
Fig. 186 | Scene narration text-to-speach using naturalreaders.com.
96
Dan Sobieraj | VR Final Report | AR0771
Fig. 187 | Trigger boxes (on boat) are used to prompt sounds, such as narration.
Fig. 188 | Sound source of Zodiac boat is nested within the 3D asset. The image on the left shows buoyancy points of boat asset.
Fig. 189 | Sound sources applied to location of animated elements.
Fig. 190 | Multiple sound sources create a more immersive experience. 97
Dan Sobieraj | VR Final Report | AR0771
Fig. 191 | Parameters set in blueprints to not repeat sounds multiple times simultaneously.
98
Fig. 192 | Trigger boxes prompt sounds at important points of interest.
Dan Sobieraj | VR Final Report | AR0771
99
Dan Sobieraj | VR Final Report | AR0771
6.11.2 UE4 Plugins Community Ocean Project Description: An Ocean Simulation project for Unreal Engine 4. https://github.com/UE4-OceanProject/ OceanProject The Environment Project Description: An Environment Simulation project for Unreal Engine 4. https://github.com/UE4-OceanProject/ Environment-Project 6.11.3 Audio Sources Airplane Corporate Jet Engine Shut Down Sound Effect Uploaded By “Sound Effects For You” on YouTube https://youtu.be/tIPZekvueAY Arvor 215 engine -- turning on and off, medium rpm with constant speed (2). Uploaded By “The Soundholder” on SoundSnap https://www.soundsnap.com/tags/boat_engine
100
Boeing - Pull Up Alarm 10 Hours and one or two or three seconds Uploaded By “Person” on YouTube
Ocean Waves Crashing & Icy Blowing Wind off the Arctic Coast ! Relaxing Nature White Noise for Sleep
https://youtu.be/Xlr2ZMTc52E
Uploaded By “Nature Therapy” on YouTube https://youtu.be/E_bInzqymk4
Calmsound Antarctic Wind - 10 Hour Katabatic Wind Sounds for Sleep and Relaxation Uploaded By “Calmsound” on YouTube https://youtu.be/9NmeAQruCgs Fasten seat belt - sound signal Uploaded By “caliSHnick” on YouTube https://youtu.be/qKFrQqqPSAc Flame Sound Effect Uploaded By “Sound Design & Tools” on YouTube https://youtu.be/10FPa2jSsTc METAL IMPACT - (Sound Effect) Uploaded By “Sound Effects[FREE]” on YouTube https://youtu.be/wb7CBcRZ3rM Natural Readers Online Text-to-Speech Software – Peter (UK) Voice https://www.naturalreaders.com/online/
Tweeter Electric Static [SOUND EFFECT] Uploaded By “Freeify Music” on YouTube https://youtu.be/3PKZQY55K1c
Dan Sobieraj | VR Final Report | AR0771
101
Dan Sobieraj | VR Final Report | AR0771
102
Dan Sobieraj | VR Final Report | AR0771
7.0 Conclusion
textures. Once imported, I cropped the photo
7.1 Easter Eggs
there were no splotches or blemishes that
7.1.1 Baking Textures
could ruin the seamlessness of the texture.
back home to Toronto, Canada in anticipation
One of my favourite hobbies is baking. I
To minimize the contrast in brightness and
before the Holiday season. After eating my KLM
usually bake once a week and love to share my
colour in the photo, I used the equalizer filter.
creations with people. I have also baked several
I then used the “Image to Material” filter to
times for the Beyond 3D course as well. This
generate a height map from the photo for
frequency of baking wears down my pans in less
the material. The “Tiling” filter was then used
than a year. What is left is the patina of time;
to blur the edges and make a more seamless
wear and tear, scratches, burns, and stains. I
texture out of the cropped photo. There were
thought it would be interesting to literally use
still some visible repetitions in the texture, so
these textures created from my baking to bake
I used the “Clone Patch” filter to blend these
real textures for objects in my scene. I used one
areas better into the texture and make it truly
of my old pans to create a nice grunge texture.
seamless. For the finishing touches, I applied an
to a 4096 x 4096px square and made sure
“Adjustment” filter to add contrast, roughness,
7.1.2 Bridging Virtual and Reality Due to the COVID-19 pandemic, I decided to fly of travel restrictions becoming more limiting midflight goodies, I noticed that the interior of the plane looks VERY, VERY familiar. The profile of the cabin storage, washroom doors, and interior layout looked suspiciously similar to what I have modelled. Then it hit me… this must be the SAME model of plane that I must have been creating a wreck of for all these months. There was only one way to find out… I looked at the safety brochure and my suspicions revealed to be true, but it was
First, I took a photo of my pan face on with
an ambient occlusion map, and the “Metal
my zoom lens at the maximum focal length
Finish” preset to give it that final level of realism.
too late. I was flying a Boeing 777-300,
much as possible when I create my texture. I
The texture was then exported from Alchemist
to the Boeing 777-200 that I modelled.
then converted the RAW photo into a high-
to UE4. I created a material and applied it to
resolution TIFF file and imported it into
the mesh of the flight recorder. The result was a
Substance Alchemist. I chose Alchemist
rusty damaged box that I littered throughout the
because I have never used it before, and it
scene to make it more chaotic. I was quite happy
had many great features to turn photos into
with the result of my baked baking-pan texture.
of 250mm. This was to minimize distortion as
the nearly identical but succeeding model Having realized that I have immersed myself into what could possibly be the prequel of my plane wreck scene, I had a slight panic attack 35,000 feet in the air. I believed I had become the player in my own virtual reality. 103
Dan Sobieraj | VR Final Report | AR0771
Fig. 193 | Baking is one of my favourite hobbies.
Fig. 194 | I love to share my baking. I brought snacks often to share with my peers, like this poppy seed cake for the Beyond 3D course.
Fig. 195 | All my baking tools received a lot of wear and tear.
Fig. 196 | Especially my baking pans.
104
Dan Sobieraj | VR Final Report | AR0771
Fig. 197 | I decided to “bake” a texture using my baking pans.
Fig. 198 | Stains, burns, and scratches create a nice “grunge” texture.
Fig. 199 | I used a DSLR with a zoom lens to take a high-resolution RAW photo of the pan, with the least distortion possible.
Fig. 200 | I exported this RAW image as a TIFF file to open in Substance Alchemist. 105
Dan Sobieraj | VR Final Report | AR0771
Fig. 201 | Image of pan imported into Alchemist.
Fig. 202 | Cropped to exclude any distinct marks for seamless edges.
Fig. 203 | Equalizer used to make a more consistent texture.
Fig. 204 | “Image to Material� created a heightmap for the material.
106
Dan Sobieraj | VR Final Report | AR0771
Fig. 205 | Adjusted for proper height intensity.
Fig. 206 | “Clone Patch” tool used to paint over harsh repeating edges.
Fig. 207 | Adjustment and “Metal Finish” filter added for final touches.
Fig. 208 | Material creation in UE4 with all baked texture maps. 107
Dan Sobieraj | VR Final Report | AR0771
Fig. 209 | Material applied to flight recorder mesh.
Fig. 210 | Asset placed throughout scene.
Fig. 211 | Decent results with using a baking pan to “bake� texture maps! Fig. 212 | Rusty boxes add chaos to the scene. 108
Dan Sobieraj | VR Final Report | AR0771
Fig. 213 | I coincidentally flew on the same plane I modelled when I travelled back to Canada for the Holidays.
Fig. 214 | The moment “Virtual” became “Reality”.
109
Dan Sobieraj | VR Final Report | AR0771
7.2 Concluding Remarks
7.3 Alchemist Tutorials
Despite having worked on this project for many
Substance Alchemist: Image to Material (Bitmap To Material) Uploaded By “Substance by Adobe� on YouTube https://youtu.be/k2fB4lAfbI4
months, I never got bored of it and instead felt like I was getting more and more allured to it. Every program that I used in the process was a program that I have never used before enrolling in this course. The technical and visualization skills that I have learned have not only prepared me to create architectural renderings, but to visualize anything I can imagine and create an interactive environment out of it. I am confident that what I have learned in this course, especially regarding the workflow of creating an interactive experience from scratch, can be applied to many of my projects and software that I will use in the future, perhaps not even architecturally related. I am excited to go into my final graduation studio knowing that visualizing my ideas will not be a constraint anymore, instead the constraint will be the available time I have to visualize it!
110
7.4 Videos & Download Frozen Destination VR Trailer [4K] Frozen Destination VR Gameplay Walkthrough Frozen Destination VR Workflow Frozen Destination VR Download (Windows 64-Bit playable .EXE)
Dan Sobieraj | VR Final Report | AR0771
8.0 Final Images
111
Dan Sobieraj | VR Final Report | AR0771
112
Dan Sobieraj | VR Final Report | AR0771
113
Dan Sobieraj | VR Final Report | AR0771
114
Dan Sobieraj | VR Final Report | AR0771
115
Dan Sobieraj | VR Final Report | AR0771
116
Dan Sobieraj | VR Final Report | AR0771
117
Dan Sobieraj | VR Final Report | AR0771
118
Dan Sobieraj | VR Final Report | AR0771
119
Dan Sobieraj | VR Final Report | AR0771
120
Dan Sobieraj | VR Final Report | AR0771
121
Dan Sobieraj | VR Final Report | AR0771
122
Dan Sobieraj | VR Final Report | AR0771
123
Dan Sobieraj | VR Final Report | AR0771
124
Dan Sobieraj | VR Final Report | AR0771
125
Dan Sobieraj | VR Final Report | AR0771
126
Dan Sobieraj | VR Final Report | AR0771
127
Dan Sobieraj | VR Final Report | AR0771
128
Dan Sobieraj | VR Final Report | AR0771
129
Dan Sobieraj | VR Final Report | AR0771
130
Dan Sobieraj | VR Final Report | AR0771
131
Dan Sobieraj | VR Final Report | AR0771
132
Dan Sobieraj | VR Final Report | AR0771
133
Dan Sobieraj | VR Final Report | AR0771
134
Dan Sobieraj | VR Final Report | AR0771
135
Dan Sobieraj | VR Final Report | AR0771
136
Dan Sobieraj | VR Final Report | AR0771
137
Dan Sobieraj | VR Final Report | AR0771
138
Dan Sobieraj | VR Final Report | AR0771
DAN SOBIERAJ dansobieraj@hotmail.com
139