<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Unity on GameSweetGame</title><link>https://gamesweetgame.com/categories/unity/</link><description>Recent content in Unity on GameSweetGame</description><generator>Hugo -- gohugo.io</generator><language>ko</language><lastBuildDate>Fri, 20 Feb 2026 12:31:00 +0900</lastBuildDate><atom:link href="https://gamesweetgame.com/categories/unity/index.xml" rel="self" type="application/rss+xml"/><item><title>Fix Character Movement Stutter in Unity</title><link>https://gamesweetgame.com/en/posts/unity-character-movement-stutter/</link><pubDate>Fri, 20 Feb 2026 12:31:00 +0900</pubDate><guid>https://gamesweetgame.com/en/posts/unity-character-movement-stutter/</guid><description>&lt;p&gt;Check if &lt;strong&gt;Min Move Distance&lt;/strong&gt; is set to 0 in your Character Controller.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Min Move Distance setting" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;I spent a long time tweaking movement code trying to figure out why the character was stuttering. Turns out, setting Min Move Distance to 0 fixed it right away.&lt;/p&gt;</description></item><item><title>캐릭터 이동이 버벅거리고 이상할 때</title><link>https://gamesweetgame.com/ko/posts/unity-character-movement-stutter/</link><pubDate>Fri, 20 Feb 2026 12:31:00 +0900</pubDate><guid>https://gamesweetgame.com/ko/posts/unity-character-movement-stutter/</guid><description>&lt;p&gt;캐릭터 컨트롤러에서 &lt;strong&gt;Min Move Distance&lt;/strong&gt;가 0인지 확인해봐야 한다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Min Move Distance 설정" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;값이 왜 변경되었었는지.. 한참을 이동관련 코드 수정하면서 찾다가 Min Move Distance를 0으로 하니 잘 움직인다.&lt;/p&gt;</description></item><item><title>캐릭터 이동이 버벅거리고 이상할 때</title><link>https://gamesweetgame.com/p/%EC%BA%90%EB%A6%AD%ED%84%B0-%EC%9D%B4%EB%8F%99%EC%9D%B4-%EB%B2%84%EB%B2%85%EA%B1%B0%EB%A6%AC%EA%B3%A0-%EC%9D%B4%EC%83%81%ED%95%A0-%EB%95%8C/</link><pubDate>Fri, 20 Feb 2026 12:31:00 +0900</pubDate><guid>https://gamesweetgame.com/p/%EC%BA%90%EB%A6%AD%ED%84%B0-%EC%9D%B4%EB%8F%99%EC%9D%B4-%EB%B2%84%EB%B2%85%EA%B1%B0%EB%A6%AC%EA%B3%A0-%EC%9D%B4%EC%83%81%ED%95%A0-%EB%95%8C/</guid><description>&lt;p&gt;캐릭터 컨트롤러에서 &lt;strong&gt;Min Move Distance&lt;/strong&gt;가 0인지 확인해봐야 한다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Min Move Distance 설정" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;값이 왜 변경되었었는지.. 한참을 이동관련 코드 수정하면서 찾다가 Min Move Distance를 0으로 하니 잘 움직인다.&lt;/p&gt;</description></item><item><title>Extract Animation Clips from FBX in Unity</title><link>https://gamesweetgame.com/en/posts/unity-fbx-extract-animation/</link><pubDate>Tue, 10 Feb 2026 11:29:00 +0900</pubDate><guid>https://gamesweetgame.com/en/posts/unity-fbx-extract-animation/</guid><description>&lt;p&gt;Select the FBX file and press &lt;strong&gt;Ctrl+D&lt;/strong&gt; to duplicate just the animation clip.&lt;/p&gt;
&lt;p&gt;&lt;img alt="FBX animation extraction" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;Make sure to finalize all settings before extracting.&lt;/p&gt;</description></item><item><title>FBX에서 애니메이션 추출하기</title><link>https://gamesweetgame.com/ko/posts/unity-fbx-extract-animation/</link><pubDate>Tue, 10 Feb 2026 11:29:00 +0900</pubDate><guid>https://gamesweetgame.com/ko/posts/unity-fbx-extract-animation/</guid><description>&lt;p&gt;FBX파일을 선택하고 &lt;strong&gt;Ctrl+D&lt;/strong&gt;하면 애니메이션 파일만 복사가 된다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="FBX 애니메이션 추출" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;설정을 다 마친 후에 추출하자.&lt;/p&gt;</description></item><item><title>FBX에서 애니메이션 추출하기</title><link>https://gamesweetgame.com/p/fbx%EC%97%90%EC%84%9C-%EC%95%A0%EB%8B%88%EB%A9%94%EC%9D%B4%EC%85%98-%EC%B6%94%EC%B6%9C%ED%95%98%EA%B8%B0/</link><pubDate>Tue, 10 Feb 2026 11:29:00 +0900</pubDate><guid>https://gamesweetgame.com/p/fbx%EC%97%90%EC%84%9C-%EC%95%A0%EB%8B%88%EB%A9%94%EC%9D%B4%EC%85%98-%EC%B6%94%EC%B6%9C%ED%95%98%EA%B8%B0/</guid><description>&lt;p&gt;FBX파일을 선택하고 &lt;strong&gt;Ctrl+D&lt;/strong&gt;하면 애니메이션 파일만 복사가 된다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="FBX 애니메이션 추출" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;설정을 다 마친 후에 추출하자.&lt;/p&gt;</description></item><item><title>Unity Editor Crash Fix: D3D11 Swapchain Device Reset/Removed</title><link>https://gamesweetgame.com/en/posts/unity-d3d11-swapchain-crash/</link><pubDate>Wed, 28 Jan 2026 00:00:00 +0900</pubDate><guid>https://gamesweetgame.com/en/posts/unity-d3d11-swapchain-crash/</guid><description>&lt;p&gt;I was working in Unity when suddenly the editor crashed with a D3D11 swapchain error — &amp;ldquo;Failed to present D3D11 swapchain due to device reset/removed.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;After reopening, it would crash within 3 seconds every time.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Error screenshot" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;I tried everything — reinstalling Unity, changing versions — nothing worked.&lt;/p&gt;
&lt;p&gt;I initially suspected &lt;strong&gt;Wallpaper Engine&lt;/strong&gt; conflicting with DirectX in the background, but that wasn&amp;rsquo;t it either.&lt;/p&gt;
&lt;p&gt;The key symptom was that the editor was sluggish and unresponsive, but the scene and game view rendered fine before crashing. This suggested it wasn&amp;rsquo;t a rendering issue but something loading in the background.&lt;/p&gt;
&lt;p&gt;Then I noticed &lt;strong&gt;Windows Defender&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Defender" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The fix: Allow the Unity Editor and Unity Package Manager through Windows Defender Firewall.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Firewall settings" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;My theory: Unity tries to communicate with Package Manager and other services on startup. The firewall blocks these requests, stalling the main thread, causing GPU timing to slip, and eventually triggering the D3D11 device reset.&lt;/p&gt;</description></item><item><title>유니티 에디터가 터지면... (D3D11 swapchain device reset/removed)</title><link>https://gamesweetgame.com/ko/posts/unity-d3d11-swapchain-crash/</link><pubDate>Wed, 28 Jan 2026 00:00:00 +0900</pubDate><guid>https://gamesweetgame.com/ko/posts/unity-d3d11-swapchain-crash/</guid><description>&lt;p&gt;유니티로 신나게 작업하고 있는데 갑자기..&lt;/p&gt;
&lt;p&gt;예전에 DirectX11로 공부할 때나 보던 스왑체인이 안나온다는 메세지가 나왔다.&lt;/p&gt;
&lt;p&gt;다시 켜보니 실행 후 3초 정도 있으면 바로 터졌다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="에러 스크린샷" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;유니티 에디터가 그래픽드라이버 리셋에 걸려서 강제종료 한다는 것 같은데, 바로 구글링 들어가서 이것저것 시도해 봤는데 해결이 안됐다.&lt;/p&gt;
&lt;p&gt;유니티도 완전히 삭제 후 다시 설치해도, 버전을 바꿔도 그대로다.&lt;/p&gt;
&lt;p&gt;한참을 고민하다가 스친 생각 — background에서 DirectX를 쓰는 프로그램이 있나?&lt;/p&gt;
&lt;p&gt;그건 바로 &lt;strong&gt;Wallpaper Engine&lt;/strong&gt;. 움직이는 배경화면으로 사용하던 프로그램이다.&lt;/p&gt;
&lt;p&gt;월페이퍼 엔진을 꺼봤다. 된다?&lt;/p&gt;
&lt;p&gt;정확히는 월페이퍼 엔진이 문제는 아니고, 잘 되는 줄 알았던 유니티 에디터가 다시 터졌다. 아마 유니티 재설치를 해서 잠시 돌아간 듯..&lt;/p&gt;
&lt;p&gt;유니티를 켰을 때 증상이 에디터가 버벅거리면서 반응도 엄청 느린 것이 렌더의 문제가 아닌 것 같았다.&lt;/p&gt;
&lt;p&gt;렌더되는 씬이나 게임 부분은 다 나오고 잠시 버티다가 터지는 것을 보니 뭔가 불러오기 하다가 터지는 것 아닌가 싶다.&lt;/p&gt;
&lt;p&gt;그러다가 우연히 윈도우에 작동하고 있는 Defender가 눈에 들어왔다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Defender" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;방화벽에서 앱 허용에 에디터랑 유니티패키지 매니저를 허용했더니 해결 되었다.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="방화벽 설정" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;유니티를 실행하면 에디터에서 패키지 매니저 등 네트워크 통신을 하다가 방화벽에 막혀서 메인 스레드가 지연되고, GPU 타이밍이 밀리면서 D3D가 터진 게 아닌가라는 추측.&lt;/p&gt;</description></item><item><title>유니티 에디터가 터지면... (D3D11 swapchain device reset/removed)</title><link>https://gamesweetgame.com/p/%EC%9C%A0%EB%8B%88%ED%8B%B0-%EC%97%90%EB%94%94%ED%84%B0%EA%B0%80-%ED%84%B0%EC%A7%80%EB%A9%B4...-d3d11-swapchain-device-reset/removed/</link><pubDate>Wed, 28 Jan 2026 00:00:00 +0900</pubDate><guid>https://gamesweetgame.com/p/%EC%9C%A0%EB%8B%88%ED%8B%B0-%EC%97%90%EB%94%94%ED%84%B0%EA%B0%80-%ED%84%B0%EC%A7%80%EB%A9%B4...-d3d11-swapchain-device-reset/removed/</guid><description>&lt;p&gt;유니티로 신나게 작업하고 있는데 갑자기..&lt;/p&gt;
&lt;p&gt;예전에 DirectX11로 공부할 때나 보던 스왑체인이 안나온다는 메세지가 나왔다.&lt;/p&gt;
&lt;p&gt;다시 켜보니 실행 후 3초 정도 있으면 바로 터졌다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="에러 스크린샷" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;유니티 에디터가 그래픽드라이버 리셋에 걸려서 강제종료 한다는 것 같은데, 바로 구글링 들어가서 이것저것 시도해 봤는데 해결이 안됐다.&lt;/p&gt;
&lt;p&gt;유니티도 완전히 삭제 후 다시 설치해도, 버전을 바꿔도 그대로다.&lt;/p&gt;
&lt;p&gt;한참을 고민하다가 스친 생각 — background에서 DirectX를 쓰는 프로그램이 있나?&lt;/p&gt;
&lt;p&gt;그건 바로 &lt;strong&gt;Wallpaper Engine&lt;/strong&gt;. 움직이는 배경화면으로 사용하던 프로그램이다.&lt;/p&gt;
&lt;p&gt;월페이퍼 엔진을 꺼봤다. 된다?&lt;/p&gt;
&lt;p&gt;정확히는 월페이퍼 엔진이 문제는 아니고, 잘 되는 줄 알았던 유니티 에디터가 다시 터졌다. 아마 유니티 재설치를 해서 잠시 돌아간 듯..&lt;/p&gt;
&lt;p&gt;유니티를 켰을 때 증상이 에디터가 버벅거리면서 반응도 엄청 느린 것이 렌더의 문제가 아닌 것 같았다.&lt;/p&gt;
&lt;p&gt;렌더되는 씬이나 게임 부분은 다 나오고 잠시 버티다가 터지는 것을 보니 뭔가 불러오기 하다가 터지는 것 아닌가 싶다.&lt;/p&gt;
&lt;p&gt;그러다가 우연히 윈도우에 작동하고 있는 Defender가 눈에 들어왔다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Defender" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;방화벽에서 앱 허용에 에디터랑 유니티패키지 매니저를 허용했더니 해결 되었다.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="방화벽 설정" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;유니티를 실행하면 에디터에서 패키지 매니저 등 네트워크 통신을 하다가 방화벽에 막혀서 메인 스레드가 지연되고, GPU 타이밍이 밀리면서 D3D가 터진 게 아닌가라는 추측.&lt;/p&gt;</description></item><item><title>Visualize Character Field of View with Unity Gizmos</title><link>https://gamesweetgame.com/en/posts/unity-gizmo-fov-visualization/</link><pubDate>Thu, 13 Mar 2025 00:00:00 +0900</pubDate><guid>https://gamesweetgame.com/en/posts/unity-gizmo-fov-visualization/</guid><description>&lt;p&gt;Unity has built-in Gizmo functions that get called automatically.&lt;/p&gt;
&lt;h3 id="ondrawgizmos"&gt;OnDrawGizmos()
&lt;/h3&gt;&lt;p&gt;Always visible in the Scene view.&lt;/p&gt;
&lt;h3 id="ondrawgizmosselected"&gt;OnDrawGizmosSelected()
&lt;/h3&gt;&lt;p&gt;Only visible when the object is &lt;strong&gt;selected&lt;/strong&gt; in the Scene view.&lt;/p&gt;
&lt;p&gt;Great for visualizing field of view, attack range, and other debug shapes.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Blue lines drawn in scene" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;</description></item><item><title>유니티 캐릭터 시야 시각화 (기즈모)</title><link>https://gamesweetgame.com/ko/posts/unity-gizmo-fov-visualization/</link><pubDate>Thu, 13 Mar 2025 00:00:00 +0900</pubDate><guid>https://gamesweetgame.com/ko/posts/unity-gizmo-fov-visualization/</guid><description>&lt;p&gt;유니티에서 자동으로 호출되는 함수 중 기즈모 관련 함수가 있다.&lt;/p&gt;
&lt;h3 id="ondrawgizmos"&gt;OnDrawGizmos()
&lt;/h3&gt;&lt;p&gt;씬 뷰에서 &lt;strong&gt;항상&lt;/strong&gt; 보이게&lt;/p&gt;
&lt;h3 id="ondrawgizmosselected"&gt;OnDrawGizmosSelected()
&lt;/h3&gt;&lt;p&gt;씬 뷰에서 해당 오브젝트를 &lt;strong&gt;선택하면&lt;/strong&gt; 보이게&lt;/p&gt;
&lt;p&gt;시야 범위나 공격 범위 등 시각화에 사용하면 디버깅하기 좋다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="파랑색 라인이 그려졌다" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;</description></item><item><title>유니티 캐릭터 시야 시각화 (기즈모)</title><link>https://gamesweetgame.com/p/%EC%9C%A0%EB%8B%88%ED%8B%B0-%EC%BA%90%EB%A6%AD%ED%84%B0-%EC%8B%9C%EC%95%BC-%EC%8B%9C%EA%B0%81%ED%99%94-%EA%B8%B0%EC%A6%88%EB%AA%A8/</link><pubDate>Thu, 13 Mar 2025 00:00:00 +0900</pubDate><guid>https://gamesweetgame.com/p/%EC%9C%A0%EB%8B%88%ED%8B%B0-%EC%BA%90%EB%A6%AD%ED%84%B0-%EC%8B%9C%EC%95%BC-%EC%8B%9C%EA%B0%81%ED%99%94-%EA%B8%B0%EC%A6%88%EB%AA%A8/</guid><description>&lt;p&gt;유니티에서 자동으로 호출되는 함수 중 기즈모 관련 함수가 있다.&lt;/p&gt;
&lt;h3 id="ondrawgizmos"&gt;OnDrawGizmos()
&lt;/h3&gt;&lt;p&gt;씬 뷰에서 &lt;strong&gt;항상&lt;/strong&gt; 보이게&lt;/p&gt;
&lt;h3 id="ondrawgizmosselected"&gt;OnDrawGizmosSelected()
&lt;/h3&gt;&lt;p&gt;씬 뷰에서 해당 오브젝트를 &lt;strong&gt;선택하면&lt;/strong&gt; 보이게&lt;/p&gt;
&lt;p&gt;시야 범위나 공격 범위 등 시각화에 사용하면 디버깅하기 좋다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="파랑색 라인이 그려졌다" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;</description></item><item><title>Unity Sword Trail Effect</title><link>https://gamesweetgame.com/en/posts/unity-sword-trail-effect/</link><pubDate>Fri, 21 Feb 2025 00:00:00 +0900</pubDate><guid>https://gamesweetgame.com/en/posts/unity-sword-trail-effect/</guid><description>&lt;p&gt;I added basic attack animations to my character controller.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Basic attack" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;Swinging the sword felt empty. Games I&amp;rsquo;ve played always had that afterimage trail effect when swinging fast.&lt;/p&gt;
&lt;h2 id="implementation"&gt;Implementation
&lt;/h2&gt;&lt;p&gt;Generate a mesh along the sword&amp;rsquo;s trajectory.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Sword trajectory as mesh" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;Draw a texture on the mesh and push it with a shader. The timing needs to follow right behind the sword&amp;rsquo;s path.&lt;/p&gt;
&lt;p&gt;To sync the timing, adjust the shader texture Offset while watching the sword in the animation.&lt;/p&gt;
&lt;p&gt;After searching for how animation stores shader texture values, I found &lt;code&gt;Material._MainTex_ST&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Now I can control shader values through animation.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Sword trail texture following the blade" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;Tip:&lt;/strong&gt; Set the shader texture mode to &lt;strong&gt;Clamp&lt;/strong&gt; instead of Wrap. Otherwise the texture keeps repeating. With Clamp, it extends the last pixel seamlessly.&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="Final result" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;Basic sword trail effect done. Next step: make it 3D and add more options for fancier effects.&lt;/p&gt;
&lt;h3 id="extra-tip"&gt;Extra Tip
&lt;/h3&gt;&lt;p&gt;&lt;img alt="Broken option" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;When keying the animation, use the &lt;strong&gt;Broken&lt;/strong&gt; tangent option to prevent the texture from visibly snapping back to the start when the attack animation ends.&lt;/p&gt;</description></item><item><title>유니티 검기 이펙트 (Unity Sword Trail Effect)</title><link>https://gamesweetgame.com/ko/posts/unity-sword-trail-effect/</link><pubDate>Fri, 21 Feb 2025 00:00:00 +0900</pubDate><guid>https://gamesweetgame.com/ko/posts/unity-sword-trail-effect/</guid><description>&lt;p&gt;캐릭터 컨트롤러를 만들면서 기본적인 공격 애니메이션을 넣었다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="그냥 공격" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;검을 휘두르는데 뭔가 허전하다. 생각해 보니 내가 했던 게임들은 검을 빠르게 휘두르면 잔영처럼 남는 이펙트가 있었다.&lt;/p&gt;
&lt;h2 id="구현-방법"&gt;구현 방법
&lt;/h2&gt;&lt;p&gt;검의 궤적을 메시로 만든다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="검의 궤적을 메시로" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;메시에 텍스쳐를 그리고, 쉐이더로 텍스쳐를 밀면 되는데 검이 지나가는 바로 뒤를 따라가야 하기 때문에 타이밍을 맞춰주면 된다.&lt;/p&gt;
&lt;p&gt;타이밍 맞추는 것은 애니메이션에서 검을 보면서 쉐이더 텍스쳐의 Offset을 조절한다.&lt;/p&gt;
&lt;p&gt;애니메이션에서 쉐이더의 텍스쳐가 무엇으로 저장이 되는지 한참 찾다가 &lt;code&gt;Material._MainTex_ST&lt;/code&gt;라는 것을 찾았다.&lt;/p&gt;
&lt;p&gt;이제 애니메이션으로 쉐이더 값을 조절할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="검을 따라 그려지는 검기 텍스쳐" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;팁:&lt;/strong&gt; 쉐이더에서 텍스쳐 설정을 wrap이 아닌 &lt;strong&gt;clamp&lt;/strong&gt;로 해야 텍스쳐가 계속 돌지 않고, 끝부분 마지막 픽셀로 이어져 나온다.&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="잘 나온다" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;기본적인 검기 이펙트이다. 3D로 만들거나 더 많은 옵션을 넣어서 더 화려하게 만들어 봐야겠다.&lt;/p&gt;
&lt;h3 id="추가-팁"&gt;추가 팁
&lt;/h3&gt;&lt;p&gt;&lt;img alt="브로큰 옵션" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;애니메이션 키를 찍을 때 &lt;strong&gt;Broken 옵션&lt;/strong&gt;을 넣어주면 공격 애니메이션이 끝나고 텍스쳐가 처음으로 돌아갈 때 휙 보이는 현상을 없앨 수 있다.&lt;/p&gt;</description></item><item><title>유니티 검기 이펙트 (Unity Sword Trail Effect)</title><link>https://gamesweetgame.com/p/%EC%9C%A0%EB%8B%88%ED%8B%B0-%EA%B2%80%EA%B8%B0-%EC%9D%B4%ED%8E%99%ED%8A%B8-unity-sword-trail-effect/</link><pubDate>Fri, 21 Feb 2025 00:00:00 +0900</pubDate><guid>https://gamesweetgame.com/p/%EC%9C%A0%EB%8B%88%ED%8B%B0-%EA%B2%80%EA%B8%B0-%EC%9D%B4%ED%8E%99%ED%8A%B8-unity-sword-trail-effect/</guid><description>&lt;p&gt;캐릭터 컨트롤러를 만들면서 기본적인 공격 애니메이션을 넣었다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="그냥 공격" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;검을 휘두르는데 뭔가 허전하다. 생각해 보니 내가 했던 게임들은 검을 빠르게 휘두르면 잔영처럼 남는 이펙트가 있었다.&lt;/p&gt;
&lt;h2 id="구현-방법"&gt;구현 방법
&lt;/h2&gt;&lt;p&gt;검의 궤적을 메시로 만든다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="검의 궤적을 메시로" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;메시에 텍스쳐를 그리고, 쉐이더로 텍스쳐를 밀면 되는데 검이 지나가는 바로 뒤를 따라가야 하기 때문에 타이밍을 맞춰주면 된다.&lt;/p&gt;
&lt;p&gt;타이밍 맞추는 것은 애니메이션에서 검을 보면서 쉐이더 텍스쳐의 Offset을 조절한다.&lt;/p&gt;
&lt;p&gt;애니메이션에서 쉐이더의 텍스쳐가 무엇으로 저장이 되는지 한참 찾다가 &lt;code&gt;Material._MainTex_ST&lt;/code&gt;라는 것을 찾았다.&lt;/p&gt;
&lt;p&gt;이제 애니메이션으로 쉐이더 값을 조절할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="검을 따라 그려지는 검기 텍스쳐" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;팁:&lt;/strong&gt; 쉐이더에서 텍스쳐 설정을 wrap이 아닌 &lt;strong&gt;clamp&lt;/strong&gt;로 해야 텍스쳐가 계속 돌지 않고, 끝부분 마지막 픽셀로 이어져 나온다.&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="잘 나온다" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;기본적인 검기 이펙트이다. 3D로 만들거나 더 많은 옵션을 넣어서 더 화려하게 만들어 봐야겠다.&lt;/p&gt;
&lt;h3 id="추가-팁"&gt;추가 팁
&lt;/h3&gt;&lt;p&gt;&lt;img alt="브로큰 옵션" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;애니메이션 키를 찍을 때 &lt;strong&gt;Broken 옵션&lt;/strong&gt;을 넣어주면 공격 애니메이션이 끝나고 텍스쳐가 처음으로 돌아갈 때 휙 보이는 현상을 없앨 수 있다.&lt;/p&gt;</description></item></channel></rss>