Final Extended Realities
Final Extended Realities
Date:3/07/24
Procedure :
Step1: Download the Unity Hub:
Download the Unity Hub installer, which is a management tool that helps you install and manage
different versions of Unity and associated projects.
Run the installer and follow the on-screen instructions to complete the installation.
You may need to sign in or create a Unity account if you don’t already have one.
Select the modules you need (e.g., platform build support like Android or iOS).
1
Output:
Result:
The experiment of installing the unity and activation of license using the essential features was
implemented. Creating a new project was implemented successfully.
2
Experiment 2: Learning the Interface, Scene creation, 3D Object creation, Apply
Colliders and Rigid Body
Date: 10/07/24
PROCEDURE:
STEPS : Unity Interface Overview
1. Scene View: The main area where you can view and edit your game scene. You can navigate in
this view to position and manipulate objects.
2. Game View: Displays what the player will see in the game. This is where you test how your
game looks and behaves.
3. Hierarchy Window: Lists all the objects present in your current scene. Objects are organized in a
hierarchy, allowing you to create parent-child relationships.
4. Project Window: Shows all the assets in your project, including scripts, models, textures, and
prefabs. This is where you manage your assets.
5. Inspector Window: Displays detailed information and settings for the currently selected object.
You can modify properties like position, scale, and components.
6. Toolbar: Includes tools for navigating the Scene view, such as the Move, Rotate, and Scale tools.
It also includes buttons for playing and pausing the game.
Creating a Scene
o Save the scene with a name by going to File > Save As and choosing a location in your
Assets folder.
o Add a Directional Light by right-clicking in the Hierarchy window, selecting Light >
Directional Light.
o Add a Camera by right-clicking in the Hierarchy window, selecting Camera. Adjust its
position and angle to frame your scene.
Creating 3D Objects
1. Add a 3D Object:
3
o In the Hierarchy window, right-click and select 3D Object. You’ll see options like Cube,
Sphere, Capsule, Cylinder, etc.
o Use the Move tool (shortcut: W) to position your object in the Scene view.
o Use the Scale tool (shortcut: R) to adjust the size of your object.
Applying Colliders
Colliders are components that define the shape of an object for physical collisions.
1. Select Your Object: Click on the 3D object you want to add a collider to.
o Search for “Collider” and choose the appropriate type based on your object’s shape:
Applying a RigidBody A RigidBody allows an object to be affected by physics (e.g., gravity, forces).
1. Select Your Object: Click on the object you want to add a Rigidbody to.
o Drag: Controls how much the object is slowed down by air resistance.
o Angular Drag: Controls how much the object resists rotational movement.
o Interpolate: Smooths out the object’s movement for better visual results.
4
Putting It All Together
o Add a Plane (right-click in the Hierarchy, 3D Object > Plane) as a ground surface.
o Play the scene by clicking the Play button in the toolbar. You should see the cube fall
onto the plane due to gravity.
o Adjust the Rigidbody and Collider settings as needed to achieve the desired behavior.
OUTPUT :
RESULT :
Hence the unity experimentation along with creating new objects on the scene was created. Created a
falling effect for the object. As a result it was successfully implemented.
5
Experiment 3: Import 3D Models, Images, and Videos into Unity (Single and
Multiple Objects)
DATE:24/07/24
Procedure:
Importing 3D Models
Single 3D Model
o Ensure your 3D model is in a supported format such as .fbx, .obj, or .blend (Blender
files).
o Drag and drop the model file directly into the Project window under the Assets folder.
Unity will automatically import it and create a prefab.
o In the Inspector window, you can adjust import settings like scale, mesh compression, and
normals.
o Drag the model from the Project window into the Hierarchy window or the Scene view to
add it to your scene.
Multiple 3D Models
o Drag and drop multiple model files into the Project window. Unity will import each
model and create corresponding prefabs.
Importing Images
6
Single Image
o Drag and drop the image file into the Project window under the Assets folder. Unity will
import it as a texture.
o In the Inspector window, adjust settings like texture type, wrap mode, and filter mode.
Multiple Images
o Drag and drop multiple image files into the Project window. Unity will import each
image as a texture.
Importing Videos
Single Video
o Drag and drop the video file into the Project window under the Assets folder. Unity will
import it as a video clip.
7
o Select the video in the Project window.
o In the Inspector window, adjust settings like playback speed, audio track, and aspect ratio.
o To play the video in your scene, you can use a VideoPlayer component.
o Create an empty GameObject in the Hierarchy and add a VideoPlayer component (right-
click on the GameObject, Video > Video Player).
o Assign the video clip to the VideoPlayer component and configure playback options.
Multiple Videos
o Drag and drop multiple video files into the Project window. Unity will import each video
as a video clip.
o Use VideoPlayer components to play different videos as needed. You can create multiple
GameObjects with VideoPlayer components or script video playback based on your
requirements.
OUTPUT:
8
Result:
Hence the process of making Import 3D Models, Images, and Videos into Unity (Single and Multiple
Objects) was implemented.
9
EXPERIMENT 4: Import and Enhance Scene: Applying Materials, Textures, and
Light Effects
DATE :24/07/24
PROCEDURE:
1. Applying Materials and Textures
o Drag and drop material files (e.g., .mat for Unity materials) and texture files
(e.g., .jpg, .png) into the Project window under the Assets folder.
o Name your new material and it will appear in the Assets folder.
2. Assign Textures:
o In the Inspector window, find the Albedo property (or Base Map in URP/HDRP).
o Click the small circle next to the Albedo property and choose your texture from the list or
drag and drop your texture file onto this field.
o Adjust other properties such as Smoothness, Metallic, Normal Map, and Emission to fine-
tune the material’s appearance.
o Click on the 3D object in the Hierarchy window to which you want to apply the material.
2. Assign Material:
o Drag the material from the Project window and drop it onto the 3D object in the Scene
view or the Inspector window.
10
2. Adding Light Effects
Adding Lights
o Right-click in the Hierarchy window, select Light and choose from options like
Directional Light, Point Light, Spot Light, or Area Light (if using URP/HDRP).
o Directional Light: Simulates sunlight. Adjust Rotation for the light direction, and
configure Intensity and Color.
o Point Light: Emits light in all directions from a single point. Adjust Range, Intensity, and
Color.
o Spot Light: Emits light in a cone shape. Adjust Spot Angle, Range, Intensity, and Color.
o Area Light: Used for realistic lighting in URP/HDRP. Adjust Size, Intensity, and Color.
1. Shadows:
o Select the light source and configure shadow settings in the Inspector window:
For other lights: Set Shadow Type to Soft Shadows or Hard Shadows.
2. Reflection Probes:
o Adjust settings such as Box Projection, Resolution, and Refresh Mode to fine-tune
reflections.
o Install Post-Processing Package: Go to Window > Package Manager, search for Post
Processing, and install it.
o Add Post-Processing Volume: Right-click in the Hierarchy window, select Volume >
Post-process Volume.
11
o Configure Post-Processing: Add effects like Bloom, Depth of Field, Color Grading, and
Ambient Occlusion by creating and assigning a Post-process Profile to the volume.
Skybox
1. Add a Skybox:
o Go to Window > Rendering > Lighting, and in the Scene tab, find the Environment
section.
o Go to Window > Rendering > Lighting and check the Realtime Global Illumination and
Baked Global Illumination options.
2. Bake Lighting:
o In the Lighting window, under the Bake tab, click the Generate Lighting button to bake
lightmaps and improve performance.
OUTPUT:
12
RESULT:
Hence the procedure for implementing the Import and Enhance Scene: Applying Materials, Textures,
and Light Effects was constructed using various materials and was implemented successfully.
13
EXPERIMENT 5: Importing and Enhancing Scene by Creating 3D Animations and
Using Starter Assets
DATE :24/07/24
PROCEDURE:
1. Creating 3D Animations
o Ensure you have animation files in compatible formats such as .fbx (with animations
embedded), .anim (Unity animation clips), or .bvh (for motion capture data).
o Drag and drop the animation files into the Project window under the Assets folder. Unity
will automatically import these files.
o For .fbx files, Unity will import both the model and its animations. .anim files can be
imported separately.
o Drag and drop animation clips from the Project window into the Animator window to
create animation states.
o Create transitions between states to define how animations blend into one another.
o In the Inspector window, add an Animator component if it doesn’t already have one.
o Assign your Animator Controller to the Controller field in the Animator component.
o In the Animation window, click the Create button to create a new animation clip.
o Click the red Record button in the Animation window to start recording your animation.
o Move, rotate, or scale your GameObject as needed. Unity will automatically create
keyframes for these changes.
Starter assets provide pre-made resources to help you get started quickly. Unity offers starter assets such
as character controllers, environment assets, and example scenes.
o Go to Window > Asset Store or visit the Unity Asset Store in your browser.
o Search for starter assets like “Starter Assets - Third Person Character Controller” or
“Starter Assets - Environment Pack.”
o Download and import the assets into your project by clicking the Add to My Assets or
Download button, then Import.
o Locate the imported starter assets in the list and click Import to add them to your project.
15
o Once imported, find the starter assets in the Project window, usually under a folder named
Starter Assets or similar.
o For character controllers, drag the character prefab into your scene.
o Select the character and configure the components (like Animator, Rigidbody, Collider,
and scripts) as needed.
o Adjust input settings and other parameters based on your game requirements.
o Integrate starter assets into your scene and customize them to fit your project’s needs.
o Modify materials, textures, and animations to match your scene’s style and requirements.
OUTPUT:
RESULT:
Hence the idea of creating , Importing and Enhancing Scene by Creating 3D Animations and Using
Starter Assets was implemented and succssesfully verified.
16
DATE:31/07/
24
PROCEDURE:
1. Understanding Lighting in Unity
Types of Lights
1. Directional Light:
o Simulates sunlight or a distant light source. It affects all objects in the scene equally
regardless of their position.
2. Point Light:
o Emits light in all directions from a single point. It’s useful for simulating light bulbs or
other localized light sources.
3. Spot Light:
o Properties: Intensity, Color, Range, Spot Angle, Cookie, and Shadow Type.
o Emits light from a rectangular or disc-shaped area. Useful for realistic indoor lighting like
fluorescent lights or large windows.
Light Settings
1. Intensity:
2. Color:
o Determines the color of the light. Can be set to white or colored to simulate different
lighting conditions.
3. Range:
o For Point and Spot Lights, defines how far the light reaches.
17
4. Spot Angle:
5. Shadows:
o Determines the type of shadows cast (Hard or Soft) and their quality.
2. Baking Lighting
Baking is the process of pre-computing lighting information and storing it in lightmaps to improve
runtime performance.
o Baked: Lighting is pre-computed and stored in lightmaps. Suitable for static scenes.
o Mixed: Combines real-time and baked lighting. Useful for static and dynamic elements in
the same scene.
3. Set Up Lightmaps:
o Go to the Lighting window, and under the Bake tab, configure lightmap settings such as
Lightmap Resolution, Lightmap Padding, and Max Atlas Size.
o Ensure lights that should contribute to baked lighting have their Mode set to Baked or
Mixed.
o Light Probes: Capture lighting information at specific points in the scene for dynamic
objects. Add a Light Probe Group from GameObject > Light > Light Probe Group.
o Reflection Probes: Capture reflections of the environment. Add a Reflection Probe from
GameObject > Light > Reflection Probe.
18
1. Open the Lighting Settings:
o Adjust Baked Global Illumination, Realtime Global Illumination, and other settings for
your desired effect.
o Go to Window > Package Manager, search for Post Processing, and install it.
o Add effects like Bloom, Color Grading, and Ambient Occlusion to enhance the scene’s
appearance.
o Adjust settings for effects such as Bloom intensity, exposure, color grading, and ambient
occlusion.
1. Optimize Lightmaps:
o Keep lightmap resolutions as low as possible while maintaining visual quality to reduce
memory usage and improve performance.
o Place light probes strategically to ensure dynamic objects receive appropriate lighting.
o Test how lighting looks in different game conditions and environments (e.g., day/night
cycles).
19
4. Monitor Performance:
o Use Unity’s Profiler to monitor the impact of lighting on performance and make
adjustments as needed.
o Ensure that UVs for lightmaps are properly unwrapped and avoid overlapping to prevent
lightmap artifacts.
OUTPUT:
20
RESULT:
Hence the process of mastering the lighting and implementing the baking process was implemented and
learnt successfully.
21
EXPERIMENT 7: Button Creation - UI and Scene Management
DATE:07/08/24
PROCEDURE:
1. Creating Buttons in UI
1. Create a Canvas:
o Right-click in the Hierarchy window, select UI > Canvas. This will create a Canvas
GameObject, which acts as the container for UI elements.
2. Add a Button:
o Right-click on the Canvas in the Hierarchy, select UI > Button. This will create a Button
GameObject as a child of the Canvas.
o In the Inspector window, you can customize the Button’s properties such as its Text,
Image, and RectTransform to position and size the button.
o Expand the Button GameObject in the Hierarchy to find the Text child object.
o Select the Text object and modify the text in the Inspector window to change what the
button displays.
o Open the script in your preferred code editor and write methods to handle button
o Create an empty GameObject in the Hierarchy (right-click, Create Empty) and name it
something like GameManager.
22
o Drag and drop your script onto the GameObject to attach it.
o Scroll down to the On Click () event list and click the + button to add a new event.
o Drag and drop the GameObject with your script (e.g., GameManager) into the object field
of the event.
o Choose the method you want to invoke from the dropdown menu. For example, select
ButtonHandler > LoadScene (string).
5. Specify Parameters:
o If your method requires parameters (like scene name), specify them in the event
inspector. For the LoadScene method, you can input the scene name as a parameter.
3. Scene Management
2. Add Scenes:
o Drag and drop your scenes from the Project window into the Scenes In Build section of
the Build Settings window.
o Ensure the scenes are listed and checked to be included in the build.
Switching Scenes
1. Set Up Scenes:
o Use the LoadScene method from the script you created to switch between scenes based on
button interactions.
1. Playtest:
23
o Click the Play button in the Unity Editor to test your buttons and scene transitions.
o Ensure that the buttons perform the intended actions, like loading scenes or quitting the
game.
2. Debugging:
o If the buttons aren’t working as expected, check the console for errors.
o Ensure that methods are correctly linked in the Button’s On Click event.
o Verify that scene names in your script match exactly with those in your Build Settings.
OUTPUT:
RESULT:
Hence we have learnt hot to create UI buttons and manage scenes in unity by b designing interactive buttons and
setting up scene transitions through scripting built in scene management tools. As a result it was implemented and
verified.
24
EXPERIMENT 8: IMPLEMENT A SCENARIO WHERE USERS CAN PRESS
BUTTONS TO CHANGE COLORS OF AN OBJECT IN THE SCENE
PROCEDURE:
Step 1: Set Up Your Scene
2. Add Buttons:
o In the Unity hierarchy, right-click and choose UI > Button to add buttons for changing the color.
o Right-click in your Assets folder and create a new C# script. Name it something like
ColorChanger.
o Inside the ColorChanger script, write a function for each color change.
o Drag the ColorChanger script onto an empty GameObject (e.g., create an empty GameObject and
name it Color Manager)and Assign your object (e.g., ColorChange Object) to the target Object
field in the Inspector.
2. Add an OnClick Event: In the Inspector, find the OnClick() section and click the + button to add a new
event.
o Drag the ColorManager GameObject into the slot. From the dropdown menu, choose the
corresponding color-changing function (e.g., ColorChanger > ChangeToRed()).
4. Repeat for Each Button: For each button, link it to the corresponding function (ChangeToRed(),
ChangeToBlue(), ChangeToGreen()).
Press Play in Unity and click on the buttons to see if the object changes color based on the button clicked.
25
OUTPUT:
26
RESULT:
Thus the experiment to create buttons and move from one scene to another was implemented and
verified successfully.
Procedure:
Steps to Create AR Visualizer App
Create New Project: Open Unity Hub -> Create a new 3D project.
Go to File -> Build Settings, switch the platform to Android or iOS, depending on your target.
Install AR Foundation: In the Package Manager, search for AR Foundation and install it.
3. Set Up AR Camera
Create AR Session Origin: Right-click in the Hierarchy -> XR -> AR Session Origin.
This creates a camera and tracks the position and rotation for AR objects.
This manages the lifecycle of the AR experience (detecting planes, tracking, etc.).
In the Inspector, click Add Component -> Search for AR Plane Manager and add it.
Add AR Plane Visualizer: To visualize the detected planes, add an AR Plane Visualizer
component or use a prefab from AR Foundation samples.
Drag and drop your 3D model (e.g., a car, furniture, engine) into the Assets folder.
If necessary, adjust the scale and position of the model for better viewing.
Create Script for Object Placement: Create a script that will allow users to tap on detected planes
and place the 3D model there.
In the Inspector, drag your 3D model (e.g., a car or furniture) into the objectPrefab field.
Add Buttons/Sliders:
28
Add UI elements like buttons or sliders to allow the user to rotate, scale, or change the color of
the object.
For Android: Set up your project with the correct ARCore settings.
Build and Run: Click Build -> Deploy the app to your device.
Test the AR functionality (plane tracking, model placement, interaction) on your physical device.
29
RESULT:
Hence the experiment to create the xr app was implemented. This simplified approach allows you to
create an interactive AR visualizer app in Unity using AR Foundation.
APPENDIX - A
ABSTRACT
This project outlines the development of a virtual musical concert centered on creating an immersive and
interactive experience using digital tools to enhance user engagement and accessibility. The concert will
feature a curated selection of musical performances, presented through high-quality audio, 3D stages,
and multimedia elements. Emphasis will be placed on immersive experiences, such as virtual front-row
30
seats, interactive set designs, and personalized song requests. The event aims to bridge the gap between
traditional live concerts and modern digital platforms, allowing audiences from any location to
experience live music in a new, dynamic format. Through interactive features and real-time engagement,
attendees will be able to connect with performers and other audience members, making the concert a
unique, accessible, and engaging musical experience for diverse audiences.
31
LIST OF SYMBOLS AND ABBREVIATIONS
2 JS Java Script
3 CSS Cascading Style Sheets
LIST OF FIGURES
Figure No Description
1 VS Code
2 GitHub
3 Command Line (Server)
4 Command Line (client)
5 Frontend
32
KEY FEATURES
1. 3D Environment:
The digital virtual musical concert was created using various 3D
models imported from the Unity Asset Store.
Objects and textures were carefully placed to enhance realism
and provide a visually appealing representation of the
museum.Interaction Management:
3. User Controller:
A first-person controller was used to navigate the virtual musical
33
concert. The controller allows users to look around using the
mouse and move using standard keyboard inputs (WASD).
Raycasting: Users interact with objects through Raycasting.
When the user looks at an object, the Raycast detects it, allowing
interactions like accessing information or initiating a guided tour.
4. Navigation System:
A seamless navigation system is integrated, allowing users to
move through the musical concert and explore various food
stalls, performance etc. Users can click on navigation points to
jump to different locations within the concert.
5. UI/UX:
33
CHALLENGES FACED
OUTPUT
33
33
CONCLUSION
The use of a virtual musical concert is very innovative in the experience of live music in the
digital era. Using advanced digital tools, such as real-time streams, virtual reality, and interactive
elements, not only does justice to enhancing accessibility but also deepens audience
involvement. It really fills the gap between the experiences in traditional concerts and modern
technology and thus makes it a very dynamic, immersive, and interactive platform. That is to
say, this project exemplifies how virtual concerts may transform the live music experience from
accessible, inclusive, and impactful, towards making a global impact.
33