<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Study Log</title>
    <link>https://imresearcher.tistory.com/</link>
    <description>공부, 지식, 정보</description>
    <language>ko</language>
    <pubDate>Sat, 8 Aug 2026 04:44:18 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>하바사</managingEditor>
    <item>
      <title>unity 6.2 beta ai</title>
      <link>https://imresearcher.tistory.com/60</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://youtu.be/YFYzH8V5wnw?si=OMjHZthPpEJ-_z3-&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://youtu.be/YFYzH8V5wnw?si=OMjHZthPpEJ-_z3-&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=YFYzH8V5wnw&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/baXlGE/hyZvplq1IW/9rkczdjbuqlKp2zvRtbrV0/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720,https://scrap.kakaocdn.net/dn/k3NMe/hyZuvsVDXR/pQDvkLNQkdfNXVSC6jdOT0/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-title=&quot;Unity AI랑 Cursor로 게임 만들어보기 개발 속도 ㄷㄷㄷㄷㄷㄷㄷ;&quot; data-original-url=&quot;&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/YFYzH8V5wnw&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://youtu.be/dz27ljjAYao?si=TadbAl0sFeazw-aW&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://youtu.be/dz27ljjAYao?si=TadbAl0sFeazw-aW&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=dz27ljjAYao&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/cmvR3x/hyZuEpPq9L/r7gZiu4h44tjtpVBM032pK/img.jpg?width=480&amp;amp;height=360&amp;amp;face=0_0_480_360,https://scrap.kakaocdn.net/dn/irZoM/hyZuvTYjyo/o4wzmW7aJEfNi9NqxEEIK0/img.jpg?width=480&amp;amp;height=360&amp;amp;face=0_0_480_360&quot; data-video-width=&quot;480&quot; data-video-height=&quot;360&quot; data-video-origin-width=&quot;480&quot; data-video-origin-height=&quot;360&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-title=&quot;유니티 AI 베타 (지금 무료) 둘러보기&quot; data-original-url=&quot;&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/dz27ljjAYao&quot; width=&quot;480&quot; height=&quot;360&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;두 가지 주요 AI 기능:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;AI 어시스턴트:&lt;/b&gt; 프로젝트 관련 질문에 답하고, 오류 로그를 분석하며, 코드를 생성해줌.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;AI 제너레이터:&lt;/b&gt; 애니메이션, 머티리얼, 사운드, 스프라이트, 텍스처 등을 생성할 수 있음&lt;/li&gt;
&lt;li&gt;텍스처 생성 : 프롬프트 입력으로 생성 가능&lt;/li&gt;
&lt;li&gt;사운드 생성 : &quot;고양이 울음소리&quot; 같은 프롬프트로 사운드를 생성하지만, 아직 정확도가 낮음&lt;/li&gt;
&lt;li&gt;애니메이션 생성 : 텍스트나 비디오를 기반으로 애니메이션을 생성&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>프로그래밍/유니티</category>
      <author>하바사</author>
      <guid isPermaLink="true">https://imresearcher.tistory.com/60</guid>
      <comments>https://imresearcher.tistory.com/60#entry60comment</comments>
      <pubDate>Sat, 9 Aug 2025 22:17:32 +0900</pubDate>
    </item>
    <item>
      <title>RHI 설정</title>
      <link>https://imresearcher.tistory.com/59</link>
      <description>&lt;h3 data-end=&quot;218&quot; data-start=&quot;189&quot; data-ke-size=&quot;size23&quot;&gt;1. 실행 옵션으로 설정 (콘솔 명령어 아님)&lt;/h3&gt;
&lt;p data-end=&quot;258&quot; data-start=&quot;220&quot; data-ke-size=&quot;size16&quot;&gt;런타임 중엔 RHI를 바꿀 수 없기 때문에, 실행 전에 설정해야 함.&lt;/p&gt;
&lt;h4 data-end=&quot;278&quot; data-start=&quot;260&quot; data-ke-size=&quot;size20&quot;&gt;실행 시 커맨드라인 옵션&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;MyGame.exe&amp;nbsp;-rhi=dx11&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;DX12로 실행하고 싶으면:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;MyGame.exe&amp;nbsp;-rhi=dx12&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-end=&quot;399&quot; data-start=&quot;368&quot; data-ke-size=&quot;size23&quot;&gt;2. DefaultEngine.ini에서 설정&lt;/h3&gt;
&lt;p data-end=&quot;431&quot; data-start=&quot;401&quot; data-ke-size=&quot;size16&quot;&gt;프로젝트 설정을 통해 기본 RHI를 고정할 수도 있음.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;[/Script/WindowsTargetPlatform.WindowsTargetSettings] &lt;br /&gt;DefaultGraphicsRHI=DefaultGraphicsRHI_DX11 &lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;548&quot; data-start=&quot;542&quot; data-ke-size=&quot;size16&quot;&gt;가능한 값:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;658&quot; data-start=&quot;549&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;576&quot; data-start=&quot;549&quot;&gt;DefaultGraphicsRHI_DX11&lt;/li&gt;
&lt;li data-end=&quot;604&quot; data-start=&quot;577&quot;&gt;DefaultGraphicsRHI_DX12&lt;/li&gt;
&lt;li data-end=&quot;658&quot; data-start=&quot;605&quot;&gt;DefaultGraphicsRHI_Vulkan (Windows에서도 Vulkan 지원됨)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;663&quot; data-start=&quot;660&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;689&quot; data-start=&quot;665&quot; data-ke-size=&quot;size23&quot;&gt;3. 런처에서 옵션 고르기처럼 만들기&lt;/h3&gt;
&lt;p data-end=&quot;772&quot; data-start=&quot;691&quot; data-ke-size=&quot;size16&quot;&gt;게임 시작 전에 그래픽 API 선택할 수 있는 UI를 만들고, 그 선택에 따라 .bat 파일이나 런처로 실행 옵션 다르게 줄 수도 있음.&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;772&quot; data-start=&quot;691&quot; data-ke-size=&quot;size16&quot;&gt;start&amp;nbsp;MyGame.exe&amp;nbsp;-rhi=dx11&lt;/p&gt;
&lt;p data-end=&quot;917&quot; data-start=&quot;813&quot; data-ke-size=&quot;size16&quot;&gt;이렇게 여러 개 배치 파일 만들어서 DX11, DX12 선택 UI 만들 수도 있고, 저장된 설정값을 불러와서 GameUserSettings.ini나 커스텀 설정으로 실행할 수도 있음.&lt;/p&gt;</description>
      <category>프로그래밍/언리얼엔진</category>
      <author>하바사</author>
      <guid isPermaLink="true">https://imresearcher.tistory.com/59</guid>
      <comments>https://imresearcher.tistory.com/59#entry59comment</comments>
      <pubDate>Sat, 26 Jul 2025 20:27:08 +0900</pubDate>
    </item>
    <item>
      <title>Scalability Settings 정리</title>
      <link>https://imresearcher.tistory.com/58</link>
      <description>&lt;p data-end=&quot;163&quot; data-start=&quot;102&quot; data-ke-size=&quot;size16&quot;&gt;그래픽 품질 조절하는 세팅들임. 낮출수록 퍼포먼스 좋아짐. 높일수록 그래픽 좋아짐. 아래는 각 세팅의 역할임.&lt;/p&gt;
&lt;hr data-end=&quot;168&quot; data-start=&quot;165&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h4 data-end=&quot;204&quot; data-start=&quot;170&quot; data-ke-size=&quot;size20&quot;&gt;GlobalIlluminationSetting&lt;/h4&gt;
&lt;p data-end=&quot;275&quot; data-start=&quot;205&quot; data-ke-size=&quot;size16&quot;&gt;전역 조명 품질 설정함. Lumen, SSGI 같은 간접광 효과 품질 조절됨.&lt;br /&gt;낮추면 간접광 표현 없어지거나 품질 낮아짐.&lt;/p&gt;
&lt;h4 data-end=&quot;308&quot; data-start=&quot;282&quot; data-ke-size=&quot;size20&quot;&gt;ReflectionSetting&lt;/h4&gt;
&lt;p data-end=&quot;381&quot; data-start=&quot;309&quot; data-ke-size=&quot;size16&quot;&gt;반사 품질 설정함. 스크린 공간 반사(SSR), Lumen 반사, 큐브맵 반사 등에 영향 줌.&lt;br /&gt;낮추면 반사 흐리거나 단순화됨.&lt;/p&gt;
&lt;h4 data-end=&quot;410&quot; data-start=&quot;388&quot; data-ke-size=&quot;size20&quot;&gt;ShadowSetting&lt;/h4&gt;
&lt;p data-end=&quot;465&quot; data-start=&quot;411&quot; data-ke-size=&quot;size16&quot;&gt;그림자 품질 조절함. 해상도, 샘플링, 거리 등에 영향 줌.&lt;br /&gt;낮추면 그림자 흐릿하거나 사라짐.&lt;/p&gt;
&lt;h4 data-end=&quot;499&quot; data-start=&quot;472&quot; data-ke-size=&quot;size20&quot;&gt;VolumetricsSetting&lt;/h4&gt;
&lt;p data-end=&quot;559&quot; data-start=&quot;500&quot; data-ke-size=&quot;size16&quot;&gt;볼류메트릭 효과 품질 설정함. 안개, 광선, 조명 산란 같은 효과 포함됨.&lt;br /&gt;낮추면 분위기 연출 떨어짐.&lt;/p&gt;
&lt;h4 data-end=&quot;617&quot; data-start=&quot;566&quot; data-ke-size=&quot;size20&quot;&gt;ViewDistanceSettiing&amp;nbsp;&lt;/h4&gt;
&lt;p data-end=&quot;687&quot; data-start=&quot;618&quot; data-ke-size=&quot;size16&quot;&gt;오브젝트 렌더링 거리 설정함. 높을수록 멀리 있는 오브젝트까지 보임.&lt;br /&gt;퍼포먼스 영향 큼. 낮추면 멀리 있는 건 안 보임.&lt;/p&gt;
&lt;h4 data-end=&quot;718&quot; data-start=&quot;694&quot; data-ke-size=&quot;size20&quot;&gt;TexturesSetting&lt;/h4&gt;
&lt;p data-end=&quot;776&quot; data-start=&quot;719&quot; data-ke-size=&quot;size16&quot;&gt;텍스처 해상도 품질 조절함. 낮추면 저해상도 텍스처 사용해서 메모리 절약함.&lt;br /&gt;그래픽 퀄리티 감소함.&lt;/p&gt;
&lt;h4 data-end=&quot;816&quot; data-start=&quot;783&quot; data-ke-size=&quot;size20&quot;&gt;TexturesFilteringSetting&lt;/h4&gt;
&lt;p data-end=&quot;900&quot; data-start=&quot;817&quot; data-ke-size=&quot;size16&quot;&gt;텍스처 필터링 방식 설정함. Bilinear, Trilinear, Anisotropic 같은 거 바뀜.&lt;br /&gt;높일수록 각도에 따른 텍스처 품질 유지됨.&lt;/p&gt;
&lt;h4 data-end=&quot;929&quot; data-start=&quot;907&quot; data-ke-size=&quot;size20&quot;&gt;EffectSetting&lt;/h4&gt;
&lt;p data-end=&quot;978&quot; data-start=&quot;930&quot; data-ke-size=&quot;size16&quot;&gt;파티클, 불꽃, 연기 등 이펙트 품질 설정함.&lt;br /&gt;낮추면 이펙트 개수 줄거나 단순해짐.&lt;/p&gt;
&lt;h4 data-end=&quot;1008&quot; data-start=&quot;985&quot; data-ke-size=&quot;size20&quot;&gt;FoliageSetting&lt;/h4&gt;
&lt;p data-end=&quot;1069&quot; data-start=&quot;1009&quot; data-ke-size=&quot;size16&quot;&gt;식생(풀, 나무 등) 렌더링 품질 설정함. 거리, 밀도, LOD 등에 영향 줌.&lt;br /&gt;낮추면 풀 잘 안 보임.&lt;/p&gt;
&lt;h4 data-end=&quot;1099&quot; data-start=&quot;1076&quot; data-ke-size=&quot;size20&quot;&gt;ShadingSetting&lt;/h4&gt;
&lt;p data-end=&quot;1158&quot; data-start=&quot;1100&quot; data-ke-size=&quot;size16&quot;&gt;머티리얼 셰이딩 품질 조절함. PBR, 서브서피스 같은 고급 기능 포함됨.&lt;br /&gt;낮추면 머티리얼 단순화됨.&lt;/p&gt;
&lt;h4 data-end=&quot;1180&quot; data-start=&quot;1165&quot; data-ke-size=&quot;size20&quot;&gt;추가 정보&lt;/h4&gt;
&lt;p data-end=&quot;1271&quot; data-start=&quot;1181&quot; data-ke-size=&quot;size16&quot;&gt;각 세팅은 보통 0~3 사이 값 가짐.&lt;br /&gt;0 = Low, 1 = Medium, 2 = High, 3 = Epic&lt;br /&gt;코드에서 이렇게 설정 가능함:&lt;/p&gt;
&lt;p data-end=&quot;1271&quot; data-start=&quot;1181&quot; data-ke-size=&quot;size16&quot;&gt;Scalability::FQualityLevels&amp;nbsp;Quality; &lt;br /&gt;Quality.SetFromSingleQualityLevel(3);&amp;nbsp;//&amp;nbsp;전체&amp;nbsp;Epic으로&amp;nbsp;설정 &lt;br /&gt;Scalability::SetQualityLevels(Quality);&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-end=&quot;220&quot; data-start=&quot;161&quot; data-ke-size=&quot;size23&quot;&gt;Global Illumination 방식 정리 (Lumen vs Screen Space GI)&lt;/h3&gt;
&lt;p data-end=&quot;280&quot; data-start=&quot;222&quot; data-ke-size=&quot;size16&quot;&gt;Unreal Engine에서는 Global Illumination(GI) 방식으로 크게 두 가지 제공함:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;GI 방식설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;530&quot; data-start=&quot;282&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;530&quot; data-start=&quot;314&quot;&gt;
&lt;tr data-end=&quot;414&quot; data-start=&quot;314&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;326&quot; data-start=&quot;314&quot;&gt;&lt;b&gt;Lumen&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;414&quot; data-start=&quot;326&quot; data-col-size=&quot;md&quot;&gt;고품질 동적 GI 시스템. 정반사, 간접광, 반사 등 동적으로 계산함. 엔진이 DX12, SM5, RT 지원해야 하고 프로젝트 설정에서 활성화 필요함.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;530&quot; data-start=&quot;415&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;444&quot; data-start=&quot;415&quot;&gt;&lt;b&gt;Screen Space GI (SSGI)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;530&quot; data-start=&quot;444&quot; data-col-size=&quot;md&quot;&gt;GI를 화면에 보이는 픽셀만으로 추정하는 방식. 퍼포먼스는 좋지만 정확도 떨어짐. Lumen이 꺼졌거나 지원 안 하면 자동으로 fallback 됨.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-end=&quot;580&quot; data-start=&quot;537&quot; data-ke-size=&quot;size23&quot;&gt;왜 Scalability 세팅만으로 Lumen 전환이 안 되는가?&lt;/h3&gt;
&lt;p data-end=&quot;760&quot; data-start=&quot;582&quot; data-ke-size=&quot;size16&quot;&gt;Scalability::SetQualityLevels() 또는 r.GlobalIlluminationQuality 같은 콘솔 명령어로 GI 품질을 조절해도,&lt;br /&gt;&lt;b&gt;Lumen 자체를 켜거나 끄는 기능은 아님.&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Lumen은 프로젝트 설정 + 레벨 세팅 + 엔진 런타임 초기 상태&lt;/b&gt;에서만 제대로 활성화됨.&lt;/p&gt;
&lt;p data-end=&quot;764&quot; data-start=&quot;762&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;961&quot; data-start=&quot;766&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;844&quot; data-start=&quot;766&quot;&gt;프로젝트 세팅에서 &lt;b&gt;Lumen 활성화 안 되어 있으면&lt;/b&gt;, Scalability를 아무리 높여도 SSGI에서 Lumen으로 안 넘어감.&lt;/li&gt;
&lt;li data-end=&quot;961&quot; data-start=&quot;845&quot;&gt;반대로 &lt;b&gt;처음부터 Lumen이 켜져 있었다면&lt;/b&gt;, 런타임 중에 Scalability 변경을 통해 Lumen &amp;harr; SSGI 전환 가능함 (r.GlobalIllumination.Method 1 or 2).&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;966&quot; data-start=&quot;963&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-end=&quot;980&quot; data-start=&quot;968&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; font-size: 16px; letter-spacing: 0px;&quot;&gt;처음부터 Lumen으로 세팅해놔야, 런타임 중에 Scalability나 콘솔 커맨드로 Lumen &amp;lt;-&amp;gt; ScreenSpace GI 전환이 가능하다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;980&quot; data-start=&quot;968&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;처음에 Lumen이 꺼져 있었으면, 나중에 켜려 해도 안 됨.&lt;/b&gt;&lt;/p&gt;
&lt;p data-end=&quot;219&quot; data-start=&quot;181&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Lumen은 기본적으로 엔진 초기화 시점에 구성됨&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;528&quot; data-start=&quot;221&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;267&quot; data-start=&quot;221&quot;&gt;Lumen은 단순히 Scalability Quality에 따른 옵션이 아님.&lt;/li&gt;
&lt;li data-end=&quot;368&quot; data-start=&quot;268&quot;&gt;렌더링 파이프라인에서 GI 및 Reflection 방식을 Lumen으로 구성하는 것은 엔진이 시작할 때 설정된 값(또는 DefaultEngine.ini)에 따라 결정됨.&lt;/li&gt;
&lt;li data-end=&quot;467&quot; data-start=&quot;369&quot;&gt;만약 프로젝트 세팅 또는 r.DynamicGlobalIlluminationMethod가 처음에 Lumen이 &lt;b&gt;비활성화 상태면&lt;/b&gt;&amp;nbsp;Lumen 시스템은 로드조차 안 됨.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 상태에서 Scalability나 콘솔 명령어로 GI 퀄리티를 조절해봤자 &lt;b&gt;방식이 바뀌지 않음.&lt;/b&gt;&lt;/p&gt;
&lt;p data-end=&quot;980&quot; data-start=&quot;968&quot; data-ke-size=&quot;size16&quot;&gt;Scalability는 방식(method)이 아닌 품질(quality)을 조절.&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;980&quot; data-start=&quot;968&quot; data-ke-size=&quot;size16&quot;&gt;r.DynamicGlobalIlluminationMethod=1&amp;nbsp;&amp;nbsp;&amp;nbsp;;&amp;nbsp;GI&amp;nbsp;방식&amp;nbsp;(0=None,&amp;nbsp;1=Lumen,&amp;nbsp;2=SSGI) &lt;br /&gt;r.GlobalIlluminationQuality=3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;;&amp;nbsp;GI&amp;nbsp;품질&amp;nbsp;(0~3)&lt;/p&gt;
&lt;p data-end=&quot;980&quot; data-start=&quot;968&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;왜냐면 Lumen은 GPU 파이프라인 및 여러 서브시스템이 초기화 단계에서 활성화되기 때문임.&lt;/p&gt;
&lt;h3 data-end=&quot;1202&quot; data-start=&quot;1185&quot; data-ke-size=&quot;size23&quot;&gt;확인하고 설정할 곳&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1601&quot; data-start=&quot;1204&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1317&quot; data-start=&quot;1204&quot;&gt;&lt;b&gt;프로젝트 세팅 &amp;gt; Rendering&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1317&quot; data-start=&quot;1234&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1282&quot; data-start=&quot;1234&quot;&gt;&lt;b&gt;Dynamic Global Illumination Method = Lumen&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1317&quot; data-start=&quot;1286&quot;&gt;&lt;b&gt;Reflection Method = Lumen&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1497&quot; data-start=&quot;1319&quot;&gt;&lt;b&gt;콘솔 변수&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1497&quot; data-start=&quot;1335&quot;&gt;&amp;nbsp;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;복사&lt;span data-state=&quot;closed&quot;&gt;편집&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;r.DynamicGlobalIlluminationMethod&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;; 0 = None, 1 = Lumen, 2 = SSGI&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;r.ReflectionMethod&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;; 0 = None, 1 = Lumen, 2 = SSR, etc.&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;ini&lt;/li&gt;
&lt;li data-end=&quot;1601&quot; data-start=&quot;1499&quot;&gt;&lt;b&gt;Scalability는 품질만 조절, 방식 전환은 안 됨&lt;/b&gt;&lt;br /&gt;예: r.GlobalIlluminationQuality 3 &amp;larr; 품질만 조절, Lumen 활성화 아님.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그래밍/언리얼엔진</category>
      <author>하바사</author>
      <guid isPermaLink="true">https://imresearcher.tistory.com/58</guid>
      <comments>https://imresearcher.tistory.com/58#entry58comment</comments>
      <pubDate>Sat, 12 Jul 2025 18:58:07 +0900</pubDate>
    </item>
    <item>
      <title>[언리얼] Anti-Aliasing, Upscaling Method</title>
      <link>https://imresearcher.tistory.com/57</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Unreal Engine에서 지원하는 Anti-Aliasing 방식&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;옵션 명칭설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1361&quot; data-start=&quot;972&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1361&quot; data-start=&quot;1007&quot;&gt;
&lt;tr data-end=&quot;1049&quot; data-start=&quot;1007&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1017&quot; data-start=&quot;1007&quot;&gt;&lt;b&gt;Off&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1049&quot; data-start=&quot;1017&quot; data-col-size=&quot;md&quot;&gt;완전 비활성화. 성능은 좋지만 aliasing 심함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1108&quot; data-start=&quot;1050&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1083&quot; data-start=&quot;1050&quot;&gt;&lt;b&gt;FXAA (Fast Approximate AA)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1108&quot; data-start=&quot;1083&quot; data-col-size=&quot;md&quot;&gt;저사양에 적합, 블러리하고 정확도 낮음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1177&quot; data-start=&quot;1109&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1133&quot; data-start=&quot;1109&quot;&gt;&lt;b&gt;TAA (Temporal AA)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1177&quot; data-start=&quot;1133&quot; data-col-size=&quot;md&quot;&gt;UE의 기본값. 시간축 AA로 부드러우나 ghosting, blur 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1265&quot; data-start=&quot;1178&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1216&quot; data-start=&quot;1178&quot;&gt;&lt;b&gt;TSR (Temporal Super Resolution)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1265&quot; data-start=&quot;1216&quot; data-col-size=&quot;md&quot;&gt;UE5에 추가됨. 업스케일링 + 고급 TAA를 결합한 형태, 성능/품질 균형 좋음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1361&quot; data-start=&quot;1266&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1297&quot; data-start=&quot;1266&quot;&gt;&lt;b&gt;MSAA&lt;/b&gt; (Editor 전용 또는 모바일용)&lt;/td&gt;
&lt;td data-end=&quot;1361&quot; data-start=&quot;1297&quot; data-col-size=&quot;md&quot;&gt;Multi-Sampling AA. 고성능 GPU에서 품질 우수하나 성능 부담 큼. 주로 모바일/VR에서 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote data-end=&quot;1460&quot; data-start=&quot;1363&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;1460&quot; data-start=&quot;1365&quot; data-ke-size=&quot;size16&quot;&gt;  r.AntiAliasingMethod 콘솔 명령어를 통해 설정 가능&lt;br /&gt;값: 0 = Off, 1 = FXAA, 2 = TAA, 3 = MSAA, 4 = TSR&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Unreal Engine Upscaling Method 종류&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;옵션 명칭설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1816&quot; data-start=&quot;1516&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1816&quot; data-start=&quot;1551&quot;&gt;
&lt;tr data-end=&quot;1584&quot; data-start=&quot;1551&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1561&quot; data-start=&quot;1551&quot;&gt;&lt;b&gt;Off&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1584&quot; data-start=&quot;1561&quot; data-col-size=&quot;md&quot;&gt;업스케일링 비활성화. 1:1 렌더링&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1630&quot; data-start=&quot;1585&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1596&quot; data-start=&quot;1585&quot;&gt;&lt;b&gt;DLSS&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1630&quot; data-start=&quot;1596&quot; data-col-size=&quot;md&quot;&gt;NVIDIA 전용 AI 업스케일링 (지원 GPU 한정)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1670&quot; data-start=&quot;1631&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1643&quot; data-start=&quot;1631&quot;&gt;&lt;b&gt;FSR 1&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1670&quot; data-start=&quot;1643&quot; data-col-size=&quot;md&quot;&gt;AMD FidelityFX 1, 성능 중심&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1708&quot; data-start=&quot;1671&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1683&quot; data-start=&quot;1671&quot;&gt;&lt;b&gt;FSR 2&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1708&quot; data-start=&quot;1683&quot; data-col-size=&quot;md&quot;&gt;고품질 Temporal 기반 업스케일링&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1771&quot; data-start=&quot;1709&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1719&quot; data-start=&quot;1709&quot;&gt;&lt;b&gt;TSR&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1771&quot; data-start=&quot;1719&quot; data-col-size=&quot;md&quot;&gt;Epic의 자체 Temporal Super Resolution, 중상급 GPU에서 최적&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1816&quot; data-start=&quot;1772&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1783&quot; data-start=&quot;1772&quot;&gt;&lt;b&gt;XeSS&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1816&quot; data-start=&quot;1783&quot; data-col-size=&quot;md&quot;&gt;인텔의 AI 기반 업스케일링 (UE5 플러그인 필요)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote data-end=&quot;1909&quot; data-start=&quot;1818&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;1909&quot; data-start=&quot;1820&quot; data-ke-size=&quot;size16&quot;&gt;  r.Upscaling.Method 또는 r.ScreenPercentage 계열로 설정 가능&lt;br /&gt;예: r.Upscaling.Method=1 등&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자글자글한 현상 원인 (추정)&lt;/p&gt;
&lt;p data-end=&quot;257&quot; data-start=&quot;162&quot; data-ke-size=&quot;size16&quot;&gt;언리얼에서 &lt;b&gt;AA method&lt;/b&gt;와 &lt;b&gt;Upscaling method&lt;/b&gt;를 &lt;b&gt;임의로 조합하거나, 품질 수치를 무리하게 조정&lt;/b&gt;하면 다음과 같은 문제가 발생할 수 있음&lt;/p&gt;
&lt;h4 data-end=&quot;275&quot; data-start=&quot;259&quot; data-ke-size=&quot;size20&quot;&gt;  예상 원인:&lt;/h4&gt;
&lt;div&gt;
&lt;div&gt;문제 유형설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;687&quot; data-start=&quot;276&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;687&quot; data-start=&quot;311&quot;&gt;
&lt;tr data-end=&quot;384&quot; data-start=&quot;311&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;324&quot; data-start=&quot;311&quot;&gt;&lt;b&gt;비호환 조합&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;384&quot; data-start=&quot;324&quot; data-col-size=&quot;md&quot;&gt;예: TSR을 켰는데 AA를 Off로 하면, TSR 내부 샘플링 정확도가 떨어지며 자글거림 발생 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;507&quot; data-start=&quot;385&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;416&quot; data-start=&quot;385&quot;&gt;&lt;b&gt;Quality 값 조절 후 실제 적용 안 됨&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;507&quot; data-start=&quot;416&quot; data-col-size=&quot;md&quot;&gt;엔진 내부적으로 해당 Method에 대해 Quality 값이 무의미하거나 기본값으로 fallback되는 경우, 유저는 조정한 줄 알지만 실제론 품질 저하&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;582&quot; data-start=&quot;508&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;523&quot; data-start=&quot;508&quot;&gt;&lt;b&gt;비정상 스케일링&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;582&quot; data-start=&quot;523&quot; data-col-size=&quot;md&quot;&gt;Resolution Scale이 낮고 Upscaling이 저급 품질이면, AA로도 커버가 안 됨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;687&quot; data-start=&quot;583&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;611&quot; data-start=&quot;583&quot;&gt;&lt;b&gt;Temporal Stability 부족&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;687&quot; data-start=&quot;611&quot; data-col-size=&quot;md&quot;&gt;AA 방식이나 업스케일러가 Temporal 기반인데, 프레임 안정성이나 샘플 히스토리가 꼬일 경우 텍스처/윤곽선 떨림 발생&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;866&quot; data-start=&quot;689&quot; data-ke-size=&quot;size16&quot;&gt;예를 들어 &lt;b&gt;Upscaling Method = &quot;TSR&quot; + AA Method = &quot;Off&quot;&lt;/b&gt; 조합으로 돌리면, TSR이 자체 샘플링 기반 anti-aliasing을 하지 못해서 aliasing이 매우 심하게 생길 수 있음&lt;br /&gt;또한 &quot;Upscaling Quality&quot; 값이 낮으면 텍스처 세부 묘사가 망가짐.&lt;/p&gt;</description>
      <category>프로그래밍/언리얼엔진</category>
      <author>하바사</author>
      <guid isPermaLink="true">https://imresearcher.tistory.com/57</guid>
      <comments>https://imresearcher.tistory.com/57#entry57comment</comments>
      <pubDate>Fri, 30 May 2025 23:48:11 +0900</pubDate>
    </item>
    <item>
      <title>[언리얼5] Localization Dashboard</title>
      <link>https://imresearcher.tistory.com/56</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://youtu.be/uyxUp6-WQmo?si=WRQD8yvMh1Y0tfff&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://youtu.be/uyxUp6-WQmo?si=WRQD8yvMh1Y0tfff&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=uyxUp6-WQmo&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/3QYHX/hyYTf3ScOT/4U2KoK19Hk7pA5ssq2YeF0/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720,https://scrap.kakaocdn.net/dn/y4tLR/hyYRlKJFUc/NTdWLpSn7V1Lg95RcN5xKk/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-title=&quot;How to use the Localization Dashboard in Unreal Engine&quot; data-original-url=&quot;&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/uyxUp6-WQmo&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dev.epicgames.com/documentation/ko-kr/unreal-engine/localization-overview-for-unreal-engine&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://dev.epicgames.com/documentation/ko-kr/unreal-engine/localization-overview-for-unreal-engine&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;357&quot; data-start=&quot;293&quot; data-ke-size=&quot;size26&quot;&gt;Unreal Engine 로컬라이제이션(Localization) 시스템 개요 및 Dashboard 사용법&lt;/h2&gt;
&lt;p data-end=&quot;503&quot; data-start=&quot;359&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Localization Dashboard 사용법&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;830&quot; data-start=&quot;715&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;749&quot; data-start=&quot;715&quot;&gt;&lt;b&gt;Gather&lt;/b&gt; &amp;ndash; 프로젝트에서 번역할 텍스트를 수집&lt;/li&gt;
&lt;li data-end=&quot;787&quot; data-start=&quot;752&quot;&gt;&lt;b&gt;Translate&lt;/b&gt; &amp;ndash; .po 파일을 이용해 번역&lt;/li&gt;
&lt;li data-end=&quot;830&quot; data-start=&quot;790&quot;&gt;&lt;b&gt;Compile&lt;/b&gt; &amp;ndash; 번역된 파일을 게임에 적용하기 위해 컴파일&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-end=&quot;1040&quot; data-start=&quot;1006&quot; data-ke-size=&quot;size23&quot;&gt;✅ 1. Localization Dashboard 열기&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1147&quot; data-start=&quot;1041&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1087&quot; data-start=&quot;1041&quot;&gt;상단 메뉴에서 Window &amp;rarr; Localization Dashboard 선택&lt;/li&gt;
&lt;li data-end=&quot;1147&quot; data-start=&quot;1088&quot;&gt;혹은 Editor Preferences &amp;rarr; Experimental &amp;rarr; Localization 활성화&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1152&quot; data-start=&quot;1149&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1187&quot; data-start=&quot;1154&quot; data-ke-size=&quot;size23&quot;&gt;✅ 2. 새 Localization Target 생성&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1272&quot; data-start=&quot;1188&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1229&quot; data-start=&quot;1188&quot;&gt;Add New Target 클릭 &amp;rarr; 예: Game, UI 등&lt;/li&gt;
&lt;li data-end=&quot;1272&quot; data-start=&quot;1230&quot;&gt;각 Target은 별도의 번역 단위 (게임 본편, UI 등)로 관리 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1277&quot; data-start=&quot;1274&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1297&quot; data-start=&quot;1279&quot; data-ke-size=&quot;size23&quot;&gt;✅ 3. Gather 설정&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1416&quot; data-start=&quot;1298&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1325&quot; data-start=&quot;1298&quot;&gt;Gather from Packages 체크&lt;/li&gt;
&lt;li data-end=&quot;1376&quot; data-start=&quot;1326&quot;&gt;Include Paths에 번역할 경로 추가 (예: /Game/Dialogues/)&lt;/li&gt;
&lt;li data-end=&quot;1416&quot; data-start=&quot;1377&quot;&gt;.uasset, .umap 등 번역 가능한 파일 확장자 등록&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-end=&quot;1479&quot; data-start=&quot;1418&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;1479&quot; data-start=&quot;1420&quot; data-ke-size=&quot;size16&quot;&gt;  String Table을 사용하는 경우, String Table 경로도 추가해야 텍스트가 수집됨.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr data-end=&quot;1484&quot; data-start=&quot;1481&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1512&quot; data-start=&quot;1486&quot; data-ke-size=&quot;size23&quot;&gt;✅ 4. 언어 추가 및 Native 설정&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1609&quot; data-start=&quot;1513&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1563&quot; data-start=&quot;1513&quot;&gt;Add New Culture 버튼으로 지원할 언어 추가 (예: en, ko)&lt;/li&gt;
&lt;li data-end=&quot;1609&quot; data-start=&quot;1564&quot;&gt;Native Culture는 원본 언어 (보통 ko 또는 en)로 설정&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1614&quot; data-start=&quot;1611&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1639&quot; data-start=&quot;1616&quot; data-ke-size=&quot;size23&quot;&gt;✅ 5. Gather Text 실행&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1715&quot; data-start=&quot;1640&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1667&quot; data-start=&quot;1640&quot;&gt;하단의 &lt;b&gt;  Gather Text&lt;/b&gt; 클릭&lt;/li&gt;
&lt;li data-end=&quot;1682&quot; data-start=&quot;1668&quot;&gt;번역 대상 텍스트 수집&lt;/li&gt;
&lt;li data-end=&quot;1715&quot; data-start=&quot;1683&quot;&gt;Translation Editor에서 원문을 확인 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1720&quot; data-start=&quot;1717&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1741&quot; data-start=&quot;1722&quot; data-ke-size=&quot;size23&quot;&gt;✅ 6. .po 파일로 번역&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1826&quot; data-start=&quot;1742&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1781&quot; data-start=&quot;1742&quot;&gt;Export to .PO &amp;rarr; 외부 툴(Poedit 등)에서 번역&lt;/li&gt;
&lt;li data-end=&quot;1826&quot; data-start=&quot;1782&quot;&gt;Import from .PO &amp;rarr; 번역 결과를 Unreal로 다시 불러오기&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1831&quot; data-start=&quot;1828&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1857&quot; data-start=&quot;1833&quot; data-ke-size=&quot;size23&quot;&gt;✅ 7. Compile Text 실행&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1901&quot; data-start=&quot;1858&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1901&quot; data-start=&quot;1858&quot;&gt;번역 결과를 .locres로 컴파일해 실제 게임에서 적용 가능하게 만듦&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1906&quot; data-start=&quot;1903&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1934&quot; data-start=&quot;1908&quot; data-ke-size=&quot;size23&quot;&gt;✅ 8. 문화권 전환 (런타임에서 적용)&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;FInternationalization::&lt;/span&gt;&lt;span&gt;&lt;span&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;span&gt;().&lt;/span&gt;&lt;span&gt;&lt;span&gt;SetCurrentCulture&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;en&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;); &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;2044&quot; data-start=&quot;2001&quot; data-ke-size=&quot;size16&quot;&gt;또는 Blueprint에서 Set Current Culture 노드 사용.&lt;/p&gt;
&lt;hr data-end=&quot;2049&quot; data-start=&quot;2046&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;2073&quot; data-start=&quot;2051&quot; data-ke-size=&quot;size26&quot;&gt;⚠️ 자주 발생하는 문제와 해결 팁&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;문제원인해결
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;2370&quot; data-start=&quot;2075&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;2370&quot; data-start=&quot;2115&quot;&gt;
&lt;tr data-end=&quot;2182&quot; data-start=&quot;2115&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;2126&quot; data-start=&quot;2115&quot;&gt;번역이 안 나옴&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;2141&quot; data-start=&quot;2126&quot;&gt;msgctxt 누락&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;2182&quot; data-start=&quot;2141&quot;&gt;.po에 Namespace.Key 형태의 msgctxt 포함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2236&quot; data-start=&quot;2183&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;2195&quot; data-start=&quot;2183&quot;&gt;번역 적용 안 됨&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;2214&quot; data-start=&quot;2195&quot;&gt;Compile Text 미실행&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;2236&quot; data-start=&quot;2214&quot;&gt;Dashboard에서 컴파일 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2304&quot; data-start=&quot;2237&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;2253&quot; data-start=&quot;2237&quot;&gt;텍스트 자동으로 안 바뀜&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;2265&quot; data-start=&quot;2253&quot;&gt;문화권 전환 누락&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;2304&quot; data-start=&quot;2265&quot;&gt;게임 시작 시 SetCurrentCulture() 호출 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2370&quot; data-start=&quot;2305&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;2327&quot; data-start=&quot;2305&quot;&gt;String Table이 번역 안됨&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;2342&quot; data-start=&quot;2327&quot;&gt;.po로 번역 불가&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;2370&quot; data-start=&quot;2342&quot;&gt;String Table 에디터에서 직접 번역&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>하바사</author>
      <guid isPermaLink="true">https://imresearcher.tistory.com/56</guid>
      <comments>https://imresearcher.tistory.com/56#entry56comment</comments>
      <pubDate>Sat, 10 May 2025 21:34:21 +0900</pubDate>
    </item>
    <item>
      <title>그래픽스 공부</title>
      <link>https://imresearcher.tistory.com/55</link>
      <description>&lt;h3 data-end=&quot;177&quot; data-start=&quot;153&quot; data-ke-size=&quot;size23&quot;&gt;노멀맵이란&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조명 반응만으로 울퉁불퉁한 표면처럼 보이게 만드는 마법의 텍스처.&lt;/p&gt;
&lt;p data-end=&quot;272&quot; data-start=&quot;173&quot; data-ke-size=&quot;size16&quot;&gt;3D 모델에 디테일을 넣으려면, 예전엔 정말로 &lt;b&gt;작은 돌기나 주름까지 다 모델링&lt;/b&gt;해야 했음.&lt;br /&gt;근데 그러면 &lt;b&gt;폴리곤 수가 엄청나게 많아져서 성능에 큰 부담&lt;/b&gt;이 생김.&lt;/p&gt;
&lt;p data-end=&quot;286&quot; data-start=&quot;274&quot; data-ke-size=&quot;size16&quot;&gt;그래서 나온 게 &lt;b&gt;실제로 표면이 울퉁불퉁하지 않아도,&lt;/b&gt; &lt;b&gt;조명에만 그렇게 반응하도록 속이는 기술. 즉, 거기 튀어나온 것처럼 보이게만 하고, 진짜로는 평평함.&lt;/b&gt;&lt;/p&gt;
&lt;p data-end=&quot;286&quot; data-start=&quot;274&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;568&quot; data-start=&quot;465&quot; data-ke-size=&quot;size16&quot;&gt;노멀맵은 &lt;b&gt;보라색+파란색 계열의 특이한 텍스처&lt;/b&gt;로 보임.&lt;br /&gt;그 안에는 &lt;b&gt;각 픽셀이 어디 방향으로 빛을 반사해야 하는지&lt;/b&gt;에 대한 정보(RGB = XYZ 벡터)가 담겨 있.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;652&quot; data-start=&quot;570&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;593&quot; data-start=&quot;570&quot;&gt;&lt;b&gt;빨간색(R)&lt;/b&gt; &amp;rarr; X 방향 기울기&lt;/li&gt;
&lt;li data-end=&quot;616&quot; data-start=&quot;594&quot;&gt;&lt;b&gt;녹색(G)&lt;/b&gt; &amp;rarr; Y 방향 기울기&lt;/li&gt;
&lt;li data-end=&quot;652&quot; data-start=&quot;617&quot;&gt;&lt;b&gt;파란색(B)&lt;/b&gt; &amp;rarr; Z 방향 기울기 (보통 1에 가까움)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;벽돌 벽의 홈, 갑옷의 작은 스크래치, 얼굴의 모공&amp;hellip;&lt;br /&gt;&amp;rarr; &lt;b&gt;모델링하지 않고 노멀맵으로 &amp;lsquo;보이게만&amp;rsquo; 함&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1011&quot; data-start=&quot;826&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;950&quot; data-start=&quot;890&quot;&gt;쉐이더(Shader)는 이 노멀 정보를 보고, &lt;b&gt;빛의 반사 방향을 바꿔서&lt;/b&gt; 그림자를 만드는 척 함.&lt;/li&gt;
&lt;li data-end=&quot;1011&quot; data-start=&quot;951&quot;&gt;FPS 게임에서 보면 &lt;b&gt;총이나 손에 빛이 스르륵 흘러가며 반짝이는 느낌&lt;/b&gt;, 대부분 노멀맵.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;1029&quot; data-start=&quot;1018&quot; data-ke-size=&quot;size26&quot;&gt;요약&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 90px;&quot; border=&quot;1&quot; data-end=&quot;1205&quot; data-start=&quot;1031&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1205&quot; data-start=&quot;1059&quot;&gt;
&lt;tr style=&quot;height: 20px;&quot; data-end=&quot;1102&quot; data-start=&quot;1059&quot;&gt;
&lt;td style=&quot;height: 20px;&quot; data-end=&quot;1064&quot; data-start=&quot;1059&quot;&gt;목적&lt;/td&gt;
&lt;td style=&quot;height: 20px;&quot; data-end=&quot;1102&quot; data-start=&quot;1064&quot;&gt;표면 디테일을 &lt;b&gt;조명 반응만으로 구현&lt;/b&gt;해서 퍼포먼스를 절약&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot; data-end=&quot;1135&quot; data-start=&quot;1103&quot;&gt;
&lt;td style=&quot;height: 20px;&quot; data-end=&quot;1108&quot; data-start=&quot;1103&quot;&gt;결과&lt;/td&gt;
&lt;td style=&quot;height: 20px;&quot; data-end=&quot;1135&quot; data-start=&quot;1108&quot;&gt;울퉁불퉁해 보이지만, 실제로는 평평한 표면&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot; data-end=&quot;1174&quot; data-start=&quot;1136&quot;&gt;
&lt;td style=&quot;height: 20px;&quot; data-end=&quot;1144&quot; data-start=&quot;1136&quot;&gt;핵심 기술&lt;/td&gt;
&lt;td style=&quot;height: 20px;&quot; data-end=&quot;1174&quot; data-start=&quot;1144&quot;&gt;픽셀마다 &lt;b&gt;표면 노멀 벡터를 텍스처로 전달&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot; data-end=&quot;1205&quot; data-start=&quot;1175&quot;&gt;
&lt;td style=&quot;height: 20px;&quot; data-end=&quot;1180&quot; data-start=&quot;1175&quot;&gt;비유&lt;/td&gt;
&lt;td style=&quot;height: 20px;&quot; data-end=&quot;1205&quot; data-start=&quot;1180&quot;&gt;조명에 반응하는 '속임수 양각무늬 스티커'&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-start=&quot;153&quot; data-end=&quot;177&quot; data-ke-size=&quot;size23&quot;&gt;G버퍼란&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;G버퍼는 '화면의 각 픽셀이 가진 다양한 정보를 따로따로 저장해둔 버퍼 묶음'.&lt;/b&gt;&lt;br /&gt;&amp;rarr; 그래야 나중에 &lt;b&gt;조명 계산을 한꺼번에&lt;/b&gt; 할 수 있음.&lt;/p&gt;
&lt;p data-end=&quot;272&quot; data-start=&quot;238&quot; data-ke-size=&quot;size16&quot;&gt;기본적으로 게임 엔진은 물체를 화면에 그릴 때, 각 픽셀마다:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;331&quot; data-start=&quot;274&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;287&quot; data-start=&quot;274&quot;&gt;이게 무슨 재질인지?&lt;/li&gt;
&lt;li data-end=&quot;301&quot; data-start=&quot;288&quot;&gt;노멀 방향은 어떤지?&lt;/li&gt;
&lt;li data-end=&quot;317&quot; data-start=&quot;302&quot;&gt;월드 포지션은 어디인지?&lt;/li&gt;
&lt;li data-end=&quot;331&quot; data-start=&quot;318&quot;&gt;텍스처 색깔은 뭔지?&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;347&quot; data-start=&quot;333&quot; data-ke-size=&quot;size16&quot;&gt;같은 정보를 필요로 함. 그런데 Forward Rendering에서는 '그릴 때마다 조명 계산까지 같이 해야 하니까' &lt;b&gt;조명이 많아지면 성능이 부하.&amp;nbsp;&lt;/b&gt;그래서 Deferred Rendering + G-Buffer 시스템을 사용함.&lt;/p&gt;
&lt;p data-end=&quot;532&quot; data-start=&quot;502&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1단계: 먼저 각종 정보를 쌓아놓기만 함.&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;591&quot; data-start=&quot;533&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;554&quot; data-start=&quot;533&quot;&gt;픽셀마다 필요한 데이터만 모아둠.&lt;/li&gt;
&lt;li data-end=&quot;591&quot; data-start=&quot;555&quot;&gt;이게 바로 G버퍼 (Geometry Buffer)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;633&quot; data-start=&quot;593&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2단계: 그 정보들을 바탕으로 나중에 조명 처리만 한꺼번에 .&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;670&quot; data-start=&quot;634&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;670&quot; data-start=&quot;634&quot;&gt;조명 1만 개여도 한 번만 훑으면 되니까 성능 면에서 나음.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;700&quot; data-start=&quot;677&quot; data-ke-size=&quot;size26&quot;&gt;G버퍼 안에 뭐가 들어 있을까?&lt;/h2&gt;
&lt;div&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;/span&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1347&quot; data-start=&quot;702&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1347&quot; data-start=&quot;865&quot;&gt;
&lt;tr data-end=&quot;956&quot; data-start=&quot;865&quot;&gt;
&lt;td data-end=&quot;890&quot; data-start=&quot;865&quot;&gt;&lt;b&gt;BaseColor / Albedo&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;925&quot; data-start=&quot;890&quot;&gt;표면의 색상&lt;/td&gt;
&lt;td data-end=&quot;956&quot; data-start=&quot;925&quot;&gt;Diffuse 계산&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1025&quot; data-start=&quot;957&quot;&gt;
&lt;td data-end=&quot;971&quot; data-start=&quot;957&quot;&gt;&lt;b&gt;Normal&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1004&quot; data-start=&quot;971&quot;&gt;표면의 방향 (벡터)&lt;/td&gt;
&lt;td data-end=&quot;1025&quot; data-start=&quot;1004&quot;&gt;빛 반사 방향, 라인렌더링 필터&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1113&quot; data-start=&quot;1026&quot;&gt;
&lt;td data-end=&quot;1054&quot; data-start=&quot;1026&quot;&gt;&lt;b&gt;Roughness / Metalness&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1083&quot; data-start=&quot;1054&quot;&gt;질감 정보 (매끈한지, 금속인지 등)&lt;/td&gt;
&lt;td data-end=&quot;1113&quot; data-start=&quot;1083&quot;&gt;PBR 셰이딩&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1182&quot; data-start=&quot;1114&quot;&gt;
&lt;td data-end=&quot;1128&quot; data-start=&quot;1114&quot;&gt;&lt;b&gt;Depth&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1157&quot; data-start=&quot;1128&quot;&gt;화면에서 카메라까지의 거리&lt;/td&gt;
&lt;td data-end=&quot;1182&quot; data-start=&quot;1157&quot;&gt;포스트 이펙트, 외곽선&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1260&quot; data-start=&quot;1183&quot;&gt;
&lt;td data-end=&quot;1197&quot; data-start=&quot;1183&quot;&gt;&lt;b&gt;Specular&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1234&quot; data-start=&quot;1197&quot;&gt;광택 정도&lt;/td&gt;
&lt;td data-end=&quot;1260&quot; data-start=&quot;1234&quot;&gt;하이라이트 계산&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1347&quot; data-start=&quot;1261&quot;&gt;
&lt;td data-end=&quot;1293&quot; data-start=&quot;1261&quot;&gt;&lt;b&gt;World Position&lt;/b&gt; (추가 구성 가능)&lt;/td&gt;
&lt;td data-end=&quot;1323&quot; data-start=&quot;1293&quot;&gt;픽셀의 실제 위치 (XYZ)&lt;/td&gt;
&lt;td data-end=&quot;1347&quot; data-start=&quot;1323&quot;&gt;특수효과, 뎁스 기반 연산 등&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;1700&quot; data-start=&quot;1692&quot; data-ke-size=&quot;size16&quot;&gt;G버퍼를 쓰면&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1849&quot; data-start=&quot;1702&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1769&quot; data-start=&quot;1702&quot;&gt;외곽선 렌더링, 쉐도우, 포스트 이펙트, 드로잉 필터, 환경광 이런 걸 &lt;b&gt;후처리에서 유연하게 제어&lt;/b&gt;할 수 있음&lt;/li&gt;
&lt;li data-end=&quot;1803&quot; data-start=&quot;1770&quot;&gt;즉, 한 번 그려놓고 그 위에서 세팅 가능.&lt;/li&gt;
&lt;li data-end=&quot;1849&quot; data-start=&quot;1804&quot;&gt;NPR, 셀셰이딩, 실루엣 강조, 비주얼 이펙트 다 여기서 커스터마이징 가능함.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;1867&quot; data-start=&quot;1856&quot; data-ke-size=&quot;size26&quot;&gt;결론&lt;/h2&gt;
&lt;blockquote data-end=&quot;1975&quot; data-start=&quot;1869&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;1975&quot; data-start=&quot;1871&quot; data-ke-size=&quot;size16&quot;&gt;&quot;G버퍼는 마치 카메라로 사진을 찍었는데,&lt;br /&gt;일반 사진이 아니라 '색상 사진', '깊이 사진', '표면 방향 사진' 등을&lt;br /&gt;각각 다른 렌즈로 동시에 찍어놓은 세트&quot;&amp;nbsp;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-end=&quot;2052&quot; data-start=&quot;1977&quot; data-ke-size=&quot;size16&quot;&gt;그걸 모아서 나중에 합성해서 조명/효과를 입히는 것.&lt;br /&gt;그래서 디퍼드 렌더링은 일종의 &lt;b&gt;실시간 합성 파이프라인&lt;/b&gt;이기도 함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-end=&quot;177&quot; data-start=&quot;153&quot; data-ke-size=&quot;size23&quot;&gt;3D 툴 기반 렌더링 워크플로우:&lt;/h3&gt;
&lt;p data-end=&quot;207&quot; data-start=&quot;178&quot; data-ke-size=&quot;size16&quot;&gt;보통 3D 툴(예: Maya, Blender)에서는,&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;327&quot; data-start=&quot;208&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;259&quot; data-start=&quot;208&quot;&gt;&lt;b&gt;렌더 패스&lt;/b&gt;(diffuse, specular, shadow, AO 등)를 분리해서&lt;/li&gt;
&lt;li data-end=&quot;310&quot; data-start=&quot;260&quot;&gt;합성 프로그램(Nuke, After Effects 등)에서 후처리하고 합성하여&lt;/li&gt;
&lt;li data-end=&quot;327&quot; data-start=&quot;311&quot;&gt;최종 결과물을 만듦.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-end=&quot;374&quot; data-start=&quot;329&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; &lt;b&gt;비용이 들고, 실시간성이 없는 대신 퀄리티 제어가 정교함.&lt;/b&gt;&lt;/p&gt;
&lt;p data-end=&quot;374&quot; data-start=&quot;329&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-end=&quot;427&quot; data-start=&quot;381&quot; data-ke-size=&quot;size23&quot;&gt;Unreal의 &lt;b&gt;디퍼드 렌더링(Deferred Rendering)&lt;/b&gt;:&lt;/h3&gt;
&lt;p data-end=&quot;459&quot; data-start=&quot;428&quot; data-ke-size=&quot;size16&quot;&gt;Unreal Engine에서는 디퍼드 렌더링을 사용하면,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;577&quot; data-start=&quot;460&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;511&quot; data-start=&quot;460&quot;&gt;&lt;b&gt;G-Buffer&lt;/b&gt;에 각종 정보(알베도, 노멀, 깊이, 월드 포지션 등)를 저장한 뒤&lt;/li&gt;
&lt;li data-end=&quot;577&quot; data-start=&quot;512&quot;&gt;그걸 가지고 후처리 단계(Post-processing)에서 &lt;b&gt;조명, 효과, 셰이딩을 따로 계산함&lt;/b&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;684&quot; data-start=&quot;579&quot; data-ke-size=&quot;size16&quot;&gt;즉, &lt;b&gt;렌더 패스 기반 합성을 실시간으로 유사하게 흉내&lt;/b&gt; 낼 수 있음.&lt;/p&gt;</description>
      <category>프로그래밍/언리얼엔진</category>
      <author>하바사</author>
      <guid isPermaLink="true">https://imresearcher.tistory.com/55</guid>
      <comments>https://imresearcher.tistory.com/55#entry55comment</comments>
      <pubDate>Sat, 26 Apr 2025 22:27:12 +0900</pubDate>
    </item>
    <item>
      <title>프로파일링과 최적화 작업</title>
      <link>https://imresearcher.tistory.com/54</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dev.epicgames.com/documentation/en-us/unreal-engine/stat-commands-in-unreal-engine&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://dev.epicgames.com/documentation/en-us/unreal-engine/stat-commands-in-unreal-engine&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Stat 커맨드&lt;/p&gt;
&lt;table style=&quot;color: #333333; text-align: start; border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: ;&quot;&gt;
&lt;td style=&quot;width: 18.4884%;height: ;&quot;&gt;D3D11RHI&lt;/td&gt;
&lt;td style=&quot;width: 81.5116%;height: ;&quot;&gt;Direct3D 11 RHI 통계 표시, DirectX 11 백엔드의 GPU 호출 및 작업 통계&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: ;&quot;&gt;
&lt;td style=&quot;width: 18.4884%;height: ;&quot;&gt;FPS&lt;/td&gt;
&lt;td style=&quot;width: 81.5116%;height: ;&quot;&gt;FPS 표시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: ;&quot;&gt;
&lt;td style=&quot;width: 18.4884%;height: ;&quot;&gt;GPUParticles&lt;/td&gt;
&lt;td style=&quot;width: 81.5116%;height: ;&quot;&gt;GPU 파티클 퍼포먼스 정보 표시&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1070&quot; data-origin-height=&quot;466&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bLFR21/btsNi75DCMF/9WAQf51OjaMz9Y7IScuwn0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bLFR21/btsNi75DCMF/9WAQf51OjaMz9Y7IScuwn0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bLFR21/btsNi75DCMF/9WAQf51OjaMz9Y7IScuwn0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbLFR21%2FbtsNi75DCMF%2F9WAQf51OjaMz9Y7IScuwn0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1070&quot; height=&quot;466&quot; data-origin-width=&quot;1070&quot; data-origin-height=&quot;466&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.4884%;&quot;&gt;Stat GPU&lt;/td&gt;
&lt;td style=&quot;width: 81.5116%;&quot;&gt;프레임 GPU 통계 표시. GPU에서 처리 중인 작업 목록.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1047&quot; data-origin-height=&quot;404&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b04vcK/btsNjLHwthu/HKua6UDvZUrOMooFgKR6PK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b04vcK/btsNjLHwthu/HKua6UDvZUrOMooFgKR6PK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b04vcK/btsNjLHwthu/HKua6UDvZUrOMooFgKR6PK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb04vcK%2FbtsNjLHwthu%2FHKua6UDvZUrOMooFgKR6PK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1047&quot; height=&quot;404&quot; data-origin-width=&quot;1047&quot; data-origin-height=&quot;404&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 19.7674%;&quot;&gt;Start SREAMING&lt;/td&gt;
&lt;td style=&quot;width: 80.2326%;&quot;&gt;스트리밍 에셋의 기본 통계 표시. 메모리 스트리밍 텍스처가 사용량, 씬에 있는 스트리밍 텍스처의 양 등이 표시됨.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1041&quot; data-origin-height=&quot;590&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b0zeP9/btsNirDVJbW/2FrH0eMQdHKixdWhpEIZf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b0zeP9/btsNirDVJbW/2FrH0eMQdHKixdWhpEIZf0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b0zeP9/btsNirDVJbW/2FrH0eMQdHKixdWhpEIZf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0zeP9%2FbtsNirDVJbW%2F2FrH0eMQdHKixdWhpEIZf0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1041&quot; height=&quot;590&quot; data-origin-width=&quot;1041&quot; data-origin-height=&quot;590&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: ;&quot;&gt;
&lt;td style=&quot;width: 19.7674%;height: ;&quot;&gt;Start SceneRendering&lt;/td&gt;
&lt;td style=&quot;width: 80.2326%;height: ;&quot;&gt;스트리밍 에셋의 기본 통계 표시. 메모리 스트리밍 텍스처가 사용량, 씬에 있는 스트리밍 텍스처의 양 등이 표시됨. 드로우콜, 그림자, 빛 등의 씬 렌더링 관련 정보.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1040&quot; data-origin-height=&quot;356&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wLzKI/btsNiAGi9Wa/dPcB8rchLllYzRTms0Lbl0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wLzKI/btsNiAGi9Wa/dPcB8rchLllYzRTms0Lbl0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wLzKI/btsNiAGi9Wa/dPcB8rchLllYzRTms0Lbl0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwLzKI%2FbtsNiAGi9Wa%2FdPcB8rchLllYzRTms0Lbl0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1040&quot; height=&quot;356&quot; data-origin-width=&quot;1040&quot; data-origin-height=&quot;356&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: ;&quot;&gt;
&lt;td style=&quot;width: 19.7674%;height: ;&quot;&gt;Stat Engine&lt;/td&gt;
&lt;td style=&quot;width: 80.2326%;height: ;&quot;&gt;메시 삼각형, 버텍스, 드로우콜 등&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;229&quot; data-origin-height=&quot;233&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvJLeo/btsNji6UHFj/QMdf3HeaLBxlzcSfvDq3jK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvJLeo/btsNji6UHFj/QMdf3HeaLBxlzcSfvDq3jK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvJLeo/btsNji6UHFj/QMdf3HeaLBxlzcSfvDq3jK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvJLeo%2FbtsNji6UHFj%2FQMdf3HeaLBxlzcSfvDq3jK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;229&quot; height=&quot;233&quot; data-origin-width=&quot;229&quot; data-origin-height=&quot;233&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.4884%;&quot;&gt;Stat UNIT&lt;/td&gt;
&lt;td style=&quot;width: 81.5116%;&quot;&gt;전반적인 프레임 시간과 게임 스레드, 렌더링 스레드, GPU 시간 (프로파일링용 커맨드)&lt;br /&gt;This is great stat command to start with because it helps developers focus their profiling work.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.4884%;&quot;&gt;Frame&lt;/td&gt;
&lt;td style=&quot;width: 81.5116%;&quot;&gt;프레임 생성 시간, 60프레임 : 16.66ms 미만 / 30프레임 : 33.33ms 미만&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.4884%;&quot;&gt;Game&lt;/td&gt;
&lt;td style=&quot;width: 81.5116%;&quot;&gt;프레임 시간이 게임 시간에 가까운 경우 게임 스레드 때문에 게임 퍼포먼스에 병목 구간이 발생하는 것일 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.4884%;&quot;&gt;Draw&lt;/td&gt;
&lt;td style=&quot;width: 81.5116%;&quot;&gt;프레임 시간이 드로 시간에 가까운 경우 렌더링 스레드 때문에 게임 퍼포먼스에 병목 구간이 발생하는 것일 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.4884%;&quot;&gt;GPU&lt;/td&gt;
&lt;td style=&quot;width: 81.5116%;&quot;&gt;GPU 시간은 비디오 카드가 씬을 렌더링할 때 얼마나 오래 걸리는지 측정함. GPU 시간은 프레임과 동기화되므로 프레임 시간과 유사할 확률이 높음.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.4884%;&quot;&gt;RHIT&lt;/td&gt;
&lt;td style=&quot;width: 81.5116%;&quot;&gt;렌더링 하드웨어 인터페이스 스레드에서 소용된 시간(예:OpenGL, D3D12). RHI 스레드 시간은 보통 프레임과 동기화되므로 프레임 시간과 유사할 확률이 높음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.4884%;&quot;&gt;Draws&lt;/td&gt;
&lt;td style=&quot;width: 81.5116%;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;현재 DrawPrimitve 호출 수.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.4884%;&quot;&gt;Prims&lt;/td&gt;
&lt;td style=&quot;width: 81.5116%;&quot;&gt;현재 그려지는 삼각형 수&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;Mesh LOD 조절 방법&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;873&quot; data-origin-height=&quot;639&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nNUYh/btsNjCD6L2r/Bp4IlS6mUzdkadlu7R7s50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nNUYh/btsNjCD6L2r/Bp4IlS6mUzdkadlu7R7s50/img.png&quot; data-alt=&quot;Enable Nanite Support를 체크 해제한다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nNUYh/btsNjCD6L2r/Bp4IlS6mUzdkadlu7R7s50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnNUYh%2FbtsNjCD6L2r%2FBp4IlS6mUzdkadlu7R7s50%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;873&quot; height=&quot;639&quot; data-origin-width=&quot;873&quot; data-origin-height=&quot;639&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Enable Nanite Support를 체크 해제한다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;410&quot; data-origin-height=&quot;310&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IIWeC/btsNkwJUQuC/NyLelZJuQvKf5lfjficxek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IIWeC/btsNkwJUQuC/NyLelZJuQvKf5lfjficxek/img.png&quot; data-alt=&quot;Nanaite 설정 해제를 하면 기본 LOD0 상태의 Triangle Count를 조절할 수 있다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IIWeC/btsNkwJUQuC/NyLelZJuQvKf5lfjficxek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIIWeC%2FbtsNkwJUQuC%2FNyLelZJuQvKf5lfjficxek%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;410&quot; height=&quot;310&quot; data-origin-width=&quot;410&quot; data-origin-height=&quot;310&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Nanaite 설정 해제를 하면 기본 LOD0 상태의 Triangle Count를 조절할 수 있다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Nanite 체크하면 트라이앵글 자동 카운트되어서 Triangles 조절 옵션이 비활성화 되는데, 어떤 차이가 있는지는 잘 모르겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;838&quot; data-origin-height=&quot;433&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b56QEQ/btsNi3oIcTD/v6sKFA2Ccjkk0KNvBj91pk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b56QEQ/btsNi3oIcTD/v6sKFA2Ccjkk0KNvBj91pk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b56QEQ/btsNi3oIcTD/v6sKFA2Ccjkk0KNvBj91pk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb56QEQ%2FbtsNi3oIcTD%2Fv6sKFA2Ccjkk0KNvBj91pk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;838&quot; height=&quot;433&quot; data-origin-width=&quot;838&quot; data-origin-height=&quot;433&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;LOD 개수를 설정하고 Apply Changes한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;398&quot; data-origin-height=&quot;587&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/biCefa/btsNi5mtZq8/M8KQWhTkCtcXnboTdtV2Z0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/biCefa/btsNi5mtZq8/M8KQWhTkCtcXnboTdtV2Z0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/biCefa/btsNi5mtZq8/M8KQWhTkCtcXnboTdtV2Z0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbiCefa%2FbtsNi5mtZq8%2FM8KQWhTkCtcXnboTdtV2Z0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;398&quot; height=&quot;587&quot; data-origin-width=&quot;398&quot; data-origin-height=&quot;587&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;새로 생긴 LOD만큼 Triangles 수 설정이 가능하다.&lt;/p&gt;</description>
      <category>프로그래밍/언리얼엔진</category>
      <author>하바사</author>
      <guid isPermaLink="true">https://imresearcher.tistory.com/54</guid>
      <comments>https://imresearcher.tistory.com/54#entry54comment</comments>
      <pubDate>Sat, 12 Apr 2025 19:19:06 +0900</pubDate>
    </item>
    <item>
      <title>개인 작업 -2-</title>
      <link>https://imresearcher.tistory.com/53</link>
      <description>&lt;pre id=&quot;code_1743259907124&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import torch
import torch.nn as nn
import torch.optim as optim
import numpy as np

# 기본 설정
NUM_PATTERNS = 100
PHASE_ENCODING_SIZE = 4
STATE_SIZE = NUM_PATTERNS + PHASE_ENCODING_SIZE

# 임시 데이터 생성: (상태 벡터, 선택된 패턴 index)
# 상태 = [패턴 선택 히스토리 (100차원) + 시점정보 (4차원)]
dummy_state1 = np.zeros(104)
dummy_state1[0] = 1  # 첫 번째 패턴이 선택되었음을 의미
dummy_state1[100] = 1  # 초반 시점 one-hot

dummy_state2 = np.zeros(104)
dummy_state2[10] = 1
dummy_state2[101] = 1  # 중반 시점 one-hot

training_data = [
    (dummy_state1, 20),  # 상태 1, 선택된 패턴 인덱스 = 20
    (dummy_state2, 33)   # 상태 2, 선택된 패턴 인덱스 = 33
]

# 정책 네트워크 정의
class PolicyNetwork(nn.Module):
    def __init__(self, state_size, action_size):
        super(PolicyNetwork, self).__init__()
        self.fc = nn.Sequential(
            nn.Linear(state_size, 128),
            nn.ReLU(),
            nn.Linear(128, action_size)
        )

    def forward(self, x):
        return self.fc(x)

model = PolicyNetwork(STATE_SIZE, NUM_PATTERNS)
optimizer = optim.Adam(model.parameters(), lr=0.001)
loss_fn = nn.CrossEntropyLoss()

for epoch in range(50):
    total_loss = 0
    for state, action_index in training_data:
        pred = model(torch.FloatTensor(state))
        loss = loss_fn(pred.unsqueeze(0), torch.LongTensor([action_index]))
        optimizer.zero_grad()
        loss.backward()
        optimizer.step()
        total_loss += loss.item()
    print(f&quot;Epoch {epoch+1}, Loss: {total_loss}&quot;)&lt;/code&gt;&lt;/pre&gt;</description>
      <category>프로그래밍</category>
      <author>하바사</author>
      <guid isPermaLink="true">https://imresearcher.tistory.com/53</guid>
      <comments>https://imresearcher.tistory.com/53#entry53comment</comments>
      <pubDate>Sat, 29 Mar 2025 23:51:54 +0900</pubDate>
    </item>
    <item>
      <title>개인 작업-1-</title>
      <link>https://imresearcher.tistory.com/52</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;파이썬 코드 (Test) C++로 변환&lt;/p&gt;
&lt;pre id=&quot;code_1742649995302&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;!pip install m2cgen 

from sklearn.ensemble import RandomForestClassifier
import m2cgen as m2c
import numpy as np

# 입력 상태값 (예: 3개의 피처)
X = np.array([
    [0.1, 0.5, 0.2],
    [0.7, 0.8, 0.1],
    [0.3, 0.2, 0.9],
])
# 정답 (정수형)
y = [42, 8, 120]

# 모델 학습
model = RandomForestClassifier(n_estimators=10, max_depth=5)
model.fit(X, y)

# 모델을 C++ 코드로 export
cpp_code = m2c.export_to_c(model)

# Colab 상에서 파일로 저장
with open(&quot;/content/ActionPredictor.cpp&quot;, &quot;w&quot;) as f:
    f.write(cpp_code)

from google.colab import files
files.download(&quot;/content/ActionPredictor.cpp&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1742651469610&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;void add_vectors(double *v1, double *v2, int size, double *result) {
    for(int i = 0; i &amp;lt; size; ++i)
        result[i] = v1[i] + v2[i];
}
void mul_vector_number(double *v1, double num, int size, double *result) {
    for(int i = 0; i &amp;lt; size; ++i)
        result[i] = v1[i] * num;
}
void score(double * input, double * output) {
    double var0[3];
    double var1[3];
    double var2[3];
    double var3[3];
    double var4[3];
    double var5[3];
    double var6[3];
    double var7[3];
    double var8[3];
    double var9[3];
    double var10[3];
    if (input[1] &amp;lt;= 0.6500000059604645) {
        memcpy(var10, (double[]){0.0, 1.0, 0.0}, 3 * sizeof(double));
    } else {
        memcpy(var10, (double[]){1.0, 0.0, 0.0}, 3 * sizeof(double));
    }
    double var11[3];
    if (input[1] &amp;lt;= 0.6500000059604645) {
        memcpy(var11, (double[]){0.0, 1.0, 0.0}, 3 * sizeof(double));
    } else {
        memcpy(var11, (double[]){1.0, 0.0, 0.0}, 3 * sizeof(double));
    }
    add_vectors(var10, var11, 3, var9);
    double var12[3];
    if (input[0] &amp;lt;= 0.20000000670552254) {
        memcpy(var12, (double[]){0.0, 1.0, 0.0}, 3 * sizeof(double));
    } else {
        memcpy(var12, (double[]){0.0, 0.0, 1.0}, 3 * sizeof(double));
    }
    add_vectors(var9, var12, 3, var8);
    double var13[3];
    if (input[2] &amp;lt;= 0.5499999895691872) {
        memcpy(var13, (double[]){0.0, 1.0, 0.0}, 3 * sizeof(double));
    } else {
        memcpy(var13, (double[]){0.0, 0.0, 1.0}, 3 * sizeof(double));
    }
    add_vectors(var8, var13, 3, var7);
    double var14[3];
    if (input[0] &amp;lt;= 0.20000000670552254) {
        memcpy(var14, (double[]){0.0, 1.0, 0.0}, 3 * sizeof(double));
    } else {
        if (input[2] &amp;lt;= 0.4999999888241291) {
            memcpy(var14, (double[]){1.0, 0.0, 0.0}, 3 * sizeof(double));
        } else {
            memcpy(var14, (double[]){0.0, 0.0, 1.0}, 3 * sizeof(double));
        }
    }
    add_vectors(var7, var14, 3, var6);
    double var15[3];
    if (input[1] &amp;lt;= 0.5000000074505806) {
        memcpy(var15, (double[]){0.0, 0.0, 1.0}, 3 * sizeof(double));
    } else {
        memcpy(var15, (double[]){1.0, 0.0, 0.0}, 3 * sizeof(double));
    }
    add_vectors(var6, var15, 3, var5);
    double var16[3];
    if (input[0] &amp;lt;= 0.3999999947845936) {
        memcpy(var16, (double[]){0.0, 1.0, 0.0}, 3 * sizeof(double));
    } else {
        memcpy(var16, (double[]){1.0, 0.0, 0.0}, 3 * sizeof(double));
    }
    add_vectors(var5, var16, 3, var4);
    double var17[3];
    if (input[0] &amp;lt;= 0.20000000670552254) {
        memcpy(var17, (double[]){0.0, 1.0, 0.0}, 3 * sizeof(double));
    } else {
        memcpy(var17, (double[]){0.0, 0.0, 1.0}, 3 * sizeof(double));
    }
    add_vectors(var4, var17, 3, var3);
    double var18[3];
    if (input[2] &amp;lt;= 0.15000000223517418) {
        memcpy(var18, (double[]){1.0, 0.0, 0.0}, 3 * sizeof(double));
    } else {
        if (input[0] &amp;lt;= 0.20000000670552254) {
            memcpy(var18, (double[]){0.0, 1.0, 0.0}, 3 * sizeof(double));
        } else {
            memcpy(var18, (double[]){0.0, 0.0, 1.0}, 3 * sizeof(double));
        }
    }
    add_vectors(var3, var18, 3, var2);
    double var19[3];
    if (input[2] &amp;lt;= 0.4999999888241291) {
        memcpy(var19, (double[]){1.0, 0.0, 0.0}, 3 * sizeof(double));
    } else {
        memcpy(var19, (double[]){0.0, 0.0, 1.0}, 3 * sizeof(double));
    }
    add_vectors(var2, var19, 3, var1);
    mul_vector_number(var1, 0.1, 3, var0);
    memcpy(output, var0, 3 * sizeof(double));
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그래밍/언리얼엔진</category>
      <author>하바사</author>
      <guid isPermaLink="true">https://imresearcher.tistory.com/52</guid>
      <comments>https://imresearcher.tistory.com/52#entry52comment</comments>
      <pubDate>Sat, 22 Mar 2025 23:34:56 +0900</pubDate>
    </item>
    <item>
      <title>조지아텍 OMSCS(컴퓨터과학 온라인 석사) 지원 방법</title>
      <link>https://imresearcher.tistory.com/51</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;준비물&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 영어 성적&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 이력서 (Resume)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. CS 학점&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 추천서 (세 명의 이메일을 등록해야 한다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 여권 사진&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;992&quot; data-origin-height=&quot;769&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bWa2m5/btsMKShC32b/1kT2oe2CURabK8BqJf8Xp0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bWa2m5/btsMKShC32b/1kT2oe2CURabK8BqJf8Xp0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bWa2m5/btsMKShC32b/1kT2oe2CURabK8BqJf8Xp0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbWa2m5%2FbtsMKShC32b%2F1kT2oe2CURabK8BqJf8Xp0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;992&quot; height=&quot;769&quot; data-origin-width=&quot;992&quot; data-origin-height=&quot;769&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;준비물과 함께 아래의 지원 절차를 거친다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1216&quot; data-origin-height=&quot;636&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cN4RTv/btsMLYOT3VP/S6qHByKgdBpSjvKIoWRovk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cN4RTv/btsMLYOT3VP/S6qHByKgdBpSjvKIoWRovk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cN4RTv/btsMLYOT3VP/S6qHByKgdBpSjvKIoWRovk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcN4RTv%2FbtsMLYOT3VP%2FS6qHByKgdBpSjvKIoWRovk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1216&quot; height=&quot;636&quot; data-origin-width=&quot;1216&quot; data-origin-height=&quot;636&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Computer Science -MS- Online(OMSCS) 파트에서 몇 가지의 문항을 작성하고, (현재 역량과 공부한 과목들, 학업 목표 등)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Academic History에서 성적표를 업로드,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Employment에서 Resume 업로드,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Recommendations에서 추천인 세 명의 이메일 등록,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Citizenship &amp;amp; Residency에서 여권 업로드하면 된다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지원료는 105 US 달러, 약 15만원을 납부한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고로 영어 성적은 토플이나 아이엘츠 포털을 통해 기관에 보내주는 시스템을 이용하면 된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;eTRF.png&quot; data-origin-width=&quot;666&quot; data-origin-height=&quot;443&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FrsqH/btsMMce0H2o/qNxzbXI7q8vb0XqehxAFn1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FrsqH/btsMMce0H2o/qNxzbXI7q8vb0XqehxAFn1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FrsqH/btsMMce0H2o/qNxzbXI7q8vb0XqehxAFn1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFrsqH%2FbtsMMce0H2o%2FqNxzbXI7q8vb0XqehxAFn1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;666&quot; height=&quot;443&quot; data-filename=&quot;eTRF.png&quot; data-origin-width=&quot;666&quot; data-origin-height=&quot;443&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지원 마감 2주 후...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;603&quot; data-origin-height=&quot;57&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cj1tGZ/btsMMHMdvW2/cvmP91k3bxaSkP0Wfqkp1k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cj1tGZ/btsMMHMdvW2/cvmP91k3bxaSkP0Wfqkp1k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cj1tGZ/btsMMHMdvW2/cvmP91k3bxaSkP0Wfqkp1k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcj1tGZ%2FbtsMMHMdvW2%2FcvmP91k3bxaSkP0Wfqkp1k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;603&quot; height=&quot;57&quot; data-origin-width=&quot;603&quot; data-origin-height=&quot;57&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00.png&quot; data-origin-width=&quot;673&quot; data-origin-height=&quot;482&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgL9W1/btsMKvzL3bV/OnKxKqKBzmClPEML5E77b0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgL9W1/btsMKvzL3bV/OnKxKqKBzmClPEML5E77b0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgL9W1/btsMKvzL3bV/OnKxKqKBzmClPEML5E77b0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgL9W1%2FbtsMKvzL3bV%2FOnKxKqKBzmClPEML5E77b0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;673&quot; height=&quot;482&quot; data-filename=&quot;00.png&quot; data-origin-width=&quot;673&quot; data-origin-height=&quot;482&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;합격 메일을 받고, 입학 수락을 한 다음에 Academic Credential Evaluation 설문을 제출해준다(검증을 받겠다는 내용).&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 내가 제출한 성적표를 검토하는 단계를 거친다. (위조일 경우 취소되겠지?)&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아직 끝난 게 아니다! 여기까지 했고 업데이트되면 추후 다시 포스팅.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>하바사</author>
      <guid isPermaLink="true">https://imresearcher.tistory.com/51</guid>
      <comments>https://imresearcher.tistory.com/51#entry51comment</comments>
      <pubDate>Sat, 15 Mar 2025 23:12:05 +0900</pubDate>
    </item>
  </channel>
</rss>