<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>2021 | Dencho</title><link>https://www.dencho.dev/category/2021/</link><atom:link href="https://www.dencho.dev/category/2021/index.xml" rel="self" type="application/rss+xml"/><description>2021</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Sat, 15 May 2021 00:00:00 +0000</lastBuildDate><image><url>https://www.dencho.dev/media/icon_hu1b14c2ed69a2f89c06f5de8cc0bd5fd1_301795_512x512_fill_lanczos_center_3.png</url><title>2021</title><link>https://www.dencho.dev/category/2021/</link></image><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>A* Map System</title><link>https://www.dencho.dev/projects/contracts/2021/astarmapsystem/</link><pubDate>Wed, 20 Jan 2021 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/contracts/2021/astarmapsystem/</guid><description>&lt;p>Contracted to make a Custom A* Map 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/AStarMapSystem/XRLog_2021_683.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;!--Link To Repo Here-->
&lt;p>The client requested a Custom Hex Tile Map System that had Methods to calculate the best path to take. It needed to be modular and flexible with any map size, and calculate pathing using an asynchronous pattern.&lt;/p>
&lt;h3 id="the-a-algorithm">The A* Algorithm&lt;/h3>
&lt;p>The A* (pronounced “A-star”) algorithm is a powerful pathfinding technique used in various fields of computer science. It offers completeness, optimality, and optimal efficiency.&lt;/p>
&lt;ul>
&lt;li>A* is a graph traversal and pathfinding algorithm.&lt;/li>
&lt;li>Given a weighted graph, a source node, and a goal node, A* finds the shortest path (with respect to the given weights) from the source to the goal.&lt;/li>
&lt;li>It evaluates points using a heuristic value (also known as the H score), which estimates the distance from a node to the goal.&lt;/li>
&lt;li>A* combines both the movement cost (from the current point to its neighbors) and the heuristic value to guide its search.&lt;/li>
&lt;/ul>
&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/AStarMapSystem/XRLog_2021_685.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>It even came with a Custom Editor Tool I made to help simulate the pathing in and outside of PlayMode.&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/AStarMapSystem/XRLog_2021_687.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>Inverse Kinematic Vending Machine</title><link>https://www.dencho.dev/projects/contracts/2021/smartvendingmachine/</link><pubDate>Sun, 10 Jan 2021 00:00:00 +0000</pubDate><guid>https://www.dencho.dev/projects/contracts/2021/smartvendingmachine/</guid><description>&lt;p>Contracted to make a "Smart" Vending Machine feature designed to work with VR Players.&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/SmartVendingMachine/XRLog_2021_671.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>NDA Prevents me from showing the UI or final outcome of the feature.&lt;/p>
&lt;p>The goal was to create a Vending Machine that had a would automatically adjust to the VR Players Height via a Robot Arm controlled by Inverse Kinematics.&lt;/p>
&lt;p>The teams technical artist provided the Vending Machine mesh with armature for the screens housing. The first step was connect the bones to a simple Inverse Kinematic script.&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/SmartVendingMachine/XRLog_2021_657.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>Next I see how it targets the Players Head 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/SmartVendingMachine/XRLog_2021_664.webm" type="video/mp4">&lt;/video>
&lt;/div>
&lt;p>With a bit of some C# magic, the Arm for the screen will extend out to any nearby Players Head transform. When the target is out of range for x+ seconds, the screen will retract back into the machine.&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/SmartVendingMachine/XRLog_2021_671.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/SmartVendingMachine/XRLog_2021_673.webm" type="video/mp4">&lt;/video>
&lt;/div></description></item></channel></rss>