<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>3D Interactions | Tiffany Luong</title><link>https://tiffanyluong.github.io/tags/3d-interactions/</link><atom:link href="https://tiffanyluong.github.io/tags/3d-interactions/index.xml" rel="self" type="application/rss+xml"/><description>3D Interactions</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Mon, 09 Oct 2023 00:00:00 +0000</lastBuildDate><image><url>https://tiffanyluong.github.io/media/icon_hu8851426705802967028.png</url><title>3D Interactions</title><link>https://tiffanyluong.github.io/tags/3d-interactions/</link></image><item><title>Controllers or Bare Hands? A Controlled Evaluation of Input Techniques on Interaction Performance and Exertion in Virtual Reality</title><link>https://tiffanyluong.github.io/publication/controllers-or-bare-hands/</link><pubDate>Mon, 09 Oct 2023 00:00:00 +0000</pubDate><guid>https://tiffanyluong.github.io/publication/controllers-or-bare-hands/</guid><description/></item><item><title>InfinitePaint: Painting in Virtual Reality with Passive Haptics Using Wet Brushes and a Physical Proxy Canvas</title><link>https://tiffanyluong.github.io/publication/infinitepaint/</link><pubDate>Wed, 26 Apr 2023 00:00:00 +0000</pubDate><guid>https://tiffanyluong.github.io/publication/infinitepaint/</guid><description/></item><item><title>VR Grand Piano</title><link>https://tiffanyluong.github.io/project/grandpianovr/</link><pubDate>Fri, 03 Mar 2023 00:00:00 +0000</pubDate><guid>https://tiffanyluong.github.io/project/grandpianovr/</guid><description>&lt;p>I created a virtual grand piano on 3ds Max and integrated it into Unity to use it with my MIDI keyboard, allowing me to play music on a grand piano from anywhere. Inspired by the stunning anime &amp;lsquo;Shigatsu wa Kimi no Uso&amp;rsquo; (English name: &amp;lsquo;Your Lie in April&amp;rsquo;), I designed a virtual environment to immerse myself in while playing.&lt;/p>
&lt;p>The goal is to integrate this project with VR and/or MR.&lt;/p>
&lt;p>Currently a work-in-progress, I plan to add real-time changes to the environment and particles based on the music being played.&lt;/p>
&lt;p>Special thanks to Alexandre for his invaluable help!&lt;/p>
&lt;p>You can check out some videos, screenshots and rendering for now.&lt;/p>
&lt;p>A video of the piano animation when playing this [midi file]
(&lt;a href="https://onlinesequencer.net/2285176%29" target="_blank" rel="noopener">https://onlinesequencer.net/2285176)&lt;/a>:&lt;/p>
&lt;video controls >
&lt;source src="https://tiffanyluong.github.io/project/grandpianovr/mariage-damour-20230305.mp4" type="video/mp4">
&lt;/video>
&lt;p>The cherry blossom petal particles and water ripple shader by Alexandre:&lt;/p>
&lt;video autoplay loop >
&lt;source src="https://tiffanyluong.github.io/project/grandpianovr/cherryblossomshort.webm" type="video/webm">
&lt;/video>
&lt;p>Screenshots:&lt;/p>
&lt;ul class="image-gallery">
&lt;li>
&lt;a href="https://tiffanyluong.github.io/media/album/grandpianovr/Screenshot_2023-03-05_02-03-31_1920x1080.png"
data-fancybox="gallery">
&lt;img src="https://tiffanyluong.github.io/media/album/grandpianovr/Screenshot_2023-03-05_02-03-31_1920x1080_hu14516809435692569415.png" alt="Screenshot_2023-03-05_02-03-31_1920x1080" />
&lt;/a>
&lt;/li>
&lt;li>
&lt;a href="https://tiffanyluong.github.io/media/album/grandpianovr/Screenshot_2023-03-05_02-04-11_1920x1080.png"
data-fancybox="gallery">
&lt;img src="https://tiffanyluong.github.io/media/album/grandpianovr/Screenshot_2023-03-05_02-04-11_1920x1080_hu6008119240139010947.png" alt="Screenshot_2023-03-05_02-04-11_1920x1080" />
&lt;/a>
&lt;/li>
&lt;li>
&lt;a href="https://tiffanyluong.github.io/media/album/grandpianovr/Screenshot_2023-03-05_16-13-04_1920x1080.png"
data-fancybox="gallery">
&lt;img src="https://tiffanyluong.github.io/media/album/grandpianovr/Screenshot_2023-03-05_16-13-04_1920x1080_hu9498614327238632950.png" alt="Screenshot_2023-03-05_16-13-04_1920x1080" />
&lt;/a>
&lt;/li>
&lt;li>
&lt;a href="https://tiffanyluong.github.io/media/album/grandpianovr/piano7_2.png"
data-fancybox="gallery">
&lt;img src="https://tiffanyluong.github.io/media/album/grandpianovr/piano7_2_hu13769215236014516210.png" alt="piano7_2" />
&lt;/a>
&lt;/li>
&lt;li>
&lt;a href="https://tiffanyluong.github.io/media/album/grandpianovr/screenshot_2023-03-01_01-17-40_1920x1080.png"
data-fancybox="gallery">
&lt;img src="https://tiffanyluong.github.io/media/album/grandpianovr/screenshot_2023-03-01_01-17-40_1920x1080_hu6890398025378758905.png" alt="screenshot_2023-03-01_01-17-40_1920x1080" />
&lt;/a>
&lt;/li>
&lt;li>
&lt;a href="https://tiffanyluong.github.io/media/album/grandpianovr/screenshot_2023-03-01_01-17-46_1920x1080.png"
data-fancybox="gallery">
&lt;img src="https://tiffanyluong.github.io/media/album/grandpianovr/screenshot_2023-03-01_01-17-46_1920x1080_hu11247438035976903046.png" alt="screenshot_2023-03-01_01-17-46_1920x1080" />
&lt;/a>
&lt;/li>
&lt;li>
&lt;a href="https://tiffanyluong.github.io/media/album/grandpianovr/screenshot_2023-03-01_01-18-34_1920x1080.png"
data-fancybox="gallery">
&lt;img src="https://tiffanyluong.github.io/media/album/grandpianovr/screenshot_2023-03-01_01-18-34_1920x1080_hu9695854941478025385.png" alt="screenshot_2023-03-01_01-18-34_1920x1080" />
&lt;/a>
&lt;/li>
&lt;li>
&lt;a href="https://tiffanyluong.github.io/media/album/grandpianovr/screenshot_2023-03-01_01-30-26_1920x1080.png"
data-fancybox="gallery">
&lt;img src="https://tiffanyluong.github.io/media/album/grandpianovr/screenshot_2023-03-01_01-30-26_1920x1080_hu4233965812223930347.png" alt="screenshot_2023-03-01_01-30-26_1920x1080" />
&lt;/a>
&lt;/li>
&lt;li>
&lt;a href="https://tiffanyluong.github.io/media/album/grandpianovr/screenshot_2023-03-01_01-30-33_1920x1080.png"
data-fancybox="gallery">
&lt;img src="https://tiffanyluong.github.io/media/album/grandpianovr/screenshot_2023-03-01_01-30-33_1920x1080_hu14615237827315390079.png" alt="screenshot_2023-03-01_01-30-33_1920x1080" />
&lt;/a>
&lt;/li>
&lt;li>
&lt;a href="https://tiffanyluong.github.io/media/album/grandpianovr/screenshot_2023-03-01_01-35-13_1920x1080.png"
data-fancybox="gallery">
&lt;img src="https://tiffanyluong.github.io/media/album/grandpianovr/screenshot_2023-03-01_01-35-13_1920x1080_hu5884218075459039510.png" alt="screenshot_2023-03-01_01-35-13_1920x1080" />
&lt;/a>
&lt;/li>
&lt;li>
&lt;a href="https://tiffanyluong.github.io/media/album/grandpianovr/screenshot_2023-03-01_01-35-49_1920x1080.png"
data-fancybox="gallery">
&lt;img src="https://tiffanyluong.github.io/media/album/grandpianovr/screenshot_2023-03-01_01-35-49_1920x1080_hu17628928474017833060.png" alt="screenshot_2023-03-01_01-35-49_1920x1080" />
&lt;/a>
&lt;/li>
&lt;li>
&lt;a href="https://tiffanyluong.github.io/media/album/grandpianovr/screenshot_piano_night1.png"
data-fancybox="gallery">
&lt;img src="https://tiffanyluong.github.io/media/album/grandpianovr/screenshot_piano_night1_hu16995242864436805796.png" alt="screenshot_piano_night1" />
&lt;/a>
&lt;/li>
&lt;li>
&lt;a href="https://tiffanyluong.github.io/media/album/grandpianovr/screenshot_piano_night2.png"
data-fancybox="gallery">
&lt;img src="https://tiffanyluong.github.io/media/album/grandpianovr/screenshot_piano_night2_hu14794828594613853430.png" alt="screenshot_piano_night2" />
&lt;/a>
&lt;/li>
&lt;/ul>
&lt;style>
.image-gallery {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
column-gap: 0.25rem;
row-gap: 0.25rem;
line-height: 0;
list-style: none;
padding: 0;
margin: 0;
}
.image-gallery li {
margin: 0;
padding: 0;
line-height: 0;
overflow: hidden;
position: relative;
}
.image-gallery a {
display: block;
margin: 0;
padding: 0;
line-height: 0;
}
.image-gallery img {
width: 100%;
height: 150px;
object-fit: cover;
transition: transform 0.3s ease;
display: block;
margin: 0;
}
.image-gallery a::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.3);
transition: background 0.3s ease;
z-index: 1;
}
.image-gallery a:hover::before {
background: rgba(0, 0, 0, 0);
}
.image-gallery a:hover img {
transform: scale(1.1);
}
&lt;/style>
&lt;link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0/dist/fancybox/fancybox.css"/>
&lt;script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0/dist/fancybox/fancybox.umd.js">&lt;/script>
&lt;script>
Fancybox.bind("[data-fancybox]", {
showClass: "f-fadeIn"
});
&lt;/script></description></item><item><title>ComforTable User Interfaces: Surfaces Reduce Input Error, Time, and Exertion for Tabletop and Mid-air User Interfaces</title><link>https://tiffanyluong.github.io/publication/comfortable-user-interfaces/</link><pubDate>Mon, 17 Oct 2022 00:00:00 +0000</pubDate><guid>https://tiffanyluong.github.io/publication/comfortable-user-interfaces/</guid><description/></item><item><title>3Dexterity: Finding Your Place in a 3-Armed World</title><link>https://tiffanyluong.github.io/publication/3dexterity-finding-your-place-in-a-3-armed-world/</link><pubDate>Fri, 06 Mar 2020 00:00:00 +0000</pubDate><guid>https://tiffanyluong.github.io/publication/3dexterity-finding-your-place-in-a-3-armed-world/</guid><description/></item><item><title>Pyramid Escape: Design of Novel Passive Haptics Interactions for an Immersive and Modular Scenario</title><link>https://tiffanyluong.github.io/publication/pyramid-escape-design-of-novel-passive-haptics-interactions-for-an-immersive-and-modular-scenario/</link><pubDate>Wed, 06 Mar 2019 00:00:00 +0000</pubDate><guid>https://tiffanyluong.github.io/publication/pyramid-escape-design-of-novel-passive-haptics-interactions-for-an-immersive-and-modular-scenario/</guid><description/></item><item><title>Toward Intuitive 3D User Interfaces for Climbing, Flying and Stacking</title><link>https://tiffanyluong.github.io/publication/toward-intuitive-3d-user-interfaces-for-climbing-flying-and-stacking/</link><pubDate>Tue, 06 Mar 2018 00:00:00 +0000</pubDate><guid>https://tiffanyluong.github.io/publication/toward-intuitive-3d-user-interfaces-for-climbing-flying-and-stacking/</guid><description/></item><item><title>The Labyrinth of Harry Potter and the Goblet of Fire</title><link>https://tiffanyluong.github.io/project/hplabyrinth/</link><pubDate>Fri, 05 May 2017 00:00:00 +0000</pubDate><guid>https://tiffanyluong.github.io/project/hplabyrinth/</guid><description>&lt;p>Our team developed an immersive VR application based on Harry Potter and the Goblet of Fire, where users must navigate a labyrinth to find the Goblet.
The app was developped in the context of a &lt;strong>4-day VR/MR hackaton&lt;/strong> organized by &lt;strong>Inria Rennes&lt;/strong> on the theme “cinema” and won the &lt;strong>first prize&lt;/strong>.&lt;/p>
&lt;p>In this magical world, users are equipped with a wand and can cast spells by making the correct gestures. Lumos allows them to use their wand as a flashlight, Wingardium Leviosa to levitate objects, Alohomora to open doors, and Patronus to defend against Dementors.&lt;/p>
&lt;p>To enhance users&amp;rsquo; sense of presence in the virtual environment, we employed impossible spaces techniques (as described in Yu et al.&amp;rsquo;s Bookshelf and Bird&amp;rsquo;s &lt;a href="https://doi.org/10.1109/3DUI.2017.7893327" target="_blank" rel="noopener">paper&lt;/a>) to create a seamless and natural walking experience.&lt;/p>
&lt;p>To further immerse users in the wizarding world, we incorporated various stressors, such as fog, spiders, and dementors, to create a more engaging experience.&lt;/p>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/1Im2j-piYVU?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"
>&lt;/iframe>
&lt;/div></description></item></channel></rss>