<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Fox Star Studio</title>
	<atom:link href="http://foxstarstudios.ca/feed/" rel="self" type="application/rss+xml" />
	<link>https://foxstarstudios.ca/</link>
	<description></description>
	<lastBuildDate>Mon, 19 Jan 2026 17:23:26 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://foxstarstudios.ca/wp-content/uploads/2024/02/FoxLogo-150x150.png</url>
	<title>Fox Star Studio</title>
	<link>https://foxstarstudios.ca/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>3D Art</title>
		<link>https://foxstarstudios.ca/2026/01/16/3d-art/</link>
					<comments>https://foxstarstudios.ca/2026/01/16/3d-art/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 16 Jan 2026 00:26:40 +0000</pubDate>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[3D Art]]></category>
		<category><![CDATA[Adobe Photoshop]]></category>
		<category><![CDATA[Blender]]></category>
		<category><![CDATA[Blockbench]]></category>
		<category><![CDATA[Maya]]></category>
		<category><![CDATA[Z brush]]></category>
		<guid isPermaLink="false">https://foxstarstudios.ca/?p=321</guid>

					<description><![CDATA[<p>3D art made with Maya, Blockbench, Blender, Adobe Photoshop and Z brush.</p>
<p>The post <a href="https://foxstarstudios.ca/2026/01/16/3d-art/">3D Art</a> appeared first on <a href="https://foxstarstudios.ca">Fox Star Studio</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Kigoos2025PortfolioExample" width="500" height="281" src="https://www.youtube.com/embed/18t7di8W9Pk?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">T-shirt inspired logo created with Blender.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Kigoos2024PortfolioExample" width="500" height="281" src="https://www.youtube.com/embed/qaqq6mSxWTs?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">Logo and circuit board created in blender. Glitch effect created in After Effects.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-9-16 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="MrMoleAnimation" width="422" height="750" src="https://www.youtube.com/embed/mbnzJKKK_P0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">Made and Animated in Blockbench.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="576" height="1024" src="https://foxstarstudios.ca/wp-content/uploads/2026/01/0072-1-576x1024.png" alt="" class="wp-image-342" srcset="https://foxstarstudios.ca/wp-content/uploads/2026/01/0072-1-576x1024.png 576w, https://foxstarstudios.ca/wp-content/uploads/2026/01/0072-1-169x300.png 169w, https://foxstarstudios.ca/wp-content/uploads/2026/01/0072-1-768x1365.png 768w, https://foxstarstudios.ca/wp-content/uploads/2026/01/0072-1-864x1536.png 864w, https://foxstarstudios.ca/wp-content/uploads/2026/01/0072-1.png 1080w" sizes="auto, (max-width: 576px) 100vw, 576px" /></figure>



<p class="wp-block-paragraph">Made with Blockbench</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://foxstarstudios.ca/wp-content/uploads/2026/01/Sleigh-1-1024x576.png" alt="" class="wp-image-340" srcset="https://foxstarstudios.ca/wp-content/uploads/2026/01/Sleigh-1-1024x576.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2026/01/Sleigh-1-300x169.png 300w, https://foxstarstudios.ca/wp-content/uploads/2026/01/Sleigh-1-768x432.png 768w, https://foxstarstudios.ca/wp-content/uploads/2026/01/Sleigh-1-1536x864.png 1536w, https://foxstarstudios.ca/wp-content/uploads/2026/01/Sleigh-1-2048x1152.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Made with Blockbench</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="669" src="https://foxstarstudios.ca/wp-content/uploads/2026/01/Garage-1024x669.png" alt="" class="wp-image-322" srcset="https://foxstarstudios.ca/wp-content/uploads/2026/01/Garage-1024x669.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2026/01/Garage-300x196.png 300w, https://foxstarstudios.ca/wp-content/uploads/2026/01/Garage-768x502.png 768w, https://foxstarstudios.ca/wp-content/uploads/2026/01/Garage-1536x1004.png 1536w, https://foxstarstudios.ca/wp-content/uploads/2026/01/Garage-2048x1338.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Made with Maya</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Gas Pumps" width="500" height="281" src="https://www.youtube.com/embed/4J3AumF8KM8?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="819" src="https://foxstarstudios.ca/wp-content/uploads/2026/01/Garage8-1024x819.png" alt="" class="wp-image-326" srcset="https://foxstarstudios.ca/wp-content/uploads/2026/01/Garage8-1024x819.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2026/01/Garage8-300x240.png 300w, https://foxstarstudios.ca/wp-content/uploads/2026/01/Garage8-768x614.png 768w, https://foxstarstudios.ca/wp-content/uploads/2026/01/Garage8.png 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Made with Maya</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="649" src="https://foxstarstudios.ca/wp-content/uploads/2026/01/versaillesAntoinetteCottage-1024x649.png" alt="" class="wp-image-327" srcset="https://foxstarstudios.ca/wp-content/uploads/2026/01/versaillesAntoinetteCottage-1024x649.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2026/01/versaillesAntoinetteCottage-300x190.png 300w, https://foxstarstudios.ca/wp-content/uploads/2026/01/versaillesAntoinetteCottage-768x487.png 768w, https://foxstarstudios.ca/wp-content/uploads/2026/01/versaillesAntoinetteCottage-1536x974.png 1536w, https://foxstarstudios.ca/wp-content/uploads/2026/01/versaillesAntoinetteCottage-2048x1298.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Made with Maya</p>
<p>The post <a href="https://foxstarstudios.ca/2026/01/16/3d-art/">3D Art</a> appeared first on <a href="https://foxstarstudios.ca">Fox Star Studio</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://foxstarstudios.ca/2026/01/16/3d-art/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">321</post-id>	</item>
		<item>
		<title>What Color Are You Feeling Today?</title>
		<link>https://foxstarstudios.ca/2025/03/02/a-few-little-extras/</link>
					<comments>https://foxstarstudios.ca/2025/03/02/a-few-little-extras/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 02 Mar 2025 04:20:27 +0000</pubDate>
				<category><![CDATA[Art]]></category>
		<guid isPermaLink="false">https://foxstarstudios.ca/?p=212</guid>

					<description><![CDATA[<p>I got a little carried away with this one. I&#8217;ll start to add some color to it now. Completed this simple BG design. Night coloring. Daytime coloring. BG Design and coloring done by me, Tara Nakano. Spring Morning coloring. Summer afternoon coloring. BG Design by Britney Thoreson. Coloring done by me, Tara Nakano. BG Design [&#8230;]</p>
<p>The post <a href="https://foxstarstudios.ca/2025/03/02/a-few-little-extras/">What Color Are You Feeling Today?</a> appeared first on <a href="https://foxstarstudios.ca">Fox Star Studio</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I got a little carried away with this one. I&#8217;ll start to add some color to it now.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="601" src="https://foxstarstudios.ca/wp-content/uploads/2025/03/OriginalAnnasRoom-1024x601.png" alt="" class="wp-image-316" srcset="https://foxstarstudios.ca/wp-content/uploads/2025/03/OriginalAnnasRoom-1024x601.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2025/03/OriginalAnnasRoom-300x176.png 300w, https://foxstarstudios.ca/wp-content/uploads/2025/03/OriginalAnnasRoom-768x451.png 768w, https://foxstarstudios.ca/wp-content/uploads/2025/03/OriginalAnnasRoom-1536x902.png 1536w, https://foxstarstudios.ca/wp-content/uploads/2025/03/OriginalAnnasRoom-2048x1203.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Completed this simple BG design.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="601" src="https://foxstarstudios.ca/wp-content/uploads/2025/03/Original02-1-1024x601.png" alt="" class="wp-image-283" srcset="https://foxstarstudios.ca/wp-content/uploads/2025/03/Original02-1-1024x601.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2025/03/Original02-1-300x176.png 300w, https://foxstarstudios.ca/wp-content/uploads/2025/03/Original02-1-768x451.png 768w, https://foxstarstudios.ca/wp-content/uploads/2025/03/Original02-1-1536x902.png 1536w, https://foxstarstudios.ca/wp-content/uploads/2025/03/Original02-1-2048x1203.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="601" src="https://foxstarstudios.ca/wp-content/uploads/2025/03/OriginalNight-1-1024x601.png" alt="" class="wp-image-292" srcset="https://foxstarstudios.ca/wp-content/uploads/2025/03/OriginalNight-1-1024x601.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2025/03/OriginalNight-1-300x176.png 300w, https://foxstarstudios.ca/wp-content/uploads/2025/03/OriginalNight-1-768x451.png 768w, https://foxstarstudios.ca/wp-content/uploads/2025/03/OriginalNight-1-1536x902.png 1536w, https://foxstarstudios.ca/wp-content/uploads/2025/03/OriginalNight-1-2048x1203.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Night coloring.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="601" src="https://foxstarstudios.ca/wp-content/uploads/2025/03/BG_coloring_page_05-1-1024x601.png" alt="" class="wp-image-300" srcset="https://foxstarstudios.ca/wp-content/uploads/2025/03/BG_coloring_page_05-1-1024x601.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2025/03/BG_coloring_page_05-1-300x176.png 300w, https://foxstarstudios.ca/wp-content/uploads/2025/03/BG_coloring_page_05-1-768x451.png 768w, https://foxstarstudios.ca/wp-content/uploads/2025/03/BG_coloring_page_05-1-1536x902.png 1536w, https://foxstarstudios.ca/wp-content/uploads/2025/03/BG_coloring_page_05-1-2048x1203.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Daytime coloring.</p>



<p class="wp-block-paragraph">BG Design and coloring done by me, Tara Nakano.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="601" src="https://foxstarstudios.ca/wp-content/uploads/2025/03/Original01-2-1024x601.png" alt="" class="wp-image-277" srcset="https://foxstarstudios.ca/wp-content/uploads/2025/03/Original01-2-1024x601.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2025/03/Original01-2-300x176.png 300w, https://foxstarstudios.ca/wp-content/uploads/2025/03/Original01-2-768x451.png 768w, https://foxstarstudios.ca/wp-content/uploads/2025/03/Original01-2-1536x902.png 1536w, https://foxstarstudios.ca/wp-content/uploads/2025/03/Original01-2-2048x1203.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Spring Morning coloring.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="601" src="https://foxstarstudios.ca/wp-content/uploads/2025/03/OriginalNew03-1024x601.png" alt="" class="wp-image-311" srcset="https://foxstarstudios.ca/wp-content/uploads/2025/03/OriginalNew03-1024x601.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2025/03/OriginalNew03-300x176.png 300w, https://foxstarstudios.ca/wp-content/uploads/2025/03/OriginalNew03-768x451.png 768w, https://foxstarstudios.ca/wp-content/uploads/2025/03/OriginalNew03-1536x902.png 1536w, https://foxstarstudios.ca/wp-content/uploads/2025/03/OriginalNew03-2048x1203.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Summer afternoon coloring.</p>



<p class="wp-block-paragraph">BG Design by Britney Thoreson. Coloring done by me, Tara Nakano.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="539" src="https://foxstarstudios.ca/wp-content/uploads/2025/03/BG_coloringPageNew-1024x539.png" alt="" class="wp-image-261" srcset="https://foxstarstudios.ca/wp-content/uploads/2025/03/BG_coloringPageNew-1024x539.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2025/03/BG_coloringPageNew-300x158.png 300w, https://foxstarstudios.ca/wp-content/uploads/2025/03/BG_coloringPageNew-768x404.png 768w, https://foxstarstudios.ca/wp-content/uploads/2025/03/BG_coloringPageNew-1536x809.png 1536w, https://foxstarstudios.ca/wp-content/uploads/2025/03/BG_coloringPageNew-2048x1078.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="539" src="https://foxstarstudios.ca/wp-content/uploads/2025/03/BG_coloring_Night03-1024x539.png" alt="" class="wp-image-259" srcset="https://foxstarstudios.ca/wp-content/uploads/2025/03/BG_coloring_Night03-1024x539.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2025/03/BG_coloring_Night03-300x158.png 300w, https://foxstarstudios.ca/wp-content/uploads/2025/03/BG_coloring_Night03-768x404.png 768w, https://foxstarstudios.ca/wp-content/uploads/2025/03/BG_coloring_Night03-1536x809.png 1536w, https://foxstarstudios.ca/wp-content/uploads/2025/03/BG_coloring_Night03-2048x1078.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">BG Design by Britney Thoreson. Coloring done by me, Tara Nakano.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="601" src="https://foxstarstudios.ca/wp-content/uploads/2025/03/BG_coloringpage02New-2-1024x601.png" alt="" class="wp-image-269" srcset="https://foxstarstudios.ca/wp-content/uploads/2025/03/BG_coloringpage02New-2-1024x601.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2025/03/BG_coloringpage02New-2-300x176.png 300w, https://foxstarstudios.ca/wp-content/uploads/2025/03/BG_coloringpage02New-2-768x451.png 768w, https://foxstarstudios.ca/wp-content/uploads/2025/03/BG_coloringpage02New-2-1536x902.png 1536w, https://foxstarstudios.ca/wp-content/uploads/2025/03/BG_coloringpage02New-2-2048x1203.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://foxstarstudios.ca/2025/03/02/a-few-little-extras/">What Color Are You Feeling Today?</a> appeared first on <a href="https://foxstarstudios.ca">Fox Star Studio</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://foxstarstudios.ca/2025/03/02/a-few-little-extras/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">212</post-id>	</item>
		<item>
		<title>Let&#8217;s Take A Look At Some C# Code</title>
		<link>https://foxstarstudios.ca/2025/02/17/lets-take-a-look-at-some-c-code/</link>
					<comments>https://foxstarstudios.ca/2025/02/17/lets-take-a-look-at-some-c-code/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Mon, 17 Feb 2025 01:14:28 +0000</pubDate>
				<category><![CDATA[C# Code]]></category>
		<guid isPermaLink="false">https://foxstarstudios.ca/?p=202</guid>

					<description><![CDATA[<p>Hello everyone! Welcome back! I&#8217;ve been thinking about how I should make this post and the best idea I came up with is just to take you along and show you the problems I&#8217;m working on. Curl up with something warm to drink and let&#8217;s dive in. For starters, I should point out that, in [&#8230;]</p>
<p>The post <a href="https://foxstarstudios.ca/2025/02/17/lets-take-a-look-at-some-c-code/">Let&#8217;s Take A Look At Some C# Code</a> appeared first on <a href="https://foxstarstudios.ca">Fox Star Studio</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">     Hello everyone!  Welcome back!  I&#8217;ve been thinking about how I should make this post and the best idea I came up with is just to take you along and show you the problems I&#8217;m working on.  Curl up with something warm to drink and let&#8217;s dive in.</p>



<p class="wp-block-paragraph">    For starters, I should point out that, in regards to programing,  I&#8217;m completely self taught.  I may have some weird, quirky, ideas that may not be entirely accurate.  If you notice anything, just let me know.  I&#8217;m always eager to update my understanding of things.</p>



<p class="wp-block-paragraph">     Let&#8217;s start off with one of those quirky ideas.  How I organize scripts.  I like to think of a script as a complete idea.  There are times where, like a run on sentence, you can just go on and on.  However, I like to compartmentalize things a bit more.  One idea equals one script.  That helps keep it clean.  Some scripts are short some are long, but I like to keep it to one idea.  </p>



<p class="wp-block-paragraph">     Let&#8217;s take a look at the &#8216;idea&#8217; that I&#8217;m working on right now.  I&#8217;m updating my canvas controller.  </p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="868" height="828" src="https://foxstarstudios.ca/wp-content/uploads/2025/02/CanvasController01.png" alt="" class="wp-image-207" srcset="https://foxstarstudios.ca/wp-content/uploads/2025/02/CanvasController01.png 868w, https://foxstarstudios.ca/wp-content/uploads/2025/02/CanvasController01-300x286.png 300w, https://foxstarstudios.ca/wp-content/uploads/2025/02/CanvasController01-768x733.png 768w" sizes="auto, (max-width: 868px) 100vw, 868px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="868" height="828" src="https://foxstarstudios.ca/wp-content/uploads/2025/02/CanvasController02.png" alt="" class="wp-image-208" srcset="https://foxstarstudios.ca/wp-content/uploads/2025/02/CanvasController02.png 868w, https://foxstarstudios.ca/wp-content/uploads/2025/02/CanvasController02-300x286.png 300w, https://foxstarstudios.ca/wp-content/uploads/2025/02/CanvasController02-768x733.png 768w" sizes="auto, (max-width: 868px) 100vw, 868px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="868" height="308" src="https://foxstarstudios.ca/wp-content/uploads/2025/02/CanvasController03.png" alt="" class="wp-image-209" srcset="https://foxstarstudios.ca/wp-content/uploads/2025/02/CanvasController03.png 868w, https://foxstarstudios.ca/wp-content/uploads/2025/02/CanvasController03-300x106.png 300w, https://foxstarstudios.ca/wp-content/uploads/2025/02/CanvasController03-768x273.png 768w" sizes="auto, (max-width: 868px) 100vw, 868px" /></figure>



<p class="wp-block-paragraph">     Ha ha ha&#8230; any questions?  I need to work on lines 50 and 51.  The game I&#8217;ve set up just spawns two objects: a reward object and an obstacle (a bomb).  Currently, I&#8217;m working on expanding the reward objects by switching them out for various multiplication facts.  Let me walk you through the rest of the code so you can see what I have going on here.</p>



<p class="wp-block-paragraph">     Lines 1 -6 tell Unity which libraries it needs to access.  Some of them are in active right now but they were active at one point.  After I have everything working the way that I want, I&#8217;ll go through and delete all the inactive libraries.    Because this is the canvas, this is where all the button/ font stuff will be displayed.   You&#8217;ll need text mesh pro and the user interface libraries to do this.  I also have the scene management library plugged in because I&#8217;m going to have various transitions to menus and different levels.  </p>



<p class="wp-block-paragraph">     Next up, lines 9 through 20.</p>
<p>The post <a href="https://foxstarstudios.ca/2025/02/17/lets-take-a-look-at-some-c-code/">Let&#8217;s Take A Look At Some C# Code</a> appeared first on <a href="https://foxstarstudios.ca">Fox Star Studio</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://foxstarstudios.ca/2025/02/17/lets-take-a-look-at-some-c-code/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">202</post-id>	</item>
		<item>
		<title>My First Blog Post, All About My Latest Shader</title>
		<link>https://foxstarstudios.ca/2024/02/23/my-first-blog-post-all-about-my-latest-shader-indie-game-developer-creates-first-fun-educational-kids-game-in-unity/</link>
					<comments>https://foxstarstudios.ca/2024/02/23/my-first-blog-post-all-about-my-latest-shader-indie-game-developer-creates-first-fun-educational-kids-game-in-unity/#comments</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 23 Feb 2024 04:35:44 +0000</pubDate>
				<category><![CDATA[Shader]]></category>
		<guid isPermaLink="false">https://foxstarstudios.ca/?p=1</guid>

					<description><![CDATA[<p>&#8220;Learn how I created a fun, customizable shader in Unity for my latest project! Discover tips on making creative, educational 3D visuals for games.&#8221; Hello Everyone! I&#8217;m going to attempt to explain what I&#8217;ve got going on here. For starters, I’m working in Unity 2022.3.41f1 with URP (Universal Render Pipeline). I originally thought using an [&#8230;]</p>
<p>The post <a href="https://foxstarstudios.ca/2024/02/23/my-first-blog-post-all-about-my-latest-shader-indie-game-developer-creates-first-fun-educational-kids-game-in-unity/">My First Blog Post, All About My Latest Shader</a> appeared first on <a href="https://foxstarstudios.ca">Fox Star Studio</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">&#8220;Learn how I created a fun, customizable shader in Unity for my latest project! Discover tips on making creative, educational 3D visuals for games.&#8221;</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="404" height="612" data-id="42" src="https://foxstarstudios.ca/wp-content/uploads/2024/02/Gummy.png" alt="" class="wp-image-42" srcset="https://foxstarstudios.ca/wp-content/uploads/2024/02/Gummy.png 404w, https://foxstarstudios.ca/wp-content/uploads/2024/02/Gummy-198x300.png 198w" sizes="auto, (max-width: 404px) 100vw, 404px" /></figure>
</figure>



<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-gravatar wp-block-social-link"><a rel="me" href="https://gravatar.com/taranakano" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M10.8001 4.69937V10.6494C10.8001 11.1001 10.9791 11.5323 11.2978 11.851C11.6165 12.1697 12.0487 12.3487 12.4994 12.3487C12.9501 12.3487 13.3824 12.1697 13.7011 11.851C14.0198 11.5323 14.1988 11.1001 14.1988 10.6494V6.69089C15.2418 7.05861 16.1371 7.75537 16.7496 8.67617C17.3622 9.59698 17.6589 10.6919 17.595 11.796C17.5311 12.9001 17.1101 13.9535 16.3954 14.7975C15.6807 15.6415 14.711 16.2303 13.6325 16.4753C12.5541 16.7202 11.4252 16.608 10.4161 16.1555C9.40691 15.703 8.57217 14.9348 8.03763 13.9667C7.50308 12.9985 7.29769 11.8828 7.45242 10.7877C7.60714 9.69266 8.11359 8.67755 8.89545 7.89537C9.20904 7.57521 9.38364 7.14426 9.38132 6.69611C9.37899 6.24797 9.19994 5.81884 8.88305 5.50195C8.56616 5.18506 8.13704 5.00601 7.68889 5.00369C7.24075 5.00137 6.80979 5.17597 6.48964 5.48956C5.09907 6.8801 4.23369 8.7098 4.04094 10.6669C3.84819 12.624 4.34 14.5873 5.43257 16.2224C6.52515 17.8575 8.15088 19.0632 10.0328 19.634C11.9146 20.2049 13.9362 20.1055 15.753 19.3529C17.5699 18.6003 19.0695 17.241 19.9965 15.5066C20.9234 13.7722 21.2203 11.7701 20.8366 9.84133C20.4528 7.91259 19.4122 6.17658 17.892 4.92911C16.3717 3.68163 14.466 2.99987 12.4994 3C12.0487 3 11.6165 3.17904 11.2978 3.49773C10.9791 3.81643 10.8001 4.24867 10.8001 4.69937Z" /></svg><span class="wp-block-social-link-label screen-reader-text">Gravatar</span></a></li></ul>



<p class="wp-block-paragraph">Hello Everyone! I&#8217;m going to attempt to explain what I&#8217;ve got going on here. For starters, I’m working in Unity 2022.3.41f1 with URP (Universal Render Pipeline). I originally thought using an older version of Unity would be more stable, but this version is giving me a few challenges. I’ll explain more on that later For now, let&#8217;s dig into this shader. I&#8217;m attempting to make a gummy bear texture, for my hero, a gummy bear.  I&#8217;ve had quite a lot of trouble making this shader, but I think I have something that I&#8217;m happy with for now.  I&#8217;ll have to test it out in game play mode to see how it works during gameplay.  I&#8217;ll have to update my code to test it out; stay tuned for that fun blog post!  </p>



<p class="wp-block-paragraph">     Some of the trouble I&#8217;ve had is getting all of the shader elements to work together.  This gummy shader is a lot like a thick glass that has a subsurface diffuse scattering on it, refraction, an appearance of a soft outer edge and a specular highlight that is the same hue as the base color, kind of like what you find in a metallic shader.  You can see why I was having trouble.  I tried all sorts of combinations to get all of those elements to work happily together&#8230; and I&#8217;ve decided the best approach is to fake it&#8230; which at the end of the day, is basically what a shader does anyways.  However, this approach may backfire, so I&#8217;ll have to test it in actual game play.  We&#8217;ll get to the testing soon. </p>



<p class="wp-block-paragraph"> Let me explain what I&#8217;ve got going on.  For starters, I&#8217;ve created a URP Lit shader graph and since Unity 2022.3.41f1 doesn&#8217;t have a SSS node, I have to create one. To make the sub diffuse scattering I start with a custom node. </p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="928" height="572" src="https://foxstarstudios.ca/wp-content/uploads/2024/02/ShaderExplained-1.png" alt="" class="wp-image-47" srcset="https://foxstarstudios.ca/wp-content/uploads/2024/02/ShaderExplained-1.png 928w, https://foxstarstudios.ca/wp-content/uploads/2024/02/ShaderExplained-1-300x185.png 300w, https://foxstarstudios.ca/wp-content/uploads/2024/02/ShaderExplained-1-768x473.png 768w" sizes="auto, (max-width: 928px) 100vw, 928px" /></figure>



<p class="wp-block-paragraph">Imagine we have a translucent candle.  If we have a directional light shining on the candle, some of the light will bounce off, but some of that light will enter the candle wax and then bounce around inside the wax before exiting on the opposite side.  It also softens the light transition where the light hits the core shadow.  The calculations to recreate this are pretty heavy, so we&#8217;re going to mimic it.  In order to do that, we need three pieces of information.  1) The light direction (L), we will also need to know the opposite side light direction (-L), 2) We need to know the view direction (What we see, the camera, (V), 3) Lastly, we need the surface direction of the object, also known as the normal (N).  </p>



<p class="wp-block-paragraph">     Now that we know what information we need, let&#8217;s get to work implementing it.  Start out by creating a custom node in your shader graph.  Under &#8216;Type&#8217; select String.  We&#8217;re not going to need a file just for a few lines of code.  After you have selected type, go to the Name section.  We&#8217;re going to add a name that describes this function.  Personally, I prefer the Camel Case naming convention where I capitalize the first letter of each word, but feel free to use the Snake Case if that is your preference. I named my function GetMainLightDirection.  </p>



<p class="wp-block-paragraph">     Next, head on up to your &#8216;outputs&#8217; section.  This is where we are going to enter our variables.  For the first variable, we are going to name it MainLightDirection.  Make this a vector 3.  Name the next variable MainLightIntensity.  Also, make this a vector 3. Now that we have the variables in place, let&#8217;s head over to the body to add our code.</p>



<p class="wp-block-paragraph"><a href="https://www.youtube.com/hashtag/ifdef">#ifdef</a> SHADERGRAPH_PREVIEW </p>



<p class="wp-block-paragraph">MainLightDirection = float3(0.5,0.5,0); </p>



<p class="wp-block-paragraph">MainLightIntensity = 1.0f; </p>



<p class="wp-block-paragraph"><a href="https://www.youtube.com/hashtag/else">#else</a> MainLightDirection = GetMainLight().direction; </p>



<p class="wp-block-paragraph">MainLightIntensity = length(GetMainLight().color); </p>



<p class="wp-block-paragraph"><a href="https://www.youtube.com/hashtag/endif">#endif</a></p>



<p class="wp-block-paragraph">Next, let&#8217;s add a Normal Vector node, make sure that the space is left to world.    Let&#8217;s add these two vectors together. Create an Add node and connect the custom node to the &#8216;B&#8217; input of the Add node.  Before we connect the Normal node, let&#8217;s connect it to a Multiply node.  This will allow us to control how much the normal effects the light direction.  Once the Multiply node has been connected to the Normal node head over to the blackboard.  Press the white plus button in the top right corner and add a float. Rename the float to &#8216;Normal Influence&#8217;. Now you&#8217;re free to drag it into the main editor window and connect it to the Multiply Node. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="620" src="https://foxstarstudios.ca/wp-content/uploads/2024/02/GetMainLightDirection-1024x620.png" alt="" class="wp-image-65" srcset="https://foxstarstudios.ca/wp-content/uploads/2024/02/GetMainLightDirection-1024x620.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2024/02/GetMainLightDirection-300x182.png 300w, https://foxstarstudios.ca/wp-content/uploads/2024/02/GetMainLightDirection-768x465.png 768w, https://foxstarstudios.ca/wp-content/uploads/2024/02/GetMainLightDirection.png 1136w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Now connect the Multiply node to the Add node. Since we have added 2 vectors together, we have to add a normalize node.  This will turn it into what is called a Unit Vector. (You can find out more about normalizing vectors here: https://www.khanacademy.org/computing/computer-programming/programming-natural-simulations/programming-vectors/a/vector-magnitude-normalization#:~:text=To%20normalize%20a%20vector%2C%20therefore,the%20unit%20vector%20readily%20accessible. ) </p>



<p class="wp-block-paragraph">     Remember the diagram of the candle at the beginning of this breakdown? We need more than just the light direction.  We also need the information on where the light exits the candle.  The negative light direction (-L).  Add a Negate node and connect it to our Normalize node.   Yeah!  We&#8217;ve completed the first part of our SSS shader function!  Let&#8217;s group the contents and name it Get Main Light Direction to keep things tidy. Just drag over and select all of your nodes and right click.  Choose the group option and rename your group. </p>



<p class="wp-block-paragraph">    Ready?  Let&#8217;s jump into the back scatter!  </p>



<p class="wp-block-paragraph">    Let&#8217;s start by creating a View Direction node. Connect this node to a Dot Product node. </p>



<p class="wp-block-paragraph">     *(The name &#8220;dot product&#8221; is derived from the dot operator&nbsp;&#8221;&nbsp;<strong>·</strong>&nbsp;&#8221; that is often used to designate this operation; the alternative name &#8220;scalar product&#8221; emphasizes that the result is a scalar, rather than a vector (as in three-dimensional space).) </p>



<p class="wp-block-paragraph">     In the other input for the Dot Product node, connect the output of the Negate node (From the Get Main Light Direction group). After they have been hooked up, let&#8217;s add a Saturate node. This will make sure that the values remain between 0 and 1.  Now we have a value that tells us how much scatter we have across the back of the surface.  However, we&#8217;re going to want to have some control over that back scatter, so let&#8217;s add some nodes that will help us do that.  For starters, add a Power node and next add a Multiply node. Make sure they are set up in this order, power then multiply.  </p>



<p class="wp-block-paragraph">   Okay, now that the nodes have been hooked up, let&#8217;s head back to the blackboard.  We need to create two new floats.  The first float can be named SSS power and the second float can be named SSS intensity. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="620" src="https://foxstarstudios.ca/wp-content/uploads/2024/02/BackScatter-1024x620.png" alt="" class="wp-image-79" srcset="https://foxstarstudios.ca/wp-content/uploads/2024/02/BackScatter-1024x620.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2024/02/BackScatter-300x182.png 300w, https://foxstarstudios.ca/wp-content/uploads/2024/02/BackScatter-768x465.png 768w, https://foxstarstudios.ca/wp-content/uploads/2024/02/BackScatter.png 1136w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">    Now we want to connect the back scatter to the light intensity.  In order to do that we need to add one more Multiply node, connect it to the previous Multiply node.  Now connect the light intensity from our custom function to the input of the multiply node.  Now the light intensity will affect our shader.  Group the contents and name it &#8216;Back Scatter&#8217;.  </p>



<p class="wp-block-paragraph">     When light leaves an object, it often has a different color.  For example, your ears and fingertips will have a red color when light passes through them, because of our blood.  A candle will also have a slightly different color, depending on the wax color.  Let&#8217;s create an input to control that back scatter color.  </p>



<p class="wp-block-paragraph">     To start, head over to the blackboard and select the color property, then name it something like &#8216;SSS Color&#8217;.  Now create a new Multiply node.  Connect this node to the last multiply node in the backscatter group.  Drag your new SSS color property from the blackboard into the main editor and attach it to the other input on the Multiply node.  Once it has been attached you can group this node and the color property and name it &#8216;SSS Color&#8217;.</p>



<p class="wp-block-paragraph">    Look at us, cruising along!  Okay, let&#8217;s dive back in.  I&#8217;m sure you&#8217;ve noticed that a really thick object wont have as much back scattering as a thin object.  As far as I am aware, during run time, there is no easy way to calculate this&#8230; so let&#8217;s fake it with a texture map.  There are some types of software, such as Substance Painter, that can actually bake thickness maps.  However, if you don&#8217;t have access to Substance Painter, you can make a rough map by inverting a baked ambient occlusion texture.   Head back over to the blackboard and create a new 2D texture property.  Name this property something like &#8220;Thickness Texture.&#8221;  Now drag this property on to the main editor.  You will want to make a Sample Texture 2D node now.  Connect your new Thickness property to the texture input on the Sample Texture node.  Now add a Multiply node.  Connect your R(1) output of your Sample Texture node and the output of your SSS Color group to your new Multiply node. We want more light to pass through the thinner parts of the object so we&#8217;re going to have to invert the texture map using a One Minus node.  Place this One Minus node between the Sample Texture 2D node and your Multiply node. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="620" src="https://foxstarstudios.ca/wp-content/uploads/2024/02/Thickness-1024x620.png" alt="" class="wp-image-102" srcset="https://foxstarstudios.ca/wp-content/uploads/2024/02/Thickness-1024x620.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2024/02/Thickness-300x182.png 300w, https://foxstarstudios.ca/wp-content/uploads/2024/02/Thickness-768x465.png 768w, https://foxstarstudios.ca/wp-content/uploads/2024/02/Thickness.png 1136w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">You can now group this selections contents and name it &#8216;Thickness&#8217;.  *Note: Substance painter uses white to represent the value of 1.  You may not need the One Minus node if your values are already inverted. </p>



<p class="wp-block-paragraph">     Almost there.  Let&#8217;s talk about the main color.   We&#8217;re going to blend the Backscatter color to the color on the surface of our object.  </p>



<p class="wp-block-paragraph">     To do this we need to create two new properties on the blackboard. One property will describe the Albedo texture (use a texture 2D property for this one) and a new color property.  Name this new color property something like &#8216;Base Color.&#8217;  Now we are going to create a new node, it will be another Sample Texture 2d node.  Now plug the Albedo texture into the texture T2 input. Next, add another multiply node and connect the Base Color property to input &#8216;A&#8217;.  The Sample Texture 2D node can plug into input &#8216;B&#8217;.  Now we&#8217;re going to add this information to the output of the Thickness group.  To do this, let&#8217;s create an Add node.  Connect the output of our current Multiply node to the &#8216;B&#8217; input in the Add node.  Then plug in the output of the Thickness group into the A input of the Add node.  You can now group this selection and name it something like &#8216;Final Color&#8217;.  Plug the output of your final color into the base color input of your master stack. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="620" src="https://foxstarstudios.ca/wp-content/uploads/2024/02/FinalColor-1024x620.png" alt="" class="wp-image-115" srcset="https://foxstarstudios.ca/wp-content/uploads/2024/02/FinalColor-1024x620.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2024/02/FinalColor-300x182.png 300w, https://foxstarstudios.ca/wp-content/uploads/2024/02/FinalColor-768x465.png 768w, https://foxstarstudios.ca/wp-content/uploads/2024/02/FinalColor.png 1136w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">     We actually have to add a few more parameters before this component of the shader is complete.  Hang in there, we&#8217;re nearly there now. Next, let&#8217;s head back to the blackboard and create another Texture 2D property. Name this property something like AO (for ambient occlusion) texture.  Drag the property into the main editor and then add a Sample Texture 2D node and connect them via the textureT2 input.  Now connect the output of this node to the ambient occlusion in your master stack.  Also, in the blackboard, create another new property.  This new property will be a float; name it &#8216;Smoothness.&#8221;  Drag this property into the main editor and connect it to the smoothness input of your master stack.</p>



<p class="wp-block-paragraph">     Let&#8217;s test out what we have so far.  Save your asset and head over to your scene view.  Now click create &gt; material. This will create a new material based on our new shader.  Start to change all of the default values from 0 and change the black colors to colors that are appropriate for your object.  Your material should now start to react to the light position and intensity.  Good work!  We have a successful SSS Shader!  </p>



<p class="wp-block-paragraph">     Let&#8217;s continue to build on this shader working towards our goal of making a gummy like texture.  Personally, I&#8217;ve tried a bunch of different things and I&#8217;m still not getting the look I want.  Perhaps I&#8217;m overpowering the shader a bit?  Ahhh&#8230; oh well, I&#8217;ll tell you what else I&#8217;ve got going on in the little bear at the top of the screen.  If anyone else has any ideas, feel free to let me know in the comments. </p>



<p class="wp-block-paragraph">     The next part that I&#8217;ve added in is an inner cube map with a Fresnel distortion.  I&#8217;ll show you how I did that.  Let&#8217;s get started!</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="772" src="https://foxstarstudios.ca/wp-content/uploads/2024/02/GummySkybox2-1024x772.png" alt="" class="wp-image-131" srcset="https://foxstarstudios.ca/wp-content/uploads/2024/02/GummySkybox2-1024x772.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2024/02/GummySkybox2-300x226.png 300w, https://foxstarstudios.ca/wp-content/uploads/2024/02/GummySkybox2-768x579.png 768w, https://foxstarstudios.ca/wp-content/uploads/2024/02/GummySkybox2.png 1168w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Here is a copy of the gummy bear sky box I&#8217;ve made. It&#8217;s kind of a golden colored marble texture. I have two versions. A more crisp version where the marble veins are more pronounced and this softer version. I think this softer version will look better, but let&#8217;s test them both out. Once the skyboxes were created, I added them to the materials folder of my project. In the inspector, you can change some of the cube map&#8217;s parameters such as texture shape.  </p>



<p class="wp-block-paragraph">    Now, just like before when we calculated the main light direction, we are going to start off with calculating the viewer direction.  </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="772" src="https://foxstarstudios.ca/wp-content/uploads/2024/02/GummyCameraDirection-1024x772.png" alt="" class="wp-image-141" srcset="https://foxstarstudios.ca/wp-content/uploads/2024/02/GummyCameraDirection-1024x772.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2024/02/GummyCameraDirection-300x226.png 300w, https://foxstarstudios.ca/wp-content/uploads/2024/02/GummyCameraDirection-768x579.png 768w, https://foxstarstudios.ca/wp-content/uploads/2024/02/GummyCameraDirection.png 1168w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">      Let&#8217;s start off with the Position node.  This represents the pixel that we want drawn.  Make sure it&#8217;s set to world space. Next, were going to need the position of the camera.  We&#8217;re going to use a Subtract node to get the direction in which we are viewing the character.  This is now our vector.  Now we want to use a Normalize node so that we can get the vector to a length of 1.   </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="772" src="https://foxstarstudios.ca/wp-content/uploads/2024/02/GummyCameraDirectionInfluence-1024x772.png" alt="" class="wp-image-148" srcset="https://foxstarstudios.ca/wp-content/uploads/2024/02/GummyCameraDirectionInfluence-1024x772.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2024/02/GummyCameraDirectionInfluence-300x226.png 300w, https://foxstarstudios.ca/wp-content/uploads/2024/02/GummyCameraDirectionInfluence-768x579.png 768w, https://foxstarstudios.ca/wp-content/uploads/2024/02/GummyCameraDirectionInfluence.png 1168w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">     Next we&#8217;re going to calculate the direction of the camera movement.  Ha ha ha&#8230; okay, that sounds super confusing.  I think of it like this,  the camera is your head.  The initial direction describes where your head is at and the direction influence describes where your head (face) is pointing, and with the Camera Direction Influence property, where your eyeballs are pointing.  I hope that helps.  Okay, let&#8217;s plug in the eyes.   Start with a Camera node.  This time, instead of position, select direction and plug it into a Multiply node.  Next, create a Camera Direction property.  This will be a float.  Plug it into the Multiply node.  Now we are going to want to add these two calculations together.  Create an Add node and plug in your Camera Direction Influence and your Calculate Initial Direction.  Great work!  Now let&#8217;s have some fun with Fresnel lens effects. </p>



<p class="wp-block-paragraph">     Let&#8217;s start with what is a Fresnel effect? Well, the Fresnel equations were developed by a French physicist Augustin-Jean Fresnel.  These equations describe how light reflects and transmits when interreacting with different materials and surfaces.  In our case, the information for the equation is going to be coming from the direction the normal on the polygon is facing and a our camera angle.  This is going to result in a dot product that will inform our Fresnel effect.  The Fresnel effect it&#8217;s self is nice, because just like a lens, our picture area will be nice and clear, but were going to get some distortion around the edges of our object.  This is a nice effect on 3D objects, because the light will bend around the object, highlighting it&#8217;s 3dimentional form, so it doesn&#8217;t look flat.    </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="716" src="https://foxstarstudios.ca/wp-content/uploads/2024/02/Fresnel-effect-1024x716.png" alt="" class="wp-image-164" srcset="https://foxstarstudios.ca/wp-content/uploads/2024/02/Fresnel-effect-1024x716.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2024/02/Fresnel-effect-300x210.png 300w, https://foxstarstudios.ca/wp-content/uploads/2024/02/Fresnel-effect-768x537.png 768w, https://foxstarstudios.ca/wp-content/uploads/2024/02/Fresnel-effect.png 1276w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">So let&#8217;s plug it all in.  Head on over to the backboard and create a float property.  Call this something like FresnelDistortionStrength. This float is going to plug into the Fresnel power.  </p>



<p class="wp-block-paragraph">     *Note:  If you ever need to create an easy outline, a Fresnel node is an option.  It&#8217;s not perfect, but if you dial up the power you can create a rough outline.</p>



<p class="wp-block-paragraph">     Add the camera direction influence and the Fresnel together. Now we&#8217;re ready to plug in that cube map.</p>



<p class="wp-block-paragraph">     We&#8217;re going to need a few new parameters.  Let&#8217;s head over to the blackboard and create a cube map property.  I just named mine &#8220;main cube map.&#8221;  Next, create a cube map node and a sampler state.  The sampler state just describes the type of filter it&#8217;s using. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="716" src="https://foxstarstudios.ca/wp-content/uploads/2024/02/CubeMapSampler-1024x716.png" alt="" class="wp-image-176" srcset="https://foxstarstudios.ca/wp-content/uploads/2024/02/CubeMapSampler-1024x716.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2024/02/CubeMapSampler-300x210.png 300w, https://foxstarstudios.ca/wp-content/uploads/2024/02/CubeMapSampler-768x537.png 768w, https://foxstarstudios.ca/wp-content/uploads/2024/02/CubeMapSampler.png 1276w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">       Now that we have the cube map plugged in, let&#8217;s have some fun with color! We&#8217;re going to going to use Fresnel again in order to create a colored edge.  </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="716" src="https://foxstarstudios.ca/wp-content/uploads/2024/02/FresnelColors-1024x716.png" alt="" class="wp-image-178" srcset="https://foxstarstudios.ca/wp-content/uploads/2024/02/FresnelColors-1024x716.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2024/02/FresnelColors-300x210.png 300w, https://foxstarstudios.ca/wp-content/uploads/2024/02/FresnelColors-768x537.png 768w, https://foxstarstudios.ca/wp-content/uploads/2024/02/FresnelColors.png 1276w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">      For this group were going to start with a split node and a Fresnel Effect node.  We&#8217;re going to use the alpha of the color to help regulate the intensity of the color.  We will also need to properties.  Create a color property and name it something like &#8220;Fresnel Color&#8221; and create another property, a float, named something like &#8220;Fresnel Strength&#8221;.  Plug the Fresnel color property into the split node and the Fresnel strength into the the power input of the Fresnel effect.  Plug both of the nodes into a multiply node to combine them.  Lastly, I&#8217;m going to plug this group into a Lerp node to combine it with the cube map.  </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="716" src="https://foxstarstudios.ca/wp-content/uploads/2024/02/Lerp-1024x716.png" alt="" class="wp-image-186" srcset="https://foxstarstudios.ca/wp-content/uploads/2024/02/Lerp-1024x716.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2024/02/Lerp-300x210.png 300w, https://foxstarstudios.ca/wp-content/uploads/2024/02/Lerp-768x537.png 768w, https://foxstarstudios.ca/wp-content/uploads/2024/02/Lerp.png 1276w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Now, I&#8217;m going to blend the Fresnel effect and the SSS aspect of the shader.  Before I do that, I want to add a little control so I can either dial up the SSS aspect or the Fresnel or dial them back down if I need.  In order to do that I&#8217;m going to create two more properties. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="716" src="https://foxstarstudios.ca/wp-content/uploads/2024/02/Blend-1024x716.png" alt="" class="wp-image-188" srcset="https://foxstarstudios.ca/wp-content/uploads/2024/02/Blend-1024x716.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2024/02/Blend-300x210.png 300w, https://foxstarstudios.ca/wp-content/uploads/2024/02/Blend-768x537.png 768w, https://foxstarstudios.ca/wp-content/uploads/2024/02/Blend.png 1276w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">     Both properties are floats.  I named one Fresnel Blend Strength and the other SSS Blend Strength.  Also, you may want to control the opacity of the blend.  Create another property for this.  This will also be a float.  Plug it all together and an attach it to the base color of the Master stack.  There are a couple of other properties you may want to control on the master stack. Create a property for Smoothness, Alpha strength and metallic strength.  All floats.  You can now control these aspects from the properties panel.  Just be sure to save your shader first by clicking on the save asset button.  Here&#8217;s a quick look at me playing with my Fresnel color so you can see what the effect of that is:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="716" src="https://foxstarstudios.ca/wp-content/uploads/2024/02/Fresnel-Effect-Example-1024x716.png" alt="" class="wp-image-192" srcset="https://foxstarstudios.ca/wp-content/uploads/2024/02/Fresnel-Effect-Example-1024x716.png 1024w, https://foxstarstudios.ca/wp-content/uploads/2024/02/Fresnel-Effect-Example-300x210.png 300w, https://foxstarstudios.ca/wp-content/uploads/2024/02/Fresnel-Effect-Example-768x537.png 768w, https://foxstarstudios.ca/wp-content/uploads/2024/02/Fresnel-Effect-Example.png 1276w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">      The first edge is yellow, the middle Fresnel is red the last is purple.  The Fresnel strength is the same for all three gummy bears.  Well, now that we know how the shader was made, let&#8217;s test it out!  In order to test it out we will have to move over to the code.  That&#8217;s exciting!  Come check out my next post! </p>
<p>The post <a href="https://foxstarstudios.ca/2024/02/23/my-first-blog-post-all-about-my-latest-shader-indie-game-developer-creates-first-fun-educational-kids-game-in-unity/">My First Blog Post, All About My Latest Shader</a> appeared first on <a href="https://foxstarstudios.ca">Fox Star Studio</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://foxstarstudios.ca/2024/02/23/my-first-blog-post-all-about-my-latest-shader-indie-game-developer-creates-first-fun-educational-kids-game-in-unity/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1</post-id>	</item>
	</channel>
</rss>
