Immersive Visual Effects Project 1
Immersive Visual Effects Project 1
19/4/2026 - 17/5/2026| Week 01 - Week 04
Long Bojiang / 0375362
Bachelor of Design (Honours) in Creative Media Immersive Visual Effect /
Taylor's University
Table of Content :
Instructions
Lecture
Project
Reflection
Instructions
Lecture
Week 1 Reflection
Starting this module made me realize that immersive design is not only about making things look good. It is about creating experiences that make people feel connected to a virtual environment. This changed the way I think about design.
VR and VFX
Before this class, I thought VR and VFX were almost the same. Now I understand that they have different roles. VR creates the virtual environment, while VFX adds visual effects and emotions that make the experience more engaging. Both are important for creating an immersive experience.
VFX and Storytelling
I learned that VFX is not only used to create attractive visuals. It also helps tell a story and create emotions. Every effect should have a purpose instead of only making the scene look impressive.
Presence
Another important concept is "presence," which means feeling like you are really inside the virtual world. Good immersive design requires the environment, interaction, and visual effects to work together. If one part does not match, the experience becomes less realistic.
Dreams and VR
I also found the comparison between VR and dreams interesting. Dreams are not always realistic, but they still feel real. This made me realize that immersive design is not only about copying reality, but also about creating meaningful experiences through imagination.
Tools and Assessment
This module introduces tools such as Gaussian Splatting, Blender, and Godot to create immersive experiences. The assessments include a project proposal and a final immersive project, so having a clear idea from the beginning will be helpful.
Conclusion
Overall, Week 1 gave me a better understanding of immersive design. I now see that it is not only about visual effects but also about creating experiences and emotions. I am looking forward to learning more throughout this module.
Week 2 Reflection
This week's lesson helped me understand that immersion and presence are not the same. Before this class, I thought they had similar meanings, but now I know they describe different parts of an immersive experience.
Immersion and Presence
I learned that immersion does not only happen in VR. Books, movies, and music can also make people feel deeply involved. VR is different because it combines visual, sound, and interaction to make users feel part of the experience.
Presence is the feeling of actually being inside a virtual environment. It is more difficult to achieve because the user needs to feel connected to the space instead of just looking at it.
Types of Presence
The lecture introduced three types of presence: spatial presence, social presence, and self-presence. Spatial presence is feeling like you are in a real place. Social presence is feeling that other people or characters are with you. Self-presence is feeling that you exist inside the virtual world. These ideas helped me understand how different elements work together to create a stronger immersive experience.
Designing for Presence
Another important point was that immersion and presence do not happen automatically. Designers need to carefully consider visuals, sound, interaction, and visual effects. Every design choice can improve or reduce the user's experience, so all elements should work together.
Personal Thoughts
I also liked the discussion about dreams and immersive design. Dreams feel real even though they are imaginary. This made me think that immersive design is not only about creating realistic environments but also about creating emotions and memorable experiences.
Conclusion
Overall, Week 2 gave me a better understanding of how immersive experiences are designed. I now know the difference between immersion and presence, and I understand why both are important when creating VR experiences. I hope to apply these ideas in my future project.
Week 3 Reflection
This week focused on storytelling in VR. I learned that telling a story in VR is very different from telling one in a film because users can choose where to look and how they explore the environment.
Storytelling in VR
In traditional films, the director controls what the audience sees. In VR, users have more freedom, so the story cannot rely on camera angles or editing. Instead, the environment itself becomes part of the story.
Environmental Narrative
One of the most interesting ideas this week was environmental narrative. Objects, lighting, sound, and the layout of the space can all help tell the story. Instead of directly showing everything, designers guide users to discover the story as they move through the environment.
We also learned a simple design process:
- Decide the experience you want users to have.
- Design the space to support the story.
- Use lighting, sound, and objects to guide the user's attention naturally.
Group Project
Our group recreated the **Leap of Faith** scene from *Spider-Man: Into the Spider-Verse* as a VR experience. Instead of watching Miles jump, the user becomes Miles and experiences the jump themselves.
We divided the experience into three parts:
- Preparation:Standing on the rooftop and feeling nervous before the jump.
- Falling:Experiencing the fall and reacting to obstacles.
- Mastery:Learning to swing through the city and landing safely.
This helped us show the emotional journey from fear to confidence through the environment.
Conclusion
Week 3 changed the way I think about storytelling in VR. I realized that the environment is not just a background—it is part of the story itself. Every design choice, such as lighting, sound, and space, can help create a more immersive and meaningful experience.
Week 4 Reflection
This week focused on how people experience VR through different senses. I learned that creating a realistic VR environment is not only about good graphics, but also about how our brain processes vision, sound, touch, and movement.
How We Perceive VR
One of the key ideas this week was that perception is created by the brain using different sensory information. In VR, if what we see does not match what our body feels, the immersive experience becomes less convincing.
Challenges in VR
I also learned that current VR technology still has some limitations. For example, the headset cannot fully match how our eyes naturally focus, which may cause eye strain or discomfort. Distance and object size can also feel different from the real world.
Sound and vibration help improve immersion, but they cannot completely replace real touch. This shows that creating a believable VR experience requires more than realistic visuals.
Cybersickness
Another important topic was cybersickness. It happens when the eyes see movement, but the body does not actually move. This difference can cause dizziness or nausea. I realized that making users feel comfortable is just as important as creating impressive visual effects.
Practical Activity
In class, we created a ripple distortion effect on a Gaussian Splat model using a custom shader in PlayCanvas. By changing the position of the Gaussian points during rendering, we were able to create a moving wave effect. This activity helped me understand how shaders can make a static scene feel more dynamic and immersive.
Conclusion
Overall, Week 4 helped me understand that immersive design depends on both technology and human perception. A successful VR experience is not only visually realistic but also comfortable and believable for the user. This knowledge will be useful when designing future VR projects.
Project
Gaussian Splat Glitch Effect
Once the scan was clean and imported into PlayCanvas, the next stage was choosing what kind of real-time effect to build on top of it. I decided early on that I wanted to go with a glitch / digital-distortion aesthetic — position jitter combined with RGB color tearing — rather than something like a smooth ripple or a soft particle dissolve. Part of the reasoning was practical: a glitch-style effect reads as strong and eye-catching very quickly, even in a short clip or a live demo, which matters when you're trying to make an impression. But there was also a conceptual reason — a glitch effect visually breaks the object's coherence for a moment, which felt like an interesting contrast to sit on top of something as recognizable and "solid" as a childhood toy.
How the Effect Works
The script is built around PlayCanvas's gsplat component and works by directly modifying the material's shader chunks at runtime, rather than relying on standard uniform updates (which don't behave reliably for this in the current engine version). Every time the effect is triggered, the script:
Calculates a random positional jitter on the X, Y, and Z axes and injects it into modifySplatCenter, so each splat point is nudged slightly off its original position.
Calculates a random RGB color offset and injects it into modifySplatColor, shifting the red, green, and blue channels independently so the model's surface briefly looks torn apart in color, similar to a corrupted video signal or bad analog transmission.
Re-generates and re-compiles this shader code repeatedly at a fixed refresh rate (rather than every single frame) during a short burst window — this was a deliberate choice, because updating every frame made the distortion look too smooth and "animated," while refreshing at a lower, fixed rate gave it a stuttering, broken-frame quality that reads much more like an actual glitch.
Applies a decay envelope over the burst duration, so the distortion is strongest right when it's triggered and fades back to the object's normal, undistorted state by the end — rather than cutting off abruptly.
The effect can be triggered on demand (bound to the spacebar for testing), which made it easy to demo live and compare different strength settings without needing to re-run the scene each time.
Adjustable Parameters
- Duration – how long each glitch burst lasts
- Jitter Amount – how far the splat points are displaced positionally
- Color Glitch Strength – how far the RGB channels are pushed apart
- Flicker Rate – how often the distortion refreshes per second during a burst
Reflection
Experience
Going into this project, I expected the technical part — actually getting the shader effect working — to be the hardest piece. In practice, the more frustrating part was earlier and much less glamorous: getting the scanning pipeline itself to work reliably across different operating systems, and making sure I had enough photo coverage of the pony toy that the reconstruction didn't come out with holes or smeared geometry. It was a good reminder that a lot of "immersive tech" work is really just patient, unglamorous data collection before anything creative can happen on top of it.
Once I got to the effect stage, choosing the glitch/color-tear direction felt like an easy decision at the time — mostly because it's visually punchy and demos well. Writing the script and tuning the parameters against each other — jitter amount, color glitch strength, flicker rate, duration — turned into its own small process of trial and error. Nothing about it was dramatic, but it was the first time in the module I was actually shaping how an effect felt, rather than just following a set of instructions.
Observation
Looking back at the two stages of this project — the scanning and the effect — the thing that stands out most is how much the "boring" technical groundwork determines whether the creative part is even possible. The cross-platform app issues in the earlier weeks and the photo-coverage problem with the pony toy weren't separate from the final effect; they were the foundation it sat on. If the scan itself had gaps or bad geometry, no amount of shader work on top would have fixed it. That's a fairly obvious point in hindsight, but it wasn't obvious to me going in — I assumed the "real" work started once the model was already in the editor.
The second thing I noticed is that a glitch effect is, by definition, a moment where the object stops looking coherent — position wobbles, color fractures — and then settles back. That's a strange thing to apply to an object like a childhood toy, which is normally about as stable and reassuring an image as you can pick. I didn't set out with a deep conceptual intention when I chose the object and the effect, but looking at the two together afterward, there's an interesting tension in it: something familiar and comforting being deliberately destabilized for a few seconds before it resolves back to normal.
Findings
The most concrete, specific thing I found while building this effect is how much the timing of an effect changes what it communicates, independent of the underlying math. Updating the shader every frame versus updating it at a fixed, lower refresh rate used almost the same code, but produced completely different readings — one smooth and animated, one broken and stuttering. That's a small, specific lesson, but it's one I'll probably carry into other effects work: how often something updates is its own creative decision, not just a performance setting.
A second finding was in how the two parameters interact rather than act independently. High jitter with a low flicker rate reads as something physically breaking apart; strong color glitch with low jitter and a high flicker rate reads more like a corrupted video feed with almost no physical movement. Neither is more "correct" — they're just different flavors of instability, and that only became obvious once I could compare them side by side rather than tuning one setting at a time in isolation.
Comments
Post a Comment