<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Experiments | Dencho</title><link>https://www.dencho.dev/projects/experiments/</link><atom:link href="https://www.dencho.dev/projects/experiments/index.xml" rel="self" type="application/rss+xml"/><description>Experiments</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><image><url>https://www.dencho.dev/media/icon_hu1b14c2ed69a2f89c06f5de8cc0bd5fd1_301795_512x512_fill_lanczos_center_3.png</url><title>Experiments</title><link>https://www.dencho.dev/projects/experiments/</link></image><item><title>VFX Practice [07]</title><link>https://www.dencho.dev/projects/experiments/2022/vfxpractice07/</link><pubDate>Fri, 10 Feb 2023 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2022/vfxpractice07/</guid><description>&lt;p>A small experiment to create a reactive shadergraph with exposed properties that a custom controller can use to make the shader react to the beat of an audio clip.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice07/XRLog_2021_768.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>And a VFXGraph that controls particles to move along an array of world points over time. In this case I calculated a Hexagons orientation and size from a cells center position, then fed each corner to the VFXGraph via my custom tool.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice07/XRLog_2022_879.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>Physics Based Procedural Animations [02]</title><link>https://www.dencho.dev/projects/experiments/2022/physicsbasedproceduralanimations02/</link><pubDate>Wed, 16 Nov 2022 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2022/physicsbasedproceduralanimations02/</guid><description>&lt;p>Calibrating the muscle joints on big Boss Character.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/PhysicsBasedProceduralAnimations02/XRLog_2022_917.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>This character is for a physics based combat system I cant exactly talk about due to an NDA.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/PhysicsBasedProceduralAnimations02/XRLog_2022_911.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>For calibration and debugging physics I setup quick disposable testbed logic that might look pretty weird out of context.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/PhysicsBasedProceduralAnimations02/XRLog_2022_913.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>When done right, this guy will struggle to move objects with heavier mass than others. This is what it looks like when moving all objects with the same mass.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/PhysicsBasedProceduralAnimations02/XRLog_2022_917.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>And this is why we calibrate.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/PhysicsBasedProceduralAnimations02/XRLog_2022_939.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>Terrain Practice [01]</title><link>https://www.dencho.dev/projects/experiments/2022/terrainpractice01/</link><pubDate>Fri, 11 Nov 2022 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2022/terrainpractice01/</guid><description>&lt;p>Frustum Culling is a technique used in computer graphics to improve rendering performance by discarding objects that lie outside the viewing frustum.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/TerrainPractice01/XRLog_2022_905.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Frustum culling is a powerful optimization technique that balances computational cost with rendering efficiency. This is also a technique used in popular AAA titles like CyberPunk and Zero Dawn Horizon.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/TerrainPractice01/XRLog_2022_907.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>Terrain Practice [02]</title><link>https://www.dencho.dev/projects/experiments/2022/terrainpractice02/</link><pubDate>Fri, 11 Nov 2022 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2022/terrainpractice02/</guid><description>&lt;p>Frustum Culling is a technique used in computer graphics to improve rendering performance by discarding objects that lie outside the viewing frustum.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/TerrainPractice01/XRLog_2022_905.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Frustum culling is a powerful optimization technique that balances computational cost with rendering efficiency. This is also a technique used in popular AAA titles like CyberPunk and Zero Dawn Horizon.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/TerrainPractice01/XRLog_2022_907.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>XR Player Controller [05]</title><link>https://www.dencho.dev/projects/experiments/2021/xrplayercontroller05/</link><pubDate>Sat, 15 May 2021 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2021/xrplayercontroller05/</guid><description>&lt;p>Refining one of the first Prototypes to exist (in 2020) to contain a full body avatar and finger tracking.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController05/XRLog_2021_838.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;h2 id="devices-tested">Devices tested:&lt;/h2>
&lt;ul>
&lt;li>Oculus Quest 1/2&lt;/li>
&lt;li>Pico 2/3&lt;/li>
&lt;/ul>
&lt;!-- Technologies Used -->
&lt;h2 id="technologies-used">Technologies used:&lt;/h2>
&lt;ul>
&lt;li>VRoid SDK (Avatars)&lt;/li>
&lt;li>ReadyPlayerMe SDK (Avatars)&lt;/li>
&lt;li>OculusVR SDK&lt;/li>
&lt;li>UnityXR SDK&lt;/li>
&lt;li>PicoVR SDK&lt;/li>
&lt;/ul>
&lt;p>First thing I did this round, was fail hard at using Mechanim Animator to handle my Hand Posing. Turns out its just easier and more performant to man handle hand posing with pure C#.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController05/XRLog_2021_729.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Semi working legs. Check.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController05/XRLog_2021_823.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>You know I had to make sure everything worked with physics. Just incase.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController05/XRLog_2021_828.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController05/XRLog_2021_830.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController05/XRLog_2021_849.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;h2 id="skeletal-mesh-orientation-mismatch-smom">Skeletal Mesh Orientation Mismatch (S.M.O.M.)&lt;/h2>
&lt;p>S.M.O.M. happens when one mesh skeletal bone structure has incompatible orientations with another set of bones, leading to misalignment when trying to animate or manipulate them consistently.&lt;/p>
&lt;p>You can expect to run into SMOM when using ReadyPlayerMe avatars for a full body rig.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController05/XRLog_2021_832.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>However, SMOM is easily defeated with the use of my custom Hand Mapper.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController05/XRLog_2021_840.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>The results, a full body XR controller that dynamically switches between hand and controller tracking. Not something you see often in 2021.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController05/XRLog_2021_836.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController05/XRLog_2021_838.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>And a simple voice plugin test to move the avatars facial blendshapes.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController05/XRLog_2021_842.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>During development, this gave me nightmares.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController05/XRLog_2021_844.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>AI Mob Controller [05]</title><link>https://www.dencho.dev/projects/experiments/2021/aimobcontroller05/</link><pubDate>Mon, 10 May 2021 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2021/aimobcontroller05/</guid><description>&lt;p>This experiments goal was to iterate on my previous AI Controllers and refine the locomotion and procedural animations.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController05/XRLog_2021_802.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>I spent a good amount of focus on the making sure procedural animations work with physics.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController05/XRLog_2021_796.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController05/XRLog_2021_798.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController05/XRLog_2021_800.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>The result allowed me to play an animation, and have physics forces affect it in a nice good lerpy way.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController05/XRLog_2021_800.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Next I applied the same system to another nonstandard skeleton.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController05/XRLog_2021_811.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController05/XRLog_2021_813.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController05/XRLog_2021_817.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController05/XRLog_2021_819.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController05/XRLog_2021_821.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>Dynamic Collider System</title><link>https://www.dencho.dev/projects/experiments/2021/dynamiccollidersystem/</link><pubDate>Wed, 05 May 2021 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2021/dynamiccollidersystem/</guid><description>&lt;p>Colliders that transform with Physics.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/DynamicColliderSystem/XRLog_2021_764.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>The goal of this system was to make hit events more generous relative to the movement of the rigidbody attached to the HurtBox.&lt;/p>
&lt;p>To start I made some gizmos that show the thresholds of the dynamic settings you set in the component.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/DynamicColliderSystem/XRLog_2021_762.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>This basically works as a Melee auto aim for a XR perspective. If the player thrusts a knife forward sometime VR depth can take getting used to, this makes it easier for players to hit something that might be a few inches father then perceived.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/DynamicColliderSystem/XRLog_2021_766.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>It actually works out pretty well, and I wrote it to be well performant. Just attach to a meshs child collider (box type) that has a rigidbody.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/DynamicColliderSystem/XRLog_2021_764.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>XR Bridge System</title><link>https://www.dencho.dev/projects/experiments/2021/xrbridgesystem/</link><pubDate>Thu, 15 Apr 2021 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2021/xrbridgesystem/</guid><description>&lt;p>The goal of this experiment was to create a procedural dynamic map out of bridges and hub nodes of my own design.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRBridgeSystem/XRLog_2021_790.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>One problem I encountered was during the Spawning/Despawning of the bridges, framerate would drop on the Quest1 due to performance issues with colliders moving over time. This meant I could only make bridges so long before frames would skip.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRBridgeSystem/XRLog_2021_792.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>It worked well in theory but, in practice it's not that feasible on a low powered device like the Quest1.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRBridgeSystem/XRLog_2021_850.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>XR Magic System</title><link>https://www.dencho.dev/projects/experiments/2021/xrmagicsystem/</link><pubDate>Thu, 15 Apr 2021 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2021/xrmagicsystem/</guid><description>&lt;p>I wanted a modular magic system that works with physics based grabbables.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRMagicSystem/XRLog_2021_741.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>So I made one, it has public methods that allow the user (mob or player) to charge mana into the magic spell that is being cast at the time of input.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRMagicSystem/XRLog_2021_739.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Once I got spawning pretty good, I added Telekinesis control, after a grabbable is spawned it will track the users appendage until mana is no longer being channeled into the spell.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRMagicSystem/XRLog_2021_741.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>I have no idea why I started making this, it just seemed fun. I hope to iterate upon it in the future.&lt;/p></description></item><item><title>AI Mob Controller [04]</title><link>https://www.dencho.dev/projects/experiments/2021/aimobcontroller04/</link><pubDate>Sat, 10 Apr 2021 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2021/aimobcontroller04/</guid><description>&lt;p>This experiments goal was to iterate on my previous AI Controllers and refine the combat system.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController04/XRLog_2021_771.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>I worked more on the combat skill pathing. It is now more dynamic while still using a physics PID controller to move the rigidbody via forces in additive manner.&lt;/p>
&lt;p>Both of these mobs use the same combat system, but one is tweaked to have a shorter travel path, with drag/angulardrag over time (set by a curve and multiplier) which allows me to create something like a bulletTime attack but in realtime.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController04/XRLog_2021_779.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>This kind of system allows other physics objects to alter the pathing trajectory of the mob even while the skill is running.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController04/XRLog_2021_771.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Even works with drone like locomotion.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController04/XRLog_2021_804.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>Discord RPC</title><link>https://www.dencho.dev/projects/experiments/2021/discordrpc/</link><pubDate>Mon, 05 Apr 2021 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2021/discordrpc/</guid><description>&lt;p>Custom Discord Plugin for Unity.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/DiscordRPC/XRLog_2021_727.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>A client requested integration with the Discord API, at the time there was no official Discord SDK in C#, I endedup using a Discord API C# wrapper I found on GitHub.&lt;/p>
&lt;p>Its just a simple plugin you can import, that hooks into a running discord client and shows a custom activity based on a scriptableObject config you can setup. It works in the Editor and during runtime and can be extended on to use analytical funnels.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/DiscordRPC/XRLog_2021_733.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>Fun With Gizmos And Math</title><link>https://www.dencho.dev/projects/experiments/2021/funwithgizmosandmath/</link><pubDate>Thu, 18 Mar 2021 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2021/funwithgizmosandmath/</guid><description>&lt;p>I create alot of small gizmos extensions, some of which for no reason and for fun.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/FunWithGizmosAndMath/XRLog_2021_816.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>This was for debugging AI and Player Input Intent direction and overlaying angle thresholds to visualize the logic state during runtime.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/FunWithGizmosAndMath/XRLog_2022_915.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Look familiar?&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/FunWithGizmosAndMath/XRLog_2022_927.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>VFX Practice [06]</title><link>https://www.dencho.dev/projects/experiments/2021/vfxpractice06/</link><pubDate>Wed, 10 Mar 2021 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2021/vfxpractice06/</guid><description>&lt;p>More VFX practice so that I might one day be able to make a decent looking kamehameha.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice06/XRLog_2021_711.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice06/XRLog_2021_713.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>I made a custom Particle Effector that works with VFXGraph to control where the particles go in realtime.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice06/XRLog_2021_719.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice06/XRLog_2021_721.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>And a laser, cause why not?&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice06/XRLog_2021_731.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>AI Mob Controller [03]</title><link>https://www.dencho.dev/projects/experiments/2021/aimobcontroller03/</link><pubDate>Wed, 10 Feb 2021 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2021/aimobcontroller03/</guid><description>&lt;p>This experiments goal was to iterate on my previous AI Controllers and refine the spawning and path finding algorithms.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController03/XRLog_2021_696.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>The models were provided by free assets on the Unity Asset Store.&lt;/p>
&lt;p>Created a Waypoint system that only allows one mob at a time to navigate to the point, the mobs automatically seek out point in a waypoint path that doesn't have its source/target points queued by another mob.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController03/XRLog_2021_688.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController03/XRLog_2021_709.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Testing out Ragdolling system for a nonstandart mesh rig.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController03/XRLog_2021_725.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>A Combat system that animated the Rigidbody with a Physics PID Controller to traverse a dynamic generated path, with adjustable curves/properties to change up how it ride the attack path.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController03/XRLog_2021_696.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>AI Mob Controller [02]</title><link>https://www.dencho.dev/projects/experiments/2021/aimobcontroller02/</link><pubDate>Sun, 10 Jan 2021 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2021/aimobcontroller02/</guid><description>&lt;p>This experiment is mainly focused on ground based AI designed to work with a XR Player Controller.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController02/XRLog_2021_641.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>First I wrote my own PID controller to control a Rigidbody via physics to match a point in world space with gravity accounted for.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController02/XRLog_2021_643.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController02/XRLog_2021_645.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController02/XRLog_2021_653.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Combat Testing. Just going to throw a rock at it.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController02/XRLog_2021_636.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController02/XRLog_2021_641.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Stress-testing spawn mechanics.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController02/XRLog_2020_612.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController02/XRLog_2021_630.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>GameJam [01]</title><link>https://www.dencho.dev/projects/experiments/2020/gamejam01/</link><pubDate>Fri, 12 Jun 2020 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2020/gamejam01/</guid><description>&lt;p>This GameJams theme was the exploration of destructible objects using magic.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/GameJam01/XRLog_2020_279.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>The first goal was to code out a Telekinesis framework that uses a signle input to lift and throw physics bodies&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/GameJam01/XRLog_2020_234.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/GameJam01/XRLog_2020_237.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Next was to make the same TK system affect structures connected by configurable joints.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/GameJam01/XRLog_2020_240.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/GameJam01/XRLog_2020_243.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/GameJam01/XRLog_2020_260.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Next I wrote a tool to automagically detect child rigidbodies and attach recursive connecting configurable joints to each parent/child combo according to a configuration set before runtime. Pain to write, but satisfying to test.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/GameJam01/XRLog_2020_263.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/GameJam01/XRLog_2020_269.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/GameJam01/XRLog_2020_272.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Next came alternate TK abilities and properties to achieve different features from the same framework.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/GameJam01/XRLog_2020_279.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/GameJam01/XRLog_2020_282.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/GameJam01/XRLog_2020_285.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/GameJam01/XRLog_2020_288.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/GameJam01/XRLog_2020_291.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Sadly we ran out of time, I learned in the future to make sure to work with a more capable team.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/GameJam01/XRLog_2020_294.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>VFX Practice [05]</title><link>https://www.dencho.dev/projects/experiments/2020/vfxpractice05/</link><pubDate>Wed, 13 May 2020 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2020/vfxpractice05/</guid><description>&lt;p>Rhythm based VFX, A simple test of animating VFX components to the beat, volume, and onset of an analyzed audio clip.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice05/XRLog_2020_500.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Turns out everything works which means I can make a rhythm game now.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice05/XRLog_2020_521.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice05/XRLog_2020_524.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Next I'll try making this work with VFXGraph and ShaderGraph.&lt;/p></description></item><item><title>Physics Based Exo-Skeleton Arms</title><link>https://www.dencho.dev/projects/experiments/2020/physicsbasedexoskeletonarms/</link><pubDate>Tue, 28 Apr 2020 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2020/physicsbasedexoskeletonarms/</guid><description>&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/PhysicsBasedExoSkeletonArms/XRLog_2020_001.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>I believe VR can be a cheap and effective way to test out ideas. On day I wondered how fun it would be to give the user giant Exo Arms.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media1" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/PhysicsBasedExoSkeletonArms/XRLog_2020_005.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>This crude prototype gave me decent understanding one how it would feel for one arm anyway.&lt;/p></description></item><item><title>XR Chemistry Framework</title><link>https://www.dencho.dev/projects/experiments/2020/xrchemistryframework/</link><pubDate>Sat, 18 Apr 2020 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2020/xrchemistryframework/</guid><description>&lt;p>I was contacted and contracted out by a School District Manager looking for ways to Adapt XR as a means for kids to learn remotely in a more immersive way.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media1" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRChemistryFramework/XRLog_2020_400.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>The things I can show from this project are limited due to an NDA&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRChemistryFramework/XRLog_2020_391.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>The main goal of this prototype was to create a UI capable of spawning Chemistry related instances of Molecule models and allow interaction with them for lecturing purposes in a Teacher to Student relationship.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media1" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRChemistryFramework/XRLog_2020_394.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>As the project was already 12 months into development at the time I joined, I had to work well with the existing team to know where to put my code and to make sure there were no conflicts with existing UX components&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRChemistryFramework/XRLog_2020_397.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Prototyping a way you can move molecules with hand tracking, even under low lighting.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRChemistryFramework/XRLog_2020_559.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>The idea was that if a hand pinches near the center of a molecule group, the molecule with use the relative index finger as a Anchor with a Kinematic PID controller handling the positioning.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRChemistryFramework/XRLog_2020_563.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>First I start with a Transform Marker in the form of a filling sprite, that acts as the target position for the molecule.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRChemistryFramework/XRLog_2020_570.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Now just a simple controller that takes account of the distance between the current and target points. Its always fun to see how well I can write something the first time.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRChemistryFramework/XRLog_2020_573.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRChemistryFramework/XRLog_2020_576.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Adding a Highlight to show when a molecule is a valid target to grab.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRChemistryFramework/XRLog_2020_596.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Then I made similar control method for orientation&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRChemistryFramework/XRLog_2020_599.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRChemistryFramework/XRLog_2020_602.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>The UX needs to be cleaned up a bit, but all in all it was a success.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRChemistryFramework/XRLog_2020_605.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>VFX Practice [04]</title><link>https://www.dencho.dev/projects/experiments/2020/vfxpractice04/</link><pubDate>Mon, 13 Apr 2020 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2020/vfxpractice04/</guid><description>&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice04/XRLog_2020_164.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>This was made using ShaderGraph for Unity and some C# elbow grease.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice04/XRLog_2020_167.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice04/XRLog_2020_170.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice04/XRLog_2020_174.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice04/XRLog_2020_158.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice04/XRLog_2020_177.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>XR Player Controller [04]</title><link>https://www.dencho.dev/projects/experiments/2020/xrplayercontroller04/</link><pubDate>Fri, 10 Apr 2020 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2020/xrplayercontroller04/</guid><description>&lt;p>Refining one of the first Prototypes to exist (in 2020) to contain a full body avatar and finger tracking.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController04/XRLog_2020_340.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;h2 id="devices-tested">Devices tested:&lt;/h2>
&lt;ul>
&lt;li>Oculus CV1&lt;/li>
&lt;li>Oculus Quest 1&lt;/li>
&lt;/ul>
&lt;!-- Technologies Used -->
&lt;h2 id="technologies-used">Technologies used:&lt;/h2>
&lt;ul>
&lt;li>VRoid SDK (Avatars)&lt;/li>
&lt;li>OculusVR SDK&lt;/li>
&lt;li>UnityXR SDK&lt;/li>
&lt;/ul>
&lt;p>I was one of the first developers in the industry to achieve fullbody avatars working with finger tracking. Once you get past the hurdle of different bone orientations the rest is pretty simple, I was just a dev with just enough free time to actually do it.&lt;/p>
&lt;h2 id="skeletal-mesh-orientation-mismatch-smom">Skeletal Mesh Orientation Mismatch (S.M.O.M.)&lt;/h2>
&lt;p>S.M.O.M. happens when one mesh skeletal bone structure has incompatible orientations with another set of bones, leading to misalignment when trying to animate or manipulate them consistently. I am no longer afraid of SMOM and I am going to use one of the most common Avatars available to developers, Unity-Chan&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController04/XRLog_2020_337.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Using this formula here I was able to avoid this issue, however the custom tool I made requires a basic understanding of how Quaternions work.&lt;/p>
&lt;!--TODO: Show Math Formula and Code Snippet here-->
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController04/XRLog_2020_340.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Testing UI Ray Pointers with Finger Tracking.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController04/XRLog_2020_349.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController04/XRLog_2020_353.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController04/XRLog_2020_356.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController04/XRLog_2020_359.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController04/XRLog_2020_362.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>I wrote an algorithm that tracks and predicts the tracked hands position and velocity. My goal was to Handle the case of when Hands overlap causing hand tracking to be lost due to occlusion. This algorithm understands when the Hands become occluded and attempts to predict and move the hands relative to their original trajectory at the time of occlusion.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController04/XRLog_2020_367.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>You can see that since I am simply lerping the predicted target IK position of each hand, there is no teleporting going on when hand tracking resumes from being occluded.&lt;/p>
&lt;p>When Hand tracking quality becomes low, mapping of the fingers halt and then blend to the target orientations once tracking quality is high again.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController04/XRLog_2020_370.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Testing relations with Physics based Grabbables when a Button magically resets an objects transform.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController04/XRLog_2020_373.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>When this Physics button is pressed the Cubes Reset.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController04/XRLog_2020_376.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController04/XRLog_2020_379.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Nothing much to take from this other than knowing the rigidbody wont explode the Players rigidbody in some way.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController04/XRLog_2020_382.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController04/XRLog_2020_385.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController04/XRLog_2020_388.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>There were a few setup issues with the relative Rig height. Nothing I can't handle.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController04/XRLog_2020_343.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController04/XRLog_2020_346.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>Physics Based Exo-Skeleton Arms</title><link>https://www.dencho.dev/projects/experiments/2020/physicsbasedlocomotion/</link><pubDate>Wed, 18 Mar 2020 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2020/physicsbasedlocomotion/</guid><description>&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/PhysicsBasedLocomotion/XRLog_2020_195.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>This was one of the most difficult prototypes for my skill level at the time. The prototype code would need to be refactored before I would attempt putting it into beta testing.&lt;/p>
&lt;p>Part of the math I needed to master was how 3D normals and reflections are calculated.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media1" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/PhysicsBasedLocomotion/XRLog_2020_180.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Yes its a Sphere for now, but keep in mind this prototype is using RigidBodies and a Velocity PID controller that I wrote to move the body via Physics.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media1" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/PhysicsBasedLocomotion/XRLog_2020_180.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Testing Variable Properties out.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media1" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/PhysicsBasedLocomotion/XRLog_2020_192.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>VFX Practice [03]</title><link>https://www.dencho.dev/projects/experiments/2020/vfxpractice03/</link><pubDate>Fri, 13 Mar 2020 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2020/vfxpractice03/</guid><description>&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice03/XRLog_2020_154.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>This was made using VFXGraph for Unity.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice03/XRLog_2020_151.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>XR Player Controller [03]</title><link>https://www.dencho.dev/projects/experiments/2020/xrplayercontroller03/</link><pubDate>Tue, 10 Mar 2020 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2020/xrplayercontroller03/</guid><description>&lt;p>One of the earliest prototypes to exist at the time (2020) that I know of, to contain a full body avatar and finger tracking.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController03/XRLog_2020_201.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;h2 id="devices-tested">Devices tested:&lt;/h2>
&lt;ul>
&lt;li>Oculus CV1&lt;/li>
&lt;li>Oculus Quest 1&lt;/li>
&lt;/ul>
&lt;!-- Technologies Used -->
&lt;h2 id="technologies-used">Technologies used:&lt;/h2>
&lt;ul>
&lt;li>Vroid SDK (Avatars)&lt;/li>
&lt;li>Oculus VR SDK&lt;/li>
&lt;li>UnityXR SDK&lt;/li>
&lt;/ul>
&lt;p>I was one of the first developers in the industry to achieve fullbody avatars working with finger tracking. Once you get past the hurdle of different bone orientations the rest is pretty simple, I was just a dev with just enough free time to actually do it.&lt;/p>
&lt;h2 id="skeletal-mesh-orientation-mismatch-smom">Skeletal Mesh Orientation Mismatch (S.M.O.M.)&lt;/h2>
&lt;p>S.M.O.M. happens when one mesh skeletal bone structure has incompatible orientations with another set of bones, leading to misalignment when trying to animate or manipulate them consistently. It’s essential to ensure that both hand meshes follow the same bone orientation conventions to avoid issues during animation and rigging processes. However sometimes this cant be avoided when sourcing from different third parties, in this case I had trouble aligning VRoid Hand Skeleton to match with the Hand Skeleton from the OVR SDK used for hand tracking.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController03/XRLog_2020_050.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;h2 id="bypassing-smom">Bypassing S.M.O.M.&lt;/h2>
&lt;p>When dealing with skeletal mesh orientation mismatches between two hand skeletons, you can use a transformation formula to align their orientations. This approach allows you to transfer the orientation from one hand to another, even if they initially have different orientations.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController03/XRLog_2020_198.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Using this formula here I was able to avoid this issue, however the custom tool I made requires a basic understanding of how Quaternions work.&lt;/p>
&lt;!--TODO: Show Math Formula and Code Snippet here-->
&lt;p>Using a Homemade VRoid Avatar, which uses a Universal Skeleton Armature. This is what happened when trying to sync up rotations from OVR custom hand skeleton to the VRoids hand.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController03/XRLog_2020_201.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Locomotion Testing&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController03/XRLog_2020_213.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Locomotion Jumping with Physics still needs work.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController03/XRLog_2020_216.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController03/XRLog_2020_222.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>AI Mob Controller [01]</title><link>https://www.dencho.dev/projects/experiments/2020/aimobcontroller01/</link><pubDate>Tue, 18 Feb 2020 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2020/aimobcontroller01/</guid><description>&lt;p>The goal of this experiment was to learn what it takes to create an AI that operates within perspective of a XRPlayerControllers camera view.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController01/XRLog_2020_414.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>First I wrote my own PID controller to control a Drones Rigidbody via physics to match a point in world space.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController01/XRLog_2020_414.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController01/XRLog_2020_417.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Adjusting the variables allowed to to appear more smooth and animated.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController01/XRLog_2020_420.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController01/XRLog_2020_423.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Different properties can lead to different behaviors.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController01/XRLog_2020_426.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Now we give it a gun. For learning.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController01/XRLog_2020_407.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Make sure it knows how to shoot. With even the recoil effecting the PID controller.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController01/XRLog_2020_433.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController01/XRLog_2020_436.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController01/XRLog_2020_440.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>This can get pretty chaotic but, its good to know how many bodies I can simulate at a given time when you consider theres a PID controller for each Rigidbody.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/AIMobController01/XRLog_2020_443.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>Physics Based Procedural Animations [01]</title><link>https://www.dencho.dev/projects/experiments/2020/physicsbasedproceduralanimations01/</link><pubDate>Tue, 18 Feb 2020 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2020/physicsbasedproceduralanimations01/</guid><description>&lt;p>I love working on physics based animations.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/PhysicsBasedProceduralAnimations01/XRLog_2020_308.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>I love procedural animations, most system use Inverse Kinematics to accomplish this, as do my systems. However I wanted to take it to the next level and allow dynamic blending between Inverse Kinematics and Physics Simulations.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/PhysicsBasedProceduralAnimations01/XRLog_2020_311.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>This should allow my to play a Humanoid animation on the skeleton while still applying IK to the bones, and lerp between a "Live" and "Ragdoll" state for the characters physics body.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/PhysicsBasedProceduralAnimations01/XRLog_2020_314.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/PhysicsBasedProceduralAnimations01/XRLog_2020_317.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/PhysicsBasedProceduralAnimations01/XRLog_2020_320.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Its far from perfect and I still need to find a use case but, its still fun to look at.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/PhysicsBasedProceduralAnimations01/XRLog_2020_323.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/PhysicsBasedProceduralAnimations01/XRLog_2020_326.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/PhysicsBasedProceduralAnimations01/XRLog_2020_329.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>VFX Graph Projectile [02]</title><link>https://www.dencho.dev/projects/experiments/2020/vfxgraphprojectile02/</link><pubDate>Sat, 15 Feb 2020 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2020/vfxgraphprojectile02/</guid><description>&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXGraphProjectile02/XRLog_2020_138.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>One of my goals was to make the projectile a grabbable with dynamic states, meaning it could be held and thrown like a grenade, or charged and shot like a plasma blast.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXGraphProjectile02/XRLog_2020_136.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Avatars provided by the VRoid Hub.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXGraphProjectile02/XRLog_2020_141.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>This allowed me to test out some Combat simulations&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXGraphProjectile02/XRLog_2020_147.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>VFX Practice [02]</title><link>https://www.dencho.dev/projects/experiments/2020/vfxpractice02/</link><pubDate>Thu, 13 Feb 2020 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2020/vfxpractice02/</guid><description>&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice02/XRLog_2020_129.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>This was made using VFXGraph for Unity.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice02/XRLog_2020_126.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice02/XRLog_2020_132.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>XR Player Controller [02]</title><link>https://www.dencho.dev/projects/experiments/2020/xrplayercontroller02/</link><pubDate>Mon, 10 Feb 2020 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2020/xrplayercontroller02/</guid><description>&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController02/XRLog_2020_076.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;h2 id="devices-tested">Devices tested:&lt;/h2>
&lt;ul>
&lt;li>Oculus CV1&lt;/li>
&lt;li>Oculus Quest 1&lt;/li>
&lt;/ul>
&lt;!-- Technologies Used -->
&lt;h2 id="technologies-used">Technologies used:&lt;/h2>
&lt;ul>
&lt;li>Vroid SDK (Avatars)&lt;/li>
&lt;li>Oculus VR SDK&lt;/li>
&lt;li>UnityXR SDK&lt;/li>
&lt;/ul>
&lt;p>This was my second attempt at a XR Player Controller. My main goal here was to make sure I can modularize components while solidifying most of the prototype code.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController02/XRLog_2020_079.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>The Avatar was home made this time using a base Vroid from Vroid Studio and Decimating it in Blender for low poly testing.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController02/XRLog_2020_083.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>I wrote the Grabbable components you see here, in order to make it work with physics.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController02/XRLog_2020_086.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Held hand poses still need some work.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController02/XRLog_2020_092.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController02/XRLog_2020_095.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController02/XRLog_2020_098.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Testing some facial blendshapes out.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController02/XRLog_2020_073.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController02/XRLog_2020_113.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController02/XRLog_2020_144.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Jumping still needs work.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media1" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController02/XRLog_2020_052.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>HandTracking was a complete failure as different avatar rigs have skeleton bones that use a different axis orientation. So one can not simply match up rotations 1:1 unless all bones use the same orientation axis.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media1" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController02/XRLog_2020_050.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>VFX Graph Projectile [01]</title><link>https://www.dencho.dev/projects/experiments/2020/vfxgraphprojectile01/</link><pubDate>Wed, 15 Jan 2020 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2020/vfxgraphprojectile01/</guid><description>&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXGraphProjectile01/XRLog_2020_040.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>I made this projectile using a home made VFX graph, and some C# elbow grease to make the projectile act like its part of a physics based charging system.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXGraphProjectile01/XRLog_2020_037.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Shooting some boxes. Yes I am aware im shooting the projectile out of a scope.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXGraphProjectile01/XRLog_2020_027.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>The idea behind this kind of system is the modularity of the script I made allowing it to work with any VFXGraph setup with the right event and exposed properties.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXGraphProjectile01/XRLog_2020_046.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Avatars provided by the VRoid Hub.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXGraphProjectile01/XRLog_2020_048.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>VFX Practice [01]</title><link>https://www.dencho.dev/projects/experiments/2020/vfxpractice01/</link><pubDate>Mon, 13 Jan 2020 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2020/vfxpractice01/</guid><description>&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice01/XRLog_2020_107.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Some custom code to rotate simulated points and emit particles offset via some maths.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice01/XRLog_2020_101.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice01/XRLog_2020_104.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>This was made using VFXGraph for Unity.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/VFXPractice01/XRLog_2020_110.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item><item><title>XR Player Controller [01]</title><link>https://www.dencho.dev/projects/experiments/2020/xrplayercontroller01/</link><pubDate>Fri, 10 Jan 2020 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/experiments/2020/xrplayercontroller01/</guid><description>&lt;div class="video_thing">
&lt;video muted autoplay="" name="media" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController01/XRLog_2020_003.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;h2 id="devices-tested">Devices tested:&lt;/h2>
&lt;ul>
&lt;li>Oculus CV1&lt;/li>
&lt;li>Oculus Quest 1&lt;/li>
&lt;/ul>
&lt;!-- Technologies Used -->
&lt;h2 id="technologies-used">Technologies used:&lt;/h2>
&lt;ul>
&lt;li>UMA2 (Avatars)&lt;/li>
&lt;li>Oculus VR SDK&lt;/li>
&lt;/ul>
&lt;p>This was my first attempt at a XR Player Controller. Starting small my goal was to just get each limb lined up with basic controller based Hand Poses working.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="handWaving" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController01/XRLog_2020_003.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Clothes Placements and RayPointers&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="rayPointers" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController01/XRLog_2020_007.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>My own Custom Grabbables and my try at 2 handed grabbing.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="twoHandedGrabbables" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController01/XRLog_2020_009.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Writing my own Locomotion was great practice. More work needed to be done on the jumping.&lt;/p>
&lt;div class="video_thing">
&lt;video muted autoplay="" name="locomotion" loop="">&lt;source src="https://raw.githack.com/Denchyaknow/GitSite_Dencho/Develop/assets/media/projects/XRPlayerController01/XRLog_2020_011.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item></channel></rss>