SlideShare a Scribd company logo
Experience of reality is highly flexible and unstable. This becomes apparent during the wake-sleep
cycle when dreams appear real to us. To investigate alterations in the experience of reality and its
underlying mechanism, a bizarre virtual environment will be used to elicit altered experiences.
Therefore, 3D objects and environments had to be created.
Index terms: Dream Simulation, Virtual Reality, 3D Modelling, Animation,
Rotating Surface Photography, Cloth Simulation, Fluid Simulation
Technology: HTC VIVE Pro, Unreal Engine, UE C++-Plugin Development, Blender,
GIMP, Nikon D80, Cannon EOS 60D, Nvidia Cloth, Nvidia Cataclysm
Department: Cognitive Psychology, Perception and Research Methods, Institute of Psychology
Project Head: Prof. Dr. Fred Mast, fred.mast@psy.unibe.ch
Researcher: PhD student MSc Simone Denzer, simone.denzer@psy.unibe.ch
Developer: Roland Bruggmann, roland.bruggmann@humdek.unibe.ch
Date: July 10, 2019
Technology Platform for Research TPF – Faculty of Human Sciences, University of Bern
3D Content for Dream-Like VR
Modelling and Animation of 3D Objects for
Use in a Dream-Like Virtual Environment
Project Documentation
3D Content for Dream-like VR
Management Summary
Experience of reality is highly flexible and unstable. This becomes apparent during the wake-sleep cycle when dreams
appear real to us. In addition, when patients with hallucinations see people, which are not real, their experience of
reality is distorted. To investigate alterations in the experience of reality and its underlying mechanism, a bizarre
virtual environment will be used to elicit altered experiences.
Therefore, 3D objects and environments were elaborated in order to elicit the experience of bizarreness in the
altered experience condition, but not in the control condition. In a structured procedure, static and/or skeleton
meshes were created for both conditions, such that the same 3D object exists in two variants. The created objects
do not load a target system too much, so that a frame rate of 90 Frames per Second (FPS) or more should be
achieved in the current target system.
In order to store data generated during an experiment persistently, the game engine has been modularly exten-
ded with the necessary functionality. The 3D objects and the module can be easily integrated into the existing
application, as they were packaged as a plugin and made available for distribution.
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 i
3D Content for Dream-like VR
Contents
1. Introduction 1
1.1. Vision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2.1. Content Creation Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2.2. Target System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2.3. Additional Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Methodology 3
2.1. Virtual Reality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.1. 3D Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.2. Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.3. Physics Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Target System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3. Image Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4. Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4.1. Raster Graphics Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4.2. Shader Maps Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4.3. 3D Computer Graphics Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4.4. Game Engine and Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3. Concept 9
3.1. Use Cases and User Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2. User Scenario 1 Data Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3. User Scenario 2 Object Book (non-bizarre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.4. User Scenario 3 Object Book (bizarre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.5. User Scenario 4 Object Telephone (non-bizarre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.6. User Scenario 5 Object Telephone (bizarre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.7. User Scenario 6 Object Coat Hook (non-bizarre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.8. User Scenario 7 Object Jacket (non-bizarre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.9. User Scenario 8 Object Jacket (bizarre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.10. User Scenario 9 Object Marker Pen (non-bizarre) . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.11. User Scenario 10 Object Marker Pen (bizarre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.12. User Scenario 11 Object Art Print (non-bizarre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.13. User Scenario 12 Object Art Print (bizarre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4. Design 23
5. Elaboration 25
5.1. Elaboration of User Scenario 1 Data Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.1.1. Data Tracking Struct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.1.2. Data Tracking Function Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.1.3. Interface Trackable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.1.4. Abstract Actor Trackable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.2. Elaboration of User Scenario 2 Object Book (non-bizarre) . . . . . . . . . . . . . . . . . . . . . . . 28
5.2.1. Mesh and UV Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.2.2. Textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.2.3. Multi-Material Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.2.4. Rendering in UE4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.3. Elaboration of User Scenario 3 Object Book (bizarre) . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.3.1. Texture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 iii
5.3.2. Animation in Blender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.3.3. Animation in UE4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.4. Elaboration of User Scenario 4 Object Telephone (non-bizarre) . . . . . . . . . . . . . . . . . . . . 37
5.4.1. Textured Meshes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.4.2. Rendering in UE4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.5. Elaboration of User Scenario 5 Object Telephone (bizarre) . . . . . . . . . . . . . . . . . . . . . . 43
5.5.1. Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.5.2. Particle System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.5.3. Blueprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.5.4. Animation in UE4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.6. Elaboration of User Scenario 6 Object Coat Hook (non-bizarre) . . . . . . . . . . . . . . . . . . . . 51
5.6.1. Multi-Material Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.6.2. Rendering in UE4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.7. Elaboration of User Scenario 7 Object Jacket (non-bizarre) . . . . . . . . . . . . . . . . . . . . . . 54
5.7.1. Mesh and Texture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.7.2. Rendering in UE4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.8. Elaboration of User Scenario 8 Object Jacket (bizarre) . . . . . . . . . . . . . . . . . . . . . . . . 60
5.8.1. Blueprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.8.2. Animation in UE4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.9. Elaboration of User Scenario 9 Object Marker Pen (non-bizarre) . . . . . . . . . . . . . . . . . . . 63
5.9.1. Mesh and UV Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.9.2. Texture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.9.3. Multi-Material Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.9.4. Rendering in UE4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.10. Elaboration of User Scenario 10 Object Marker Pen (bizarre) . . . . . . . . . . . . . . . . . . . . . 68
5.10.1. Animation in UE4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.11. Elaboration of User Scenario 11 Object Art Print (non-bizarre) . . . . . . . . . . . . . . . . . . . . 70
5.11.1. Texture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.11.2. Multi-Material Mesh and UV Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.11.3. Rendering in UE4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.12. Elaboration of User Scenario 12 Object Art Print (bizarre) . . . . . . . . . . . . . . . . . . . . . . 73
5.12.1. Water Simulation in UE4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.12.2. Lighting in UE4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6. Deliveries 89
6.1. Deliveries for Use Case Data Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.2. Deliveries for Use Case Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.3. Deliveries for Use Case Telephone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.4. Deliveries for Use Case Jacket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.5. Deliveries for Use Case Marker Pen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.6. Deliveries for Use Case Art Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
7. Results 93
7.1. Results for Use Case Data Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
7.2. Results for Use Case Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
7.3. Results for Use Case Telephone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
7.4. Results for Use Case Jacket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
7.5. Results for Use Case Marker Pen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
7.6. Results for Use Case Art Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Acronyms 105
Glossary 106
References 108
Picture Reference 109
iv 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
List of Figures 111
List of Tables 114
A. Project Management 116
A.1. Proposal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
A.2. Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
B. Materials 118
B.1. Bizarreness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
B.2. Rotating Surface Photography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
B.3. Fluid Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
C. Solution 127
C.1. Repositories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
C.2. Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
C.3. VRLab Tour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 v
vi 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
1. Introduction
1.1. Vision
Experience of reality is highly flexible and unstable. This becomes apparent during the wake-sleep cycle when dreams
appear real to us. In addition, when patients with hallucinations see people, which are not real, their experience of
reality is distorted. To investigate alterations in the experience of reality and its underlying mechanism, a bizarre
virtual environment will be used to elicit altered experiences.
The realistic virtual environment will contain a certain proportion of bizarre dream-like elements. Bizarre elements
are defined as being incongruent, impossible, vague or discontinuous in relation to their context and they occur
within the most frequent categories of dream content such as objects, action, persons, and places. Specific
elements will be chosen based on a cluster analysis applied to a dream report database containing over 20,000
dream reports. Examples for these bizarre elements are incongruent color, form or place of objects, impossible
actions or transparency of objects. An example for a discontinuous place could be a sudden switch of scenery, and
a vague place could be a foggy room or bad sight, while an incongruent place could be an unlikely combination of
scenery.
In sum, the virtual environment shall provide a highly coherent narrative to the participants, but at the same
time contain bizarre elements that are highly incoherent. Participants will explore this environment and perform a
neuro-cognitive task (N400 evoked potentials with Electroencephalography (EEG) during exposure to congruent/in-
congruent word pairs). In a control condition consisting of the same environment without the bizarre elements,
participants again first explore the environment and then perform the same neuro-cognitive task. In our experiment,
we will present the virtual environment via a head-mounted display, simultaneously record the EEG via an electrode
cap and expect to find differences in subjective reality experience.
1.2. Problem Statement
3D objects and environments need to be created in order to elicit the experience of bizarreness in the altered
experience condition, but not in the control condition. In a structured procedure, static and/or skeleton meshes
will be created for both conditions, such that the same 3D object will exist in two variants: no bizarreness, and
low/high bizarreness. Bizarreness will be equally distributed over the dream content categories objects, place, and
actions.
1.2.1. Content Creation Workflow
Ideally using the software Maya and Substance Painter, objects and place elements will be created and their
associated textures are painted. Then, if necessary, automatic animation sequences will be created, rendered and
associated with the object. 3D objects and their potential animation in the Filmbox mesh file format (fbx) will
then be imported into the virtual environment provided by Unreal Engine 4 (UE4).
If real-time interaction with specific objects is possible and necessary in the virtual reality environment, the
animation sequences will be created within UE4, thus these specific skeletal meshes need to be modifiable in UE4.
However, since this kind of animation requires highly cost-intensive processing, it will be used as little as possible
to maintain the required frame rate of 90 FPS or higher.
1.2.2. Target System
The final environment will be presented via the HTC VIVE Pro Head Mounted Display (HMD) with a wireless
adapter. Therefore, all 3D models need to be optimized for the use in HMDs.
1.2.3. Additional Conditions
Finally, the aim still is to maintain a highly realistically appearing environment and thus it is necessary to create
the non-bizarre and bizarre objects consisting of realistic texture, geometry and shading. Details will have to be
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 1
discussed and agreed upon with the responsible persons for the project.
1.3. Overview
This document serves as project documentation of the work done opposite the researcher authorized to give
instructions, the project head, the commission as well as for future projects of the Technology Platform for Research
(TPF). This document is also intended to serve as a communication tool during the iterative process of elaboration.
Suggestions, ideas or corrections are very welcome.
In the methodology chapter 2, a short description of background topics in the context of virtual reality may be
found. The target system and the tools used are also briefly described.
With a concept as shown in chapter 3 the use cases and user scenarios for 3D Content for Dream-Like VR
were described. They were subsequently designed (see chapter 4) and elaborated as documented in chapter 5. An
overview of the deliveries can be found in chapter 6. The results are presented in chapter 7.
For further information on project management see appendix chapter A.
2 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
2. Methodology
2.1. Virtual Reality
2.1.1. 3D Objects
A variety of static or animated objects is needed to assemble a virtual scene. These objects are typically expressed
by 3D-models containing information about the surface geometry of the objects (expressed by a set of triangles in
space) and about the graphical representation of the surfaces (textures).
2.1.2. Animation
In a further step, different sequences of motions can be created and associated to a 3D object—so called anima-
tions—which can be played back in 3D graphics environments (e.g., in virtual reality environments) allowing for
an interactive selection of motions during the experiments.
Baked Animation
In the case of animated objects, information about the time-related changes of the surface geometry and/or the
textures may be stored inside the models as well. Typically, the animations are created and calculated in a 3D
authoring software (e.g., Autodesk 3DS Max, Blender, SketchUp) and then firmly associated to the mesh—a
process that is called baking.
Real-time Animation
Another approach for animation is to expose a model to the 3D graphics environment and allow for a real-time
modification of its 3D-surface. Contrary to a baked animation, this process requires a real-time calculation of the
positions and orientations of all triangles of the mesh, which is a calculation intensive procedure requiring powerful
graphics hardware and a dedication of the process to the hardware (hardware skinning) and in addition optimized
3D-surface meshes for real-time calculations (low-poly meshes)).
Particle System
Moving content can be represented by a particle system. In this case the 3D model itself may not be animated.
Particles are small, simple images or meshes that are displayed and moved in great numbers by a particle system.
Each particle represents a small portion of a fluid or amorphous entity and the effect of all the particles together
creates the impression of the complete entity. Using a smoke cloud as an example, each particle would have a small
smoke texture resembling a tiny cloud in its own right. When many of these mini-clouds are arranged together in
an area of the scene, the overall effect is of a larger, volume-filling cloud.
2.1.3. Physics Simulation
To have convincing physical behaviour, an object in a game must accelerate correctly and be affected by collisions,
gravity and other forces. Physics engines provide components that handle the physical simulation. In game engine
editors, with few parameter settings, one can create objects that behave passively in a realistic way—i.e., they will
be moved by collisions and falls but will not start moving by themselves. By controlling the physics from scripts,
one can give an object the dynamics of a vehicle, or a machine.
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 3
2.2. Target System
In the laboratory, a Lambda Labs workstation1
running Microsoft Windows 10 acts as a real-time rendering station
(see figure 2.1). The rendering is driven by an nVidia GeForce GTX 1080 Ti graphics card (see figure 2.2). For a
detailed specification refer to [GTX1080Ti]. As target system, a HTC VIVE Pro is in use which was released on
January 2018 (see figure 2.3). The HMD comes with a resolution of 2880 x 1600 pixels or 1440 x 1600 pixels per
eye respectively (cp. [VIVE]). Two SteamVR 2.0 Lighthouse base stations and a wireless adapter are in use.
Figure 2.1.: Target System – Lambda Labs Workstation for real-time rendering
Figure 2.2.: Target System – nVidia GeForce GTX 1080 Ti Graphics Card
Figure 2.3.: Target System – HTC VIVE Pro HMD
1Lambda Labs, Inc., URL: https://lambdalabs.com/
4 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
2.3. Image Acquisition
For image acquisition a digital single-lens reflex camera Nikon D802
and specifications [NikonD80]) and a tripod
from Material und Multimedia-Zentrum (MMZ) was used (see figure 2.4.
The creation of complex 3D models was made by Structure from Motion (SfM) as described in a rotating
surface workflow (cp. [RSWF]). The digital image acquisition was made by 360° surface rotation photography
in a photo studio at [PHBern, Medienwerkstatt] with a digital single-lens reflex camera Canon EOS 60D3
(see
figure 2.4 and specifications [Canon60D]). As recommended in the expert guide, the equipment was supplemented
with further components like a polarizing foil mounted in front of the lighting lamp in combination with a Circular
Polarizer/Linear (CPL) filter mounted on the camera lens. For color calibration a color checker for white/color
balancing was used (see figure 2.5). For the surface rotation photography a rotating platform covered with blue
foamed rubber was created (see appendix section B.2).
Figure 2.4.: Image Acquisition – Digital reflex cameras Nikon D80 and Canon EOS 60D
Figure 2.5.: Image Acquisition – Photostudio setup for a rotating surface photography
2Nikon D80, with AF-S DX Zoom-NIKKOR 18–70mm f/3.5–4.5G IF-ED (diameter 67mm).
3Canon EOS 60D, with Canon EF-S 18–55mm IS II lens f/3.5–5.6 (diameter 58mm).
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 5
2.4. Tools
In general for meshes the file format fbx is used and for raster graphics the file format Joint Photographic Experts
Group file format (jpeg) or Portable Network Graphics file format (png) was used.
2.4.1. Raster Graphics Editor
The software GNU Image Manipulation Program (GIMP) is a freely distributed program for such tasks as photo
retouching, image composition and image authoring (see figure 2.6). The workspace files are stored as eXperimental
Computing Facility file format (xcf). We use GIMP version 2.10.8 (for the software see [GIMP]).
Figure 2.6.: Tools and Technology – Graphical User Interface of GIMP
2.4.2. Shader Maps Editor
The software product Normalmap Generator is a freely distributed program for generation of shader maps like
normal, specular and displacement map (see figure 2.7). We use Normalmap Generator version 0.4.4 (for the
software see [NMG]).
Figure 2.7.: Tools and Technology – Graphical User Interface of Normalmap Generator
6 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
2.4.3. 3D Computer Graphics Editor
The software Blender is a free and open source 3D creation suite (see figure 2.8). It supports the entirety of
the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing and motion tracking, even video
editing and game creation (cp. documentation [BlenderDoc]). The workspace files are stored as Blender file format
(blend). We use Blender version 2.79b (for the software see [Blender]).
Figure 2.8.: Tools and Technology – Graphical User Interface of Blender
2.4.4. Game Engine and Editor
The Unreal Engine software is a game engine and editor at the same time. The application with a graphical
development environment (see figure 2.9) can be used to create interactive 3D applications or real-time animations,
such as those known for visualizations in 3D computer games or architecture (cp. documentation [UE4Man] and
API reference [UE4API]). We use UE4 version 4.21.2 (for the software see [UE4]).
Figure 2.9.: Tools and Technology – Graphical User Interface of Unreal Engine 4
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 7
8 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
3. Concept
3.1. Use Cases and User Scenarios
The laboratory room Fab08-D268 is already modelled as virtual environment including some office equipment. The
already existing virtual environment has to be supplemented with following objects: a Book, a Telephone, a Jacket
on a Coat Hook, a Marker Pen and an Art Print. These shall be available in a static form (non-bizarre) as well as
in an animated form (bizarre). In addition with the help of Data Tracking infrastructure, data must be collected
during an experiment and stored persistently for further use. This results in the following use cases:
ˆ Use Case Data Tracking, includes Module and Plugin
ˆ Use Case Book (non-bizarre, bizarre)
ˆ Use Case Telephone (non-bizarre, bizarre)
ˆ Use Case Jacket (non-bizarre, bizarre), includes a Coat Hook (non-bizarre)
ˆ Use Case Marker Pen (non-bizarre, bizarre), image acquisition by rotating surface photography
ˆ Use Case Art Print (non-bizarre, bizarre), includes water simulation and lighting
Before starting the project, some 3D objects have been described by the researcher and have been handed over
to the author at the kick-off meeting (see table 3.1). A use case can have several occurrences in the form of user
scenarios, therefore the deliveries were modelled in several iterations as shown in table 3.2.
Table 3.1.: Concept – 3D object description at kick-off meeting
Bild
Gemälde/Bild ist
verschwommen, sieht
trotzdem irgendwie wie
ein bekanntes Gemälde
"us,(Forr
ist verändert )
Telefon
Telefon ist gelb und
plüschig und stösst ab
und zu bunte
Rauchwolken aus
(+Geräusch?)
Jacke+Garderobe
Jacke hängt an
Garderobe; auf
Annäherung:
1) verschiebt sich die
Gravitation nur für die
Jacke in Laufrichtung
ODER 2) verwandelt
sich Jacke in einen Ast
oder lnstrufient
(+Geräusch?)
Meshes:
1) Verwendung der Asset-Library von Dejan Popic & Sebastian Strahm
2) Eigenes Erstellen durch Roland Bruggmann
Variationen:
1) Baked Animations - RB
2) Via Engine Features - SD
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 9
Table 3.2.: Concept – User scenarios in brief format
User Scenario 1 Data Tracking: Module and assets for the use in UE4 blueprints.
For a description in fully dressed format see section 3.2.
User Scenario 2 Object Book (non-bizarre): Textured Mesh for the use in UE4.
For a description in fully dressed format see section 3.3.
User Scenario 3 Object Book (bizarre): Real-time animation of Object Book (non-bizarre) in UE4.
For a description in fully dressed format see section 3.4.
User Scenario 4 Object Telephone (non-bizarre): Textured Mesh for the use in UE4.
For a description in fully dressed format see section 3.5.
User Scenario 5 Object Telephone (bizarre): Real-time animation of Object Telephone (non-bizarre) in UE4.
For a description in fully dressed format see section 3.6.
User Scenario 6 Object Coat Hook (non-bizarre): Textured Mesh for the use in UE4.
For a description in fully dressed format see section 3.7.
User Scenario 7 Object Jacket (non-bizarre): Textured Mesh for the use in UE4.
For a description in fully dressed format see section 3.8.
User Scenario 8 Object Jacket (bizarre): Real-time animation of Object Jacket (non-bizarre) in UE4.
For a description in fully dressed format see section 3.9.
User Scenario 9 Object Marker Pen (non-bizarre): Textured Mesh for the use in UE4.
For a description in fully dressed format see section 3.10.
User Scenario 10 Object Marker Pen (bizarre): Real-time animation of Object Marker Pen (non-bizarre) in
UE4.
For a description in fully dressed format see section 3.11.
User Scenario 11 Object Art Print (non-bizarre): Textured Mesh for the use in UE4.
For a description in fully dressed format see section 3.12.
User Scenario 12 Object Art Print (bizarre): Real-time animation of Object Art Print (non-bizarre) in UE4.
For a description in fully dressed format see section 3.13.
10 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
3.2. User Scenario 1 Data Tracking
Table 3.3.: Concept – Description of User Scenario 1 Data Tracking in fully dressed format
Scope: Exposing a C++ function to Blueprint
Stakeholders and Interests:
ˆ Researcher: Persistently stored information about events triggered by test person
Preconditions:
ˆ UE4 has read / write permission to log file
Postconditions (success guarantee):
ˆ Data file contains values (object name, event, time stamp) as Comma Separated Values file format (csv)
Elaboration:
1. UE4: Create a module BZRBPFunctionLibrary containing *.h and *.cpp source code files exposing UFUNCTION
GetCurrentTimeFromRealWorldOS and SaveTextToFile to UE4 Blueprints
2. UE4: Create struct containing directory path, file name parameters and separator
3. UE4: Create Blueprint Function Library with member functions TrackEvent and WriteToFile which access
UFUNCTION SaveTextToFile
4. UE4: Create Blueprint ’Trackable’ interface with member function ’TrackEvent’
5. UE4: Create Blueprint abstract actor class ’Trackable’ which implements interface ’Trackable’ and member
method TrackEvent
6. UE4: Assign abstract actor ’Trackable’ as parent of non-bizarre Blueprints, except of Jacket (non-bizarre)
7. UE4: For each bizarre Blueprint assign non-bizarre Blueprint as parent, except of Jacket (non-bizarre) where
Coat Hook (non-bizarre) is parent
8. UE4: Elaborate an UE4 plugin named ’BZR’ containing the module and folders for each use case
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 11
3.3. User Scenario 2 Object Book (non-bizarre)
Table 3.4.: Concept – Description of User Scenario 2 Object Book (non-bizarre) in fully dressed format
Scope: 3D Model
Stakeholders and Interests:
ˆ Researcher: Render object in UE4 project.
Preconditions:
ˆ Raster graphics editor GIMP running
ˆ 3D modelling editor Blender running
ˆ Game editor UE4 with demo project running
Postconditions (success guarantee):
ˆ Book with opened pages 396-397
ˆ Reasonable texture resolution according to rendering performance
Special Requirements:
ˆ Real Object Book (non-bizarre): Psychology by Seamon, John G. and Kenrick, Douglas T.
ˆ Digital camera, tripod, and flatbed scanner for image acquisition
Elaboration:
1. Digital camera and flatbed scanner: Acquire digital images of real object as jpeg
2. Blender: Create object mesh by 3D modelling, model unit in centimeter (same as in UE4)
3. Blender: Unwrap model and export UV map as png
4. GIMP: Open digital images of object as layers and white-balance them
5. GIMP: Import image of unwrapped model as a new layer
6. GIMP: Map textures to unwrapped model layer by transformation (move/scale etc.)
7. GIMP: Export texture files as jpeg; bookblock texture dimension Power of Two (POT)
8. Blender: Create materials and assign them to the mesh (multi-material mesh)
9. Blender: Import textures and assign them to the materials
10. Blender: Export texture mapped mesh as binary fbx
11. UE4: Create folder User Scenario 2 Object Book (non-bizarre)
12. UE4: Import bookbinding and bookblock textures, adjust settings
13. UE4: Create materials for bookbinding and bookblock, assign textures
14. UE4: Import fbx–a Static Mesh is created automatically; assign Materials
15. UE4: Create a StaticMeshActor and add/save a Blueprint as Object Book (non-bizarre)
16. UE4: Migrate Folder User Scenario 2 Object Book (non-bizarre)to 3D Content Library
12 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
3.4. User Scenario 3 Object Book (bizarre)
Table 3.5.: Concept – Description of User Scenario 3 Object Book (bizarre) in fully dressed format
Scope: Real-time animation of 3D Model
Stakeholders and Interests:
ˆ Researcher: Render object and its animation in UE4 project
Preconditions:
ˆ User Scenario 2 Object Book (non-bizarre) successfully completed
ˆ Raster graphics editor GIMP running
ˆ Game editor UE4 with demo project running
Postconditions (success guarantee):
ˆ Book with opened pages 396-397
ˆ Transition from readable to non-readable typesetting as animation
ˆ After animation the typesetting stays permanently blurry
Elaboration:
1. GIMP: Open the working file xcf of the book texture, copy open pages layers to a dedicated working file xcf
named bookblock
2. GIMP: In the bookblock working file xcf delete the book text
3. GIMP: Export bookblock texture file as jpeg; dimension POT
4. UE4: Create folder User Scenario 3 Object Book (bizarre)
5. UE4: Copy-paste and rename Materials, StaticMesh and Blueprint of Book (non-bizarre); Blueprint acts as
Object Book (bizarre)
6. UE4: Import bookblock empty texture; set as POT), set filter to ’nearest neighbour’ and Level of Detail
(LOD) to ’noMipmaps’
7. UE4: Create a Material Parameter Collection ’BookBizarre MPC’ and add a parameter BookBizarreness
8. UE4: Expand bookblock material with a Lerp, a Texture Sample assinged to the empty texture, and a
Collection Parameter assigned to the parameter BookBizarreness from ’BookBizarre MPC’
9. UE4: In the Blueprint Graph create a Timeline and add a Timeline Track for the Parameter Collection and
change parameter BookBizarreness from zero to one within two seconds
10. UE4: In the Blueprint Graph assign starting the Timeline within event ActorBeginOverlap
11. UE4: Migrate Folder User Scenario 2 Object Book (non-bizarre)to 3D Content Library
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 13
3.5. User Scenario 4 Object Telephone (non-bizarre)
Table 3.6.: Concept – Description of User Scenario 4 Object Telephone (non-bizarre) in fully dressed format
Scope: 3D Model
Stakeholders and Interests:
ˆ Researcher: Render object in UE4 project.
Preconditions:
ˆ 3D modelling editor Blender running
ˆ Game editor UE4 with demo project running
Postconditions (success guarantee):
ˆ Textured mesh rendered in UE4
ˆ Reasonable texture resolution according to rendering performance
Special Requirements:
ˆ 3D Model of Cisco 7970g IP Phone on TurboSquid,
URL: https://www.turbosquid.com/3d-models/office-phone-3d-max/617648, (access date
03/07/2019)
Elaboration:
1. Blender: Import Cisco IP Phone fbx mesh, model unit in centimeter (same as in UE4)
2. Blender: Translate phone body, handset and spiral cord and set origin as desired
3. Blender: Export the three (multi-)material meshes as binary fbx, each
4. UE4: Import textures
5. UE4: Create materials
6. UE4: Import fbx meshes as Static Meshes and assign materials
7. UE4: In the Static Meshes add Sockets
8. UE4: Create a blueprint actor and inherit from blueprint Trackable Abstract
9. UE4: To the blueprint actor add the static mesh components
14 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
3.6. User Scenario 5 Object Telephone (bizarre)
Table 3.7.: Concept – Description of User Scenario 5 Object Telephone (bizarre) in fully dressed format
Scope: Real-time animation of 3D Model
Stakeholders and Interests:
ˆ Researcher: Render object and its animation in UE4 project
Preconditions:
ˆ User Scenario 4 Object Telephone (non-bizarre) successfully completed
ˆ Game editor UE4 running, demo project opened
Postconditions (success guarantee):
ˆ Animation: Transition of telephone body main material and handset material to pink plush, telephone cord
to pink plastic; persistent
ˆ Animation: The handset begins to move as if it were picked up; loop
ˆ Particle system: Starts to emit pink smoke rings from the handset speaker (cone dimension: h = 25 cm, d1
= 5 to 6 cm, d2 = 12 cm)
Elaboration:
1. UE4: Create blueprint actor, name it as bizarre and inherit from Object Telephone (non-bizarre)
2. UE4: Create Material Parameter Collection ’MPC TelephoneBizarre’
3. UE4: For each Material (different telephone, handset, and spiralcord) copy and extend material with a Lerp,
a pink Texture Sample node, and a Collection Parameter assigned to the Material Parameter Collection
parameter Bizarreness
4. UE4: Create a Particle System, add and subordinate it to the Blueprint Handset component
5. UE4: In the event graph create a Handset Static Mesh transformation
6. UE4: In the event graph create a Timeline and a Timeline Track for Parameter Collection and change
parameter TelephoneBizarreness from zero to one within two seconds, starting the transformation animation
and the particle system
7. UE4: In the Blueprint assign starting the Timeline within a collision
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 15
3.7. User Scenario 6 Object Coat Hook (non-bizarre)
Table 3.8.: Concept – Description of User Scenario 7 Object Jacket (non-bizarre) in fully dressed format
Scope: 3D Model
Stakeholders and Interests:
ˆ Researcher: Render object in UE4 project.
Preconditions:
ˆ Raster graphics editor GIMP running
ˆ 3D modelling editor Blender running
ˆ Game editor UE4 with demo project running
Postconditions (success guarantee):
ˆ Mesh as StaticMesh and Material in Content Browser of UE4
ˆ Mesh as StaticMeshActor rendered in UE4
Special Requirements:
ˆ Real Object Coat Hook (non-bizarre)
ˆ Digital camera and tripod for image acquisition
Elaboration:
1. Digital camera: Acquire digital images of real object as jpeg
2. GIMP: Open acquired digital image of texture as layer and white-balance the same
3. GIMP: Post processing image to blueprint
4. GIMP: Export blueprint as jpeg
5. Blender: Create project, use blueprint as background image, 3D modelling of object mesh, model unit in
centimeter (same as in UE4)
6. Blender: Export mesh as binary fbx
7. UE4: Create a brushed metal material
8. UE4: Import fbx, a Static Mesh is created automatically
9. UE4: In the Static Mesh assign Material and add a socket per hook
10. UE4: Create a StaticMeshActor and add a Blueprint as Object Coat Hook (non-bizarre)
16 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
3.8. User Scenario 7 Object Jacket (non-bizarre)
Table 3.9.: Concept – Description of User Scenario 7 Object Jacket (non-bizarre) in fully dressed format
Scope: 3D Model
Stakeholders and Interests:
ˆ Researcher: Render object in UE4 project.
Preconditions:
ˆ Raster graphics editor GIMP running
ˆ 3D modelling editor Blender running
ˆ Game editor UE4 with demo project running
Postconditions (success guarantee):
ˆ Textured mesh, texture, and material in Content Browser of UE4
ˆ Textured mesh as Blueprint rendered in UE4
ˆ Reasonable texture resolution according to rendering performance
Special Requirements:
ˆ Real Object Jacket (non-bizarre)
ˆ Digital camera and tripod for image acquisition
Elaboration:
1. Digital camera and flatbed scanner: Acquire digital images of real object as jpeg
2. GIMP: Open acquired digital image of texture as layer, white-balance , and post processing the same
3. GIMP: Export texture as jpeg
4. Blender: Create object mesh by 3D modelling, model unit in centimeter (same as in UE4)
5. Blender: Create and assign material
6. Blender: Export mesh as binary fbx
7. Blender: Import textures
8. UE4: Create a material using the imported textures (repeat texture, two sided), name it the same as in
Blender
9. UE4: Import fbx as skeletal mesh—a mesh, a skeleton and a physics asset is created automatically
10. UE4: Using the UE4 Clothing Tool edit and config the mesh as cloth
11. UE4: From the Clothing Tool create a static mesh
12. UE4: Copy a Blueprint of Object Coat Hook (non-bizarre), rename it and drag-and-drop the static mesh as
component assigned to a Hook socket
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 17
3.9. User Scenario 8 Object Jacket (bizarre)
Table 3.10.: Concept – Description of User Scenario 8 Object Jacket (bizarre) in fully dressed format
Scope: Real-time animation of 3D Model
Stakeholders and Interests:
ˆ Researcher: Render object and its animation in UE4 project
Preconditions:
ˆ User Scenario 7 Object Jacket (non-bizarre) successfully completed
ˆ Game editor UE4 running, demo project opened
Postconditions (success guarantee):
ˆ Animation: Transition of gravity; the object elevates to horizontal position
ˆ Horizontal position is persistent
Elaboration:
1. UE4: Copy the non-bizarre Blueprint and name it as bizarre
2. UE4: In the bizarre Blueprint add the skeletal mesh as component by drag-and-drop and in the details tab
’Rendering’ uncheck the value for ’visible’
3. UE4: In the Blueprint graph assign starting the animation ”
on component begin overlap”of the static mesh
4. UE4: In the Blueprint graph add a ’Set Visibility’ node for the skeletal mesh with ’New Visibility’ checked
5. UE4: In the Blueprint graph add a ’Set Visibility’ node for the static mesh with ’New Visibility’ unchecked
6. UE4: In the Blueprint graph add a ’Cast To ClothingSimulationInteractorNv’ node with ’Object’ assigned to
’Return Value’ of a ’Get Clothing Simulation Interactor’ node with ’Target’ ’Skeletal Mesh Jacket’
7. UE4: In the Blueprint graph add an ’Enable Gravity Override’ node and receive the ’Target’ from the cast
’As Clothing Simulation Interactor Nv’
8. UE4: Add a variable of type vector named as ’Direct Gravity Override Value’ and set its default value to
x = 50:0, y = 0:0 and z = 0:0
9. UE4: In the Blueprint graph ’Enable Gravity Override’ node assign the ’In Vector’ to the ’Direct Gravity
Override Value’
18 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
3.10. User Scenario 9 Object Marker Pen (non-bizarre)
Table 3.11.: Concept – Description of User Scenario 9 Object Marker Pen (non-bizarre) in fully dressed format
Scope: 3D Model
Stakeholders and Interests:
ˆ Researcher: Render object in UE4 project.
Preconditions:
ˆ Raster graphics editor GIMP running
ˆ 3D modelling editor Blender running
ˆ Game editor UE4 with demo project running
Postconditions (success guarantee):
ˆ Deliveries: Texture(s), Material(s), Mesh(es) and Blueprint(s) UE4-Assets in 3D Content Library
ˆ Reasonable texture resolution according to rendering performance
Special Requirements:
ˆ Real Object Marker Pen (non-bizarre): edding 250 whiteboard marker, color red
(see https://www.edding.com/products/edding-250-whiteboard-marker-1/)
ˆ Photo studio with SfM setup for image acquisition
Elaboration:
1. Photo studio: Acquire digital imagesof real object as jpeg using rotating surface
2. Blender: Import existing object mesh, model unit in centimeter (same as in UE4)
3. Blender: Unwrap model and export UV map as png
4. GIMP: Open digital images of object as layers and white-balance them
5. GIMP: Import UV layout image as a new layer
6. GIMP: Map label images to UV layout by transformation (move/scale etc.)
7. GIMP: Export texture as jpeg
8. Blender: Create different materials and assign them to the mesh (multi-material mesh)
9. Blender: Import label texture and assign it to the label material
10. Blender: Export texture mapped multi material mesh as binary fbx
11. UE4: Import textures, create Material Parameter Collection and materials
12. UE4: Import multi material mesh fbx, a Static Mesh is created automatically; assign different materials
13. UE4: Create a StaticMeshActor and add resp. create Blueprint as Object Marker Pen (non-bizarre)
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 19
3.11. User Scenario 10 Object Marker Pen (bizarre)
Table 3.12.: Concept – Description of User Scenario 10 Object Marker Pen (bizarre) in fully dressed format
Scope: Real-time animation of 3D Model
Stakeholders and Interests:
ˆ Researcher: Render object and its animation in UE4 project
Preconditions:
ˆ User Scenario 9 Object Marker Pen (non-bizarre) successfully completed
ˆ Game editor UE4 running, demo project opened
Postconditions (success guarantee):
ˆ Transition from real to huge dimension (diameter of existing round table) within two seconds; persistent
Elaboration:
1. UE4: Copy the non-bizarre assets and rename them as bizarre
2. UE4: In the Blueprint add variables: InitialActorScale3D (vector), FinalActorScale3D (vector), ScaleFactor
(float, default 4.0) and Bizarreness (float)
3. UE4: In the Blueprint construction script add .setter nodes for the vector variables
4. UE4: In the Blueprint event graph create a Timeline node and edit the Timeline Track ’MarkerPenBizarre-
nessTrack’ to change from value zero to one within two seconds
5. UE4: In the event graph connect the timeline update to setter for the Bizarreness variable to the value from
the timeline track
6. UE4: In the event graph connect the Setter node to a ’SetActorScale3D’ node which gets its ’New Scale 3D’
from a Lerp (A: InitialActorScale3D, B: FinalActorScale3D, Alpha: Bizarreness)
7. UE4: In the event graph assign starting the Timeline within an ’Event ActorBeginOverlap’
20 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
3.12. User Scenario 11 Object Art Print (non-bizarre)
Table 3.13.: Concept – Description of User Scenario 11 Object Art Print (non-bizarre) in fully dressed format
Scope: 3D Model
Stakeholders and Interests:
ˆ Researcher: Render object in UE4 project.
Preconditions:
ˆ Raster graphics editor GIMP running
ˆ 3D modelling editor Blender running
ˆ Game editor UE4 with demo project running
Postconditions (success guarantee):
ˆ Deliveries: Texture(s), Material(s), Mesh(es) and Blueprint(s) UE4-Assets in 3D Content Library
ˆ Reasonable texture resolution according to rendering performance
Special Requirements:
ˆ Real Object Art Print (non-bizarre): ”
Empty Boats on Shore Near Mountains”from Luke Miller
(see https://www.pexels.com/photo/empty-boats-on-shore-near-mountains-1756874/)
ˆ Digital picture as jpeg: dimension 3263 x 4080 pixels, resolution 600 Dots per Inch (DPI), bit depth 24 bit
(true color) standard Red Green Blue (sRGB) IEC61966-2.1
ˆ Dimensions of art print: 60 x 75 cm, Forex 5 mm
Elaboration:
1. Blender: Create object mesh, model unit in centimeter (same as in UE4)
2. Blender: Unwrap model and export UV layout as png
3. GIMP: Open digital image of object as layer
4. GIMP: Import UV layout image as a new layer
5. GIMP: Map image to UV layout by transformation (move/scale etc.)
6. GIMP: Create multiple textures according division of painting in respect of possible dimensions in UE4 (e.g.,
grid of 6x6 textures)
7. GIMP: Export textures as jpeg
8. Blender: Create different materials and assign them to the mesh (multi-material mesh)
9. Blender: Import art painting textures and assign them to the art painting materials
10. Blender: Export texture mapped multi material mesh as binary fbx
11. UE4: Import textures and create materials
12. UE4: Import multi material mesh fbx, a Static Mesh is created automatically; assign different materials
13. UE4: Create a StaticMeshActor and add resp. create Blueprint as Object Marker Pen (non-bizarre)
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 21
3.13. User Scenario 12 Object Art Print (bizarre)
Table 3.14.: Concept – Description of User Scenario 12 Object Art Print (bizarre) in fully dressed format
Scope: Real-time animation of 3D Model
Stakeholders and Interests:
ˆ Researcher: Render object and its animation in UE4 project
Preconditions:
ˆ User Scenario 11 Object Art Print (non-bizarre) successfully completed
ˆ 3D modelling editor Blender running
ˆ Game editor UE4 running, demo project opened
Postconditions (success guarantee):
ˆ Water is flowing from the Art Print to the floor
ˆ A maximum amount of water accumulates in the puddle on the floor
Special Requirements:
ˆ UE4 Package [WaterMaterials]
Elaboration:
1. UE4: Download package ”
Water Materials”
, copy-paste material M River and M Lake as well as related
material functions, material parameter collections and textures and resolve assignments
2. UE4: From package ”
Water Materials”export static mesh SM Waterfall Arc as fbx
3. Blender: Import fbx file SM Waterfall Arc, set origin on top of mesh and export the same as fbx
4. Blender: Create a mesh Lake as well as a mesh Puddle and export them as fbx
5. UE4: Import lake, waterfall and puddle meshes
6. UE4: Make material instances of M River and M Lake, assign them to the static meshes and configure the
parameters accordingly
7. UE4: Copy-paste Blueprint of Object Art Print (non-bizarre) and rename it as bizarre
8. UE4: To the bizarre Blueprint add components lake, waterfall (twice) and puddle static meshes, configure
transforms
9. UE4: In the Blueprint event graph assign starting the animation within an ’Event ActorBeginOverlap’ using
different transform related nodes and lerps
22 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
4. Design
The design of the solution follows the Object Oriented Programming (OOP) paradigm. The structure of the system
is described by class diagrams in Unified Modeling Language (UML).
For ease distribution of the deliveries, an UE4 plugin named ’BZR’ was created. The plugin contains a stand-
alone module as well as folders for the content of each use case (cp. [UE4Wiki, An Introduction to UE4 Plugins]).
For installation instructions please refer to appendix section C.2.
Figure 4.1.: Design – Package diagram for plugin
In the context of Data Tracking in UE4 a stand-alone module was created. It contains a blueprint function
library ’BZRBPFunctionLibrary’ (see figure 4.1). The function library declares and implements the functions ’Get-
CurrentTimeFromRealWorldOS’ and ’SaveTextToFile’ which are BlueprintCallable UFUNCTIONs exposed to the
Blueprints Virtual Machine (cp. [UE4Man, Blueprint Function Libraries], [UE4Wiki, UFUNCTION] and [UE4Wiki,
Blueprint Function Library, Create Your Own to Share With Others]). The functions may be called from blueprint
event graphs, as shown in section 5.1.
Figure 4.2.: Design – Class diagram for module and Data Tracking
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 23
The design of the user scenarios related deliveries is described with a class diagram including most relevant com-
ponents and member methods (see figure 4.3). The non-bizarre blueprints inherit from abstract actor ’Trackable
Abstract’, except of Object Jacket (bizarre) which inherits from Object Coat Hook (non-bizarre). Thus the non-
bizarre blueprints inherit implementation of TrackEvent and become trackable in their turn. The bizarre blueprints
in turn inherit from their non-bizarre counterparts. Thus they not only inherit the components of their parents, but
also become trackable.
Figure 4.3.: Design – Class diagram for blueprints
24 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
5. Elaboration
5.1. Elaboration of User Scenario 1 Data Tracking
5.1.1. Data Tracking Struct
In the context of user scenario Data Tracking a user defined structure Struct DataTracking was created which holds
variables ’Delimiter’, ’DirectoryPath’, ’FileName’ and ’FileNameExtension’ with default values (see figure 5.1).
Figure 5.1.: Data Tracking – User defined struct in UE4
5.1.2. Data Tracking Function Library
A blueprint function library FunctionLibrary DataTracking was created which holds a member function ’WriteToFile’
(see figure 5.2). It makes use of BZR-Module function ’WriteTextToFile’ from the BZRBPFunctionLibrary.
Figure 5.2.: Data Tracking – Blueprint function library member ’WriteToFile’ in UE4
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 25
5.1.3. Interface Trackable
A blueprint interface Interface Trackable was created which declares a member function ’TrackEvent’ (see fig-
ure 5.3).
Figure 5.3.: Data Tracking – Blueprint interface ’Trackable’ declares function ’TrackEvent’ in UE4
5.1.4. Abstract Actor Trackable
A blueprint abstract actor Abstract Trackable was created which implements the member function ’TrackEvent’
(see figure 5.4). In the event graph, the function is called by event ActorBeginOverlap as well as by event
ActorEndOverlap and gets a time stamp from BZR-Module function ’GetCurrentTimeFromRealWorldOS’ (see
figure 5.5). The Blueprint abstract actor was used for parenting of child classes of Object Book (non-bizarre),
Object Telephone (non-bizarre), Object Coat Hook (non-bizarre), Object Marker Pen (non-bizarre) and Object Art
Print (non-bizarre).
Figure 5.4.: Data Tracking – Abstract actor blueprint ’Trackable’ implements function ’TrackEvent’ in UE4
26 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
Figure 5.5.: Data Tracking – Abstract actor blueprint event graph calls ’TrackEvent’ in UE4
Systems connected to the Internet can synchronize their system time with Time Servers via Network Time
Protocol (NTP) (cp. [METAS]). Access to time servers is very restricted, therefore the IT Services of the University
of Bern recommend the use of the internal time servers time.unibe.ch and time2.unibe.ch1
. To set the NTP server
in Windows 10, open Control Panel and go to section ’Clock and Region’ > ’Date and Time’ > Button ’Change
date and time. . . ’ > Tab ’Internet Time’ > Button ’Change settings. . . ’ > Server: time.unibe.ch (see figure 5.6).
Figure 5.6.: Data Tracking – Configure internet time options in Windows 10
For deliveries of Data Tracking see section 6.1, results are presented in section 7.1.
1Dienstleistungen der Informatikdienste. In: Uni Intern, University of Bern. URL: http://intern.unibe.ch/dienstleistungen/
informatik/dienstleistungen_der_informatikdienste/dienstleistungen___ressourcen/dns___dhcp/index_ger.html (ac-
cess date 10/07/2019)
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 27
5.2. Elaboration of User Scenario 2 Object Book (non-bizarre)
5.2.1. Mesh and UV Layout
As elaboration of Object Book (non-bizarre)2
a 3D modelled mesh of an opened book was found on sketchfab3
.
The object was downloaded and imported to Blender. The mesh was made unwrapped (see figure 5.7) and the UV
layout was exported as png (see figure 5.8).
Figure 5.7.: Object Book (non-bizarre) – 3D model and unwrapped mesh in Blender
Figure 5.8.: Object Book (non-bizarre) – UV Layout
2Dimension of the real object (opened): h = 0.280 m, b = 0.450 m, d = 0.030 m
33D Model ”
Book Open” on sketchfab: https://sketchfab.com/models/bcc69dacd1bc4eadaf4b9fc0d6e2430b
28 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
5.2.2. Textures
The UV layout image was imported to GIMP as layer and served as overlay. The images of the book binding were
acquired using a digital camera. The image of the opened book block (pages 396-397) was acquired by flatbed
scanner. These images were imported to GIMP as layers. Then—after white balancing and quality augmention
by postprocessing—a texture was composed by cropping, moving, and scaling the book image layers to fit the UV
map (see figure 5.9).
Figure 5.9.: Object Book (non-bizarre) – Composition of texture using UV map in GIMP
Figure 5.10.: Object Book (non-bizarre) – Bookbinding texture
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 29
From the UV mapped layer groups in GIMP, the layers related to the book block were copy-pasted to another
newly created GIMP project (see figure 5.11). The pages color level was cropped to a range of 190-250 for better
intensity of the letters. The image was resized to 4096  4096 pixels (centred)—which are POT values. The
texture was exported as jpeg (see figure 5.12). A distortion correction could still be applied.
Figure 5.11.: Object Book (non-bizarre) – Composition of bookblock texture in GIMP
Figure 5.12.: Object Book (non-bizarre) – Bookblock texture of size POT
30 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
5.2.3. Multi-Material Mesh
Back in Blender, a material was created to which the book binding texture was assigned. In the mesh, the
corresponding faces were selected and the book binding material was assigned to them. A second UV map was
created and the book block texture was imported and positioned accordingly. Furthermore, a second material was
created to which the book block texture was assigned. In the mesh, the corresponding book block faces were
selected and the book block material was assigned to them (see figure 5.13).
Figure 5.13.: Object Book (non-bizarre) – UV map and 3D rendering in Blender
Finally the UV mapped mesh was exported as binary fbx (cp. [UE4Man, FBX Material Pipeline], see figure 5.14).
Figure 5.14.: Object Book (non-bizarre) – ’Export FBX’ settings in Blender
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 31
5.2.4. Rendering in UE4
Textures
In UE4 the book binding and book block textures were imported. To achieve a readable text rendering in UE4, the
settings for the book block texture were adjusted as follows:
ˆ Texture: Filter to ’nearest neighbour’
ˆ Texture: Power of Two Mode to ’Pad to Power of Two’
ˆ Level Of Detail: Mip Gen Settings was changed to ’noMipmaps’
ˆ Compression: Compress Without Alpha ’checked’
Materials
In UE4 a default lit, opaque, surface material for the book binding and the same for the book block was created (see
figure 5.15 and figure 5.16). The book block texture was single tiled by a Texture Coordinate node. To achieve a
readable text rendering in UE4, in the book block material the settings for the Material Expression Texture Sample
were adjusted as follows:
ˆ MipValueMode: MipLevel (absolute, 0 is full resolution)
ˆ Const Mip Value: 0
ˆ Automatic View Mip Bias: unchecked
Figure 5.15.: Object Book (non-bizarre) – Book binding material in UE4
Figure 5.16.: Object Book (non-bizarre) – Book block material in UE4
32 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
Static Mesh and Blueprint
Finally the fbx multi material mesh was imported. UE4 automatically created a StaticMesh in the Content Browser.
The connection to the already existing material has been assigned. A StaticMeshActor was created an a Blueprint
was added respectively a Blueprint Class was stored in the Content Browser.
Figure 5.17.: Object Book (non-bizarre) – Multi material mesh in UE4
Zooming the scene to the object shows the render quality and the readability of the text (see figure 5.18).
Figure 5.18.: Object Book (non-bizarre) – Zoomed rendering in UE4
For deliveries of Object Book (non-bizarre) see section 6.2, results are presented in section 7.2.
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 33
5.3. Elaboration of User Scenario 3 Object Book (bizarre)
In UE4 the Book non-bizarre blueprint was inherited in a newly created blueprint named Book bizarre.
5.3.1. Texture
For the elaboration of Object Book (bizarre), the text part of the book block texture was deleted in GIMP. The
texture was exported as jpeg (see figure 5.19).
Figure 5.19.: Object Book (non-bizarre) – Empty book block texture of size POT
5.3.2. Animation in Blender
First, an animation was elaborated using the Cycles node editor in Blender. A ’MixRGB’ node was used and its
’Fac’ property was animated to fade between the two different textures (see figure 5.20). The material was rendered
in real-time.
Unfortunately, the MixRGB node is not part of the material itself and is not exported to the fbx file. In addition,
the results of the Cycles render engine showed some graphic noise artefacts in the middle of the book. Therefore
an alternative solution for the animation had to be implemented directly in the target system UE4.
Figure 5.20.: Object Book (bizarre) – Cycles editor MixRGB node to switch textures in Blender
34 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
5.3.3. Animation in UE4
Back in UE4 the non-bizarre blueprint inherited in a newly created blueprint actor named as bizarre.
Texture
The empty book block texture was imported. As already seen in the book block texture, the settings for the empty
book block texture were adjusted as follows:
ˆ Texture: Filter to ’nearest neighbour’
ˆ Texture: Power of Two Mode to ’Pad to Power of Two’
ˆ Level Of Detail: Mip Gen Settings was changed to ’noMipmaps’
ˆ Compression: Compress Without Alpha ’checked’
Material
The rendering workflow as elaborated in the Blender Cycles node editor was replicated in UE4. Therefore, a
Material Parameter Collection ’BookBizarre MPC’ was created which holds a parameter named ’BookBizarreness’
(see figure 5.21).
Figure 5.21.: Object Book (bizarre) – Material Parameter Collection with parameter ’BookBizarreness’ in UE4
A copy of the existing material was made and was extended with a Lerp node (linear interpolation) for fading
from the non-bizarre to the bizarre book block texture. A second Texture Sample node was created and assigned
to the empty book block texture. The Lerp alpha value was assigned to a Collection Parameter node connected to
the Material Parameter Collection parameter named BookBizarreness (see figure 5.22). The constant adjustment
of the parameter BookBizarreness results in an animation.
Figure 5.22.: Object Book (bizarre) – Bizarre Book Block Material in UE4
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 35
Animation by Level Sequence
In a Level Sequence the parameter BookBizarreness was changed from 0.0 to 1.0 within 240 frames at 120 FPS
(see figure 5.23).
Figure 5.23.: Object Book (bizarre) – Level Sequence in UE4
Then the Static Mesh Actor was surrounded with a Trigger Box. In the Level Blueprint the Level Sequence is
started within a Trigger Box overlap (see figure 5.24).
Figure 5.24.: Object Book (bizarre) – Level Blueprint in UE4
As the Level Sequence resets the BookBizarreness to zero after play, and for a Parameter Collection Track there
is no keyframe property ’Section’ (When Finished: Keep State), another solution was needed. The Level Sequence
finally remained in the UE4 assets of the 3D Content Library and was used for testing purposes.
Animation by Timeline
In the Blueprint Class a Timeline and a SetScalarParameterValue node was created. The former was connected
to the ActorBeginOverlap node (see figure 5.25). In the Timeline Track ’BookBizarrenessTrack’ the value from
0.0 to 1.0 is changed within ten seconds (see figure 5.26). On ActorBeginOverlap the Timeline is played and the
’BookBizarrenessTrack’ updates the Scalar Parameter Value ’BookBizarreness’, which is used in the material Lerp.
Figure 5.25.: Object Book (bizarre) – Blueprint timeline node in UE4
Figure 5.26.: Object Book (bizarre) – Blueprint timeline track in UE4
For deliveries of Object Book (bizarre) see section 6.2, results are presented in section 7.2.
36 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
5.4. Elaboration of User Scenario 4 Object Telephone (non-bizarre)
5.4.1. Textured Meshes
A 3D model of a Cisco 7970g IP Phone modelled by CTA Architects Engineers was purchased on platform
TurboSquid4
. The fbx file was imported to Blender to make small adjustments. The telephone body mesh is
built from multiple meshes including a foot, saddle and handset frame, a display container, a display, a pad with
feature and function keys, a navigation pad with arrows, and a dial pad with twelve keys (see figure 5.27). The
mesh was exported as binary fbx.
Figure 5.27.: Object Telephone (non-bizarre) – Telephone mesh in Blender
The telephone handset mesh is built from two meshes: the handset itself and a red light (see figure 5.28). The
mesh was exported as binary fbx.
Figure 5.28.: Object Telephone (non-bizarre) – Handset mesh in Blender
43D Model Cisco 7970g IP Phone on TurboSquid, URL: https://www.turbosquid.com/3d-models/office-phone-3d-max/617648,
(access date 03/07/2019)
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 37
The telephone spiralcord mesh is a single mesh (see figure 5.29). The hand sided ending was shortened. The
mesh was exported as binary fbx.
Figure 5.29.: Object Telephone (non-bizarre) – Spiralcord mesh in Blender
5.4.2. Rendering in UE4
Materials
Figure 5.30.: Object Telephone (non-bizarre) – Diffuse in grayscale, specular, and normal texture
Figure 5.31.: Object Telephone (non-bizarre) – Material function for porous plastic in UE4
38 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
Figure 5.32.: Object Telephone (non-bizarre) – Telephone material in UE4
Figure 5.33.: Object Telephone (non-bizarre) – Material parameter collection in UE4
Figure 5.34.: Object Telephone (non-bizarre) – Display container material in UE4
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 39
Figure 5.35.: Object Telephone (non-bizarre) – ’Display off’ material in UE4
Figure 5.36.: Object Telephone (non-bizarre) – Spiralcord material in UE4
40 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
Static Meshes
In UE4 the meshes were imported and assigned with corresponding materials. For static mesh ’Telephone’ two
sockets named ’Jack-Spiralcord’ and ’Handset’ were created (see figure 5.37).
Figure 5.37.: Object Telephone (non-bizarre) – Telephone static mesh in UE4
For static mesh ’Handset’ two sockets named ’Spiralcord’ and ’Loudspeaker’ were created (see figure 5.38).
Figure 5.38.: Object Telephone (non-bizarre) – Handset static mesh in UE4
For static mesh ’Handset’ a socket named ’HandsetSide’ was created (see figure 5.39).
Figure 5.39.: Object Telephone (non-bizarre) – Spiralcord static mesh in UE4
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 41
Blueprint
For the assembly in UE4 an Actor for the Static Mesh ’Telephone’ was created and a Blueprint was added. In the
Blueprint a cable component ’Networkcable’ as well as a static mesh for the handset was subordinated. In addition
the handset was subordinated a cable component ’Spiralcord’ (see figure 5.40).
(see figure 5.41).
Figure 5.40.: Object Telephone (non-bizarre) – Blueprint components in UE4
Figure 5.41.: Object Telephone (non-bizarre) – Blueprint with components as assembly in UE4
For deliveries of Object Telephone (non-bizarre) see section 6.3, results are presented in section 7.3.
42 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
5.5. Elaboration of User Scenario 5 Object Telephone (bizarre)
5.5.1. Materials
For bizarreness, first the color pink was used which is defined as Hex triplet #FFC0CB or as Red Green Blue (RGB)
255,192,203 normalized to [0–255]. At a review in a weekly meeting the decision has been made to use not the
color pink but plum. The color is defined as Hex triplet #DDA0DD or as RGB 221,160,221—normalized to [0–255]
(cp. [W3C, CSS Color Module Level 3]). This corresponds to Hex sRGB DDA0DDFF in UE4.
To Material Parameter Collection ’MPC Telephone’ a scalar parameter ’Bizarreness’ and a vector parameter
’BizarreColor’ was added (see figure 5.42).
Figure 5.42.: Object Telephone (bizarre) – Material parameter collection in UE4
A texture for a fluffy terry cloth was found and texture maps were created (see figure 5.43) and used in an UE4
material function ’MF Plush’ (see figure 5.44).
Figure 5.43.: Object Telephone (bizarre) – Diffuse in grayscale, specular, and normal texture
Figure 5.44.: Object Telephone (bizarre) – Material function ’Plush’ in UE4
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 43
A bizarre material was created which lerps from platic to plush by parameter ’Bizarreness’ alpha value (see
figure 5.45).
Figure 5.45.: Object Telephone (bizarre) – Material lerps from platic to plush in UE4
A material function ’Telephone-Bizarre-Lerp-BaseColor’ was created. In the function a Linear Interpolation (Lerp)
node fades between an input color and the bizarre color from the ’MPC Telephone’. The Lerp alpha value was
assigned to scalar parameter ’Bizarreness’ from ’MPC Telephone’ (see figure 5.46).
Figure 5.46.: Object Telephone (bizarre) – Material function ’Telephone-Bizarre-Lerp-BaseColor’ in UE4
44 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
Copies of the existing display container and spiralcord materials were made and extended by a material function
node ’Telephone-Bizarre-Lerp-BaseColor’ (see figure 5.47 and figure 5.48).
Figure 5.47.: Object Telephone (bizarre) – Display container material in UE4
Figure 5.48.: Object Telephone (bizarre) – Spiralcord material in UE4
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 45
A copy of the existing display material was made and the color was replaced by a texture sample node (see
figure 5.49).
Figure 5.49.: Object Telephone (bizarre) – Display material in UE4
For the red light an emissive material was created using the bizarre color from ’MPC Telephone’ (see figure 5.50).
Figure 5.50.: Object Telephone (bizarre) – Emissive red light material in UE4
46 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
5.5.2. Particle System
From the UE4 starter content an existing smoke particle system was copied and the smoke emitter module ’Sphere’
was replaced by a ’Cylinder’ (see figure 5.51). Some emitter modules values were edited as follows:
ˆ Spawn: Spawn  Rate  Distribution  Constant: 2.0
ˆ Lifetime: Lifetime  Lifetime  Distribution  Min and Max: 10.0
ˆ Initial Size: Size  Start Size  Distribution  Max 5.0/0.0/0.0 and Min 15.0/0.0/0.0
ˆ Initial Velocity: Velocity  Start Velocity  Distribution  Max 5.0/0.0/5.0 and Min 1.0/0.0/1.0
Figure 5.51.: Object Telephone (bizarre) – Smoke particle system in UE4
The already existing smoke material was also copied and enhanced by bizarre color (see figure 5.52).
Figure 5.52.: Object Telephone (bizarre) – Smoke material in UE4
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 47
5.5.3. Blueprint
In UE4 the Book non-bizarre blueprint actor was inherited in a newly created blueprint actor named Book bizarre
(see figure 5.53). It was enhanced by an additional component smoke particle system (see figure 5.54).
Figure 5.53.: Object Telephone (bizarre) – Blueprint in UE4
Figure 5.54.: Object Telephone (bizarre) – Blueprint components in UE4
5.5.4. Animation in UE4
Figure 5.55.: Object Telephone (bizarre) – Blueprint variables in UE4
Figure 5.56.: Object Telephone (bizarre) – Blueprint construction script in UE4
48 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
In the Event Graph a OnComponentHit node for each mesh, a ’Bizarreness-Timeline’ node, and a SetScalar-
ParameterValue node was added (see figure 5.57). In the ’BizarrenessTrack’ the value is changed from 0.0 to 1.0
within two seconds (see figure 5.58). On component hit the ’BizarrenessTrack’ updates the Scalar Parameter Value
’Bizarreness’.
Figure 5.57.: Object Telephone (bizarre) – Blueprint event graph in UE4
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 49
Figure 5.58.: Object Telephone (bizarre) – Timeline track for bizarreness in UE4
Figure 5.59.: Object Telephone (bizarre) – Timeline track for transform in UE4
For deliveries of Object Telephone (bizarre) see section 6.3, results are presented in section 7.3.
50 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
5.6. Elaboration of User Scenario 6 Object Coat Hook (non-bizarre)
5.6.1. Multi-Material Mesh
First in GIMP a collage was made using an orthogonal photograph, which served as background image for the 3D
modelling in Blender (see figure 5.60).
Figure 5.60.: Object Coat Hook (non-bizarre) – Front view with collage as background image in Blender
A multi-material mesh was modelled and an UV mapping for the object was made: Edit Mode, Shading/UVs 
UV Mapping  Unwrap  Smart UV Project (see figure 5.61).
Figure 5.61.: Object Coat Hook (non-bizarre) – Multi-material mesh and UV mapping in Blender
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 51
5.6.2. Rendering in UE4
Textures and Materials
A brushed metal texture for the coathook has been found (see figure 5.62) and assigned to a brushed metal material
in UE4 (see figure 5.63). For the screws a blank metal material was created (see figure 5.64).
Figure 5.62.: Object Coat Hook (non-bizarre) – Diffuse texture for brushed metal material
Figure 5.63.: Object Coat Hook (non-bizarre) – Brushed metal material in UE4
Figure 5.64.: Object Coat Hook (non-bizarre) – Blank metal material in UE4
52 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
Static Mesh
Finally the multi material mesh fbx-file was imported to UE4 with an import rotation of z = 180.0°. The metal
materials have been assigned to the material slots. For each hook a socket was added in the static mesh (see
figure 5.65).
Figure 5.65.: Object Coat Hook (non-bizarre) – Static multi-material Mesh and Sockets in UE4
Blueprint
A Blueprint actor was created and a static mesh component was added as container for the static mesh. In addition
a rotation of y = -0.25° was applied (see figure 5.66).
Figure 5.66.: Object Coat Hook (non-bizarre) – Blueprint in UE4
For deliveries of Object Coat Hook (non-bizarre) see section 6.4, results are presented in section 7.4.
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 53
5.7. Elaboration of User Scenario 7 Object Jacket (non-bizarre)
5.7.1. Mesh and Texture
For the elaboration of Object Jacket (non-bizarre) a simple cutting pattern was made in Blender by a subdivided
and triangulated plane and the half of a ring as hanging loop (see figure 5.67). The mesh was exported as binary
fbx.
Figure 5.67.: Object Jacket (non-bizarre) – Front view of cutting pattern in Blender
Using an acquired image from the real jacket, a seamless texture was created in GIMP (see figure 5.68) and
exported as jpeg.
Figure 5.68.: Object Jacket (non-bizarre) – Seamless texture in GIMP
54 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
5.7.2. Rendering in UE4
Textures and Material
Using the seamless texture a related normal, specular and displacement map was created (see figure 5.69).
Figure 5.69.: Object Jacket (non-bizarre) – Diffuse, normal, specular and displacement texture
In UE4 the textures were assigned to a jacket material (see figure 5.70). The jacket material is two sided, the
texture is repeated by U/V-tiling using a TexCoord node (see figure 5.71).
Figure 5.70.: Object Jacket (non-bizarre) – Cloth material in UE4
Figure 5.71.: Object Jacket (non-bizarre) – Cloth material tex coord for U/V-tiling in UE4
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 55
Skeleton and Skeletal Mesh
In UE4 the mesh was imported as skeletal mesh (see figure 5.72). A skeleton asset and a skeletal mesh were created
automatically. The skeleton asset represents a hook of the Coat Hook (see figure 5.73). The skeletal mesh was
assigned with the corresponding materials (see figure 5.74).
Figure 5.72.: Object Jacket (non-bizarre) – FBX import options in UE4
Figure 5.73.: Object Jacket (non-bizarre) – Skeleton in UE4
Figure 5.74.: Object Jacket (non-bizarre) – Skeletal mesh in UE4
56 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
Physics Asset
From the skeletal mesh a physics asset was created (see figure 5.75 and figure 5.76). To let the skeletal mesh collide
with surrounding world objects like the wall with a door and the door handle, these meshes were added as preview
assets in the physics editor and were replaced by collision geometry made of capsules and tapered capsules5
, as
cloth only collides with these kind of primitives (see figure 5.77). The physics asset was assigned to the skeletal
mesh Details  Physics tab, in addition ’Enable Per Poly Collision’ was checked (see figure 5.78).
Figure 5.75.: Object Jacket (non-bizarre) – Create physics asset from skeletal mesh in UE4
Figure 5.76.: Object Jacket (non-bizarre) – New physics asset dialogue in UE4
Figure 5.77.: Object Jacket (non-bizarre) – Physics asset with collision geometry in UE4
Figure 5.78.: Object Jacket (non-bizarre) – Physics asset assigned to skeletal mesh in UE4
5Jacket (non-bizarre) transform world position of hanger-loop or bone ’jacket’ respectively: x = 249, y = 7, z = 163
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 57
Cloth Paint
”As of UE4 version 4.16, APEX Cloth [(based on PhysX Clothing, cp.[GameWorksDoc, APEX Clothing Module])]
has been replaced with Nvidia’s NvCloth solver which is a low-level clothing solver responsible for the particle
simulation that runs clothing. This clothing solver allows integrations to be lightweight and very extensible because
[of] direct access to the simulation data”(cp. [UE4Man, Clothing Tool]).
In the skeletal mesh editor the section selection as well as the cloth paint was activated. Then the whole jacket
was selected and painted (see figure 5.79)—except of parts of the coat hanger loop (see figure 5.80).
Figure 5.79.: Object Jacket (non-bizarre) – Cloth paint of cardigan in UE4
Figure 5.80.: Object Jacket (non-bizarre) – Cloth paint detail of cardigan (left) and hanger loop (right) in UE4
Both parts of the mesh have the same cloth configuration (see figure 5.81).
Figure 5.81.: Object Jacket (non-bizarre) – Cloth configuration in UE4
58 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
Static Mesh
Afterwards, from the skeletal mesh menu, a static mesh was created by clicking ’Make Static Mesh’. Using the
static mesh menu Collision  Auto Convex Collision a convex Discrete Oriented Polytope (DOP) collision hull was
generated and in the Details tab  Collision parameter ’Double Sided Geometry’ was checked (see figure 5.82).
Figure 5.82.: Object Jacket (non-bizarre) – Static mesh with collision hull in UE4
Blueprint
In UE4 the blueprint Coat Hook (non-bizarre) was inherited in a newly created blueprint named Jacket (non-bizarre)
(see figure 5.83). In the components tab a static mesh component was added and the static mesh Jacket was
assigned. The components ’Parent Socket’ was set to ’Hook-RR’ and ’Generate Overlap Events’ was checked (see
figure 5.84).
Figure 5.83.: Object Jacket (non-bizarre) – Blueprint inheritance in UE4
Figure 5.84.: Object Jacket (non-bizarre) – Blueprint with component parameters for static mesh in UE4
For deliveries of Object Jacket (non-bizarre) see section 6.4, results are presented in section 7.4.
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 59
5.8. Elaboration of User Scenario 8 Object Jacket (bizarre)
5.8.1. Blueprint
In UE4 the blueprint Jacket (non-bizarre) was inherited in a newly created blueprint named Jacket (bizarre) (see
figure 5.85).
Figure 5.85.: Object Jacket (bizarre) – Blueprint inheritance in UE4
In the components tab of blueprint Jacket (bizarre) a skeletal mesh component was added and the skeletal mesh
Jacket was assigned (see figure 5.86 and 5.87).
Figure 5.86.: Object Jacket (bizarre) – Blueprint components in UE4
Figure 5.87.: Object Jacket (bizarre) – Blueprint with component parameters for skeletal mesh in UE4
60 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
The components ’Parent Socket’ was set to ’Hook-RR’ and its render visibility was unchecked (see figure 5.88).
Figure 5.88.: Object Jacket (bizarre) – Component parameters for skeletal mesh in UE4
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 61
5.8.2. Animation in UE4
Variables
Then a vector variable ”
DirectGravityOverrideValue” was added and its default value was set to x = 50:0 (see
figure 5.89).
Figure 5.89.: Object Jacket (bizarre) – Blueprint variable and default value in UE4
Event Graph
In the Event Graph, an ’On Component Begin Overlap (StaticMesh Jacket)’ node was created (see figure 5.90).
First, the ’SkeletalMesh Jacket’ visibility and ’Generate Overlap Events’ get checked, then the ’StaticMesh Jacket’
visibility and ’Generate Overlap Events’ get unchecked—this results in switching between these two meshes. Af-
terwards the ’SkeletalMesh Jacket’s Clothing Simulation Interactor’s gravity override is enabled and its gravity is
overwritten with the ’Direct Gravity Override Value’.
Figure 5.90.: Object Jacket (bizarre) – Blueprint event graph in UE4
For deliveries of Object Jacket (bizarre) see section 6.4, results are presented in section 7.4.
62 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
5.9. Elaboration of User Scenario 9 Object Marker Pen (non-bizarre)
5.9.1. Mesh and UV Layout
For the elaboration of Object Marker Pen (non-bizarre) an already existing 3D model of a whiteboard marker was
handed over from the developers of Project [VIRLA]. In Blender the fbx file was imported and unwrapped (see
figure 5.91). The UV layout was exported as png (see figure 5.92).
Figure 5.91.: Object Marker Pen (non-bizarre) – 3D model and unwrapped mesh in Blender
Figure 5.92.: Object Marker Pen (non-bizarre) – UV Layout
5.9.2. Texture
Images of the Marker Pen (non-bizarre) were acquired by rotating surface photography using a setup as described
in section 2.3. The Canon EOS 60D was set to focal length 21mm, sensor width 22.3mm, aperture F11, shutter
0.6s, ISO 125, and the image size was set to 5184  3456 pixels. Using a vertical angle of 0° the platform was
rotated evenly with an angle of 45° resulting in eight photographs (see figure 5.93). In GIMP a texture was created
from the images by stitching and uv mapping the stripes (see figure 5.94 and 5.95).
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 63
Figure 5.93.: Object Marker Pen (non-bizarre) – Label image acquisition
Figure 5.94.: Object Marker Pen (non-bizarre) – Label texture stitching and UV layout mapping in GIMP
Figure 5.95.: Object Marker Pen (non-bizarre) – Label texture
5.9.3. Multi-Material Mesh
Back in Blender different materials for coloured felt, coloured plastic and for a textured label as well as a metal
material were created and assigned to individual parts of the mesh (see figure 5.96). For better handling later in
64 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
the game engine, the object was rotated 90° and its origin was set at the bottom of the surface. The mesh was
exported as binary fbx.
Figure 5.96.: Object Marker Pen (non-bizarre) – Multi material 3D model of the pen in Blender
In addition in the same Blender project a cap was modelled and assigned with the already created coloured plastic
material (see figure 5.97). For better handling later in the game engine, the origin of the object was defined in the
middle of the opening. The cap mesh was seperately exported as binary fbx, too.
Figure 5.97.: Object Marker Pen (non-bizarre) – 3D model of the pen and its cap in Blender
5.9.4. Rendering in UE4
Textures and Materials
The label texture was imported to UE4 and was used to create an UV-mapped label material (see figure 5.98).
Figure 5.98.: Object Marker Pen (non-bizarre) – Textured material in UE4
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 65
The color used in color related materials is hold in a Material Parameter Collection ’MPC MarkerPen’ as vector
parameter ’MarkerPenColor’ (see figure 5.99). It is used for a color related plastic and a color related felt material
(see figure 5.100 and figure 5.101).
Figure 5.99.: Object Marker Pen (non-bizarre) – Material Parameter Collection in UE4
Figure 5.100.: Object Marker Pen (non-bizarre) – Shiny plastic material in UE4
Figure 5.101.: Object Marker Pen (non-bizarre) – Matt felt material in UE4
Finally a metal material was created (see figure 5.102).
Figure 5.102.: Object Marker Pen (non-bizarre) – Metal material in UE4
66 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
Meshes
In UE4 the fbx files were imported. For the cap a static mesh was created and the corresponding material has been
assigned (see figure 5.103).
Figure 5.103.: Object Marker Pen (non-bizarre) – Cap mesh in UE4
For the pen a multi material static mesh was created and corresponding materials have been assigned. A socket
’CapSocket’ has been added to the mesh, where the origin of the cap will be placed. In the socket parameters the
cap was assigned (see figure 5.104). A StaticMeshActor was created.
Figure 5.104.: Object Marker Pen (non-bizarre) – Multi material pen mesh in UE4
Blueprint
From the StaticMeshActor a Blueprint was added respectively a Blueprint Class was stored in the Content Browser.
In the Blueprint, a Component ’MarkerPenCapNonBizarre’ was added and its Parent Socket was assigned to the
’CapSocket’ (see figure 5.105).
Figure 5.105.: Object Marker Pen (non-bizarre) – Blueprint in UE4
For deliveries of Object Marker Pen (non-bizarre) see section 6.5, results are presented in section 7.5.
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 67
5.10. Elaboration of User Scenario 10 Object Marker Pen (bizarre)
In UE4 the non-bizarre blueprint was inherited in newly created blueprint named Marker Pen bizarre.
5.10.1. Animation in UE4
Collision
The animation will be triggered by collision or overlap respectively. Therefore, In the Blueprint class for the two
static mesh components the ’Collision Presets’ was set to ’OverlapAll’ (see figure 5.106). the collision setting
’Generate Overlap Events’ was checked (see figure 5.107).
Figure 5.106.: Object Marker Pen (bizarre) – Static Mesh Collision settings in UE4
Figure 5.107.: Object Marker Pen (bizarre) – Blueprint Static Mesh Component Collision settings in UE4
Construction Script
In the bizarre Blueprint, two vector variables ’InitialActorScale3D’ and ’FinalActorScale3D’ as well as a float
variable ’ScaleFactor’ were added (see figure 5.108). The variable ’ScaleFactor’ default value was set to 4.0. In
the Construction Script the vector variable ’InitialActorScale3D’ is set to the value as found in the ’Actor Scale
3D’. The vector variable ’FinalActorScale3D’ is set to the value as found in the ’Actor Scale 3D’ multiplied by
’ScaleFactor’ (see figure 5.109).
Figure 5.108.: Object Marker Pen (bizarre) – Blueprint variables in UE4
68 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
Figure 5.109.: Object Marker Pen (bizarre) – Blueprint construction script in UE4
Animation by Timeline
In the Blueprint, a scalar variable named ’Bizarreness’ was added (see figure 5.108). In the Event Graph, a Timeline
node was created (see figure 5.111) The Timeline Track ’MarkerPenBizarrenessTrack’ was edited to change from
value zero to one within two seconds (see figure 5.111). The timeline update was connected to a setter for
the Bizarreness variable, which gets its value from the timeline track. In the event graph a ’SetActorScale3D’
node was added which gets its ’New Scale 3D’ from a Lerp (A: InitialActorScale3D, B: FinalActorScale3D, Alpha:
Bizarreness). Finally, the Timeline was assigned starting within an ’Event ActorBeginOverlap’.
Figure 5.110.: Object Marker Pen (bizarre) – Blueprint event graph in UE4
Figure 5.111.: Object Marker Pen (bizarre) – Blueprint timeline track in UE4
For deliveries of Object Marker Pen (bizarre) see section 6.5, results are presented in section 7.5.
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 69
5.11. Elaboration of User Scenario 11 Object Art Print (non-bizarre)
5.11.1. Texture
The Art Print image was imported to GIMP as layer, the image container was resized to 4096 pixels in square
which is a POT value supported by UE4 (see figure 5.112). The texture was exported as jpeg (see figure 5.113).
Figure 5.112.: Object Art Print (non-bizarre) – Texture composition of size POT in GIMP
Figure 5.113.: Object Art Print (non-bizarre) – Texture diffuse of size POT
5.11.2. Multi-Material Mesh and UV Mapping
In Blender a box of dimension z (RH-up) = 0.750 m, x (RH-right) = 0.600 m and y (RH-depth) = 0.005 m was
created. The mesh was unwrapped and an UV layout was created, to which the Art Print texture was imported
and mapped. A material was created to which the Art Print texture was assigned. In the mesh, the corresponding
face was selected and the material was assigned. The rest of the mesh was assigned with a second material for
PVC rigid foam ’Forex’ (see figure 5.114).
70 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
Figure 5.114.: Object Art Print (non-bizarre) – Rendering of UV mapped multi-material 3D model in Blender
The UV mapped multi-material mesh was exported as binary fbx.
5.11.3. Rendering in UE4
Texture
In UE4 the Art Print texture was imported and the settings were adjusted as follows:
ˆ Texture: Filter to ’nearest neighbour’
ˆ Texture: Power of Two Mode to ’Pad to Power of Two’
ˆ Level Of Detail: Mip Gen Settings was changed to ’noMipmaps’
ˆ Compression: Compress Without Alpha ’checked’
Material
In UE4 a default lit, opaque, surface material was created (see figure 5.115). The texture was single tiled by a
Texture Coordinate node. To achieve best rendering quality in UE4, in the Art Print material the settings for the
Material Expression Texture Sample were adjusted as follows:
ˆ MipValueMode: MipLevel (absolute, 0 is full resolution)
ˆ Const Mip Value: 0
ˆ Automatic View Mip Bias: unchecked
Figure 5.115.: Object Art Print (non-bizarre) – Texture material in UE4
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 71
A second material was created to imitate PVC rigid foam ’Forex’ (see figure 5.116).
Figure 5.116.: Object Art Print (non-bizarre) – PVC rigid foam ’Forex’ material in UE4
Static Mesh and Blueprint
Finally the fbx mesh was imported. UE4 automatically created a StaticMesh in the Content Browser. The
connection to the already existing material has been assigned (see figure 5.117). A Blueprint actor was created
and a static mesh component was added containing the Art Print. Its Lighting  Lightmap Type was set to ’Force
Surface’.
Figure 5.117.: Object Art Print (non-bizarre) – Multi-material mesh in UE4
For deliveries of Object Art Print (non-bizarre) see section 6.6, results are presented in section 7.6.
72 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
5.12. Elaboration of User Scenario 12 Object Art Print (bizarre)
5.12.1. Water Simulation in UE4
Evaluation
First the content of the Art Print was discussed, whether a waterfall could be the subject. This because packages
for animation of waterfalls can already be found in the UE4 marketplace. However, as the project head and the
researcher wanted to present tear-like water, further research was carried out.
The author came across the simulation of liquid using Particle In Cell (PIC)/Fluid Implicit Particle (FLIP)
algorithms. The Nvidia Cataclysm software is such a [PIC and] FLIP based liquid solver. It can simulate ”
up to
two million liquid particles within the UE4 engine in real time. It uses a custom FLIP based GPU solver combined
with UE4’s Graphic Processing Unit (GPU) Particles with Distance Field Collisions. A FLIP solver is a hybrid
grid and particle technique for simulating fluids. All Information for the fluid simulation is carried on particles,
but the solution the physical simulation of the liquid is carried out on a grid. Once the grid solve is complete,
the particles gather back up the information they need from the grid to move forward in time to the next frame”
(cp. [Cataclysm]).
”Cataclysm is Windows 10 only. [This] is due to [the] use of Volume Tiled Resources, the 3D version of Tiled
Textures for which support was added in D3D11.36
. It is an RD experiment and not a supported product. It was
developed on a Titan X, and later on a 1080 GTX.”7
For a water simulation by FLIP an UE4 fork for Nvidia Cataclysm was downloaded and built using Microsoft
Visual Studio (MSVS) (cp. [Cataclysm], see appendix section B.3 and for the software see [NvUE4]). The real-time
water simulation worked well (see figure 5.118).
Figure 5.118.: Object Art Print (bizarre) – Nvidia cataclysm fluid simulation in UE4
The technology Cataclysm is currently available at Unreal Engine version 4.19 only, which was criticized in view of
future developments. The same applied to the newer technology NvFlow (see [GameWorks] and [GameWorksDoc]).
As an alternative the author therefore suggested to create a baked animation using the Blender built-in fluid
simulator (cp. [BlenderDoc, Fluid Simulation]) and import the same to UE4 as Almebic animation file as shown
in [UE4LiveTraining, Introduction to Alembic (39)].
Finally, at the researcher’s input, the decision was made to implement the water simulation in UE4 using meshes
and materials from the UE4 Package [WaterMaterials].
6Direct3D 11.3 introduces Shader Model 5.1 URL:https://docs.microsoft.com/en-gb/windows/desktop/direct3dhlsl/
shader-model-5-1 (access date 2019-05-13).
7In: [UE4Forum], Post: ”
NVIDIA Cataclysm Realtime Liquid Solver”
, page 5, November 2015, URL: https://forums.unrealengine.
com/development-discussion/content-creation/90418-nvidia-cataclysm-realtime-liquid-solver/page5, access date
2019-05-13).
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 73
Wetness
The visibility of water depends on the wetting of an overflowed material. A material–if not entirely hydrophobic–
changes its properties if being overflowed by water. As described by [Brinck, 58ff] using the example of a puddle,
typically there are four characteristic rendering regions that wet surfaces are mixed of (see figure 5.119):
(A) Core of the puddle, the water surface is totally flat.
(B) Region where surface tension causes water to cling to the surface underneath, causing a shrink-wrapped look.
(C) Region where water has saturated the surface, causing a darkening of the albedo, but not significantly affecting
normals or specular response.
(D) Dry, unmodified surface.
Figure 5.119.: Object Art Print (bizarre) – Special case materials wetness
As decided in a meeting, the change of the darkening of the albedo was not implemented.
Meshes
For planning the meshes dimensions a sketch was made (see figure 5.120).
Figure 5.120.: Object Art Print (bizarre) – Sketch of dimensions for water simulation
74 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
For the extension of the lake a dedicated mesh was created in Blender and exported as fbx (see figure 5.121).
Figure 5.121.: Object Art Print (bizarre) – Lake mesh in Blender
From the UE4 Pack ”
Water Materials” (cp. [WaterMaterials]) the static mesh SM Waterfall Arc was copied,
exported as fbx and adapted in Blender having the pivot on top of the mesh (see figure 5.122). The waterfall was
exported as fbx afterwards.
Figure 5.122.: Object Art Print (bizarre) – Waterfall mesh with pivot on top in Blender
A puddle was modelled in Blender and exported as fbx (see figure 5.123).
Figure 5.123.: Object Art Print (bizarre) – Puddle mesh in Blender
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 75
Materials
From the UE4 package ”
Water Materials”the materials M Lake and M River as well as assigned material functions,
material parameter collection and textures were copied. From these materials different material instances were
created and adjusted to our needs:
ˆ Lake: M Lake Inst (see figure 5.125)
’Base’ parameters ’Colour’ (Hex sRGB 09303000) and ’ColourDeep’ (Hex sRGB 3FBCBC00) were adjusted,
’FadeDistance’ was set to 0:15.
’WPO’ parameters ’Lake1 intensity’, ’Lake2 intensity’, ’Speed1’, ’Speed2’ and ’Speed3’ were set to 0:0 and
’Lake Offset’ to 0:5.
ˆ Waterfall: M River Inst (see figure 5.124)
’Base’ parameters ’Colour’ (Hex sRGB 09303000) and ’ColourDeep’ (Hex sRGB 3FBCBC00) were adjusted,
’FadeDistance’ was set to 0:1 and ’River Speed’ to 1:0.
’WPO’ parameters ’Intensity1’, ’Intensity2’, ’Intensity3’, ’River1 intensity’, ’River2 intensity’, ’Speed1’, ’Speed2’
and ’Speed3’ were set to 0:0.
ˆ Puddle: M Lake Inst Puddle (see figure 5.125)
’Base’ parameters ’Colour’ (Hex sRGB 3FBCBC00) and ’ColourDeep’ (Hex sRGB 3FBCBC00) were adjusted,
’FadeDistance’ was set to 0:01.
’WPO’ parameters ’Intensity3’, ’Lake1 intensity’, ’Lake2 intensity’, ’Speed1’, ’Speed2’, ’Speed3’ and ’Lake Offset’
were set to 0:0.
Figure 5.124.: Object Art Print (bizarre) – Waterfall related material instance parameters in UE4
76 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
Figure 5.125.: Object Art Print (bizarre) – Lake and puddle related material instance parameters in UE4
3D Content for Dream-Like VR, Version 2.2, July 10, 2019 77
Static Meshes
In the static mesh Art Print a ”
Shoreline”socket was added (see figure 5.126).
Figure 5.126.: Object Art Print (bizarre) – Mesh with shoreline socket in UE4
The water meshes were imported and the materials were assigned (see figure 5.127, figure 5.128 and figure 5.129).
Figure 5.127.: Object Art Print (bizarre) – Static mesh lake in UE4
Figure 5.128.: Object Art Print (bizarre) – Static mesh waterfall in UE4
Figure 5.129.: Object Art Print (bizarre) – Static mesh puddle in UE4
78 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR
3D Content for Dream-like VR

More Related Content

What's hot

Master Thesis - Algorithm for pattern recognition
Master Thesis - Algorithm for pattern recognitionMaster Thesis - Algorithm for pattern recognition
Master Thesis - Algorithm for pattern recognition
A. LE
 
Jiu manual
Jiu   manualJiu   manual
Jiu manual
vicnetepc
 
CAD (Computer Aided Drafting)
CAD (Computer Aided Drafting)CAD (Computer Aided Drafting)
CAD (Computer Aided Drafting)
Shivam Mishra
 
Thesis
ThesisThesis
Thesis
Arun Chavan
 
Augmented Reality Video Playlist - Computer Vision Project
Augmented Reality Video Playlist - Computer Vision ProjectAugmented Reality Video Playlist - Computer Vision Project
Augmented Reality Video Playlist - Computer Vision Project
Surya Chandra
 
Ns dsc1110 a-10-0197_v2_web_english_final_lr
Ns dsc1110 a-10-0197_v2_web_english_final_lrNs dsc1110 a-10-0197_v2_web_english_final_lr
Ns dsc1110 a-10-0197_v2_web_english_final_lr
emteemt
 
Virtual Environments as Driving Schools for Deep Learning Vision-Based Sensor...
Virtual Environments as Driving Schools for Deep Learning Vision-Based Sensor...Virtual Environments as Driving Schools for Deep Learning Vision-Based Sensor...
Virtual Environments as Driving Schools for Deep Learning Vision-Based Sensor...
Artur Filipowicz
 
Badripatro dissertation 09307903
Badripatro dissertation 09307903Badripatro dissertation 09307903
Badripatro dissertation 09307903
patrobadri
 
Scikit learn 0.16.0 user guide
Scikit learn 0.16.0 user guideScikit learn 0.16.0 user guide
Scikit learn 0.16.0 user guide
Shantanu Sharma, Ph.D.
 
A buffer overflow study attacks and defenses (2002)
A buffer overflow study   attacks and defenses (2002)A buffer overflow study   attacks and defenses (2002)
A buffer overflow study attacks and defenses (2002)
Aiim Charinthip
 
Manual Civil 3d Ingles
Manual Civil 3d InglesManual Civil 3d Ingles
Manual Civil 3d Ingles
Ivan Martinez Saucedo
 
Pssx110 Is Cug En
Pssx110 Is Cug EnPssx110 Is Cug En
Pssx110 Is Cug En
ciuly
 
Francois fleuret -_c++_lecture_notes
Francois fleuret -_c++_lecture_notesFrancois fleuret -_c++_lecture_notes
Francois fleuret -_c++_lecture_notes
hamza239523
 
Qgis 1.7.0 user-guide_en
Qgis 1.7.0 user-guide_enQgis 1.7.0 user-guide_en
Qgis 1.7.0 user-guide_en
xp5000
 
Intro photo
Intro photoIntro photo
Intro photo
Harshit Verma
 
Gdbint
GdbintGdbint
Netfabb basic documentation
Netfabb basic documentationNetfabb basic documentation
Netfabb basic documentation
Rahman Hakim
 
Calculus
CalculusCalculus
Thats How We C
Thats How We CThats How We C
Thats How We C
Vineeth Kartha
 
Lecture notes on planetary sciences and orbit determination
Lecture notes on planetary sciences and orbit determinationLecture notes on planetary sciences and orbit determination
Lecture notes on planetary sciences and orbit determination
Ernst Schrama
 

What's hot (20)

Master Thesis - Algorithm for pattern recognition
Master Thesis - Algorithm for pattern recognitionMaster Thesis - Algorithm for pattern recognition
Master Thesis - Algorithm for pattern recognition
 
Jiu manual
Jiu   manualJiu   manual
Jiu manual
 
CAD (Computer Aided Drafting)
CAD (Computer Aided Drafting)CAD (Computer Aided Drafting)
CAD (Computer Aided Drafting)
 
Thesis
ThesisThesis
Thesis
 
Augmented Reality Video Playlist - Computer Vision Project
Augmented Reality Video Playlist - Computer Vision ProjectAugmented Reality Video Playlist - Computer Vision Project
Augmented Reality Video Playlist - Computer Vision Project
 
Ns dsc1110 a-10-0197_v2_web_english_final_lr
Ns dsc1110 a-10-0197_v2_web_english_final_lrNs dsc1110 a-10-0197_v2_web_english_final_lr
Ns dsc1110 a-10-0197_v2_web_english_final_lr
 
Virtual Environments as Driving Schools for Deep Learning Vision-Based Sensor...
Virtual Environments as Driving Schools for Deep Learning Vision-Based Sensor...Virtual Environments as Driving Schools for Deep Learning Vision-Based Sensor...
Virtual Environments as Driving Schools for Deep Learning Vision-Based Sensor...
 
Badripatro dissertation 09307903
Badripatro dissertation 09307903Badripatro dissertation 09307903
Badripatro dissertation 09307903
 
Scikit learn 0.16.0 user guide
Scikit learn 0.16.0 user guideScikit learn 0.16.0 user guide
Scikit learn 0.16.0 user guide
 
A buffer overflow study attacks and defenses (2002)
A buffer overflow study   attacks and defenses (2002)A buffer overflow study   attacks and defenses (2002)
A buffer overflow study attacks and defenses (2002)
 
Manual Civil 3d Ingles
Manual Civil 3d InglesManual Civil 3d Ingles
Manual Civil 3d Ingles
 
Pssx110 Is Cug En
Pssx110 Is Cug EnPssx110 Is Cug En
Pssx110 Is Cug En
 
Francois fleuret -_c++_lecture_notes
Francois fleuret -_c++_lecture_notesFrancois fleuret -_c++_lecture_notes
Francois fleuret -_c++_lecture_notes
 
Qgis 1.7.0 user-guide_en
Qgis 1.7.0 user-guide_enQgis 1.7.0 user-guide_en
Qgis 1.7.0 user-guide_en
 
Intro photo
Intro photoIntro photo
Intro photo
 
Gdbint
GdbintGdbint
Gdbint
 
Netfabb basic documentation
Netfabb basic documentationNetfabb basic documentation
Netfabb basic documentation
 
Calculus
CalculusCalculus
Calculus
 
Thats How We C
Thats How We CThats How We C
Thats How We C
 
Lecture notes on planetary sciences and orbit determination
Lecture notes on planetary sciences and orbit determinationLecture notes on planetary sciences and orbit determination
Lecture notes on planetary sciences and orbit determination
 

Similar to 3D Content for Dream-like VR

BA1_Breitenfellner_RC4
BA1_Breitenfellner_RC4BA1_Breitenfellner_RC4
BA1_Breitenfellner_RC4
Marcel Breitenfellner
 
wronski_ugthesis[1]
wronski_ugthesis[1]wronski_ugthesis[1]
wronski_ugthesis[1]
Michal Wronski
 
Report on e-Notice App (An Android Application)
Report on e-Notice App (An Android Application)Report on e-Notice App (An Android Application)
Report on e-Notice App (An Android Application)
Priyanka Kapoor
 
Im-ception - An exploration into facial PAD through the use of fine tuning de...
Im-ception - An exploration into facial PAD through the use of fine tuning de...Im-ception - An exploration into facial PAD through the use of fine tuning de...
Im-ception - An exploration into facial PAD through the use of fine tuning de...
Cooper Wakefield
 
Design and implementation of a Virtual Reality application for Computational ...
Design and implementation of a Virtual Reality application for Computational ...Design and implementation of a Virtual Reality application for Computational ...
Design and implementation of a Virtual Reality application for Computational ...
Lorenzo D'Eri
 
Enhancing video game experience through a vibrotactile floor
Enhancing video game experience through a vibrotactile floorEnhancing video game experience through a vibrotactile floor
Enhancing video game experience through a vibrotactile floor
Nicola Gallo
 
OpenGL Spec 4.4 Core
OpenGL Spec 4.4 CoreOpenGL Spec 4.4 Core
OpenGL Spec 4.4 Core
The Khronos Group Inc.
 
Content Based Image Retrieval
Content Based Image RetrievalContent Based Image Retrieval
Content Based Image Retrieval
Léo Vetter
 
Software guide 3.20.0
Software guide 3.20.0Software guide 3.20.0
Software guide 3.20.0
Supattra Puttinaovarat
 
Distributed Mobile Graphics
Distributed Mobile GraphicsDistributed Mobile Graphics
Distributed Mobile Graphics
Jiri Danihelka
 
AUGUMENTED REALITY FOR SPACE.pdf
AUGUMENTED REALITY FOR SPACE.pdfAUGUMENTED REALITY FOR SPACE.pdf
AUGUMENTED REALITY FOR SPACE.pdf
jeevanbasnyat1
 
Depth sensor independent body part localization in depth images using a multi...
Depth sensor independent body part localization in depth images using a multi...Depth sensor independent body part localization in depth images using a multi...
Depth sensor independent body part localization in depth images using a multi...
Rasmus Johansson
 
Master_Thesis
Master_ThesisMaster_Thesis
Master_Thesis
Dhara Shah
 
Final Report - Major Project - MAP
Final Report - Major Project - MAPFinal Report - Major Project - MAP
Final Report - Major Project - MAP
Arjun Aravind
 
test6
test6test6
Ivis
IvisIvis
Migrating to netcool precision for ip networks --best practices for migrating...
Migrating to netcool precision for ip networks --best practices for migrating...Migrating to netcool precision for ip networks --best practices for migrating...
Migrating to netcool precision for ip networks --best practices for migrating...
Banking at Ho Chi Minh city
 
Automatic Sea Turtle Nest Detection via Deep Learning.
Automatic Sea Turtle Nest Detection via Deep Learning.Automatic Sea Turtle Nest Detection via Deep Learning.
Automatic Sea Turtle Nest Detection via Deep Learning.
Ricardo Sánchez Castillo
 
PhD-2013-Arnaud
PhD-2013-ArnaudPhD-2013-Arnaud
PhD-2013-Arnaud
Jean-Baptiste Arnaud
 
Dragos Datcu_PhD_Thesis
Dragos Datcu_PhD_ThesisDragos Datcu_PhD_Thesis
Dragos Datcu_PhD_Thesis
dragos80
 

Similar to 3D Content for Dream-like VR (20)

BA1_Breitenfellner_RC4
BA1_Breitenfellner_RC4BA1_Breitenfellner_RC4
BA1_Breitenfellner_RC4
 
wronski_ugthesis[1]
wronski_ugthesis[1]wronski_ugthesis[1]
wronski_ugthesis[1]
 
Report on e-Notice App (An Android Application)
Report on e-Notice App (An Android Application)Report on e-Notice App (An Android Application)
Report on e-Notice App (An Android Application)
 
Im-ception - An exploration into facial PAD through the use of fine tuning de...
Im-ception - An exploration into facial PAD through the use of fine tuning de...Im-ception - An exploration into facial PAD through the use of fine tuning de...
Im-ception - An exploration into facial PAD through the use of fine tuning de...
 
Design and implementation of a Virtual Reality application for Computational ...
Design and implementation of a Virtual Reality application for Computational ...Design and implementation of a Virtual Reality application for Computational ...
Design and implementation of a Virtual Reality application for Computational ...
 
Enhancing video game experience through a vibrotactile floor
Enhancing video game experience through a vibrotactile floorEnhancing video game experience through a vibrotactile floor
Enhancing video game experience through a vibrotactile floor
 
OpenGL Spec 4.4 Core
OpenGL Spec 4.4 CoreOpenGL Spec 4.4 Core
OpenGL Spec 4.4 Core
 
Content Based Image Retrieval
Content Based Image RetrievalContent Based Image Retrieval
Content Based Image Retrieval
 
Software guide 3.20.0
Software guide 3.20.0Software guide 3.20.0
Software guide 3.20.0
 
Distributed Mobile Graphics
Distributed Mobile GraphicsDistributed Mobile Graphics
Distributed Mobile Graphics
 
AUGUMENTED REALITY FOR SPACE.pdf
AUGUMENTED REALITY FOR SPACE.pdfAUGUMENTED REALITY FOR SPACE.pdf
AUGUMENTED REALITY FOR SPACE.pdf
 
Depth sensor independent body part localization in depth images using a multi...
Depth sensor independent body part localization in depth images using a multi...Depth sensor independent body part localization in depth images using a multi...
Depth sensor independent body part localization in depth images using a multi...
 
Master_Thesis
Master_ThesisMaster_Thesis
Master_Thesis
 
Final Report - Major Project - MAP
Final Report - Major Project - MAPFinal Report - Major Project - MAP
Final Report - Major Project - MAP
 
test6
test6test6
test6
 
Ivis
IvisIvis
Ivis
 
Migrating to netcool precision for ip networks --best practices for migrating...
Migrating to netcool precision for ip networks --best practices for migrating...Migrating to netcool precision for ip networks --best practices for migrating...
Migrating to netcool precision for ip networks --best practices for migrating...
 
Automatic Sea Turtle Nest Detection via Deep Learning.
Automatic Sea Turtle Nest Detection via Deep Learning.Automatic Sea Turtle Nest Detection via Deep Learning.
Automatic Sea Turtle Nest Detection via Deep Learning.
 
PhD-2013-Arnaud
PhD-2013-ArnaudPhD-2013-Arnaud
PhD-2013-Arnaud
 
Dragos Datcu_PhD_Thesis
Dragos Datcu_PhD_ThesisDragos Datcu_PhD_Thesis
Dragos Datcu_PhD_Thesis
 

More from Roland Bruggmann

Fingerprint Analysis – Preprocessing and Feature Extraction
Fingerprint Analysis – Preprocessing and Feature ExtractionFingerprint Analysis – Preprocessing and Feature Extraction
Fingerprint Analysis – Preprocessing and Feature Extraction
Roland Bruggmann
 
Unreal Engine IoT Project: Heartbeat
Unreal Engine IoT Project: HeartbeatUnreal Engine IoT Project: Heartbeat
Unreal Engine IoT Project: Heartbeat
Roland Bruggmann
 
OSG Volume Rendering - Presentation
OSG Volume Rendering - PresentationOSG Volume Rendering - Presentation
OSG Volume Rendering - Presentation
Roland Bruggmann
 
Swiss National Supercomputing Centre CSCS
Swiss National Supercomputing Centre CSCSSwiss National Supercomputing Centre CSCS
Swiss National Supercomputing Centre CSCS
Roland Bruggmann
 
Sprechen als Handeln
Sprechen als HandelnSprechen als Handeln
Sprechen als Handeln
Roland Bruggmann
 
Numerische Methoden: Approximation und Integration
Numerische Methoden: Approximation und IntegrationNumerische Methoden: Approximation und Integration
Numerische Methoden: Approximation und Integration
Roland Bruggmann
 
Multicore and GPU Programming
Multicore and GPU ProgrammingMulticore and GPU Programming
Multicore and GPU Programming
Roland Bruggmann
 
Unity® Volume Rendering - Abstract
Unity® Volume Rendering - AbstractUnity® Volume Rendering - Abstract
Unity® Volume Rendering - Abstract
Roland Bruggmann
 
Unity® Volume Rendering - Benutzerhandbuch
Unity® Volume Rendering - BenutzerhandbuchUnity® Volume Rendering - Benutzerhandbuch
Unity® Volume Rendering - Benutzerhandbuch
Roland Bruggmann
 
Serious Game "Virtual Surgery" - Game Design Document
Serious Game "Virtual Surgery" - Game Design DocumentSerious Game "Virtual Surgery" - Game Design Document
Serious Game "Virtual Surgery" - Game Design Document
Roland Bruggmann
 
OSG Volume Rendering
OSG Volume RenderingOSG Volume Rendering
OSG Volume Rendering
Roland Bruggmann
 
Digitale Kamera und Modulationstransferfunktion
Digitale Kamera und ModulationstransferfunktionDigitale Kamera und Modulationstransferfunktion
Digitale Kamera und Modulationstransferfunktion
Roland Bruggmann
 
Quadriken im Raum
Quadriken im RaumQuadriken im Raum
Quadriken im Raum
Roland Bruggmann
 
Visualisierung von Algorithmen und Datenstrukturen
Visualisierung von Algorithmen und DatenstrukturenVisualisierung von Algorithmen und Datenstrukturen
Visualisierung von Algorithmen und Datenstrukturen
Roland Bruggmann
 
User-centered Design für Telemedizin-App
User-centered Design für Telemedizin-AppUser-centered Design für Telemedizin-App
User-centered Design für Telemedizin-App
Roland Bruggmann
 
Ondes stationnaires
Ondes stationnairesOndes stationnaires
Ondes stationnaires
Roland Bruggmann
 
Passwords Safe
Passwords SafePasswords Safe
Passwords Safe
Roland Bruggmann
 
Stehende Wellen
Stehende WellenStehende Wellen
Stehende Wellen
Roland Bruggmann
 
TOGAF Architecture Content Framework
TOGAF Architecture Content FrameworkTOGAF Architecture Content Framework
TOGAF Architecture Content Framework
Roland Bruggmann
 
Cultural Dimensions
Cultural DimensionsCultural Dimensions
Cultural Dimensions
Roland Bruggmann
 

More from Roland Bruggmann (20)

Fingerprint Analysis – Preprocessing and Feature Extraction
Fingerprint Analysis – Preprocessing and Feature ExtractionFingerprint Analysis – Preprocessing and Feature Extraction
Fingerprint Analysis – Preprocessing and Feature Extraction
 
Unreal Engine IoT Project: Heartbeat
Unreal Engine IoT Project: HeartbeatUnreal Engine IoT Project: Heartbeat
Unreal Engine IoT Project: Heartbeat
 
OSG Volume Rendering - Presentation
OSG Volume Rendering - PresentationOSG Volume Rendering - Presentation
OSG Volume Rendering - Presentation
 
Swiss National Supercomputing Centre CSCS
Swiss National Supercomputing Centre CSCSSwiss National Supercomputing Centre CSCS
Swiss National Supercomputing Centre CSCS
 
Sprechen als Handeln
Sprechen als HandelnSprechen als Handeln
Sprechen als Handeln
 
Numerische Methoden: Approximation und Integration
Numerische Methoden: Approximation und IntegrationNumerische Methoden: Approximation und Integration
Numerische Methoden: Approximation und Integration
 
Multicore and GPU Programming
Multicore and GPU ProgrammingMulticore and GPU Programming
Multicore and GPU Programming
 
Unity® Volume Rendering - Abstract
Unity® Volume Rendering - AbstractUnity® Volume Rendering - Abstract
Unity® Volume Rendering - Abstract
 
Unity® Volume Rendering - Benutzerhandbuch
Unity® Volume Rendering - BenutzerhandbuchUnity® Volume Rendering - Benutzerhandbuch
Unity® Volume Rendering - Benutzerhandbuch
 
Serious Game "Virtual Surgery" - Game Design Document
Serious Game "Virtual Surgery" - Game Design DocumentSerious Game "Virtual Surgery" - Game Design Document
Serious Game "Virtual Surgery" - Game Design Document
 
OSG Volume Rendering
OSG Volume RenderingOSG Volume Rendering
OSG Volume Rendering
 
Digitale Kamera und Modulationstransferfunktion
Digitale Kamera und ModulationstransferfunktionDigitale Kamera und Modulationstransferfunktion
Digitale Kamera und Modulationstransferfunktion
 
Quadriken im Raum
Quadriken im RaumQuadriken im Raum
Quadriken im Raum
 
Visualisierung von Algorithmen und Datenstrukturen
Visualisierung von Algorithmen und DatenstrukturenVisualisierung von Algorithmen und Datenstrukturen
Visualisierung von Algorithmen und Datenstrukturen
 
User-centered Design für Telemedizin-App
User-centered Design für Telemedizin-AppUser-centered Design für Telemedizin-App
User-centered Design für Telemedizin-App
 
Ondes stationnaires
Ondes stationnairesOndes stationnaires
Ondes stationnaires
 
Passwords Safe
Passwords SafePasswords Safe
Passwords Safe
 
Stehende Wellen
Stehende WellenStehende Wellen
Stehende Wellen
 
TOGAF Architecture Content Framework
TOGAF Architecture Content FrameworkTOGAF Architecture Content Framework
TOGAF Architecture Content Framework
 
Cultural Dimensions
Cultural DimensionsCultural Dimensions
Cultural Dimensions
 

Recently uploaded

Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and OllamaTirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Zilliz
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
rajancomputerfbd
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSECHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
kumarjarun2010
 
Amul milk launches in US: Key details of its new products ...
Amul milk launches in US: Key details of its new products ...Amul milk launches in US: Key details of its new products ...
Amul milk launches in US: Key details of its new products ...
chetankumar9855
 
Introduction-to-the-IAM-Platform-Implementation-Plan.pptx
Introduction-to-the-IAM-Platform-Implementation-Plan.pptxIntroduction-to-the-IAM-Platform-Implementation-Plan.pptx
Introduction-to-the-IAM-Platform-Implementation-Plan.pptx
313mohammedarshad
 
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptxUse Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
SynapseIndia
 
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
aslasdfmkhan4750
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
maigasapphire
 
Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024
aakash malhotra
 
Feature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptxFeature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptx
ssuser1915fe1
 
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
digitalxplive
 
Salesforce AI & Einstein Copilot Workshop
Salesforce AI & Einstein Copilot WorkshopSalesforce AI & Einstein Copilot Workshop
Salesforce AI & Einstein Copilot Workshop
CEPTES Software Inc
 
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdfAcumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
BrainSell Technologies
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
Priyanka Aash
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
Lidia A.
 
Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
Google Developer Group - Harare
 
The Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF GuideThe Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF Guide
Shiv Technolabs
 
Opencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of MünsterOpencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of Münster
Matthias Neugebauer
 

Recently uploaded (20)

Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and OllamaTirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSECHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
 
Amul milk launches in US: Key details of its new products ...
Amul milk launches in US: Key details of its new products ...Amul milk launches in US: Key details of its new products ...
Amul milk launches in US: Key details of its new products ...
 
Introduction-to-the-IAM-Platform-Implementation-Plan.pptx
Introduction-to-the-IAM-Platform-Implementation-Plan.pptxIntroduction-to-the-IAM-Platform-Implementation-Plan.pptx
Introduction-to-the-IAM-Platform-Implementation-Plan.pptx
 
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptxUse Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
 
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
 
Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024
 
Feature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptxFeature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptx
 
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
 
Salesforce AI & Einstein Copilot Workshop
Salesforce AI & Einstein Copilot WorkshopSalesforce AI & Einstein Copilot Workshop
Salesforce AI & Einstein Copilot Workshop
 
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdfAcumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
 
Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
 
The Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF GuideThe Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF Guide
 
Opencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of MünsterOpencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of Münster
 

3D Content for Dream-like VR

  • 1. Experience of reality is highly flexible and unstable. This becomes apparent during the wake-sleep cycle when dreams appear real to us. To investigate alterations in the experience of reality and its underlying mechanism, a bizarre virtual environment will be used to elicit altered experiences. Therefore, 3D objects and environments had to be created. Index terms: Dream Simulation, Virtual Reality, 3D Modelling, Animation, Rotating Surface Photography, Cloth Simulation, Fluid Simulation Technology: HTC VIVE Pro, Unreal Engine, UE C++-Plugin Development, Blender, GIMP, Nikon D80, Cannon EOS 60D, Nvidia Cloth, Nvidia Cataclysm Department: Cognitive Psychology, Perception and Research Methods, Institute of Psychology Project Head: Prof. Dr. Fred Mast, fred.mast@psy.unibe.ch Researcher: PhD student MSc Simone Denzer, simone.denzer@psy.unibe.ch Developer: Roland Bruggmann, roland.bruggmann@humdek.unibe.ch Date: July 10, 2019 Technology Platform for Research TPF – Faculty of Human Sciences, University of Bern 3D Content for Dream-Like VR Modelling and Animation of 3D Objects for Use in a Dream-Like Virtual Environment Project Documentation
  • 3. Management Summary Experience of reality is highly flexible and unstable. This becomes apparent during the wake-sleep cycle when dreams appear real to us. In addition, when patients with hallucinations see people, which are not real, their experience of reality is distorted. To investigate alterations in the experience of reality and its underlying mechanism, a bizarre virtual environment will be used to elicit altered experiences. Therefore, 3D objects and environments were elaborated in order to elicit the experience of bizarreness in the altered experience condition, but not in the control condition. In a structured procedure, static and/or skeleton meshes were created for both conditions, such that the same 3D object exists in two variants. The created objects do not load a target system too much, so that a frame rate of 90 Frames per Second (FPS) or more should be achieved in the current target system. In order to store data generated during an experiment persistently, the game engine has been modularly exten- ded with the necessary functionality. The 3D objects and the module can be easily integrated into the existing application, as they were packaged as a plugin and made available for distribution. 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 i
  • 5. Contents 1. Introduction 1 1.1. Vision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2.1. Content Creation Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2.2. Target System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2.3. Additional Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Methodology 3 2.1. Virtual Reality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1.1. 3D Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1.2. Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1.3. Physics Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2. Target System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.3. Image Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.4. Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.4.1. Raster Graphics Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.4.2. Shader Maps Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.4.3. 3D Computer Graphics Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.4.4. Game Engine and Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3. Concept 9 3.1. Use Cases and User Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2. User Scenario 1 Data Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.3. User Scenario 2 Object Book (non-bizarre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.4. User Scenario 3 Object Book (bizarre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.5. User Scenario 4 Object Telephone (non-bizarre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.6. User Scenario 5 Object Telephone (bizarre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.7. User Scenario 6 Object Coat Hook (non-bizarre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.8. User Scenario 7 Object Jacket (non-bizarre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.9. User Scenario 8 Object Jacket (bizarre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.10. User Scenario 9 Object Marker Pen (non-bizarre) . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.11. User Scenario 10 Object Marker Pen (bizarre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.12. User Scenario 11 Object Art Print (non-bizarre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.13. User Scenario 12 Object Art Print (bizarre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4. Design 23 5. Elaboration 25 5.1. Elaboration of User Scenario 1 Data Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 5.1.1. Data Tracking Struct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 5.1.2. Data Tracking Function Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 5.1.3. Interface Trackable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 5.1.4. Abstract Actor Trackable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 5.2. Elaboration of User Scenario 2 Object Book (non-bizarre) . . . . . . . . . . . . . . . . . . . . . . . 28 5.2.1. Mesh and UV Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 5.2.2. Textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5.2.3. Multi-Material Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5.2.4. Rendering in UE4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 5.3. Elaboration of User Scenario 3 Object Book (bizarre) . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.3.1. Texture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 iii
  • 6. 5.3.2. Animation in Blender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.3.3. Animation in UE4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.4. Elaboration of User Scenario 4 Object Telephone (non-bizarre) . . . . . . . . . . . . . . . . . . . . 37 5.4.1. Textured Meshes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.4.2. Rendering in UE4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 5.5. Elaboration of User Scenario 5 Object Telephone (bizarre) . . . . . . . . . . . . . . . . . . . . . . 43 5.5.1. Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.5.2. Particle System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.5.3. Blueprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.5.4. Animation in UE4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.6. Elaboration of User Scenario 6 Object Coat Hook (non-bizarre) . . . . . . . . . . . . . . . . . . . . 51 5.6.1. Multi-Material Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.6.2. Rendering in UE4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.7. Elaboration of User Scenario 7 Object Jacket (non-bizarre) . . . . . . . . . . . . . . . . . . . . . . 54 5.7.1. Mesh and Texture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.7.2. Rendering in UE4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 5.8. Elaboration of User Scenario 8 Object Jacket (bizarre) . . . . . . . . . . . . . . . . . . . . . . . . 60 5.8.1. Blueprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.8.2. Animation in UE4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.9. Elaboration of User Scenario 9 Object Marker Pen (non-bizarre) . . . . . . . . . . . . . . . . . . . 63 5.9.1. Mesh and UV Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.9.2. Texture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.9.3. Multi-Material Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.9.4. Rendering in UE4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 5.10. Elaboration of User Scenario 10 Object Marker Pen (bizarre) . . . . . . . . . . . . . . . . . . . . . 68 5.10.1. Animation in UE4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.11. Elaboration of User Scenario 11 Object Art Print (non-bizarre) . . . . . . . . . . . . . . . . . . . . 70 5.11.1. Texture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 5.11.2. Multi-Material Mesh and UV Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 5.11.3. Rendering in UE4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5.12. Elaboration of User Scenario 12 Object Art Print (bizarre) . . . . . . . . . . . . . . . . . . . . . . 73 5.12.1. Water Simulation in UE4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 5.12.2. Lighting in UE4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 6. Deliveries 89 6.1. Deliveries for Use Case Data Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 6.2. Deliveries for Use Case Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 6.3. Deliveries for Use Case Telephone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 6.4. Deliveries for Use Case Jacket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.5. Deliveries for Use Case Marker Pen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.6. Deliveries for Use Case Art Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 7. Results 93 7.1. Results for Use Case Data Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 7.2. Results for Use Case Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 7.3. Results for Use Case Telephone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 7.4. Results for Use Case Jacket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 7.5. Results for Use Case Marker Pen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 7.6. Results for Use Case Art Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Acronyms 105 Glossary 106 References 108 Picture Reference 109 iv 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 7. List of Figures 111 List of Tables 114 A. Project Management 116 A.1. Proposal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 A.2. Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 B. Materials 118 B.1. Bizarreness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 B.2. Rotating Surface Photography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 B.3. Fluid Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 C. Solution 127 C.1. Repositories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 C.2. Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 C.3. VRLab Tour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 v
  • 8. vi 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 9. 1. Introduction 1.1. Vision Experience of reality is highly flexible and unstable. This becomes apparent during the wake-sleep cycle when dreams appear real to us. In addition, when patients with hallucinations see people, which are not real, their experience of reality is distorted. To investigate alterations in the experience of reality and its underlying mechanism, a bizarre virtual environment will be used to elicit altered experiences. The realistic virtual environment will contain a certain proportion of bizarre dream-like elements. Bizarre elements are defined as being incongruent, impossible, vague or discontinuous in relation to their context and they occur within the most frequent categories of dream content such as objects, action, persons, and places. Specific elements will be chosen based on a cluster analysis applied to a dream report database containing over 20,000 dream reports. Examples for these bizarre elements are incongruent color, form or place of objects, impossible actions or transparency of objects. An example for a discontinuous place could be a sudden switch of scenery, and a vague place could be a foggy room or bad sight, while an incongruent place could be an unlikely combination of scenery. In sum, the virtual environment shall provide a highly coherent narrative to the participants, but at the same time contain bizarre elements that are highly incoherent. Participants will explore this environment and perform a neuro-cognitive task (N400 evoked potentials with Electroencephalography (EEG) during exposure to congruent/in- congruent word pairs). In a control condition consisting of the same environment without the bizarre elements, participants again first explore the environment and then perform the same neuro-cognitive task. In our experiment, we will present the virtual environment via a head-mounted display, simultaneously record the EEG via an electrode cap and expect to find differences in subjective reality experience. 1.2. Problem Statement 3D objects and environments need to be created in order to elicit the experience of bizarreness in the altered experience condition, but not in the control condition. In a structured procedure, static and/or skeleton meshes will be created for both conditions, such that the same 3D object will exist in two variants: no bizarreness, and low/high bizarreness. Bizarreness will be equally distributed over the dream content categories objects, place, and actions. 1.2.1. Content Creation Workflow Ideally using the software Maya and Substance Painter, objects and place elements will be created and their associated textures are painted. Then, if necessary, automatic animation sequences will be created, rendered and associated with the object. 3D objects and their potential animation in the Filmbox mesh file format (fbx) will then be imported into the virtual environment provided by Unreal Engine 4 (UE4). If real-time interaction with specific objects is possible and necessary in the virtual reality environment, the animation sequences will be created within UE4, thus these specific skeletal meshes need to be modifiable in UE4. However, since this kind of animation requires highly cost-intensive processing, it will be used as little as possible to maintain the required frame rate of 90 FPS or higher. 1.2.2. Target System The final environment will be presented via the HTC VIVE Pro Head Mounted Display (HMD) with a wireless adapter. Therefore, all 3D models need to be optimized for the use in HMDs. 1.2.3. Additional Conditions Finally, the aim still is to maintain a highly realistically appearing environment and thus it is necessary to create the non-bizarre and bizarre objects consisting of realistic texture, geometry and shading. Details will have to be 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 1
  • 10. discussed and agreed upon with the responsible persons for the project. 1.3. Overview This document serves as project documentation of the work done opposite the researcher authorized to give instructions, the project head, the commission as well as for future projects of the Technology Platform for Research (TPF). This document is also intended to serve as a communication tool during the iterative process of elaboration. Suggestions, ideas or corrections are very welcome. In the methodology chapter 2, a short description of background topics in the context of virtual reality may be found. The target system and the tools used are also briefly described. With a concept as shown in chapter 3 the use cases and user scenarios for 3D Content for Dream-Like VR were described. They were subsequently designed (see chapter 4) and elaborated as documented in chapter 5. An overview of the deliveries can be found in chapter 6. The results are presented in chapter 7. For further information on project management see appendix chapter A. 2 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 11. 2. Methodology 2.1. Virtual Reality 2.1.1. 3D Objects A variety of static or animated objects is needed to assemble a virtual scene. These objects are typically expressed by 3D-models containing information about the surface geometry of the objects (expressed by a set of triangles in space) and about the graphical representation of the surfaces (textures). 2.1.2. Animation In a further step, different sequences of motions can be created and associated to a 3D object—so called anima- tions—which can be played back in 3D graphics environments (e.g., in virtual reality environments) allowing for an interactive selection of motions during the experiments. Baked Animation In the case of animated objects, information about the time-related changes of the surface geometry and/or the textures may be stored inside the models as well. Typically, the animations are created and calculated in a 3D authoring software (e.g., Autodesk 3DS Max, Blender, SketchUp) and then firmly associated to the mesh—a process that is called baking. Real-time Animation Another approach for animation is to expose a model to the 3D graphics environment and allow for a real-time modification of its 3D-surface. Contrary to a baked animation, this process requires a real-time calculation of the positions and orientations of all triangles of the mesh, which is a calculation intensive procedure requiring powerful graphics hardware and a dedication of the process to the hardware (hardware skinning) and in addition optimized 3D-surface meshes for real-time calculations (low-poly meshes)). Particle System Moving content can be represented by a particle system. In this case the 3D model itself may not be animated. Particles are small, simple images or meshes that are displayed and moved in great numbers by a particle system. Each particle represents a small portion of a fluid or amorphous entity and the effect of all the particles together creates the impression of the complete entity. Using a smoke cloud as an example, each particle would have a small smoke texture resembling a tiny cloud in its own right. When many of these mini-clouds are arranged together in an area of the scene, the overall effect is of a larger, volume-filling cloud. 2.1.3. Physics Simulation To have convincing physical behaviour, an object in a game must accelerate correctly and be affected by collisions, gravity and other forces. Physics engines provide components that handle the physical simulation. In game engine editors, with few parameter settings, one can create objects that behave passively in a realistic way—i.e., they will be moved by collisions and falls but will not start moving by themselves. By controlling the physics from scripts, one can give an object the dynamics of a vehicle, or a machine. 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 3
  • 12. 2.2. Target System In the laboratory, a Lambda Labs workstation1 running Microsoft Windows 10 acts as a real-time rendering station (see figure 2.1). The rendering is driven by an nVidia GeForce GTX 1080 Ti graphics card (see figure 2.2). For a detailed specification refer to [GTX1080Ti]. As target system, a HTC VIVE Pro is in use which was released on January 2018 (see figure 2.3). The HMD comes with a resolution of 2880 x 1600 pixels or 1440 x 1600 pixels per eye respectively (cp. [VIVE]). Two SteamVR 2.0 Lighthouse base stations and a wireless adapter are in use. Figure 2.1.: Target System – Lambda Labs Workstation for real-time rendering Figure 2.2.: Target System – nVidia GeForce GTX 1080 Ti Graphics Card Figure 2.3.: Target System – HTC VIVE Pro HMD 1Lambda Labs, Inc., URL: https://lambdalabs.com/ 4 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 13. 2.3. Image Acquisition For image acquisition a digital single-lens reflex camera Nikon D802 and specifications [NikonD80]) and a tripod from Material und Multimedia-Zentrum (MMZ) was used (see figure 2.4. The creation of complex 3D models was made by Structure from Motion (SfM) as described in a rotating surface workflow (cp. [RSWF]). The digital image acquisition was made by 360° surface rotation photography in a photo studio at [PHBern, Medienwerkstatt] with a digital single-lens reflex camera Canon EOS 60D3 (see figure 2.4 and specifications [Canon60D]). As recommended in the expert guide, the equipment was supplemented with further components like a polarizing foil mounted in front of the lighting lamp in combination with a Circular Polarizer/Linear (CPL) filter mounted on the camera lens. For color calibration a color checker for white/color balancing was used (see figure 2.5). For the surface rotation photography a rotating platform covered with blue foamed rubber was created (see appendix section B.2). Figure 2.4.: Image Acquisition – Digital reflex cameras Nikon D80 and Canon EOS 60D Figure 2.5.: Image Acquisition – Photostudio setup for a rotating surface photography 2Nikon D80, with AF-S DX Zoom-NIKKOR 18–70mm f/3.5–4.5G IF-ED (diameter 67mm). 3Canon EOS 60D, with Canon EF-S 18–55mm IS II lens f/3.5–5.6 (diameter 58mm). 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 5
  • 14. 2.4. Tools In general for meshes the file format fbx is used and for raster graphics the file format Joint Photographic Experts Group file format (jpeg) or Portable Network Graphics file format (png) was used. 2.4.1. Raster Graphics Editor The software GNU Image Manipulation Program (GIMP) is a freely distributed program for such tasks as photo retouching, image composition and image authoring (see figure 2.6). The workspace files are stored as eXperimental Computing Facility file format (xcf). We use GIMP version 2.10.8 (for the software see [GIMP]). Figure 2.6.: Tools and Technology – Graphical User Interface of GIMP 2.4.2. Shader Maps Editor The software product Normalmap Generator is a freely distributed program for generation of shader maps like normal, specular and displacement map (see figure 2.7). We use Normalmap Generator version 0.4.4 (for the software see [NMG]). Figure 2.7.: Tools and Technology – Graphical User Interface of Normalmap Generator 6 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 15. 2.4.3. 3D Computer Graphics Editor The software Blender is a free and open source 3D creation suite (see figure 2.8). It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing and motion tracking, even video editing and game creation (cp. documentation [BlenderDoc]). The workspace files are stored as Blender file format (blend). We use Blender version 2.79b (for the software see [Blender]). Figure 2.8.: Tools and Technology – Graphical User Interface of Blender 2.4.4. Game Engine and Editor The Unreal Engine software is a game engine and editor at the same time. The application with a graphical development environment (see figure 2.9) can be used to create interactive 3D applications or real-time animations, such as those known for visualizations in 3D computer games or architecture (cp. documentation [UE4Man] and API reference [UE4API]). We use UE4 version 4.21.2 (for the software see [UE4]). Figure 2.9.: Tools and Technology – Graphical User Interface of Unreal Engine 4 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 7
  • 16. 8 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 17. 3. Concept 3.1. Use Cases and User Scenarios The laboratory room Fab08-D268 is already modelled as virtual environment including some office equipment. The already existing virtual environment has to be supplemented with following objects: a Book, a Telephone, a Jacket on a Coat Hook, a Marker Pen and an Art Print. These shall be available in a static form (non-bizarre) as well as in an animated form (bizarre). In addition with the help of Data Tracking infrastructure, data must be collected during an experiment and stored persistently for further use. This results in the following use cases: ˆ Use Case Data Tracking, includes Module and Plugin ˆ Use Case Book (non-bizarre, bizarre) ˆ Use Case Telephone (non-bizarre, bizarre) ˆ Use Case Jacket (non-bizarre, bizarre), includes a Coat Hook (non-bizarre) ˆ Use Case Marker Pen (non-bizarre, bizarre), image acquisition by rotating surface photography ˆ Use Case Art Print (non-bizarre, bizarre), includes water simulation and lighting Before starting the project, some 3D objects have been described by the researcher and have been handed over to the author at the kick-off meeting (see table 3.1). A use case can have several occurrences in the form of user scenarios, therefore the deliveries were modelled in several iterations as shown in table 3.2. Table 3.1.: Concept – 3D object description at kick-off meeting Bild Gemälde/Bild ist verschwommen, sieht trotzdem irgendwie wie ein bekanntes Gemälde "us,(Forr ist verändert ) Telefon Telefon ist gelb und plüschig und stösst ab und zu bunte Rauchwolken aus (+Geräusch?) Jacke+Garderobe Jacke hängt an Garderobe; auf Annäherung: 1) verschiebt sich die Gravitation nur für die Jacke in Laufrichtung ODER 2) verwandelt sich Jacke in einen Ast oder lnstrufient (+Geräusch?) Meshes: 1) Verwendung der Asset-Library von Dejan Popic & Sebastian Strahm 2) Eigenes Erstellen durch Roland Bruggmann Variationen: 1) Baked Animations - RB 2) Via Engine Features - SD 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 9
  • 18. Table 3.2.: Concept – User scenarios in brief format User Scenario 1 Data Tracking: Module and assets for the use in UE4 blueprints. For a description in fully dressed format see section 3.2. User Scenario 2 Object Book (non-bizarre): Textured Mesh for the use in UE4. For a description in fully dressed format see section 3.3. User Scenario 3 Object Book (bizarre): Real-time animation of Object Book (non-bizarre) in UE4. For a description in fully dressed format see section 3.4. User Scenario 4 Object Telephone (non-bizarre): Textured Mesh for the use in UE4. For a description in fully dressed format see section 3.5. User Scenario 5 Object Telephone (bizarre): Real-time animation of Object Telephone (non-bizarre) in UE4. For a description in fully dressed format see section 3.6. User Scenario 6 Object Coat Hook (non-bizarre): Textured Mesh for the use in UE4. For a description in fully dressed format see section 3.7. User Scenario 7 Object Jacket (non-bizarre): Textured Mesh for the use in UE4. For a description in fully dressed format see section 3.8. User Scenario 8 Object Jacket (bizarre): Real-time animation of Object Jacket (non-bizarre) in UE4. For a description in fully dressed format see section 3.9. User Scenario 9 Object Marker Pen (non-bizarre): Textured Mesh for the use in UE4. For a description in fully dressed format see section 3.10. User Scenario 10 Object Marker Pen (bizarre): Real-time animation of Object Marker Pen (non-bizarre) in UE4. For a description in fully dressed format see section 3.11. User Scenario 11 Object Art Print (non-bizarre): Textured Mesh for the use in UE4. For a description in fully dressed format see section 3.12. User Scenario 12 Object Art Print (bizarre): Real-time animation of Object Art Print (non-bizarre) in UE4. For a description in fully dressed format see section 3.13. 10 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 19. 3.2. User Scenario 1 Data Tracking Table 3.3.: Concept – Description of User Scenario 1 Data Tracking in fully dressed format Scope: Exposing a C++ function to Blueprint Stakeholders and Interests: ˆ Researcher: Persistently stored information about events triggered by test person Preconditions: ˆ UE4 has read / write permission to log file Postconditions (success guarantee): ˆ Data file contains values (object name, event, time stamp) as Comma Separated Values file format (csv) Elaboration: 1. UE4: Create a module BZRBPFunctionLibrary containing *.h and *.cpp source code files exposing UFUNCTION GetCurrentTimeFromRealWorldOS and SaveTextToFile to UE4 Blueprints 2. UE4: Create struct containing directory path, file name parameters and separator 3. UE4: Create Blueprint Function Library with member functions TrackEvent and WriteToFile which access UFUNCTION SaveTextToFile 4. UE4: Create Blueprint ’Trackable’ interface with member function ’TrackEvent’ 5. UE4: Create Blueprint abstract actor class ’Trackable’ which implements interface ’Trackable’ and member method TrackEvent 6. UE4: Assign abstract actor ’Trackable’ as parent of non-bizarre Blueprints, except of Jacket (non-bizarre) 7. UE4: For each bizarre Blueprint assign non-bizarre Blueprint as parent, except of Jacket (non-bizarre) where Coat Hook (non-bizarre) is parent 8. UE4: Elaborate an UE4 plugin named ’BZR’ containing the module and folders for each use case 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 11
  • 20. 3.3. User Scenario 2 Object Book (non-bizarre) Table 3.4.: Concept – Description of User Scenario 2 Object Book (non-bizarre) in fully dressed format Scope: 3D Model Stakeholders and Interests: ˆ Researcher: Render object in UE4 project. Preconditions: ˆ Raster graphics editor GIMP running ˆ 3D modelling editor Blender running ˆ Game editor UE4 with demo project running Postconditions (success guarantee): ˆ Book with opened pages 396-397 ˆ Reasonable texture resolution according to rendering performance Special Requirements: ˆ Real Object Book (non-bizarre): Psychology by Seamon, John G. and Kenrick, Douglas T. ˆ Digital camera, tripod, and flatbed scanner for image acquisition Elaboration: 1. Digital camera and flatbed scanner: Acquire digital images of real object as jpeg 2. Blender: Create object mesh by 3D modelling, model unit in centimeter (same as in UE4) 3. Blender: Unwrap model and export UV map as png 4. GIMP: Open digital images of object as layers and white-balance them 5. GIMP: Import image of unwrapped model as a new layer 6. GIMP: Map textures to unwrapped model layer by transformation (move/scale etc.) 7. GIMP: Export texture files as jpeg; bookblock texture dimension Power of Two (POT) 8. Blender: Create materials and assign them to the mesh (multi-material mesh) 9. Blender: Import textures and assign them to the materials 10. Blender: Export texture mapped mesh as binary fbx 11. UE4: Create folder User Scenario 2 Object Book (non-bizarre) 12. UE4: Import bookbinding and bookblock textures, adjust settings 13. UE4: Create materials for bookbinding and bookblock, assign textures 14. UE4: Import fbx–a Static Mesh is created automatically; assign Materials 15. UE4: Create a StaticMeshActor and add/save a Blueprint as Object Book (non-bizarre) 16. UE4: Migrate Folder User Scenario 2 Object Book (non-bizarre)to 3D Content Library 12 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 21. 3.4. User Scenario 3 Object Book (bizarre) Table 3.5.: Concept – Description of User Scenario 3 Object Book (bizarre) in fully dressed format Scope: Real-time animation of 3D Model Stakeholders and Interests: ˆ Researcher: Render object and its animation in UE4 project Preconditions: ˆ User Scenario 2 Object Book (non-bizarre) successfully completed ˆ Raster graphics editor GIMP running ˆ Game editor UE4 with demo project running Postconditions (success guarantee): ˆ Book with opened pages 396-397 ˆ Transition from readable to non-readable typesetting as animation ˆ After animation the typesetting stays permanently blurry Elaboration: 1. GIMP: Open the working file xcf of the book texture, copy open pages layers to a dedicated working file xcf named bookblock 2. GIMP: In the bookblock working file xcf delete the book text 3. GIMP: Export bookblock texture file as jpeg; dimension POT 4. UE4: Create folder User Scenario 3 Object Book (bizarre) 5. UE4: Copy-paste and rename Materials, StaticMesh and Blueprint of Book (non-bizarre); Blueprint acts as Object Book (bizarre) 6. UE4: Import bookblock empty texture; set as POT), set filter to ’nearest neighbour’ and Level of Detail (LOD) to ’noMipmaps’ 7. UE4: Create a Material Parameter Collection ’BookBizarre MPC’ and add a parameter BookBizarreness 8. UE4: Expand bookblock material with a Lerp, a Texture Sample assinged to the empty texture, and a Collection Parameter assigned to the parameter BookBizarreness from ’BookBizarre MPC’ 9. UE4: In the Blueprint Graph create a Timeline and add a Timeline Track for the Parameter Collection and change parameter BookBizarreness from zero to one within two seconds 10. UE4: In the Blueprint Graph assign starting the Timeline within event ActorBeginOverlap 11. UE4: Migrate Folder User Scenario 2 Object Book (non-bizarre)to 3D Content Library 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 13
  • 22. 3.5. User Scenario 4 Object Telephone (non-bizarre) Table 3.6.: Concept – Description of User Scenario 4 Object Telephone (non-bizarre) in fully dressed format Scope: 3D Model Stakeholders and Interests: ˆ Researcher: Render object in UE4 project. Preconditions: ˆ 3D modelling editor Blender running ˆ Game editor UE4 with demo project running Postconditions (success guarantee): ˆ Textured mesh rendered in UE4 ˆ Reasonable texture resolution according to rendering performance Special Requirements: ˆ 3D Model of Cisco 7970g IP Phone on TurboSquid, URL: https://www.turbosquid.com/3d-models/office-phone-3d-max/617648, (access date 03/07/2019) Elaboration: 1. Blender: Import Cisco IP Phone fbx mesh, model unit in centimeter (same as in UE4) 2. Blender: Translate phone body, handset and spiral cord and set origin as desired 3. Blender: Export the three (multi-)material meshes as binary fbx, each 4. UE4: Import textures 5. UE4: Create materials 6. UE4: Import fbx meshes as Static Meshes and assign materials 7. UE4: In the Static Meshes add Sockets 8. UE4: Create a blueprint actor and inherit from blueprint Trackable Abstract 9. UE4: To the blueprint actor add the static mesh components 14 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 23. 3.6. User Scenario 5 Object Telephone (bizarre) Table 3.7.: Concept – Description of User Scenario 5 Object Telephone (bizarre) in fully dressed format Scope: Real-time animation of 3D Model Stakeholders and Interests: ˆ Researcher: Render object and its animation in UE4 project Preconditions: ˆ User Scenario 4 Object Telephone (non-bizarre) successfully completed ˆ Game editor UE4 running, demo project opened Postconditions (success guarantee): ˆ Animation: Transition of telephone body main material and handset material to pink plush, telephone cord to pink plastic; persistent ˆ Animation: The handset begins to move as if it were picked up; loop ˆ Particle system: Starts to emit pink smoke rings from the handset speaker (cone dimension: h = 25 cm, d1 = 5 to 6 cm, d2 = 12 cm) Elaboration: 1. UE4: Create blueprint actor, name it as bizarre and inherit from Object Telephone (non-bizarre) 2. UE4: Create Material Parameter Collection ’MPC TelephoneBizarre’ 3. UE4: For each Material (different telephone, handset, and spiralcord) copy and extend material with a Lerp, a pink Texture Sample node, and a Collection Parameter assigned to the Material Parameter Collection parameter Bizarreness 4. UE4: Create a Particle System, add and subordinate it to the Blueprint Handset component 5. UE4: In the event graph create a Handset Static Mesh transformation 6. UE4: In the event graph create a Timeline and a Timeline Track for Parameter Collection and change parameter TelephoneBizarreness from zero to one within two seconds, starting the transformation animation and the particle system 7. UE4: In the Blueprint assign starting the Timeline within a collision 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 15
  • 24. 3.7. User Scenario 6 Object Coat Hook (non-bizarre) Table 3.8.: Concept – Description of User Scenario 7 Object Jacket (non-bizarre) in fully dressed format Scope: 3D Model Stakeholders and Interests: ˆ Researcher: Render object in UE4 project. Preconditions: ˆ Raster graphics editor GIMP running ˆ 3D modelling editor Blender running ˆ Game editor UE4 with demo project running Postconditions (success guarantee): ˆ Mesh as StaticMesh and Material in Content Browser of UE4 ˆ Mesh as StaticMeshActor rendered in UE4 Special Requirements: ˆ Real Object Coat Hook (non-bizarre) ˆ Digital camera and tripod for image acquisition Elaboration: 1. Digital camera: Acquire digital images of real object as jpeg 2. GIMP: Open acquired digital image of texture as layer and white-balance the same 3. GIMP: Post processing image to blueprint 4. GIMP: Export blueprint as jpeg 5. Blender: Create project, use blueprint as background image, 3D modelling of object mesh, model unit in centimeter (same as in UE4) 6. Blender: Export mesh as binary fbx 7. UE4: Create a brushed metal material 8. UE4: Import fbx, a Static Mesh is created automatically 9. UE4: In the Static Mesh assign Material and add a socket per hook 10. UE4: Create a StaticMeshActor and add a Blueprint as Object Coat Hook (non-bizarre) 16 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 25. 3.8. User Scenario 7 Object Jacket (non-bizarre) Table 3.9.: Concept – Description of User Scenario 7 Object Jacket (non-bizarre) in fully dressed format Scope: 3D Model Stakeholders and Interests: ˆ Researcher: Render object in UE4 project. Preconditions: ˆ Raster graphics editor GIMP running ˆ 3D modelling editor Blender running ˆ Game editor UE4 with demo project running Postconditions (success guarantee): ˆ Textured mesh, texture, and material in Content Browser of UE4 ˆ Textured mesh as Blueprint rendered in UE4 ˆ Reasonable texture resolution according to rendering performance Special Requirements: ˆ Real Object Jacket (non-bizarre) ˆ Digital camera and tripod for image acquisition Elaboration: 1. Digital camera and flatbed scanner: Acquire digital images of real object as jpeg 2. GIMP: Open acquired digital image of texture as layer, white-balance , and post processing the same 3. GIMP: Export texture as jpeg 4. Blender: Create object mesh by 3D modelling, model unit in centimeter (same as in UE4) 5. Blender: Create and assign material 6. Blender: Export mesh as binary fbx 7. Blender: Import textures 8. UE4: Create a material using the imported textures (repeat texture, two sided), name it the same as in Blender 9. UE4: Import fbx as skeletal mesh—a mesh, a skeleton and a physics asset is created automatically 10. UE4: Using the UE4 Clothing Tool edit and config the mesh as cloth 11. UE4: From the Clothing Tool create a static mesh 12. UE4: Copy a Blueprint of Object Coat Hook (non-bizarre), rename it and drag-and-drop the static mesh as component assigned to a Hook socket 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 17
  • 26. 3.9. User Scenario 8 Object Jacket (bizarre) Table 3.10.: Concept – Description of User Scenario 8 Object Jacket (bizarre) in fully dressed format Scope: Real-time animation of 3D Model Stakeholders and Interests: ˆ Researcher: Render object and its animation in UE4 project Preconditions: ˆ User Scenario 7 Object Jacket (non-bizarre) successfully completed ˆ Game editor UE4 running, demo project opened Postconditions (success guarantee): ˆ Animation: Transition of gravity; the object elevates to horizontal position ˆ Horizontal position is persistent Elaboration: 1. UE4: Copy the non-bizarre Blueprint and name it as bizarre 2. UE4: In the bizarre Blueprint add the skeletal mesh as component by drag-and-drop and in the details tab ’Rendering’ uncheck the value for ’visible’ 3. UE4: In the Blueprint graph assign starting the animation ” on component begin overlap”of the static mesh 4. UE4: In the Blueprint graph add a ’Set Visibility’ node for the skeletal mesh with ’New Visibility’ checked 5. UE4: In the Blueprint graph add a ’Set Visibility’ node for the static mesh with ’New Visibility’ unchecked 6. UE4: In the Blueprint graph add a ’Cast To ClothingSimulationInteractorNv’ node with ’Object’ assigned to ’Return Value’ of a ’Get Clothing Simulation Interactor’ node with ’Target’ ’Skeletal Mesh Jacket’ 7. UE4: In the Blueprint graph add an ’Enable Gravity Override’ node and receive the ’Target’ from the cast ’As Clothing Simulation Interactor Nv’ 8. UE4: Add a variable of type vector named as ’Direct Gravity Override Value’ and set its default value to x = 50:0, y = 0:0 and z = 0:0 9. UE4: In the Blueprint graph ’Enable Gravity Override’ node assign the ’In Vector’ to the ’Direct Gravity Override Value’ 18 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 27. 3.10. User Scenario 9 Object Marker Pen (non-bizarre) Table 3.11.: Concept – Description of User Scenario 9 Object Marker Pen (non-bizarre) in fully dressed format Scope: 3D Model Stakeholders and Interests: ˆ Researcher: Render object in UE4 project. Preconditions: ˆ Raster graphics editor GIMP running ˆ 3D modelling editor Blender running ˆ Game editor UE4 with demo project running Postconditions (success guarantee): ˆ Deliveries: Texture(s), Material(s), Mesh(es) and Blueprint(s) UE4-Assets in 3D Content Library ˆ Reasonable texture resolution according to rendering performance Special Requirements: ˆ Real Object Marker Pen (non-bizarre): edding 250 whiteboard marker, color red (see https://www.edding.com/products/edding-250-whiteboard-marker-1/) ˆ Photo studio with SfM setup for image acquisition Elaboration: 1. Photo studio: Acquire digital imagesof real object as jpeg using rotating surface 2. Blender: Import existing object mesh, model unit in centimeter (same as in UE4) 3. Blender: Unwrap model and export UV map as png 4. GIMP: Open digital images of object as layers and white-balance them 5. GIMP: Import UV layout image as a new layer 6. GIMP: Map label images to UV layout by transformation (move/scale etc.) 7. GIMP: Export texture as jpeg 8. Blender: Create different materials and assign them to the mesh (multi-material mesh) 9. Blender: Import label texture and assign it to the label material 10. Blender: Export texture mapped multi material mesh as binary fbx 11. UE4: Import textures, create Material Parameter Collection and materials 12. UE4: Import multi material mesh fbx, a Static Mesh is created automatically; assign different materials 13. UE4: Create a StaticMeshActor and add resp. create Blueprint as Object Marker Pen (non-bizarre) 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 19
  • 28. 3.11. User Scenario 10 Object Marker Pen (bizarre) Table 3.12.: Concept – Description of User Scenario 10 Object Marker Pen (bizarre) in fully dressed format Scope: Real-time animation of 3D Model Stakeholders and Interests: ˆ Researcher: Render object and its animation in UE4 project Preconditions: ˆ User Scenario 9 Object Marker Pen (non-bizarre) successfully completed ˆ Game editor UE4 running, demo project opened Postconditions (success guarantee): ˆ Transition from real to huge dimension (diameter of existing round table) within two seconds; persistent Elaboration: 1. UE4: Copy the non-bizarre assets and rename them as bizarre 2. UE4: In the Blueprint add variables: InitialActorScale3D (vector), FinalActorScale3D (vector), ScaleFactor (float, default 4.0) and Bizarreness (float) 3. UE4: In the Blueprint construction script add .setter nodes for the vector variables 4. UE4: In the Blueprint event graph create a Timeline node and edit the Timeline Track ’MarkerPenBizarre- nessTrack’ to change from value zero to one within two seconds 5. UE4: In the event graph connect the timeline update to setter for the Bizarreness variable to the value from the timeline track 6. UE4: In the event graph connect the Setter node to a ’SetActorScale3D’ node which gets its ’New Scale 3D’ from a Lerp (A: InitialActorScale3D, B: FinalActorScale3D, Alpha: Bizarreness) 7. UE4: In the event graph assign starting the Timeline within an ’Event ActorBeginOverlap’ 20 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 29. 3.12. User Scenario 11 Object Art Print (non-bizarre) Table 3.13.: Concept – Description of User Scenario 11 Object Art Print (non-bizarre) in fully dressed format Scope: 3D Model Stakeholders and Interests: ˆ Researcher: Render object in UE4 project. Preconditions: ˆ Raster graphics editor GIMP running ˆ 3D modelling editor Blender running ˆ Game editor UE4 with demo project running Postconditions (success guarantee): ˆ Deliveries: Texture(s), Material(s), Mesh(es) and Blueprint(s) UE4-Assets in 3D Content Library ˆ Reasonable texture resolution according to rendering performance Special Requirements: ˆ Real Object Art Print (non-bizarre): ” Empty Boats on Shore Near Mountains”from Luke Miller (see https://www.pexels.com/photo/empty-boats-on-shore-near-mountains-1756874/) ˆ Digital picture as jpeg: dimension 3263 x 4080 pixels, resolution 600 Dots per Inch (DPI), bit depth 24 bit (true color) standard Red Green Blue (sRGB) IEC61966-2.1 ˆ Dimensions of art print: 60 x 75 cm, Forex 5 mm Elaboration: 1. Blender: Create object mesh, model unit in centimeter (same as in UE4) 2. Blender: Unwrap model and export UV layout as png 3. GIMP: Open digital image of object as layer 4. GIMP: Import UV layout image as a new layer 5. GIMP: Map image to UV layout by transformation (move/scale etc.) 6. GIMP: Create multiple textures according division of painting in respect of possible dimensions in UE4 (e.g., grid of 6x6 textures) 7. GIMP: Export textures as jpeg 8. Blender: Create different materials and assign them to the mesh (multi-material mesh) 9. Blender: Import art painting textures and assign them to the art painting materials 10. Blender: Export texture mapped multi material mesh as binary fbx 11. UE4: Import textures and create materials 12. UE4: Import multi material mesh fbx, a Static Mesh is created automatically; assign different materials 13. UE4: Create a StaticMeshActor and add resp. create Blueprint as Object Marker Pen (non-bizarre) 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 21
  • 30. 3.13. User Scenario 12 Object Art Print (bizarre) Table 3.14.: Concept – Description of User Scenario 12 Object Art Print (bizarre) in fully dressed format Scope: Real-time animation of 3D Model Stakeholders and Interests: ˆ Researcher: Render object and its animation in UE4 project Preconditions: ˆ User Scenario 11 Object Art Print (non-bizarre) successfully completed ˆ 3D modelling editor Blender running ˆ Game editor UE4 running, demo project opened Postconditions (success guarantee): ˆ Water is flowing from the Art Print to the floor ˆ A maximum amount of water accumulates in the puddle on the floor Special Requirements: ˆ UE4 Package [WaterMaterials] Elaboration: 1. UE4: Download package ” Water Materials” , copy-paste material M River and M Lake as well as related material functions, material parameter collections and textures and resolve assignments 2. UE4: From package ” Water Materials”export static mesh SM Waterfall Arc as fbx 3. Blender: Import fbx file SM Waterfall Arc, set origin on top of mesh and export the same as fbx 4. Blender: Create a mesh Lake as well as a mesh Puddle and export them as fbx 5. UE4: Import lake, waterfall and puddle meshes 6. UE4: Make material instances of M River and M Lake, assign them to the static meshes and configure the parameters accordingly 7. UE4: Copy-paste Blueprint of Object Art Print (non-bizarre) and rename it as bizarre 8. UE4: To the bizarre Blueprint add components lake, waterfall (twice) and puddle static meshes, configure transforms 9. UE4: In the Blueprint event graph assign starting the animation within an ’Event ActorBeginOverlap’ using different transform related nodes and lerps 22 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 31. 4. Design The design of the solution follows the Object Oriented Programming (OOP) paradigm. The structure of the system is described by class diagrams in Unified Modeling Language (UML). For ease distribution of the deliveries, an UE4 plugin named ’BZR’ was created. The plugin contains a stand- alone module as well as folders for the content of each use case (cp. [UE4Wiki, An Introduction to UE4 Plugins]). For installation instructions please refer to appendix section C.2. Figure 4.1.: Design – Package diagram for plugin In the context of Data Tracking in UE4 a stand-alone module was created. It contains a blueprint function library ’BZRBPFunctionLibrary’ (see figure 4.1). The function library declares and implements the functions ’Get- CurrentTimeFromRealWorldOS’ and ’SaveTextToFile’ which are BlueprintCallable UFUNCTIONs exposed to the Blueprints Virtual Machine (cp. [UE4Man, Blueprint Function Libraries], [UE4Wiki, UFUNCTION] and [UE4Wiki, Blueprint Function Library, Create Your Own to Share With Others]). The functions may be called from blueprint event graphs, as shown in section 5.1. Figure 4.2.: Design – Class diagram for module and Data Tracking 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 23
  • 32. The design of the user scenarios related deliveries is described with a class diagram including most relevant com- ponents and member methods (see figure 4.3). The non-bizarre blueprints inherit from abstract actor ’Trackable Abstract’, except of Object Jacket (bizarre) which inherits from Object Coat Hook (non-bizarre). Thus the non- bizarre blueprints inherit implementation of TrackEvent and become trackable in their turn. The bizarre blueprints in turn inherit from their non-bizarre counterparts. Thus they not only inherit the components of their parents, but also become trackable. Figure 4.3.: Design – Class diagram for blueprints 24 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 33. 5. Elaboration 5.1. Elaboration of User Scenario 1 Data Tracking 5.1.1. Data Tracking Struct In the context of user scenario Data Tracking a user defined structure Struct DataTracking was created which holds variables ’Delimiter’, ’DirectoryPath’, ’FileName’ and ’FileNameExtension’ with default values (see figure 5.1). Figure 5.1.: Data Tracking – User defined struct in UE4 5.1.2. Data Tracking Function Library A blueprint function library FunctionLibrary DataTracking was created which holds a member function ’WriteToFile’ (see figure 5.2). It makes use of BZR-Module function ’WriteTextToFile’ from the BZRBPFunctionLibrary. Figure 5.2.: Data Tracking – Blueprint function library member ’WriteToFile’ in UE4 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 25
  • 34. 5.1.3. Interface Trackable A blueprint interface Interface Trackable was created which declares a member function ’TrackEvent’ (see fig- ure 5.3). Figure 5.3.: Data Tracking – Blueprint interface ’Trackable’ declares function ’TrackEvent’ in UE4 5.1.4. Abstract Actor Trackable A blueprint abstract actor Abstract Trackable was created which implements the member function ’TrackEvent’ (see figure 5.4). In the event graph, the function is called by event ActorBeginOverlap as well as by event ActorEndOverlap and gets a time stamp from BZR-Module function ’GetCurrentTimeFromRealWorldOS’ (see figure 5.5). The Blueprint abstract actor was used for parenting of child classes of Object Book (non-bizarre), Object Telephone (non-bizarre), Object Coat Hook (non-bizarre), Object Marker Pen (non-bizarre) and Object Art Print (non-bizarre). Figure 5.4.: Data Tracking – Abstract actor blueprint ’Trackable’ implements function ’TrackEvent’ in UE4 26 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 35. Figure 5.5.: Data Tracking – Abstract actor blueprint event graph calls ’TrackEvent’ in UE4 Systems connected to the Internet can synchronize their system time with Time Servers via Network Time Protocol (NTP) (cp. [METAS]). Access to time servers is very restricted, therefore the IT Services of the University of Bern recommend the use of the internal time servers time.unibe.ch and time2.unibe.ch1 . To set the NTP server in Windows 10, open Control Panel and go to section ’Clock and Region’ > ’Date and Time’ > Button ’Change date and time. . . ’ > Tab ’Internet Time’ > Button ’Change settings. . . ’ > Server: time.unibe.ch (see figure 5.6). Figure 5.6.: Data Tracking – Configure internet time options in Windows 10 For deliveries of Data Tracking see section 6.1, results are presented in section 7.1. 1Dienstleistungen der Informatikdienste. In: Uni Intern, University of Bern. URL: http://intern.unibe.ch/dienstleistungen/ informatik/dienstleistungen_der_informatikdienste/dienstleistungen___ressourcen/dns___dhcp/index_ger.html (ac- cess date 10/07/2019) 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 27
  • 36. 5.2. Elaboration of User Scenario 2 Object Book (non-bizarre) 5.2.1. Mesh and UV Layout As elaboration of Object Book (non-bizarre)2 a 3D modelled mesh of an opened book was found on sketchfab3 . The object was downloaded and imported to Blender. The mesh was made unwrapped (see figure 5.7) and the UV layout was exported as png (see figure 5.8). Figure 5.7.: Object Book (non-bizarre) – 3D model and unwrapped mesh in Blender Figure 5.8.: Object Book (non-bizarre) – UV Layout 2Dimension of the real object (opened): h = 0.280 m, b = 0.450 m, d = 0.030 m 33D Model ” Book Open” on sketchfab: https://sketchfab.com/models/bcc69dacd1bc4eadaf4b9fc0d6e2430b 28 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 37. 5.2.2. Textures The UV layout image was imported to GIMP as layer and served as overlay. The images of the book binding were acquired using a digital camera. The image of the opened book block (pages 396-397) was acquired by flatbed scanner. These images were imported to GIMP as layers. Then—after white balancing and quality augmention by postprocessing—a texture was composed by cropping, moving, and scaling the book image layers to fit the UV map (see figure 5.9). Figure 5.9.: Object Book (non-bizarre) – Composition of texture using UV map in GIMP Figure 5.10.: Object Book (non-bizarre) – Bookbinding texture 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 29
  • 38. From the UV mapped layer groups in GIMP, the layers related to the book block were copy-pasted to another newly created GIMP project (see figure 5.11). The pages color level was cropped to a range of 190-250 for better intensity of the letters. The image was resized to 4096 4096 pixels (centred)—which are POT values. The texture was exported as jpeg (see figure 5.12). A distortion correction could still be applied. Figure 5.11.: Object Book (non-bizarre) – Composition of bookblock texture in GIMP Figure 5.12.: Object Book (non-bizarre) – Bookblock texture of size POT 30 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 39. 5.2.3. Multi-Material Mesh Back in Blender, a material was created to which the book binding texture was assigned. In the mesh, the corresponding faces were selected and the book binding material was assigned to them. A second UV map was created and the book block texture was imported and positioned accordingly. Furthermore, a second material was created to which the book block texture was assigned. In the mesh, the corresponding book block faces were selected and the book block material was assigned to them (see figure 5.13). Figure 5.13.: Object Book (non-bizarre) – UV map and 3D rendering in Blender Finally the UV mapped mesh was exported as binary fbx (cp. [UE4Man, FBX Material Pipeline], see figure 5.14). Figure 5.14.: Object Book (non-bizarre) – ’Export FBX’ settings in Blender 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 31
  • 40. 5.2.4. Rendering in UE4 Textures In UE4 the book binding and book block textures were imported. To achieve a readable text rendering in UE4, the settings for the book block texture were adjusted as follows: ˆ Texture: Filter to ’nearest neighbour’ ˆ Texture: Power of Two Mode to ’Pad to Power of Two’ ˆ Level Of Detail: Mip Gen Settings was changed to ’noMipmaps’ ˆ Compression: Compress Without Alpha ’checked’ Materials In UE4 a default lit, opaque, surface material for the book binding and the same for the book block was created (see figure 5.15 and figure 5.16). The book block texture was single tiled by a Texture Coordinate node. To achieve a readable text rendering in UE4, in the book block material the settings for the Material Expression Texture Sample were adjusted as follows: ˆ MipValueMode: MipLevel (absolute, 0 is full resolution) ˆ Const Mip Value: 0 ˆ Automatic View Mip Bias: unchecked Figure 5.15.: Object Book (non-bizarre) – Book binding material in UE4 Figure 5.16.: Object Book (non-bizarre) – Book block material in UE4 32 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 41. Static Mesh and Blueprint Finally the fbx multi material mesh was imported. UE4 automatically created a StaticMesh in the Content Browser. The connection to the already existing material has been assigned. A StaticMeshActor was created an a Blueprint was added respectively a Blueprint Class was stored in the Content Browser. Figure 5.17.: Object Book (non-bizarre) – Multi material mesh in UE4 Zooming the scene to the object shows the render quality and the readability of the text (see figure 5.18). Figure 5.18.: Object Book (non-bizarre) – Zoomed rendering in UE4 For deliveries of Object Book (non-bizarre) see section 6.2, results are presented in section 7.2. 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 33
  • 42. 5.3. Elaboration of User Scenario 3 Object Book (bizarre) In UE4 the Book non-bizarre blueprint was inherited in a newly created blueprint named Book bizarre. 5.3.1. Texture For the elaboration of Object Book (bizarre), the text part of the book block texture was deleted in GIMP. The texture was exported as jpeg (see figure 5.19). Figure 5.19.: Object Book (non-bizarre) – Empty book block texture of size POT 5.3.2. Animation in Blender First, an animation was elaborated using the Cycles node editor in Blender. A ’MixRGB’ node was used and its ’Fac’ property was animated to fade between the two different textures (see figure 5.20). The material was rendered in real-time. Unfortunately, the MixRGB node is not part of the material itself and is not exported to the fbx file. In addition, the results of the Cycles render engine showed some graphic noise artefacts in the middle of the book. Therefore an alternative solution for the animation had to be implemented directly in the target system UE4. Figure 5.20.: Object Book (bizarre) – Cycles editor MixRGB node to switch textures in Blender 34 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 43. 5.3.3. Animation in UE4 Back in UE4 the non-bizarre blueprint inherited in a newly created blueprint actor named as bizarre. Texture The empty book block texture was imported. As already seen in the book block texture, the settings for the empty book block texture were adjusted as follows: ˆ Texture: Filter to ’nearest neighbour’ ˆ Texture: Power of Two Mode to ’Pad to Power of Two’ ˆ Level Of Detail: Mip Gen Settings was changed to ’noMipmaps’ ˆ Compression: Compress Without Alpha ’checked’ Material The rendering workflow as elaborated in the Blender Cycles node editor was replicated in UE4. Therefore, a Material Parameter Collection ’BookBizarre MPC’ was created which holds a parameter named ’BookBizarreness’ (see figure 5.21). Figure 5.21.: Object Book (bizarre) – Material Parameter Collection with parameter ’BookBizarreness’ in UE4 A copy of the existing material was made and was extended with a Lerp node (linear interpolation) for fading from the non-bizarre to the bizarre book block texture. A second Texture Sample node was created and assigned to the empty book block texture. The Lerp alpha value was assigned to a Collection Parameter node connected to the Material Parameter Collection parameter named BookBizarreness (see figure 5.22). The constant adjustment of the parameter BookBizarreness results in an animation. Figure 5.22.: Object Book (bizarre) – Bizarre Book Block Material in UE4 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 35
  • 44. Animation by Level Sequence In a Level Sequence the parameter BookBizarreness was changed from 0.0 to 1.0 within 240 frames at 120 FPS (see figure 5.23). Figure 5.23.: Object Book (bizarre) – Level Sequence in UE4 Then the Static Mesh Actor was surrounded with a Trigger Box. In the Level Blueprint the Level Sequence is started within a Trigger Box overlap (see figure 5.24). Figure 5.24.: Object Book (bizarre) – Level Blueprint in UE4 As the Level Sequence resets the BookBizarreness to zero after play, and for a Parameter Collection Track there is no keyframe property ’Section’ (When Finished: Keep State), another solution was needed. The Level Sequence finally remained in the UE4 assets of the 3D Content Library and was used for testing purposes. Animation by Timeline In the Blueprint Class a Timeline and a SetScalarParameterValue node was created. The former was connected to the ActorBeginOverlap node (see figure 5.25). In the Timeline Track ’BookBizarrenessTrack’ the value from 0.0 to 1.0 is changed within ten seconds (see figure 5.26). On ActorBeginOverlap the Timeline is played and the ’BookBizarrenessTrack’ updates the Scalar Parameter Value ’BookBizarreness’, which is used in the material Lerp. Figure 5.25.: Object Book (bizarre) – Blueprint timeline node in UE4 Figure 5.26.: Object Book (bizarre) – Blueprint timeline track in UE4 For deliveries of Object Book (bizarre) see section 6.2, results are presented in section 7.2. 36 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 45. 5.4. Elaboration of User Scenario 4 Object Telephone (non-bizarre) 5.4.1. Textured Meshes A 3D model of a Cisco 7970g IP Phone modelled by CTA Architects Engineers was purchased on platform TurboSquid4 . The fbx file was imported to Blender to make small adjustments. The telephone body mesh is built from multiple meshes including a foot, saddle and handset frame, a display container, a display, a pad with feature and function keys, a navigation pad with arrows, and a dial pad with twelve keys (see figure 5.27). The mesh was exported as binary fbx. Figure 5.27.: Object Telephone (non-bizarre) – Telephone mesh in Blender The telephone handset mesh is built from two meshes: the handset itself and a red light (see figure 5.28). The mesh was exported as binary fbx. Figure 5.28.: Object Telephone (non-bizarre) – Handset mesh in Blender 43D Model Cisco 7970g IP Phone on TurboSquid, URL: https://www.turbosquid.com/3d-models/office-phone-3d-max/617648, (access date 03/07/2019) 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 37
  • 46. The telephone spiralcord mesh is a single mesh (see figure 5.29). The hand sided ending was shortened. The mesh was exported as binary fbx. Figure 5.29.: Object Telephone (non-bizarre) – Spiralcord mesh in Blender 5.4.2. Rendering in UE4 Materials Figure 5.30.: Object Telephone (non-bizarre) – Diffuse in grayscale, specular, and normal texture Figure 5.31.: Object Telephone (non-bizarre) – Material function for porous plastic in UE4 38 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 47. Figure 5.32.: Object Telephone (non-bizarre) – Telephone material in UE4 Figure 5.33.: Object Telephone (non-bizarre) – Material parameter collection in UE4 Figure 5.34.: Object Telephone (non-bizarre) – Display container material in UE4 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 39
  • 48. Figure 5.35.: Object Telephone (non-bizarre) – ’Display off’ material in UE4 Figure 5.36.: Object Telephone (non-bizarre) – Spiralcord material in UE4 40 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 49. Static Meshes In UE4 the meshes were imported and assigned with corresponding materials. For static mesh ’Telephone’ two sockets named ’Jack-Spiralcord’ and ’Handset’ were created (see figure 5.37). Figure 5.37.: Object Telephone (non-bizarre) – Telephone static mesh in UE4 For static mesh ’Handset’ two sockets named ’Spiralcord’ and ’Loudspeaker’ were created (see figure 5.38). Figure 5.38.: Object Telephone (non-bizarre) – Handset static mesh in UE4 For static mesh ’Handset’ a socket named ’HandsetSide’ was created (see figure 5.39). Figure 5.39.: Object Telephone (non-bizarre) – Spiralcord static mesh in UE4 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 41
  • 50. Blueprint For the assembly in UE4 an Actor for the Static Mesh ’Telephone’ was created and a Blueprint was added. In the Blueprint a cable component ’Networkcable’ as well as a static mesh for the handset was subordinated. In addition the handset was subordinated a cable component ’Spiralcord’ (see figure 5.40). (see figure 5.41). Figure 5.40.: Object Telephone (non-bizarre) – Blueprint components in UE4 Figure 5.41.: Object Telephone (non-bizarre) – Blueprint with components as assembly in UE4 For deliveries of Object Telephone (non-bizarre) see section 6.3, results are presented in section 7.3. 42 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 51. 5.5. Elaboration of User Scenario 5 Object Telephone (bizarre) 5.5.1. Materials For bizarreness, first the color pink was used which is defined as Hex triplet #FFC0CB or as Red Green Blue (RGB) 255,192,203 normalized to [0–255]. At a review in a weekly meeting the decision has been made to use not the color pink but plum. The color is defined as Hex triplet #DDA0DD or as RGB 221,160,221—normalized to [0–255] (cp. [W3C, CSS Color Module Level 3]). This corresponds to Hex sRGB DDA0DDFF in UE4. To Material Parameter Collection ’MPC Telephone’ a scalar parameter ’Bizarreness’ and a vector parameter ’BizarreColor’ was added (see figure 5.42). Figure 5.42.: Object Telephone (bizarre) – Material parameter collection in UE4 A texture for a fluffy terry cloth was found and texture maps were created (see figure 5.43) and used in an UE4 material function ’MF Plush’ (see figure 5.44). Figure 5.43.: Object Telephone (bizarre) – Diffuse in grayscale, specular, and normal texture Figure 5.44.: Object Telephone (bizarre) – Material function ’Plush’ in UE4 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 43
  • 52. A bizarre material was created which lerps from platic to plush by parameter ’Bizarreness’ alpha value (see figure 5.45). Figure 5.45.: Object Telephone (bizarre) – Material lerps from platic to plush in UE4 A material function ’Telephone-Bizarre-Lerp-BaseColor’ was created. In the function a Linear Interpolation (Lerp) node fades between an input color and the bizarre color from the ’MPC Telephone’. The Lerp alpha value was assigned to scalar parameter ’Bizarreness’ from ’MPC Telephone’ (see figure 5.46). Figure 5.46.: Object Telephone (bizarre) – Material function ’Telephone-Bizarre-Lerp-BaseColor’ in UE4 44 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 53. Copies of the existing display container and spiralcord materials were made and extended by a material function node ’Telephone-Bizarre-Lerp-BaseColor’ (see figure 5.47 and figure 5.48). Figure 5.47.: Object Telephone (bizarre) – Display container material in UE4 Figure 5.48.: Object Telephone (bizarre) – Spiralcord material in UE4 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 45
  • 54. A copy of the existing display material was made and the color was replaced by a texture sample node (see figure 5.49). Figure 5.49.: Object Telephone (bizarre) – Display material in UE4 For the red light an emissive material was created using the bizarre color from ’MPC Telephone’ (see figure 5.50). Figure 5.50.: Object Telephone (bizarre) – Emissive red light material in UE4 46 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 55. 5.5.2. Particle System From the UE4 starter content an existing smoke particle system was copied and the smoke emitter module ’Sphere’ was replaced by a ’Cylinder’ (see figure 5.51). Some emitter modules values were edited as follows: ˆ Spawn: Spawn Rate Distribution Constant: 2.0 ˆ Lifetime: Lifetime Lifetime Distribution Min and Max: 10.0 ˆ Initial Size: Size Start Size Distribution Max 5.0/0.0/0.0 and Min 15.0/0.0/0.0 ˆ Initial Velocity: Velocity Start Velocity Distribution Max 5.0/0.0/5.0 and Min 1.0/0.0/1.0 Figure 5.51.: Object Telephone (bizarre) – Smoke particle system in UE4 The already existing smoke material was also copied and enhanced by bizarre color (see figure 5.52). Figure 5.52.: Object Telephone (bizarre) – Smoke material in UE4 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 47
  • 56. 5.5.3. Blueprint In UE4 the Book non-bizarre blueprint actor was inherited in a newly created blueprint actor named Book bizarre (see figure 5.53). It was enhanced by an additional component smoke particle system (see figure 5.54). Figure 5.53.: Object Telephone (bizarre) – Blueprint in UE4 Figure 5.54.: Object Telephone (bizarre) – Blueprint components in UE4 5.5.4. Animation in UE4 Figure 5.55.: Object Telephone (bizarre) – Blueprint variables in UE4 Figure 5.56.: Object Telephone (bizarre) – Blueprint construction script in UE4 48 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 57. In the Event Graph a OnComponentHit node for each mesh, a ’Bizarreness-Timeline’ node, and a SetScalar- ParameterValue node was added (see figure 5.57). In the ’BizarrenessTrack’ the value is changed from 0.0 to 1.0 within two seconds (see figure 5.58). On component hit the ’BizarrenessTrack’ updates the Scalar Parameter Value ’Bizarreness’. Figure 5.57.: Object Telephone (bizarre) – Blueprint event graph in UE4 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 49
  • 58. Figure 5.58.: Object Telephone (bizarre) – Timeline track for bizarreness in UE4 Figure 5.59.: Object Telephone (bizarre) – Timeline track for transform in UE4 For deliveries of Object Telephone (bizarre) see section 6.3, results are presented in section 7.3. 50 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 59. 5.6. Elaboration of User Scenario 6 Object Coat Hook (non-bizarre) 5.6.1. Multi-Material Mesh First in GIMP a collage was made using an orthogonal photograph, which served as background image for the 3D modelling in Blender (see figure 5.60). Figure 5.60.: Object Coat Hook (non-bizarre) – Front view with collage as background image in Blender A multi-material mesh was modelled and an UV mapping for the object was made: Edit Mode, Shading/UVs UV Mapping Unwrap Smart UV Project (see figure 5.61). Figure 5.61.: Object Coat Hook (non-bizarre) – Multi-material mesh and UV mapping in Blender 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 51
  • 60. 5.6.2. Rendering in UE4 Textures and Materials A brushed metal texture for the coathook has been found (see figure 5.62) and assigned to a brushed metal material in UE4 (see figure 5.63). For the screws a blank metal material was created (see figure 5.64). Figure 5.62.: Object Coat Hook (non-bizarre) – Diffuse texture for brushed metal material Figure 5.63.: Object Coat Hook (non-bizarre) – Brushed metal material in UE4 Figure 5.64.: Object Coat Hook (non-bizarre) – Blank metal material in UE4 52 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 61. Static Mesh Finally the multi material mesh fbx-file was imported to UE4 with an import rotation of z = 180.0°. The metal materials have been assigned to the material slots. For each hook a socket was added in the static mesh (see figure 5.65). Figure 5.65.: Object Coat Hook (non-bizarre) – Static multi-material Mesh and Sockets in UE4 Blueprint A Blueprint actor was created and a static mesh component was added as container for the static mesh. In addition a rotation of y = -0.25° was applied (see figure 5.66). Figure 5.66.: Object Coat Hook (non-bizarre) – Blueprint in UE4 For deliveries of Object Coat Hook (non-bizarre) see section 6.4, results are presented in section 7.4. 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 53
  • 62. 5.7. Elaboration of User Scenario 7 Object Jacket (non-bizarre) 5.7.1. Mesh and Texture For the elaboration of Object Jacket (non-bizarre) a simple cutting pattern was made in Blender by a subdivided and triangulated plane and the half of a ring as hanging loop (see figure 5.67). The mesh was exported as binary fbx. Figure 5.67.: Object Jacket (non-bizarre) – Front view of cutting pattern in Blender Using an acquired image from the real jacket, a seamless texture was created in GIMP (see figure 5.68) and exported as jpeg. Figure 5.68.: Object Jacket (non-bizarre) – Seamless texture in GIMP 54 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 63. 5.7.2. Rendering in UE4 Textures and Material Using the seamless texture a related normal, specular and displacement map was created (see figure 5.69). Figure 5.69.: Object Jacket (non-bizarre) – Diffuse, normal, specular and displacement texture In UE4 the textures were assigned to a jacket material (see figure 5.70). The jacket material is two sided, the texture is repeated by U/V-tiling using a TexCoord node (see figure 5.71). Figure 5.70.: Object Jacket (non-bizarre) – Cloth material in UE4 Figure 5.71.: Object Jacket (non-bizarre) – Cloth material tex coord for U/V-tiling in UE4 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 55
  • 64. Skeleton and Skeletal Mesh In UE4 the mesh was imported as skeletal mesh (see figure 5.72). A skeleton asset and a skeletal mesh were created automatically. The skeleton asset represents a hook of the Coat Hook (see figure 5.73). The skeletal mesh was assigned with the corresponding materials (see figure 5.74). Figure 5.72.: Object Jacket (non-bizarre) – FBX import options in UE4 Figure 5.73.: Object Jacket (non-bizarre) – Skeleton in UE4 Figure 5.74.: Object Jacket (non-bizarre) – Skeletal mesh in UE4 56 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 65. Physics Asset From the skeletal mesh a physics asset was created (see figure 5.75 and figure 5.76). To let the skeletal mesh collide with surrounding world objects like the wall with a door and the door handle, these meshes were added as preview assets in the physics editor and were replaced by collision geometry made of capsules and tapered capsules5 , as cloth only collides with these kind of primitives (see figure 5.77). The physics asset was assigned to the skeletal mesh Details Physics tab, in addition ’Enable Per Poly Collision’ was checked (see figure 5.78). Figure 5.75.: Object Jacket (non-bizarre) – Create physics asset from skeletal mesh in UE4 Figure 5.76.: Object Jacket (non-bizarre) – New physics asset dialogue in UE4 Figure 5.77.: Object Jacket (non-bizarre) – Physics asset with collision geometry in UE4 Figure 5.78.: Object Jacket (non-bizarre) – Physics asset assigned to skeletal mesh in UE4 5Jacket (non-bizarre) transform world position of hanger-loop or bone ’jacket’ respectively: x = 249, y = 7, z = 163 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 57
  • 66. Cloth Paint ”As of UE4 version 4.16, APEX Cloth [(based on PhysX Clothing, cp.[GameWorksDoc, APEX Clothing Module])] has been replaced with Nvidia’s NvCloth solver which is a low-level clothing solver responsible for the particle simulation that runs clothing. This clothing solver allows integrations to be lightweight and very extensible because [of] direct access to the simulation data”(cp. [UE4Man, Clothing Tool]). In the skeletal mesh editor the section selection as well as the cloth paint was activated. Then the whole jacket was selected and painted (see figure 5.79)—except of parts of the coat hanger loop (see figure 5.80). Figure 5.79.: Object Jacket (non-bizarre) – Cloth paint of cardigan in UE4 Figure 5.80.: Object Jacket (non-bizarre) – Cloth paint detail of cardigan (left) and hanger loop (right) in UE4 Both parts of the mesh have the same cloth configuration (see figure 5.81). Figure 5.81.: Object Jacket (non-bizarre) – Cloth configuration in UE4 58 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 67. Static Mesh Afterwards, from the skeletal mesh menu, a static mesh was created by clicking ’Make Static Mesh’. Using the static mesh menu Collision Auto Convex Collision a convex Discrete Oriented Polytope (DOP) collision hull was generated and in the Details tab Collision parameter ’Double Sided Geometry’ was checked (see figure 5.82). Figure 5.82.: Object Jacket (non-bizarre) – Static mesh with collision hull in UE4 Blueprint In UE4 the blueprint Coat Hook (non-bizarre) was inherited in a newly created blueprint named Jacket (non-bizarre) (see figure 5.83). In the components tab a static mesh component was added and the static mesh Jacket was assigned. The components ’Parent Socket’ was set to ’Hook-RR’ and ’Generate Overlap Events’ was checked (see figure 5.84). Figure 5.83.: Object Jacket (non-bizarre) – Blueprint inheritance in UE4 Figure 5.84.: Object Jacket (non-bizarre) – Blueprint with component parameters for static mesh in UE4 For deliveries of Object Jacket (non-bizarre) see section 6.4, results are presented in section 7.4. 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 59
  • 68. 5.8. Elaboration of User Scenario 8 Object Jacket (bizarre) 5.8.1. Blueprint In UE4 the blueprint Jacket (non-bizarre) was inherited in a newly created blueprint named Jacket (bizarre) (see figure 5.85). Figure 5.85.: Object Jacket (bizarre) – Blueprint inheritance in UE4 In the components tab of blueprint Jacket (bizarre) a skeletal mesh component was added and the skeletal mesh Jacket was assigned (see figure 5.86 and 5.87). Figure 5.86.: Object Jacket (bizarre) – Blueprint components in UE4 Figure 5.87.: Object Jacket (bizarre) – Blueprint with component parameters for skeletal mesh in UE4 60 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 69. The components ’Parent Socket’ was set to ’Hook-RR’ and its render visibility was unchecked (see figure 5.88). Figure 5.88.: Object Jacket (bizarre) – Component parameters for skeletal mesh in UE4 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 61
  • 70. 5.8.2. Animation in UE4 Variables Then a vector variable ” DirectGravityOverrideValue” was added and its default value was set to x = 50:0 (see figure 5.89). Figure 5.89.: Object Jacket (bizarre) – Blueprint variable and default value in UE4 Event Graph In the Event Graph, an ’On Component Begin Overlap (StaticMesh Jacket)’ node was created (see figure 5.90). First, the ’SkeletalMesh Jacket’ visibility and ’Generate Overlap Events’ get checked, then the ’StaticMesh Jacket’ visibility and ’Generate Overlap Events’ get unchecked—this results in switching between these two meshes. Af- terwards the ’SkeletalMesh Jacket’s Clothing Simulation Interactor’s gravity override is enabled and its gravity is overwritten with the ’Direct Gravity Override Value’. Figure 5.90.: Object Jacket (bizarre) – Blueprint event graph in UE4 For deliveries of Object Jacket (bizarre) see section 6.4, results are presented in section 7.4. 62 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 71. 5.9. Elaboration of User Scenario 9 Object Marker Pen (non-bizarre) 5.9.1. Mesh and UV Layout For the elaboration of Object Marker Pen (non-bizarre) an already existing 3D model of a whiteboard marker was handed over from the developers of Project [VIRLA]. In Blender the fbx file was imported and unwrapped (see figure 5.91). The UV layout was exported as png (see figure 5.92). Figure 5.91.: Object Marker Pen (non-bizarre) – 3D model and unwrapped mesh in Blender Figure 5.92.: Object Marker Pen (non-bizarre) – UV Layout 5.9.2. Texture Images of the Marker Pen (non-bizarre) were acquired by rotating surface photography using a setup as described in section 2.3. The Canon EOS 60D was set to focal length 21mm, sensor width 22.3mm, aperture F11, shutter 0.6s, ISO 125, and the image size was set to 5184 3456 pixels. Using a vertical angle of 0° the platform was rotated evenly with an angle of 45° resulting in eight photographs (see figure 5.93). In GIMP a texture was created from the images by stitching and uv mapping the stripes (see figure 5.94 and 5.95). 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 63
  • 72. Figure 5.93.: Object Marker Pen (non-bizarre) – Label image acquisition Figure 5.94.: Object Marker Pen (non-bizarre) – Label texture stitching and UV layout mapping in GIMP Figure 5.95.: Object Marker Pen (non-bizarre) – Label texture 5.9.3. Multi-Material Mesh Back in Blender different materials for coloured felt, coloured plastic and for a textured label as well as a metal material were created and assigned to individual parts of the mesh (see figure 5.96). For better handling later in 64 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 73. the game engine, the object was rotated 90° and its origin was set at the bottom of the surface. The mesh was exported as binary fbx. Figure 5.96.: Object Marker Pen (non-bizarre) – Multi material 3D model of the pen in Blender In addition in the same Blender project a cap was modelled and assigned with the already created coloured plastic material (see figure 5.97). For better handling later in the game engine, the origin of the object was defined in the middle of the opening. The cap mesh was seperately exported as binary fbx, too. Figure 5.97.: Object Marker Pen (non-bizarre) – 3D model of the pen and its cap in Blender 5.9.4. Rendering in UE4 Textures and Materials The label texture was imported to UE4 and was used to create an UV-mapped label material (see figure 5.98). Figure 5.98.: Object Marker Pen (non-bizarre) – Textured material in UE4 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 65
  • 74. The color used in color related materials is hold in a Material Parameter Collection ’MPC MarkerPen’ as vector parameter ’MarkerPenColor’ (see figure 5.99). It is used for a color related plastic and a color related felt material (see figure 5.100 and figure 5.101). Figure 5.99.: Object Marker Pen (non-bizarre) – Material Parameter Collection in UE4 Figure 5.100.: Object Marker Pen (non-bizarre) – Shiny plastic material in UE4 Figure 5.101.: Object Marker Pen (non-bizarre) – Matt felt material in UE4 Finally a metal material was created (see figure 5.102). Figure 5.102.: Object Marker Pen (non-bizarre) – Metal material in UE4 66 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 75. Meshes In UE4 the fbx files were imported. For the cap a static mesh was created and the corresponding material has been assigned (see figure 5.103). Figure 5.103.: Object Marker Pen (non-bizarre) – Cap mesh in UE4 For the pen a multi material static mesh was created and corresponding materials have been assigned. A socket ’CapSocket’ has been added to the mesh, where the origin of the cap will be placed. In the socket parameters the cap was assigned (see figure 5.104). A StaticMeshActor was created. Figure 5.104.: Object Marker Pen (non-bizarre) – Multi material pen mesh in UE4 Blueprint From the StaticMeshActor a Blueprint was added respectively a Blueprint Class was stored in the Content Browser. In the Blueprint, a Component ’MarkerPenCapNonBizarre’ was added and its Parent Socket was assigned to the ’CapSocket’ (see figure 5.105). Figure 5.105.: Object Marker Pen (non-bizarre) – Blueprint in UE4 For deliveries of Object Marker Pen (non-bizarre) see section 6.5, results are presented in section 7.5. 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 67
  • 76. 5.10. Elaboration of User Scenario 10 Object Marker Pen (bizarre) In UE4 the non-bizarre blueprint was inherited in newly created blueprint named Marker Pen bizarre. 5.10.1. Animation in UE4 Collision The animation will be triggered by collision or overlap respectively. Therefore, In the Blueprint class for the two static mesh components the ’Collision Presets’ was set to ’OverlapAll’ (see figure 5.106). the collision setting ’Generate Overlap Events’ was checked (see figure 5.107). Figure 5.106.: Object Marker Pen (bizarre) – Static Mesh Collision settings in UE4 Figure 5.107.: Object Marker Pen (bizarre) – Blueprint Static Mesh Component Collision settings in UE4 Construction Script In the bizarre Blueprint, two vector variables ’InitialActorScale3D’ and ’FinalActorScale3D’ as well as a float variable ’ScaleFactor’ were added (see figure 5.108). The variable ’ScaleFactor’ default value was set to 4.0. In the Construction Script the vector variable ’InitialActorScale3D’ is set to the value as found in the ’Actor Scale 3D’. The vector variable ’FinalActorScale3D’ is set to the value as found in the ’Actor Scale 3D’ multiplied by ’ScaleFactor’ (see figure 5.109). Figure 5.108.: Object Marker Pen (bizarre) – Blueprint variables in UE4 68 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 77. Figure 5.109.: Object Marker Pen (bizarre) – Blueprint construction script in UE4 Animation by Timeline In the Blueprint, a scalar variable named ’Bizarreness’ was added (see figure 5.108). In the Event Graph, a Timeline node was created (see figure 5.111) The Timeline Track ’MarkerPenBizarrenessTrack’ was edited to change from value zero to one within two seconds (see figure 5.111). The timeline update was connected to a setter for the Bizarreness variable, which gets its value from the timeline track. In the event graph a ’SetActorScale3D’ node was added which gets its ’New Scale 3D’ from a Lerp (A: InitialActorScale3D, B: FinalActorScale3D, Alpha: Bizarreness). Finally, the Timeline was assigned starting within an ’Event ActorBeginOverlap’. Figure 5.110.: Object Marker Pen (bizarre) – Blueprint event graph in UE4 Figure 5.111.: Object Marker Pen (bizarre) – Blueprint timeline track in UE4 For deliveries of Object Marker Pen (bizarre) see section 6.5, results are presented in section 7.5. 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 69
  • 78. 5.11. Elaboration of User Scenario 11 Object Art Print (non-bizarre) 5.11.1. Texture The Art Print image was imported to GIMP as layer, the image container was resized to 4096 pixels in square which is a POT value supported by UE4 (see figure 5.112). The texture was exported as jpeg (see figure 5.113). Figure 5.112.: Object Art Print (non-bizarre) – Texture composition of size POT in GIMP Figure 5.113.: Object Art Print (non-bizarre) – Texture diffuse of size POT 5.11.2. Multi-Material Mesh and UV Mapping In Blender a box of dimension z (RH-up) = 0.750 m, x (RH-right) = 0.600 m and y (RH-depth) = 0.005 m was created. The mesh was unwrapped and an UV layout was created, to which the Art Print texture was imported and mapped. A material was created to which the Art Print texture was assigned. In the mesh, the corresponding face was selected and the material was assigned. The rest of the mesh was assigned with a second material for PVC rigid foam ’Forex’ (see figure 5.114). 70 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 79. Figure 5.114.: Object Art Print (non-bizarre) – Rendering of UV mapped multi-material 3D model in Blender The UV mapped multi-material mesh was exported as binary fbx. 5.11.3. Rendering in UE4 Texture In UE4 the Art Print texture was imported and the settings were adjusted as follows: ˆ Texture: Filter to ’nearest neighbour’ ˆ Texture: Power of Two Mode to ’Pad to Power of Two’ ˆ Level Of Detail: Mip Gen Settings was changed to ’noMipmaps’ ˆ Compression: Compress Without Alpha ’checked’ Material In UE4 a default lit, opaque, surface material was created (see figure 5.115). The texture was single tiled by a Texture Coordinate node. To achieve best rendering quality in UE4, in the Art Print material the settings for the Material Expression Texture Sample were adjusted as follows: ˆ MipValueMode: MipLevel (absolute, 0 is full resolution) ˆ Const Mip Value: 0 ˆ Automatic View Mip Bias: unchecked Figure 5.115.: Object Art Print (non-bizarre) – Texture material in UE4 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 71
  • 80. A second material was created to imitate PVC rigid foam ’Forex’ (see figure 5.116). Figure 5.116.: Object Art Print (non-bizarre) – PVC rigid foam ’Forex’ material in UE4 Static Mesh and Blueprint Finally the fbx mesh was imported. UE4 automatically created a StaticMesh in the Content Browser. The connection to the already existing material has been assigned (see figure 5.117). A Blueprint actor was created and a static mesh component was added containing the Art Print. Its Lighting Lightmap Type was set to ’Force Surface’. Figure 5.117.: Object Art Print (non-bizarre) – Multi-material mesh in UE4 For deliveries of Object Art Print (non-bizarre) see section 6.6, results are presented in section 7.6. 72 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 81. 5.12. Elaboration of User Scenario 12 Object Art Print (bizarre) 5.12.1. Water Simulation in UE4 Evaluation First the content of the Art Print was discussed, whether a waterfall could be the subject. This because packages for animation of waterfalls can already be found in the UE4 marketplace. However, as the project head and the researcher wanted to present tear-like water, further research was carried out. The author came across the simulation of liquid using Particle In Cell (PIC)/Fluid Implicit Particle (FLIP) algorithms. The Nvidia Cataclysm software is such a [PIC and] FLIP based liquid solver. It can simulate ” up to two million liquid particles within the UE4 engine in real time. It uses a custom FLIP based GPU solver combined with UE4’s Graphic Processing Unit (GPU) Particles with Distance Field Collisions. A FLIP solver is a hybrid grid and particle technique for simulating fluids. All Information for the fluid simulation is carried on particles, but the solution the physical simulation of the liquid is carried out on a grid. Once the grid solve is complete, the particles gather back up the information they need from the grid to move forward in time to the next frame” (cp. [Cataclysm]). ”Cataclysm is Windows 10 only. [This] is due to [the] use of Volume Tiled Resources, the 3D version of Tiled Textures for which support was added in D3D11.36 . It is an RD experiment and not a supported product. It was developed on a Titan X, and later on a 1080 GTX.”7 For a water simulation by FLIP an UE4 fork for Nvidia Cataclysm was downloaded and built using Microsoft Visual Studio (MSVS) (cp. [Cataclysm], see appendix section B.3 and for the software see [NvUE4]). The real-time water simulation worked well (see figure 5.118). Figure 5.118.: Object Art Print (bizarre) – Nvidia cataclysm fluid simulation in UE4 The technology Cataclysm is currently available at Unreal Engine version 4.19 only, which was criticized in view of future developments. The same applied to the newer technology NvFlow (see [GameWorks] and [GameWorksDoc]). As an alternative the author therefore suggested to create a baked animation using the Blender built-in fluid simulator (cp. [BlenderDoc, Fluid Simulation]) and import the same to UE4 as Almebic animation file as shown in [UE4LiveTraining, Introduction to Alembic (39)]. Finally, at the researcher’s input, the decision was made to implement the water simulation in UE4 using meshes and materials from the UE4 Package [WaterMaterials]. 6Direct3D 11.3 introduces Shader Model 5.1 URL:https://docs.microsoft.com/en-gb/windows/desktop/direct3dhlsl/ shader-model-5-1 (access date 2019-05-13). 7In: [UE4Forum], Post: ” NVIDIA Cataclysm Realtime Liquid Solver” , page 5, November 2015, URL: https://forums.unrealengine. com/development-discussion/content-creation/90418-nvidia-cataclysm-realtime-liquid-solver/page5, access date 2019-05-13). 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 73
  • 82. Wetness The visibility of water depends on the wetting of an overflowed material. A material–if not entirely hydrophobic– changes its properties if being overflowed by water. As described by [Brinck, 58ff] using the example of a puddle, typically there are four characteristic rendering regions that wet surfaces are mixed of (see figure 5.119): (A) Core of the puddle, the water surface is totally flat. (B) Region where surface tension causes water to cling to the surface underneath, causing a shrink-wrapped look. (C) Region where water has saturated the surface, causing a darkening of the albedo, but not significantly affecting normals or specular response. (D) Dry, unmodified surface. Figure 5.119.: Object Art Print (bizarre) – Special case materials wetness As decided in a meeting, the change of the darkening of the albedo was not implemented. Meshes For planning the meshes dimensions a sketch was made (see figure 5.120). Figure 5.120.: Object Art Print (bizarre) – Sketch of dimensions for water simulation 74 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 83. For the extension of the lake a dedicated mesh was created in Blender and exported as fbx (see figure 5.121). Figure 5.121.: Object Art Print (bizarre) – Lake mesh in Blender From the UE4 Pack ” Water Materials” (cp. [WaterMaterials]) the static mesh SM Waterfall Arc was copied, exported as fbx and adapted in Blender having the pivot on top of the mesh (see figure 5.122). The waterfall was exported as fbx afterwards. Figure 5.122.: Object Art Print (bizarre) – Waterfall mesh with pivot on top in Blender A puddle was modelled in Blender and exported as fbx (see figure 5.123). Figure 5.123.: Object Art Print (bizarre) – Puddle mesh in Blender 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 75
  • 84. Materials From the UE4 package ” Water Materials”the materials M Lake and M River as well as assigned material functions, material parameter collection and textures were copied. From these materials different material instances were created and adjusted to our needs: ˆ Lake: M Lake Inst (see figure 5.125) ’Base’ parameters ’Colour’ (Hex sRGB 09303000) and ’ColourDeep’ (Hex sRGB 3FBCBC00) were adjusted, ’FadeDistance’ was set to 0:15. ’WPO’ parameters ’Lake1 intensity’, ’Lake2 intensity’, ’Speed1’, ’Speed2’ and ’Speed3’ were set to 0:0 and ’Lake Offset’ to 0:5. ˆ Waterfall: M River Inst (see figure 5.124) ’Base’ parameters ’Colour’ (Hex sRGB 09303000) and ’ColourDeep’ (Hex sRGB 3FBCBC00) were adjusted, ’FadeDistance’ was set to 0:1 and ’River Speed’ to 1:0. ’WPO’ parameters ’Intensity1’, ’Intensity2’, ’Intensity3’, ’River1 intensity’, ’River2 intensity’, ’Speed1’, ’Speed2’ and ’Speed3’ were set to 0:0. ˆ Puddle: M Lake Inst Puddle (see figure 5.125) ’Base’ parameters ’Colour’ (Hex sRGB 3FBCBC00) and ’ColourDeep’ (Hex sRGB 3FBCBC00) were adjusted, ’FadeDistance’ was set to 0:01. ’WPO’ parameters ’Intensity3’, ’Lake1 intensity’, ’Lake2 intensity’, ’Speed1’, ’Speed2’, ’Speed3’ and ’Lake Offset’ were set to 0:0. Figure 5.124.: Object Art Print (bizarre) – Waterfall related material instance parameters in UE4 76 3D Content for Dream-Like VR, Version 2.2, July 10, 2019
  • 85. Figure 5.125.: Object Art Print (bizarre) – Lake and puddle related material instance parameters in UE4 3D Content for Dream-Like VR, Version 2.2, July 10, 2019 77
  • 86. Static Meshes In the static mesh Art Print a ” Shoreline”socket was added (see figure 5.126). Figure 5.126.: Object Art Print (bizarre) – Mesh with shoreline socket in UE4 The water meshes were imported and the materials were assigned (see figure 5.127, figure 5.128 and figure 5.129). Figure 5.127.: Object Art Print (bizarre) – Static mesh lake in UE4 Figure 5.128.: Object Art Print (bizarre) – Static mesh waterfall in UE4 Figure 5.129.: Object Art Print (bizarre) – Static mesh puddle in UE4 78 3D Content for Dream-Like VR, Version 2.2, July 10, 2019