<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Maciej Sawicki</title>
    <description>The latest articles on Forem by Maciej Sawicki (@humberd).</description>
    <link>https://forem.com/humberd</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F398979%2F3957dbba-1168-4ce0-a0bb-26d0d74a5948.png</url>
      <title>Forem: Maciej Sawicki</title>
      <link>https://forem.com/humberd</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/humberd"/>
    <language>en</language>
    <item>
      <title>[Game of Purpose] Day 81</title>
      <dc:creator>Maciej Sawicki</dc:creator>
      <pubDate>Thu, 08 Aug 2024 00:19:32 +0000</pubDate>
      <link>https://forem.com/humberd/game-of-purpose-day-81-80f</link>
      <guid>https://forem.com/humberd/game-of-purpose-day-81-80f</guid>
      <description>&lt;p&gt;Today I took a day off, so no progress today.&lt;/p&gt;

</description>
      <category>gamedev</category>
    </item>
    <item>
      <title>[Game of Purpose] Day 80</title>
      <dc:creator>Maciej Sawicki</dc:creator>
      <pubDate>Wed, 07 Aug 2024 00:20:52 +0000</pubDate>
      <link>https://forem.com/humberd/game-of-purpose-day-80-55lm</link>
      <guid>https://forem.com/humberd/game-of-purpose-day-80-55lm</guid>
      <description>&lt;p&gt;Today I played around with importing landscapes from real world height maps. I used &lt;a href="https://manticorp.github.io/unrealheightmap" rel="noopener noreferrer"&gt;https://manticorp.github.io/unrealheightmap&lt;/a&gt; to get the assets, but when importing the map looks really uneven. I don't know how to smooth it yet.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3uinjlgcuiqvdk96aj9z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3uinjlgcuiqvdk96aj9z.png" alt="Image description" width="800" height="340"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>gamedev</category>
    </item>
    <item>
      <title>[Game of Purpose] Day 79</title>
      <dc:creator>Maciej Sawicki</dc:creator>
      <pubDate>Mon, 05 Aug 2024 23:59:31 +0000</pubDate>
      <link>https://forem.com/humberd/game-of-purpose-day-79-3a09</link>
      <guid>https://forem.com/humberd/game-of-purpose-day-79-3a09</guid>
      <description>&lt;p&gt;Today I took a day off, so no progress today.&lt;/p&gt;

</description>
      <category>gamedev</category>
    </item>
    <item>
      <title>[Game of Purpose] Day 78</title>
      <dc:creator>Maciej Sawicki</dc:creator>
      <pubDate>Sun, 04 Aug 2024 22:40:49 +0000</pubDate>
      <link>https://forem.com/humberd/game-of-purpose-day-78-4i7c</link>
      <guid>https://forem.com/humberd/game-of-purpose-day-78-4i7c</guid>
      <description>&lt;p&gt;Today I was recovering, so no progress today.&lt;/p&gt;

</description>
      <category>gamedev</category>
    </item>
    <item>
      <title>[Game of Purpose] Day 77</title>
      <dc:creator>Maciej Sawicki</dc:creator>
      <pubDate>Sun, 04 Aug 2024 00:31:39 +0000</pubDate>
      <link>https://forem.com/humberd/game-of-purpose-day-77-61a</link>
      <guid>https://forem.com/humberd/game-of-purpose-day-77-61a</guid>
      <description>&lt;p&gt;Today I was a little sick, so no progress today.&lt;/p&gt;

</description>
      <category>gamedev</category>
    </item>
    <item>
      <title>[Game of Purpose] Day 76</title>
      <dc:creator>Maciej Sawicki</dc:creator>
      <pubDate>Fri, 02 Aug 2024 22:30:03 +0000</pubDate>
      <link>https://forem.com/humberd/game-of-purpose-day-76-4lhe</link>
      <guid>https://forem.com/humberd/game-of-purpose-day-76-4lhe</guid>
      <description>&lt;p&gt;Today I feel a little sick, so no progress today.&lt;/p&gt;

</description>
      <category>gamedev</category>
    </item>
    <item>
      <title>[Game of Purpose] Day 75</title>
      <dc:creator>Maciej Sawicki</dc:creator>
      <pubDate>Thu, 01 Aug 2024 22:53:11 +0000</pubDate>
      <link>https://forem.com/humberd/game-of-purpose-day-75-jh7</link>
      <guid>https://forem.com/humberd/game-of-purpose-day-75-jh7</guid>
      <description>&lt;p&gt;Today I took a day off, so no progress today.&lt;/p&gt;

</description>
      <category>gamedev</category>
    </item>
    <item>
      <title>[Game of Purpose] Day 74</title>
      <dc:creator>Maciej Sawicki</dc:creator>
      <pubDate>Wed, 31 Jul 2024 22:03:19 +0000</pubDate>
      <link>https://forem.com/humberd/game-of-purpose-day-74-4ije</link>
      <guid>https://forem.com/humberd/game-of-purpose-day-74-4ije</guid>
      <description>&lt;p&gt;Today I played around with a headshot animation and I made it work with State Aliases. However, I feel like I don't have enough knowledge and experience to make a realisticly behaving character model, which also reacts to physics shots. I think I need to make some basic animations, such as: walk, run, move damaged and death and move on to other parts of the game.&lt;/p&gt;

</description>
      <category>gamedev</category>
    </item>
    <item>
      <title>[Game of Purpose] Day 73 - Improving animations with Blend Spaces</title>
      <dc:creator>Maciej Sawicki</dc:creator>
      <pubDate>Tue, 30 Jul 2024 23:07:59 +0000</pubDate>
      <link>https://forem.com/humberd/game-of-purpose-day-73-i18</link>
      <guid>https://forem.com/humberd/game-of-purpose-day-73-i18</guid>
      <description>&lt;p&gt;Today I improved walking animations when hittin legs.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/dKzUcEX3KbU"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;My Animation state machine became cleaner than yesterday, because I used Animation Blend Space for animation between running&amp;lt;-&amp;gt;walking&amp;lt;-&amp;gt;limping right/left.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feocdl9fl2kmmckzyc2nf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feocdl9fl2kmmckzyc2nf.png" alt="Image description" width="800" height="266"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ngxfnorgslubiin0ljq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ngxfnorgslubiin0ljq.png" alt="Image description" width="800" height="319"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It takes 2 params, &lt;code&gt;SpeedPercent&lt;/code&gt; between 0 and 1, where:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;0: standing still&lt;/li&gt;
&lt;li&gt;1: running at full speed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It also takes &lt;code&gt;LegInjury&lt;/code&gt; between -1 and 1, where:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;-1: left leg fully injured&lt;/li&gt;
&lt;li&gt;0: no leg injuries&lt;/li&gt;
&lt;li&gt;1: right leg fully injured&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A problem I can see right now is that when falling down players capsule is still standing still. Don't know how to make it fall with a skeleton, yet.&lt;/p&gt;

</description>
      <category>gamedev</category>
    </item>
    <item>
      <title>[Game of Purpose] Day 72</title>
      <dc:creator>Maciej Sawicki</dc:creator>
      <pubDate>Tue, 30 Jul 2024 00:23:15 +0000</pubDate>
      <link>https://forem.com/humberd/game-of-purpose-day-72-176n</link>
      <guid>https://forem.com/humberd/game-of-purpose-day-72-176n</guid>
      <description>&lt;p&gt;Today I worked on animations. I learned what a Conduit node is. I have yet to grasp the idea of what a State Alias is, but we'll get there.&lt;/p&gt;

&lt;p&gt;So I made a Swat limp when hit on leg. When hit on a left leg it limps on that leg and the same for the right leg. When hit on both legs it trips forward.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/jtGeOy27k9w"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;One problem is that tripping animation on Mixamo is not "in place", so it throws itself forward. Yesterday I &lt;a href="//One%20problem%20is%20that%20tripping%20animation%20on%20Mixamo%20is%20not%20"&gt;found an addon&lt;/a&gt; in Blender, which makes it "in place". I tried that, but unfortunately when importing animation back to Unreal the axes are mixed and the pivot point is also broken.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkpt2hzd2ahb9ecupft5d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkpt2hzd2ahb9ecupft5d.png" alt="Image description" width="800" height="411"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>gamedev</category>
    </item>
    <item>
      <title>[Game of Purpose] Day 71</title>
      <dc:creator>Maciej Sawicki</dc:creator>
      <pubDate>Sun, 28 Jul 2024 23:33:54 +0000</pubDate>
      <link>https://forem.com/humberd/game-of-purpose-day-71-2f02</link>
      <guid>https://forem.com/humberd/game-of-purpose-day-71-2f02</guid>
      <description>&lt;p&gt;Today I played around with Animation Blending. I want to change how the SWAT model animates depending on their HP.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/Lh0yFUcP_8I"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;I made an Animation Blueprint with the following state machine:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft1lx3afcletikwyndqg2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft1lx3afcletikwyndqg2.png" alt="Image description" width="800" height="392"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I made an Animation Blend Space for a Walking Animation and did Crawl and Death states for the other animations.&lt;/p&gt;

&lt;p&gt;It turns out that on Mixamo.com when you download an animation it takes into effect the sliders values. I wondered how you can play around with them in Unreal, but you would probably have to download 2 separate animations with different slider values and make a Blend Space for them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnjwbvpq7wx7ec3xvf812.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnjwbvpq7wx7ec3xvf812.png" alt="Image description" width="800" height="691"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I also learned that you should download "In Place" animations from Mixamo, because root motion doesn't work. I found a &lt;a href="https://www.reddit.com/r/unrealengine/comments/qq6vt3/i_was_fed_up_with_making_mixamo_animations_in/" rel="noopener noreferrer"&gt;reddit post&lt;/a&gt; where you can take an animation with a root motion and make it "in place" in Blender with a &lt;a href="https://fatihpehlevan.gumroad.com/l/InPlacer" rel="noopener noreferrer"&gt;plugin&lt;/a&gt;&lt;/p&gt;

</description>
      <category>gamedev</category>
    </item>
    <item>
      <title>[Game of Purpose] Day 70 - Animations Viewer Map</title>
      <dc:creator>Maciej Sawicki</dc:creator>
      <pubDate>Sat, 27 Jul 2024 23:33:46 +0000</pubDate>
      <link>https://forem.com/humberd/game-of-purpose-day-69-animations-viewer-map-2c97</link>
      <guid>https://forem.com/humberd/game-of-purpose-day-69-animations-viewer-map-2c97</guid>
      <description>&lt;p&gt;Today I made animations viewing map. I wanted to look at all the animations at once and decide which one to use. Here is the result&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/rmqvZ68fwTQ"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkva074cw7fsn2u16wqrg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkva074cw7fsn2u16wqrg.png" alt="Image description" width="800" height="610"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Each demo skeleton has a text above representing which animation it uses.&lt;br&gt;
Texts were overlapping and I didn't know how to wrap them yet I created 2 rows and made the alternate.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa5l2u4tncqcpggt572v7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa5l2u4tncqcpggt572v7.png" alt="Image description" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I create it in a separate blueprint, so that I can easily instantiate it with a &lt;code&gt;Spawn Actor From Class&lt;/code&gt; node.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc1b6hxclr0t6ay90iz4g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc1b6hxclr0t6ay90iz4g.png" alt="Image description" width="800" height="290"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blueprintue.com/blueprint/pwkncgt9/" rel="noopener noreferrer"&gt;https://blueprintue.com/blueprint/pwkncgt9/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To instantiate that blueprint in a column/row manner I used modulo for column number and division for a row number. Then I set that to a transform value and voila.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft0denfugksc29a9ve6vo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft0denfugksc29a9ve6vo.png" alt="Image description" width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blueprintue.com/blueprint/1k2br45g/" rel="noopener noreferrer"&gt;https://blueprintue.com/blueprint/1k2br45g/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My variables to control the rendering:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqj3cqp6282k4bxjpw1l9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqj3cqp6282k4bxjpw1l9.png" alt="Image description" width="525" height="224"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa9kweiyruwn5bkam9owp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa9kweiyruwn5bkam9owp.png" alt="Image description" width="739" height="775"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>gamedev</category>
    </item>
  </channel>
</rss>
