Professional Documents
Culture Documents
About Me
I am Prakhar Agarwal, a junior year student, currently pursuing
Mechanical Engineering at the Indian Institute of Technology (BHU)
Varanasi and am expected to graduate in the year 2024. I am a
Full-Stack developer with proficiency in HTML, CSS, Javascript,
Reactjs, Nodejs, Python, Flask, C/C++, Threejs, PlayCanvas and
Github. I love exploring new tech and have worked with various
technologies and languages. I love contributing to the open-source
community and building something other developers can use.
Contributor at Amahi
I have contributed to the Amahi Android app codebase and also
received a letter of recommendation for its co-founder, Carlos
Puchol. I worked on improving the UI/UX of the android app, fixed
bugs, and improved many features in it. Technologies I used in this
project - Java, Kotlin, Android
Fanisko | 3
Organization Contributions
Amahi ● PR
● Issues
Purr Data ● PR
● Issues
Padawan Wallet ● PR
● Issues
Meshery ● PR
● Issues
Layer-5 ● PR
Fanisko | 4
Table of Contents
● Name and Contact Information
● About Me
● Table of Contents
● Title
● Synopsis
● Project Plan
1. Import the 3D model into PlayCanvas
2. Use Three.js to create a texture
3. Use JavaScript to add interactivity to the portal
4. Optimization
● Project Timeline
● Future Deliverables
● Benefits to Community
● Why Me?
Title
3D portal view of Video/ 360 image
Synopsis
This project's main purpose is to launch or make a user view
something on a whole new level. The user will be instructed to enter
the portal in AR, and once Doing so, he will be presented with a
video streaming or 360 Degree picture. The initial screen is
equipped with the rich graphics of having the Digital portal in 3D
view. Upon entering it, the user will be presented with video
streaming material or a 360-degree image that they may rotate.
Fanisko | 5
Project Plan
PlayCanvas Setup: To begin this project, the first step is to set up a
new project in PlayCanvas. Next, import the 3D model and texture
maps into the project. The scene should be set up by positioning the
camera and lighting to achieve the desired look and feel.
.
Fanisko | 6
● Position and scale the portal model in the scene so that it is the
correct size and orientation. We can use the scene editor in
PlayCanvas to do this.
● Set up any materials or shaders that are needed for the portal
mesh. This can be done using the material editor in
PlayCanvas.
Threejs Integration
● Create a Three.js texture object using the video or 360-degree
image file. We can use the following code to create a texture
from a video:
const video = document.createElement('video');
video.src = 'video-url-here.mp4';
video.autoplay = true;
video.loop = true;
● Find the mesh of the portal object in the scene and set its
material to the one we just created:
const portalMesh =
scene.findByName('portal-mesh-name');
portalMesh.material = material;
Javascript Interactivity
hotspot.position.set(1, 0, 0);
scene.add(hotspot);
Optimization
Fanisko | 11
Project Timeline
Jun 10, 2023 - Jun 17, 2023 ● Work on the stretch goal.
● Extensive testing, catching
bugs, fixing them and
further improving the code
coverage.
Jun 18, 2023 - Jun 25, 2023 ● The final week has been
left free for completing any
remaining work (if any).
This provides sufficient
cushion for making sure
that the timeline is
followed. If everything gets
completed smoothly
before this period then this
will be utilized for
optimizing the backend.
Fanisko | 14
Future Deliverables
I intend to stay with the community after the XROS Fellowship and
will try to polish the UX of the 3D view. I’ll keep on contributing to
improve the features of Fanisko. It would give me immense pleasure
to be a part of the Fanisko community and improve the lives of those
who use the products of Fanisko.
Benefits to Community
The benefit to the community from this project is the enhancement
of user experience and engagement through the use of cutting-edge
technology like AR, video streaming, and 360-degree imagery. By
creating a 3D portal view of video/360 image users can immerse
themselves in a new level of interactive content that is both visually
stunning and engaging. This technology has the potential to be used
in a variety of fields, including gaming, education, and entertainment,
and can revolutionize the way we experience digital content.
Why Me?
I’m passionate about open source, and when I tried Fanisko for the
first time, I instantly fell in love with it. I know the required
technologies, and as I shared some of my accomplishments above,
I’ve hands-on working experience with all of those. My passion for
open source and never give up attitude when it comes to software
development sets me apart from others. I am excited about the
opportunity to work on this project and will work as hard as I have to
make this project a grand success.