<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>개발고수(가되고싶음)의 개발공부</title>
    <link>https://want-to-be-gosu.tistory.com/</link>
    <description>유니티 / 언리얼 등 상용엔진을 주로 사용합니다.
클라이언트 개발 위주 정보전달 블로그</description>
    <language>ko</language>
    <pubDate>Fri, 1 May 2026 02:43:51 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>개발고수(가되고싶음)</managingEditor>
    <image>
      <title>개발고수(가되고싶음)의 개발공부</title>
      <url>https://tistory1.daumcdn.net/tistory/4988042/attach/a5f997baa48847ab964907dfeeb5a653</url>
      <link>https://want-to-be-gosu.tistory.com</link>
    </image>
    <item>
      <title>[3D Max] 자주 사용하는 단축키 저장용</title>
      <link>https://want-to-be-gosu.tistory.com/entry/3D-Max-%EC%9E%90%EC%A3%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EB%8B%A8%EC%B6%95%ED%82%A4-%EC%A0%80%EC%9E%A5%EC%9A%A9</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;f3 - 와이어프레임 껏다켰다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;f4 - 엣지 페이스&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* &lt;b&gt;엣지 페이스(Edge Faces) : 폴리곤과 와이어를 모두 볼수있는 모드&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;f9 - 퀵렌더&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;G - 그리드 활성 / 비활성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;alt + w 해당 뷰포트 확대&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;w 후 shift + 오브젝트 드래그 - 오브젝트 복사&lt;/p&gt;</description>
      <author>개발고수(가되고싶음)</author>
      <guid isPermaLink="true">https://want-to-be-gosu.tistory.com/30</guid>
      <comments>https://want-to-be-gosu.tistory.com/entry/3D-Max-%EC%9E%90%EC%A3%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EB%8B%A8%EC%B6%95%ED%82%A4-%EC%A0%80%EC%9E%A5%EC%9A%A9#entry30comment</comments>
      <pubDate>Sat, 29 Nov 2025 01:18:34 +0900</pubDate>
    </item>
    <item>
      <title>[3D Max] 사분할 화면 설정 방법</title>
      <link>https://want-to-be-gosu.tistory.com/entry/3D-Max-%EC%82%AC%EB%B6%84%ED%95%A0-%ED%99%94%EB%A9%B4-%EC%84%A4%EC%A0%95-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;맥스 2026의 경우에는 뷰포트 한개가 기본설정인거같다.. 하지만 모델링 국룰은 사분할이니까 사분할 하는법&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. Views-&amp;gt; Viewports configuraton&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;1079&quot; data-origin-height=&quot;680&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/32dnp/dJMcafkKsG3/r4sgzcr5n67GVi9pDqv2h0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/32dnp/dJMcafkKsG3/r4sgzcr5n67GVi9pDqv2h0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/32dnp/dJMcafkKsG3/r4sgzcr5n67GVi9pDqv2h0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F32dnp%2FdJMcafkKsG3%2Fr4sgzcr5n67GVi9pDqv2h0%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;1079&quot; height=&quot;680&quot; data-origin-width=&quot;1079&quot; data-origin-height=&quot;680&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. Layout&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;602&quot; data-origin-height=&quot;572&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cmTOhM/dJMcadUIz4s/nSHOJWquWBC6tfihw7omv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cmTOhM/dJMcadUIz4s/nSHOJWquWBC6tfihw7omv1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cmTOhM/dJMcadUIz4s/nSHOJWquWBC6tfihw7omv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcmTOhM%2FdJMcadUIz4s%2FnSHOJWquWBC6tfihw7omv1%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;602&quot; height=&quot;572&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;572&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. apply&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 편안~&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2005&quot; data-origin-height=&quot;1181&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FtZtr/dJMcadf7bpZ/9A4Vhu3Qnzu6uvfTwpyHM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FtZtr/dJMcadf7bpZ/9A4Vhu3Qnzu6uvfTwpyHM0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FtZtr/dJMcadf7bpZ/9A4Vhu3Qnzu6uvfTwpyHM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFtZtr%2FdJMcadf7bpZ%2F9A4Vhu3Qnzu6uvfTwpyHM0%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;2005&quot; height=&quot;1181&quot; data-origin-width=&quot;2005&quot; data-origin-height=&quot;1181&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>모델링&amp;amp;애니메이션 공부/3DMax 문제 해결</category>
      <author>개발고수(가되고싶음)</author>
      <guid isPermaLink="true">https://want-to-be-gosu.tistory.com/29</guid>
      <comments>https://want-to-be-gosu.tistory.com/entry/3D-Max-%EC%82%AC%EB%B6%84%ED%95%A0-%ED%99%94%EB%A9%B4-%EC%84%A4%EC%A0%95-%EB%B0%A9%EB%B2%95#entry29comment</comments>
      <pubDate>Fri, 28 Nov 2025 23:44:40 +0900</pubDate>
    </item>
    <item>
      <title>[언리얼 공부] 인터페이스(Interface) 와 컴포지션(Composition)</title>
      <link>https://want-to-be-gosu.tistory.com/entry/%EC%96%B8%EB%A6%AC%EC%96%BC-%EA%B3%B5%EB%B6%80-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4Interface-%EC%99%80-%EC%BB%B4%ED%8F%AC%EC%A7%80%EC%85%98Composition</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;인터페이스 사용 이유&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 객체가 반드시 구현해야할 행동을 지정하는데 활용&lt;/li&gt;
&lt;li&gt;다형성, 의존성 분리를 위해 사용한다.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;특징&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;인터페이스 생성시 두 개의 클래스가 생성&lt;/li&gt;
&lt;li&gt;U로 시작하는 타입클래스&lt;/li&gt;
&lt;li&gt;I로 시작하는 인터페이스 클래스 - 실질 클래스 구현하는 곳&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;C++ 인터페이스 vs C# 인터페이스&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;c# 에서는 추상 타입으로만 선언이 가능하지만 C++ 인터페이스는 선언하지 않고 로직을 구현할 수 있다.&lt;/li&gt;
&lt;li&gt;다만 구현하였을때 장점도 있지만 복잡해 질 수 있으므로 구현을 할예정이라면 차라리 그냥 일반 클래스를 상속받는것이 더 좋아보인다(굉장히 주관적)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;컴포지션&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;is A 말고 Has A 를 구현하는 방법&lt;/li&gt;
&lt;li&gt;거대한 클래스를 효과적으로 설계하는데 유용하게 사용 가능&lt;/li&gt;
&lt;li&gt;&lt;b&gt;언리얼 엔진에서 컴포지션 구현방법&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;CDO (클래스 기본 객체) 에서 생성하는 방법.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;언리얼 오브젝트에 다른 언리얼 오브젝트를 조합할 때 다음의 선택지
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방법 1: CDO에 미리 언리얼 오브젝트를 생성해 조합한다. - 생성자에 포함 CreateDefaultSubobject - 필수적일 때&lt;/li&gt;
&lt;li&gt;방법 2: 빈 포인터만 넣고 런타임에서 언리얼 오브젝트를 생성해 조합한다. - NewObject - 필수적이지 않을 때&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;언리얼 오브젝트를 생성할 때 컴포지션 정보를 구축할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;내가 소유한 오브젝트 - subObject&lt;/li&gt;
&lt;li&gt;나를 소유한 오브젝트 - Outer&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;한켠 작은 팁 : 메타정보설정&amp;nbsp;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;gt; 메타 정보를 이용하면 좀더 편하게 블루프린트에서 사용 가능하다.&amp;nbsp;&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;메타정보 쓰기 예시&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1724248223553&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;cpp&quot;&gt;&lt;code&gt;UENUM()
enum class ECardType: uint8
{
    Student = 1 UMETA(DisplayName = &quot;For Student&quot;), // &amp;lt;- DisplayName은 에디터에서 보여지는 이름
    Teacher = 2 UMETA(DisplayName = &quot;For Teacher&quot;),
    Staff = 3 UMETA(DisplayName = &quot;For Staff&quot;),
    Invalid = 4,
};

    const UEnum* cardEnumtype =  FindObject&amp;lt;UEnum&amp;gt;(nullptr, TEXT(&quot;/Script/UnrealComposition.ECardType&quot;));
    if(cardEnumtype)
    {
        FString CardMetaData = cardEnumtype-&amp;gt;GetDisplayNameTextByIndex(static_cast&amp;lt;int32&amp;gt;(cardType)).ToString();
        UE_LOG(LogTemp, Log, TEXT(&quot;Person : %s&quot;), *CardMetaData) ;
    }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>엔진공부/언리얼 공부</category>
      <category>언리얼 공부</category>
      <category>인터페이스</category>
      <category>컴포지션</category>
      <author>개발고수(가되고싶음)</author>
      <guid isPermaLink="true">https://want-to-be-gosu.tistory.com/28</guid>
      <comments>https://want-to-be-gosu.tistory.com/entry/%EC%96%B8%EB%A6%AC%EC%96%BC-%EA%B3%B5%EB%B6%80-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4Interface-%EC%99%80-%EC%BB%B4%ED%8F%AC%EC%A7%80%EC%85%98Composition#entry28comment</comments>
      <pubDate>Wed, 21 Aug 2024 22:54:49 +0900</pubDate>
    </item>
    <item>
      <title>[언리얼 공부] 언리얼 리플렉션 시스템</title>
      <link>https://want-to-be-gosu.tistory.com/entry/%EC%96%B8%EB%A6%AC%EC%96%BC-%EA%B3%B5%EB%B6%80-%EC%96%B8%EB%A6%AC%EC%96%BC-%EB%A6%AC%ED%94%8C%EB%A0%89%EC%85%98-%EC%8B%9C%EC%8A%A4%ED%85%9C</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;유니티를 다뤄봤다면 리플렉션 이라는 것을 들어본 적이 있을것이다.&amp;nbsp; 모던 객체지향의 정수라고 불리며 런타임중 자기 자신을 검사하고 조작할 수 있는 기능을 말한다. 이런 리플렉션을 적절히 활용하면 런타임중 클래스, 메서드, 필드등의 메타데이터를 동적으로 조회가 가능하다. 하지만 C++ 은 이전 글에서 다뤘듯이 리플렉션 시스템을 지원하지 않는다. 따라서 언리얼에서 독자적으로(*온몸비틀기를 통해) 리플렉션 시스템을 구축하였는데 오늘은 그 내용을 다뤄보고자 한다.&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;언리얼의 리플렉션 시스템이란?&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;C++은 원래 리플렉션 지원하지 않는다. 하지만 UBT(Unreal Build Tool)와&lt;span&gt;&amp;nbsp;&lt;/span&gt;UHT(Unreal Header Tool)를 이용하여 리플렉션 시스템이 구축되어있어 사용자는 편하게 사용할 수 있다.&lt;/li&gt;
&lt;li&gt;언리얼의 에디터 패널, 직렬화, 가비지 콜렉션 등 모두 리플렉션을 기반으로 한다.&lt;/li&gt;
&lt;li&gt;만약 raw C++ 을 사용하여 리플렉션 되지 않은 프로퍼티는 가비지 콜렉터가 관리 할 수 없으므로 프로그래머가 직접 관리가 필요하다.&lt;/li&gt;
&lt;li&gt;UENUM(), UCLASS(), USTRUCT(), UFUNCTION(), UPROPERTY()을 사용하여 기능 활성화 가능한 구조로 되어있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;UHT(언리얼 헤더툴)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 C++ 파서가 아니므로 너무 구조가 복잡하면 읽지 못한다. (이 역시 온몸 비틀기로 c++ 를 리플렉션하도록 만든 결과)&lt;/li&gt;
&lt;li&gt;UCLASS 매크로가 붙은 클래스에 대해 엔진에서 사용할 수 있는 다양한 메타데이터를 포함한 코드가 생성된다. 이 메타데이터를 이용해서 블루프린트나 가비지 컬렉터에서 이용할 수 있게 해준다.&lt;/li&gt;
&lt;li&gt;언리얼 엔진에서 코드를 수정후 컴파일을 돌리게 되면 리플렉션을 위한 데이터 생성한다. (예: generated.h)&lt;/li&gt;
&lt;li&gt;리플렉션 데이터 사용 시 바이너리와 동기화 보장한다. (즉 안전하게 사용 가능하다)&lt;/li&gt;
&lt;li&gt;작동방식
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;소스코드 분석 -&amp;gt; 메타데이터 생성-&amp;gt; 코드 자동생성&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;UBT(Unreal Build Tool)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;언리얼 프로젝트를 빌드하는데 사용되는 도구이다.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;프로젝트 구성을 C# 으로 관리하며 Target.cs, Build.cs 를 통해 관리한다.&lt;/li&gt;
&lt;li&gt;멀티 플래폼을 지원하며 모듈 및 플러그인도 관리해주며 빌드 종속성을 관리하여 모듈에 대해 순서를 맞춰 빌드를 수행한다.&lt;/li&gt;
&lt;li&gt;빌드 설정에 따라 최적화 수준을 조정해준다. 최적화는&amp;nbsp;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Development 빌드 : 디버그가 가능한 정도로 최적화한 빌드, 디버깅 기능, 로그 활성화 등을 하기 때문이다. 하지만 덜된 최적화 대신 빌드는 빠르다.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Shipping 빌드 : 릴리즈를 위해 성능을 극대화 한 빌드, 디버깅 정보, 로그 메시지 비활성화 한다. 또 최고 성능을 목표로 빌드를 하기 때문에 실행되지 않는 코드 제거, 메모리 배치 최적화등 극한의 최적화를 한다. 그래서 빌드시간은 Development 빌드보다 빌드 시간이 오래걸린다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;작동 방식
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;타겟파일, 빌드 파일 읽기 -&amp;gt; 컴파일 및 링크 -&amp;gt; 빌드 로그 &amp;amp; 오류 출력&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;언리얼 오브젝트의 구성&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;405&quot; data-origin-height=&quot;221&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GvgTY/btsJanKBT7M/R1H3WK30kzoFRmlAG0hdRk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GvgTY/btsJanKBT7M/R1H3WK30kzoFRmlAG0hdRk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GvgTY/btsJanKBT7M/R1H3WK30kzoFRmlAG0hdRk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGvgTY%2FbtsJanKBT7M%2FR1H3WK30kzoFRmlAG0hdRk%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;605&quot; height=&quot;330&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;405&quot; data-origin-height=&quot;221&quot;/&gt;&lt;/span&gt;&lt;/figure&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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;에디터와 연동되는 메타데이터를 심을 수 있다. 또한 UPROPERTY 에서 사용 가능하도록 조정하면 블루프린트에서 변경도 가능하다.&lt;/li&gt;
&lt;li&gt;클래스를 사용해 프로퍼티와 함수 정보를 컴파일 타임 &amp;amp; 런타임에서 조회 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;이런 언리얼 오브젝트는 NewObject API를 사용하여 생성해야 함 (new가 아닌 newObject로 생성)&lt;/li&gt;
&lt;li&gt;언리얼 클래스 정보에 클래스 기본 오브젝트가 포함된다.&lt;/li&gt;
&lt;li&gt;언리얼 기본 클래스 오브젝트(CDO: class default object)를 왜 사용 해야하는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;일관성 있게 기본값 조정에 유용하다.&lt;/li&gt;
&lt;li&gt;GetDefaultObject 함수를 통해 얻을 수 있다.&lt;/li&gt;
&lt;li&gt;엔진 초기화 과정에서 초기화되므로 안심하고 사용 가능
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;생성자 코드는 엔진 초기화과정에 초기화가 되는데 수정하게 된다면 에디터를 끄고 빌드해야 적용이 된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;가비지 컬렉션&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;더 이상 참조되지 않은 UObject를 주기적으로 정리한다.&lt;/li&gt;
&lt;li&gt;UObject의 상속을 받은 클래스가 &lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;UPROPERTY가&lt;/span&gt;&amp;nbsp; 상단에 없는 오브젝트의 경우에는 가비지 컬렉터에서 래퍼런스가 없는줄 알고 냅다 회수해버리고 의문의 Nullptr 이 이상한데에서 날 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요약&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;언리얼 오브젝트를 멤버 변수로 사용시 반드시 UPROPERTY 를 넣어줘야한다.&lt;/li&gt;
&lt;li&gt;생성자가 변경되거나, UPROPERTY에 선언된 변수가 생긴다면 에디터를 끄고 컴파일후 에디터를 켜야한다.&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>엔진공부/언리얼 공부</category>
      <category>Unreal</category>
      <category>게임엔진</category>
      <category>언리얼</category>
      <author>개발고수(가되고싶음)</author>
      <guid isPermaLink="true">https://want-to-be-gosu.tistory.com/27</guid>
      <comments>https://want-to-be-gosu.tistory.com/entry/%EC%96%B8%EB%A6%AC%EC%96%BC-%EA%B3%B5%EB%B6%80-%EC%96%B8%EB%A6%AC%EC%96%BC-%EB%A6%AC%ED%94%8C%EB%A0%89%EC%85%98-%EC%8B%9C%EC%8A%A4%ED%85%9C#entry27comment</comments>
      <pubDate>Wed, 21 Aug 2024 01:39:40 +0900</pubDate>
    </item>
    <item>
      <title>[언리얼 공부] 언리얼 오브젝트 소개</title>
      <link>https://want-to-be-gosu.tistory.com/entry/%EC%96%B8%EB%A6%AC%EC%96%BC-%EA%B3%B5%EB%B6%80-%EC%96%B8%EB%A6%AC%EC%96%BC-%EC%98%A4%EB%B8%8C%EC%A0%9D%ED%8A%B8-%EC%86%8C%EA%B0%9C</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;언리얼의 C++ 은 기존 C++ 과 있어서 차이가 크다. 따라서 C++ 을 했던사람이라면 적응은 빠를 수 있다. 하지만 언리얼 오브젝트 없이 사용한다면 언리얼의 편리함은 가져가지 못한채로 오히려 예측할 수 없는 부분에서 오류가 나서 엉뚱한 부분을 수정하게되곤한다. 그래서 오늘은 언리얼의 특수성과 언리얼의 내부 컴파일 과정을 살펴보고자 한다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;언리얼 C++ 이란?&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;성능을 위해 C++을 포기할 수 없었던 언리얼은 C++ 을 사용하되 C# 과같은 모던 객체 지향을 추구하고자 하였다.&lt;/li&gt;
&lt;li&gt;그래서 언리얼에서는 기존 C++ 언어를 확장하여(온몸비틀기를 하여) 모던 객체 지향 설계를 가능하게 하는 새로운 시스템 구축하게 되었다&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;언리얼 오브젝트 VS 일반 C++ 오브젝트&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;일반 C++ 오브젝트
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;접두사 F 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FCardData&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;저수준의 빠른 처리를 위한 기능 구현을 위해 사용한다.&lt;/li&gt;
&lt;li&gt;언리얼의 도움없이 돌아가는 로직 구현을 위해 사용한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;언리얼 오브젝트
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;언리얼 엔진이 설계한 새로운 시스템의 단위 오브젝트&lt;/li&gt;
&lt;li&gt;UObject를 상속받은 오브젝트를 언리얼 오브젝트라고 보통 부른다&lt;/li&gt;
&lt;li&gt;UCLASS 매크로 사용한다. 이 매크로는 언리얼이 내부적으로 관리하도록 명시하는 매크로이다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추후 설명될 가비지 컬렉터의 관리 영역에 들어가도록 하는 중요한 부분이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;접두사 U 사용하여 기존 C++ 오브젝트랑 구분 하게 한다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;nbsp;ex) UCard&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콘텐츠 제작등 복잡한 구현에 사용한다.&lt;/li&gt;
&lt;li&gt;가비지 컬렉션, 레퍼런스 업데이트, 리플렉션, 직렬화, 네트워크 리플리케이션 등의 기능 제공한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;언리얼 헤더 툴 (UHT)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;언리얼 오브젝트에 필요한 기능들을 언리얼엔진에서 사용 할 수 있도록 한다.&lt;/li&gt;
&lt;li&gt;블루프린트 시스템, 에디터 확장성, 코드 자동 생성, 리플렉션등 중요한 핵심기능을 작동 할 수 있게 자동으로 헤더를 생성해주는 역할을 한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;오브젝트 업데이트 특징&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;클래스 기본 객체(CDO): 기본값과 타입 정보 제공&lt;/li&gt;
&lt;li&gt;리플렉션, 인터페이스, 델리게이트, 가비지 컬렉션, 직렬화 기능 포함&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;새 클래스 생성 시 생성되는 헤더 파일들&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;[클래스 이름].generated.h: 프로젝트에 존재하지 않으며, 복잡한 곳에 위치하게 된다. 즉 수정하지 말라는 무언의 압박이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;기타 자동 생성시 생기는 용어 설명&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;{projectName}_API: 다른 DLL에서도 사용할 수 있게 개방해주는 키워드, 즉 DLL 형태로 가져다 쓰지 않을경우에는 안붙여도 무관하다.&lt;/li&gt;
&lt;li&gt;GENERATED_BODY(): generated.h에 있는 부분을 사용하겠다는 의미이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;세줄요약&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;성능과 유지보수를 위해 C++을 확장한 언리얼 오브젝트라는 객체 구조 고안&lt;/li&gt;
&lt;li&gt;지정된 매크로를 사용해 빌드 수행 시 추가 코드가 자동으로 생성되는 구조&lt;/li&gt;
&lt;li&gt;언리얼 오브젝트를 사용해 대규모 게임 제작을 안정적으로 설계하고 구현할 수 있음&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>엔진공부/언리얼 공부</category>
      <category>c++</category>
      <category>게임 프로그래밍</category>
      <category>게임엔진</category>
      <category>언리얼</category>
      <author>개발고수(가되고싶음)</author>
      <guid isPermaLink="true">https://want-to-be-gosu.tistory.com/26</guid>
      <comments>https://want-to-be-gosu.tistory.com/entry/%EC%96%B8%EB%A6%AC%EC%96%BC-%EA%B3%B5%EB%B6%80-%EC%96%B8%EB%A6%AC%EC%96%BC-%EC%98%A4%EB%B8%8C%EC%A0%9D%ED%8A%B8-%EC%86%8C%EA%B0%9C#entry26comment</comments>
      <pubDate>Mon, 19 Aug 2024 22:32:37 +0900</pubDate>
    </item>
    <item>
      <title>[언리얼 공부] 언리얼 C++ 기본타입과 문자열</title>
      <link>https://want-to-be-gosu.tistory.com/entry/%EC%96%B8%EB%A6%AC%EC%96%BC-%EA%B3%B5%EB%B6%80-%EC%96%B8%EB%A6%AC%EC%96%BC-C-%EA%B8%B0%EB%B3%B8%ED%83%80%EC%9E%85%EA%B3%BC-%EB%AC%B8%EC%9E%90%EC%97%B4</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;언리얼 환경에서 알아두어야할 기본타입과 고려할 점&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;C++ 를 사용하지만 기본타입을 사용하지 않는다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;플랫폼 파편화 때문&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;플랫폼 파편화란 ?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 함수나 타입들이 기기마다 다르게 작동될 수 있는 현상&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;C++ 최신 규약에서는 최소 32비트 보장 하지만 특정 플랫폼은 64 비트일 수도 있음 ( 빅엔디안, 리틀엔디안)&lt;/li&gt;
&lt;li&gt;단일 기기에서 최고의 성능을 뽑아내는 게임 프로그래밍에 치명적이다.&lt;/li&gt;
&lt;li&gt;데이터 타입의 애매 모호함은 게임 개발 시 문제를 일으킬 수 있다.&lt;/li&gt;
&lt;li&gt;네트워크 상에서 데이터 통신이 효율적이고 안정적이어야 한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;언리얼 엔진에서 사용하는 기본 타입
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;bool&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보편적으로 1byte 로 알려져 있지만 처리하는 os 에 따라 달라질 수 있기때문에 위험하여 크기를 추론해서 사용하는 일은 없는게 안정성에 좋다.&lt;/li&gt;
&lt;li&gt;헤더에는 가급적 uint8 타입을 사용하되 bit field 오퍼레이터 사용 한다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;
&lt;pre id=&quot;code_1723732224330&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;cpp&quot;&gt;&lt;code&gt;uint8 bNetTemporary:1;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;uint8과의 구분을 위해 b 접두사 사용&lt;/li&gt;
&lt;li&gt;cpp 내부 로직에서는 자유롭게 bool 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;TCHAR&lt;/b&gt;: 크기 추정 금지
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 문자열을 사용하려면 FString를 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Character 형 인코딩 시스템에 대한 이해&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;왜 언리얼은 문자열을 따로 지정하는가?&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;처리해야 할 문자열 처리의 종류가 세 가지가 있지만, 이런 처리 종류를 신경 안 쓰고 TCHAR로 사용하면 됨&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;언리얼에 로드되는 텍스트 파일&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UTF-16으로 대부분의 파일을 로드한다.&lt;/li&gt;
&lt;li&gt;소스코드 - 코드 안에 스트링을 그대로 쓰는 것을 추천하지 않는다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이유
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;컴파일 오류가 나도 왜 나는지 모르는 경우가 생긴다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;만약, 한글을 소스코드 안에 넣고 싶다면!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UTF-8로 저장하고 깨질 수 있음을 감안해야 함 (하지말라는 뜻)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;언리얼 C++이 제공하는 다양한 문자열 처리 방법과 내부 구성 이해&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;override된 함수는 Super::함수를 불러줘야 함&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;아니면 이슈가 생겨도 왜 생겼는지 파악하기 힘듦&lt;/li&gt;
&lt;li&gt;상속받는 함수에 공통적인 처리를 했는데 적용이 안되는 슬픈일이 생길수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;FString 포인터로 넘겨줘야 실제 가지고 있는 문자열 데이터를 가져올 수 있음&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문자열 처리&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;유니코드를 사용해 문자열 처리 통일&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2byte로 사이즈가 균일한 UTF-16 사용&lt;/li&gt;
&lt;li&gt;유니코드를 위한 언리얼 표준 캐릭터 타입: TCHAR&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;문자열은 언제나 TEXT 매크로를 사용해 지정&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;TEXT 매크로로 감싼 문자열은 TCHAR 배열로 지정&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;문자열을 다루는 클래스로 FString을 제공&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;TCHAR 배열을 포함하는 헬퍼 클래스&lt;/li&gt;
&lt;li&gt;FString 관련 예: FString::Printf, FString::SanitizeFloat, FString::FromInt&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;언리얼이 제공하는 다양한 문자열 처리&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;FName&lt;/b&gt;: 애셋 관리를 위해 사용되는 문자열 체계 - C# dictionary 형식으로 저장됨 (Key value 쌍)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;대소문자 구분 없이 처리한다. Key 처럼 작동하기 때문에.&lt;/li&gt;
&lt;li&gt;이름을 저장하는 데 유용&lt;/li&gt;
&lt;li&gt;애셋 키를 지정하는 용도로 사용, 내부적으로는 hash 값을 사용함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;즉, 한번 선언되면 int32로 변환됨&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;문자열 처리를 위한 것이 아니라 무엇을 찾기 위한 것&lt;/li&gt;
&lt;li&gt;자주 호출하면 오버헤드 발생 (계속 hash 함수를 통하여&amp;nbsp; NamePool에서 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;해결 방법:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;const static FName staticOnlyOnce(TEXT(&quot;이름&quot;))으로 하면 더 이상 찾을 일이 없어 오버헤드 줄어든다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;FText&lt;/b&gt;: 다국어 지원을 위한 문자열 관리 체계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;일종의 키로 작동&lt;/li&gt;
&lt;li&gt;문자열 테이블 정보가 추가로 요구됨&lt;/li&gt;
&lt;li&gt;게임 빌드시 자동으로 다양한 언어 지원&lt;/li&gt;
&lt;li&gt;이걸 이용하지 않으면 다국어 대응시 굉장히 난감해질수있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>엔진공부/언리얼 공부</category>
      <author>개발고수(가되고싶음)</author>
      <guid isPermaLink="true">https://want-to-be-gosu.tistory.com/25</guid>
      <comments>https://want-to-be-gosu.tistory.com/entry/%EC%96%B8%EB%A6%AC%EC%96%BC-%EA%B3%B5%EB%B6%80-%EC%96%B8%EB%A6%AC%EC%96%BC-C-%EA%B8%B0%EB%B3%B8%ED%83%80%EC%9E%85%EA%B3%BC-%EB%AC%B8%EC%9E%90%EC%97%B4#entry25comment</comments>
      <pubDate>Thu, 15 Aug 2024 23:34:18 +0900</pubDate>
    </item>
    <item>
      <title>Unity Shader 사용 방법</title>
      <link>https://want-to-be-gosu.tistory.com/entry/Unity-Shader-%EC%82%AC%EC%9A%A9-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;물체를 화면에 렌더링 하기 위해서는 Shader 를&amp;nbsp; 거쳐 화면에 나타나게 된다. 유니티를 사용함에 있어서도 내장 쉐이더를 사용하거나 용도에 따라 새로 쉐이더를 만들어 사용하는 방법이 있다. &lt;br /&gt;&amp;nbsp;아웃라인 쉐이더를 만들고 싶어서 새로 쉐이더를 만들어보려 시도를 하는데 있는 것도 모르면서 새로 만드는건 건방진거같아서 우선 유니티에 있는 기본 Lit shader 에 대해 각 프로퍼티들의 역할을 공부해 보았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본적으로 Lit Shader 은 빛의 영향을 받는 물리기반 렌더링( &lt;span style=&quot;color: #374151; text-align: start;&quot;&gt; Physically Based Rendering&lt;/span&gt; )이고 URP 혹은 HDRP 에서 사용시 더 다양한 효과를 볼수 있다. URP 에 있는 기본 Lit shader 이다. 순서대로 설명해볼까 한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;651&quot; data-origin-height=&quot;262&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l4lEF/btsEopM8GBO/CSS6Vjw469ESIhh48oyE6K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l4lEF/btsEopM8GBO/CSS6Vjw469ESIhh48oyE6K/img.png&quot; data-alt=&quot;workflow Specular&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l4lEF/btsEopM8GBO/CSS6Vjw469ESIhh48oyE6K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl4lEF%2FbtsEopM8GBO%2FCSS6Vjw469ESIhh48oyE6K%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;651&quot; height=&quot;262&quot; data-origin-width=&quot;651&quot; data-origin-height=&quot;262&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;workflow Specular&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;649&quot; data-origin-height=&quot;260&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blIElV/btsEnRpDgkx/pUQU4ccXANjhkxTUQtXQY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blIElV/btsEnRpDgkx/pUQU4ccXANjhkxTUQtXQY1/img.png&quot; data-alt=&quot;workflow Metalic&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blIElV/btsEnRpDgkx/pUQU4ccXANjhkxTUQtXQY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FblIElV%2FbtsEnRpDgkx%2FpUQU4ccXANjhkxTUQtXQY1%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;649&quot; height=&quot;260&quot; data-origin-width=&quot;649&quot; data-origin-height=&quot;260&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;workflow Metalic&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. Base Map&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Diffuse Map, Albedo map 등 으로 불리며 물체의 표면이 흡수한 빛을 모든 방향으로 고르게 뿌린다. 현실에서 난반사의 속성을 가지고 있다.&lt;/li&gt;
&lt;li&gt;이름 그대로 기본색상을 나타내며 어두운 부분에 그림자가 지고 밝은 부분은 잘보이는 것에 영향을 준다.&lt;img src=&quot;https://blog.kakaocdn.net/dn/cYdhQe/btsEoJECtAg/yrxvkOKUk9JUuxMRTPRTi0/img.png&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;433&quot; data-is-animation=&quot;false&quot; /&gt;Unity Base map 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. Metalic Map&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;얼마나 금속같은지를 결정하는 부분이다.&lt;/li&gt;
&lt;li&gt;곧 설명할 Specular 와&amp;nbsp; 비슷하다고 생각 할수도 있지만 metalic 의 경우에는 환경보다 base map 색상에 더 많은 영향을 받는다 라는 것이 specular 랑은 다르다는 것을 보여준다.&lt;/li&gt;
&lt;li&gt;흑백이미지를 사용하는데 하얀색일수록 더 금속같음을 의미한다.&lt;/li&gt;
&lt;li&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;247&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dg864L/btsEnXpAcqz/UWYlNX63o0G77ZkohPDPa1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dg864L/btsEnXpAcqz/UWYlNX63o0G77ZkohPDPa1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dg864L/btsEnXpAcqz/UWYlNX63o0G77ZkohPDPa1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdg864L%2FbtsEnXpAcqz%2FUWYlNX63o0G77ZkohPDPa1%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;2000&quot; height=&quot;247&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;247&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3. Specualr Map&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;물체의 표면에서 특정 각도로 빛이 반사되는 정도를 나타낸다. Base Map 과는 달리 정반사에 해당되는 특징을 가진다.&lt;/li&gt;
&lt;li&gt;물체 표면에서 빛이 특정 각도로 반사되는 부분으로 물체의 표면에서 빛이 반사되어 광택이 표현된다 &lt;img src=&quot;https://blog.kakaocdn.net/dn/cfly13/btsEkv2eiSD/FBvndyMSWFHnZXM2prKTw1/img.png&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;434&quot; data-is-animation=&quot;false&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;4. Normal Map&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;적은 폴리곤으로 더 세세한 입체감을 나타내기 위해 사용한다.&lt;/li&gt;
&lt;li&gt;RGB가 방향 벡터 형태로 저장되며 입사방향을 계산하여 입체감을 보여줄 수 있다.&lt;/li&gt;
&lt;li&gt;물체의 표면에서 빛의 방향이 어떻게 바뀌는가에 대해 정의한 이미지 파일이다&lt;/li&gt;
&lt;li&gt;일반적으로 사실적인 물체 표현을 위해 요즘나온 3D 게임에서는 사용하고 있다.&lt;/li&gt;
&lt;li&gt;우측 결과물은 좌측 노멀맵을 중간 폴리곤에 Normal Map 을 적용한것이다.&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zzVhb/btsElklO5SR/eyxaSrb0KGRvhXh5B58xMk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zzVhb/btsElklO5SR/eyxaSrb0KGRvhXh5B58xMk/img.png&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;2000&quot; data-is-animation=&quot;false&quot; width=&quot;257&quot; height=&quot;257&quot; style=&quot;width: 22.1457%; margin-right: 10px;&quot; data-widthpercent=&quot;22.67&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zzVhb/btsElklO5SR/eyxaSrb0KGRvhXh5B58xMk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzzVhb%2FbtsElklO5SR%2FeyxaSrb0KGRvhXh5B58xMk%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;2000&quot; height=&quot;2000&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bKx2fr/btsEnawc3TT/9fh9a6AgP8xeLklwzKbV11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bKx2fr/btsEnawc3TT/9fh9a6AgP8xeLklwzKbV11/img.png&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1307&quot; data-is-animation=&quot;false&quot; width=&quot;487&quot; data-widthpercent=&quot;34.69&quot; style=&quot;width: 33.8878%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bKx2fr/btsEnawc3TT/9fh9a6AgP8xeLklwzKbV11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKx2fr%2FbtsEnawc3TT%2F9fh9a6AgP8xeLklwzKbV11%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;2000&quot; height=&quot;1307&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cy4z0H/btsEkRdjK3x/LunhT24OgU0n7pNHvk9og0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cy4z0H/btsEkRdjK3x/LunhT24OgU0n7pNHvk9og0/img.jpg&quot; data-origin-width=&quot;707&quot; data-origin-height=&quot;376&quot; data-is-animation=&quot;false&quot; style=&quot;width: 41.6409%;&quot; data-widthpercent=&quot;42.64&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cy4z0H/btsEkRdjK3x/LunhT24OgU0n7pNHvk9og0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcy4z0H%2FbtsEkRdjK3x%2FLunhT24OgU0n7pNHvk9og0%2Fimg.jpg&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;707&quot; height=&quot;376&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&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;/li&gt;
&lt;li&gt;비교적 적은 비용으로 물체의 디테일한 입체감을 표현할 수 있다는 점에서 이득인 부분이 많다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;5. Height Map&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Normal Map 과 언뜻 비슷한 역할을 하지만 Normal map 은 빛의 벡터만으로 물체의 입체감을 표현하지만 Height map 은 실제 높낮이에 따라서 입체감을 표현하는 역할을 한다.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;흑백이미지로 되어있으며 흰색에 가까울수록 높고 검은색에 가까울수록 낮음을 나타낸다.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;높낮이 정보를 이용해서 입체감을 얻기 때문의 광원효과를 이용한 Normal 맵과는 달리 가려짐도 표현 가능하기 때문에 좀더 디테일하게 표현이 가능하다.&amp;nbsp;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9kPoR/btsEku98cbm/K2e1Rjh10x4kYgX7Van3K1/img.png&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;734&quot; data-is-animation=&quot;false&quot; /&gt;1번 사진 :&amp;nbsp; Normal map 과 Height Map 을 이용 x / 2번사진 : Normal Map 만 이용 / 3번사진 Normal map 과 height map 둘다 사용&lt;/li&gt;
&lt;li&gt;확실히 2번의 경우에는 옆에서 봤을때 가려지는 부분에대해서는 가려지지 않지만 3번의 경우에는 높낮이에 따라 가려지는 모습을 볼 수 있다.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;6. Occulusion Map&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;간접 조명의 영향을 받을지 말지 결정&lt;/li&gt;
&lt;li&gt;조명에 가려지는 것을 흑백이미지로 표현한다. 검은색에 가까울수록 간접조명에 영향을 받지 않는다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brAbes/btsEqvTEltW/M2jjwsYhI9dcGWQWaGuK4k/img.png&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;579&quot; data-is-animation=&quot;false&quot; /&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;7. Emission Map&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어두울때 발광 효과를 나타낼 부분을 표시하는 매핑이다.&lt;/li&gt;
&lt;li&gt;주로 RGBA 이미지로 표현한다.&lt;/li&gt;
&lt;li&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1064&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGdkmG/btsEkgYKZhQ/RzZWVZ3pYmEM0X01BV3CRk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGdkmG/btsEkgYKZhQ/RzZWVZ3pYmEM0X01BV3CRk/img.png&quot; data-alt=&quot;주변환경 Bake 까지 한다면 주변까지 빛에 영향을 받는것처럼 보이게 할 수 있다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGdkmG/btsEkgYKZhQ/RzZWVZ3pYmEM0X01BV3CRk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGdkmG%2FbtsEkgYKZhQ%2FRzZWVZ3pYmEM0X01BV3CRk%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;2000&quot; height=&quot;1064&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1064&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;주변환경 Bake 까지 한다면 주변까지 빛에 영향을 받는것처럼 보이게 할 수 있다.&lt;/figcaption&gt;
&lt;/figure&gt;
&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;휴 드디어 모든(surface 부분만) 기본 쉐이더 프로퍼티에 대해 알 수 있게 되었다. &lt;br /&gt;사실 작동원리가 궁금했지만.. 내장쉐이더라 볼수 없어서 아쉽다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고 및 이미지 출처 : &lt;a href=&quot;https://docs.unity3d.com/kr/2022.3/Manual/StandardShaderMaterialParameters.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://docs.unity3d.com/kr/2022.3/Manual/StandardShaderMaterialParameters.html&lt;/a&gt;&lt;/p&gt;</description>
      <category>엔진공부/유니티 공부</category>
      <category>shader</category>
      <category>Unity</category>
      <category>unity shader</category>
      <category>게임 개발</category>
      <category>유니티</category>
      <author>개발고수(가되고싶음)</author>
      <guid isPermaLink="true">https://want-to-be-gosu.tistory.com/24</guid>
      <comments>https://want-to-be-gosu.tistory.com/entry/Unity-Shader-%EC%82%AC%EC%9A%A9-%EB%B0%A9%EB%B2%95#entry24comment</comments>
      <pubDate>Sun, 4 Feb 2024 00:34:49 +0900</pubDate>
    </item>
    <item>
      <title>[미드저니] 알아두면 꼭 쓰는 미드저니 명령어 몇 가지</title>
      <link>https://want-to-be-gosu.tistory.com/entry/%EB%AF%B8%EB%93%9C%EC%A0%80%EB%8B%88-%EC%95%8C%EC%95%84%EB%91%90%EB%A9%B4-%EA%BC%AD-%EC%93%B0%EB%8A%94-%EB%AF%B8%EB%93%9C%EC%A0%80%EB%8B%88-%EB%AA%85%EB%A0%B9%EC%96%B4-%EB%AA%87-%EA%B0%80%EC%A7%80</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;미드저니를 쓰다보면 현란하게 -- 를 붙여 쓰는 사람들이 많다. 저게 무슨 말이지 싶지만 해당 명령어를 쓰면 좀더 일관성 있게, 혹은 더 특이하게 등 원하는 이미지로 만들기 쉽다. 일단 가장 많이 사용하는 명령어를 표로 정리해보았다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 186px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;width: 13.2558%; height: 16px;&quot;&gt;단어&lt;/td&gt;
&lt;td style=&quot;width: 45.2326%; height: 16px;&quot;&gt;의미&lt;/td&gt;
&lt;td style=&quot;width: 16.5116%; height: 16px;&quot;&gt;사용예시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;width: 13.2558%; height: 16px; text-align: center;&quot;&gt;--ar&lt;/td&gt;
&lt;td style=&quot;width: 45.2326%; height: 16px;&quot;&gt;비율을 설정 할 수 있다&lt;/td&gt;
&lt;td style=&quot;width: 16.5116%; height: 16px;&quot;&gt;-- ar 1:2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;width: 13.2558%; height: 16px; text-align: center;&quot;&gt;--no&lt;/td&gt;
&lt;td style=&quot;width: 45.2326%; height: 16px;&quot;&gt;제거하고 싶은 오브젝트를 제거 할 수 있다.&lt;/td&gt;
&lt;td style=&quot;width: 16.5116%; height: 16px;&quot;&gt;--no human&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;width: 13.2558%; height: 16px; text-align: center;&quot;&gt;--style&lt;/td&gt;
&lt;td style=&quot;width: 45.2326%; height: 16px;&quot;&gt;원하는 스타일로 그림을 뽑아낼수있다. 사용가능한 스타일은&amp;nbsp;&lt;br /&gt;cute, expressive, original, or scenic&lt;/td&gt;
&lt;td style=&quot;width: 16.5116%; height: 16px;&quot;&gt;--style cute&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;width: 13.2558%; height: 16px; text-align: center;&quot;&gt;--s&lt;/td&gt;
&lt;td style=&quot;width: 45.2326%; height: 16px;&quot;&gt;입력값이 작을수록 현실에 가까워지고 입력값이 클수록 비현실적이게 된다. &lt;br /&gt;0~ 1000 사이로 입력 가능.&lt;br /&gt;&lt;br /&gt;며칠 미드저니를 구경해보니 niji 모델 사용하는 사람들은 대부분 750 으로 사용하는 것으로 보인다&lt;/td&gt;
&lt;td style=&quot;width: 16.5116%; height: 16px;&quot;&gt;--s 500&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;width: 13.2558%; height: 16px; text-align: center;&quot;&gt;--niji&lt;/td&gt;
&lt;td style=&quot;width: 45.2326%; height: 16px;&quot;&gt;애니메이션 그림체인 niji 모델로 그릴 수 있다. 흔히 말하는 씹덕그림체로 뽑을 수 있다.&lt;/td&gt;
&lt;td style=&quot;width: 16.5116%; height: 16px;&quot;&gt;--niji 5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 60px;&quot;&gt;
&lt;td style=&quot;width: 13.2558%; height: 60px; text-align: center;&quot;&gt;--c&lt;/td&gt;
&lt;td style=&quot;width: 45.2326%; height: 60px;&quot;&gt;좀더 많은 다양한 그림체를 보고 싶을 때 사용한다. 안정적이고 일관된 이미지를 뽑기 위해서는 0에 가깝게 다양한 결과를 뽑기위해서는 100에 가깝게 넣는다.&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 16.5116%; height: 60px;&quot;&gt;--c 0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 10px;&quot;&gt;
&lt;td style=&quot;width: 13.2558%; height: 10px; text-align: center;&quot;&gt;--r&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 45.2326%; height: 10px;&quot;&gt;하나의 프롬프트로 여러번 뽑을때 사용 1~40 사이 값 사용 가능&lt;br /&gt;입력한 숫자만큼 자동으로 반복해준다.&lt;/td&gt;
&lt;td style=&quot;width: 16.5116%; height: 10px;&quot;&gt;--r 5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 13.2558%; height: 20px; text-align: center;&quot;&gt;--tile&lt;/td&gt;
&lt;td style=&quot;width: 45.2326%; height: 20px;&quot;&gt;타일에 쓸수 있는 반복해서 쓸 수 있는 이미지를 만들어준다&lt;/td&gt;
&lt;td style=&quot;width: 16.5116%; height: 20px;&quot;&gt;--tile&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각명령어의 예시는 다른글에서 예시를 통해서 설명하도록 하겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이정도 명령어가 가장 많이 쓰이는 것으로 보인다. 이외에도 --fast. --iw , --relax 등 많은 명령어가 있지만 며칠동안 미드저니의 채널을 구경해본결과 사실상 사용하는건 저것뿐인거같다.&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;오늘은 그냥 내가 궁금해서 --no 명령어를 시험해보았다.&lt;br /&gt;그림 명령어에 있는 단어를 --no 명령어로 배제 시키도록 해보고싶었다. 그럼 과연 어떤그림이 나올것인가...!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;duck &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;-no duck&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;background-color: #000000; color: #dbdee1; text-align: left;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;명령어를 입력해보았다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;2048&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vgKI0/btsB3sNoNGQ/av5Rafi03AWyK0185X7iyK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vgKI0/btsB3sNoNGQ/av5Rafi03AWyK0185X7iyK/img.png&quot; data-alt=&quot;몇 개는 거위같아보이는걸 보아 성공인가...&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vgKI0/btsB3sNoNGQ/av5Rafi03AWyK0185X7iyK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvgKI0%2FbtsB3sNoNGQ%2Fav5Rafi03AWyK0185X7iyK%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;2048&quot; height=&quot;2048&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;2048&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;몇 개는 거위같아보이는걸 보아 성공인가...&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결론은 명령어에 있어도 text에 있는게 우선인걸로 보인다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;재밌는 실험이었다.&lt;/p&gt;</description>
      <category>생성형 AI</category>
      <category>midjourney</category>
      <category>미드저니</category>
      <category>미드저니 prompt</category>
      <category>미드저니 그림그리기</category>
      <category>미드저니 명령어</category>
      <category>미드저니 프롬프트</category>
      <category>생성형 AI</category>
      <author>개발고수(가되고싶음)</author>
      <guid isPermaLink="true">https://want-to-be-gosu.tistory.com/23</guid>
      <comments>https://want-to-be-gosu.tistory.com/entry/%EB%AF%B8%EB%93%9C%EC%A0%80%EB%8B%88-%EC%95%8C%EC%95%84%EB%91%90%EB%A9%B4-%EA%BC%AD-%EC%93%B0%EB%8A%94-%EB%AF%B8%EB%93%9C%EC%A0%80%EB%8B%88-%EB%AA%85%EB%A0%B9%EC%96%B4-%EB%AA%87-%EA%B0%80%EC%A7%80#entry23comment</comments>
      <pubDate>Sat, 16 Dec 2023 22:54:15 +0900</pubDate>
    </item>
    <item>
      <title>[미드저니] 블로그에 쓸만한 심플한 그림 그리기</title>
      <link>https://want-to-be-gosu.tistory.com/entry/%EB%AF%B8%EB%93%9C%EC%A0%80%EB%8B%88-%EB%B8%94%EB%A1%9C%EA%B7%B8%EC%97%90-%EC%93%B8%EB%A7%8C%ED%95%9C-%EC%8B%AC%ED%94%8C%ED%95%9C-%EA%B7%B8%EB%A6%BC-%EB%BD%91%EB%8A%94-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;블로그 글을 쓰다보면 원하는 그림이 있는데 구글링 해보면 잘 나오지도 않고 이거 블로그글에 써도 되나 싶은 저작권들도있다. 하지만 미드저니라면! 원하는 그림을 그려볼 수 있다!&amp;nbsp;&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;&amp;nbsp;- 일단 나는 프로그래밍 블로그니까 뭔가 코드를 짜는 프로그래머 이미지가 필요하다고 가정!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Back view of a programmer wearing a hoodie writing code&lt;br /&gt;로 일단 결정 이것만으로 한 번 돌려보자!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;484&quot; data-origin-height=&quot;466&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bcUAVU/btsBFGx9klw/HogFKxaclWq5IuBs5tXPCk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bcUAVU/btsBFGx9klw/HogFKxaclWq5IuBs5tXPCk/img.png&quot; data-alt=&quot;음.. 그냥 나쁜 해커 같은 느낌이지만.. 무튼&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bcUAVU/btsBFGx9klw/HogFKxaclWq5IuBs5tXPCk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbcUAVU%2FbtsBFGx9klw%2FHogFKxaclWq5IuBs5tXPCk%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;484&quot; height=&quot;466&quot; data-origin-width=&quot;484&quot; data-origin-height=&quot;466&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;음.. 그냥 나쁜 해커 같은 느낌이지만.. 무튼&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 블로그 스타일이라면 조금더 실사보다는 일러스트나 낙서 같은 느낌이 중요하다고 생각한다. 밑줄친 부분을 추가해서 낙서 스타일이되 좀더 심플하도록 요청해보았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;Back view of a programmer wearing a hoodie writing code&lt;/span&gt;&lt;span&gt;, &lt;u&gt;simple doodle style&lt;/u&gt;&lt;/span&gt;&lt;u&gt;&lt;span&gt;, Simple line&lt;/span&gt;&lt;span&gt;, paint coloring&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;809&quot; data-origin-height=&quot;482&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bR9mrz/btsBJhRpHWF/o6KUWRJPRSm6yiUjLfloP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bR9mrz/btsBJhRpHWF/o6KUWRJPRSm6yiUjLfloP1/img.png&quot; data-alt=&quot;그럴듯하네?&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bR9mrz/btsBJhRpHWF/o6KUWRJPRSm6yiUjLfloP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbR9mrz%2FbtsBJhRpHWF%2Fo6KUWRJPRSm6yiUjLfloP1%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;809&quot; height=&quot;482&quot; data-origin-width=&quot;809&quot; data-origin-height=&quot;482&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;그럴듯하네?&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스흡 하지만 좀더 심플하고 밝은 느낌이고 싶다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;Back view of a programmer wearing a hoodie writing code&lt;/span&gt;&lt;span&gt;, &lt;u&gt;cute&lt;/u&gt; simple doodle style&lt;/span&gt;&lt;span&gt;, Simple line&lt;/span&gt;&lt;span&gt;, paint coloring&lt;/span&gt;&lt;span&gt;, &lt;u&gt;cartoon&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;855&quot; data-origin-height=&quot;445&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kyXsJ/btsBDK2anTo/JiKZLesLAzXop5C37Lo11K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kyXsJ/btsBDK2anTo/JiKZLesLAzXop5C37Lo11K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kyXsJ/btsBDK2anTo/JiKZLesLAzXop5C37Lo11K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkyXsJ%2FbtsBDK2anTo%2FJiKZLesLAzXop5C37Lo11K%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;855&quot; height=&quot;445&quot; data-origin-width=&quot;855&quot; data-origin-height=&quot;445&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이중에 나는 이그림을 골랐다! 왜냐면 노란 후드티를 좋아해서 자주입기 때문에 이 그림으로 골랐다. &lt;br /&gt;블로그에 넣기 좋은 그림 잘 만든거같다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bIvmKe/btsBDRz7wsD/mskKNVPBy2U9XUo3YDi8dK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bIvmKe/btsBDRz7wsD/mskKNVPBy2U9XUo3YDi8dK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bIvmKe/btsBDRz7wsD/mskKNVPBy2U9XUo3YDi8dK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbIvmKe%2FbtsBDRz7wsD%2FmskKNVPBy2U9XUo3YDi8dK%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;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&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;다만 등뒤에 붙인 저 요상한게 맘에 들지 않아서 region vary 를 이용해서 등에 있는걸 제거해줬다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4sAOa/btsBJdO08s9/YksB2nEqHC9fJWhyiYcXqK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4sAOa/btsBJdO08s9/YksB2nEqHC9fJWhyiYcXqK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4sAOa/btsBJdO08s9/YksB2nEqHC9fJWhyiYcXqK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4sAOa%2FbtsBJdO08s9%2FYksB2nEqHC9fJWhyiYcXqK%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;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;요약하자면 뒤에 &lt;span&gt;cute simple doodle style&lt;/span&gt;&lt;span&gt;, Simple line&lt;/span&gt;&lt;span&gt;, paint coloring&lt;/span&gt;&lt;span&gt;, cartoon &lt;/span&gt;&lt;span&gt;붙이면 블로그에 쓸만한 삽화를 만들어낼 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;</description>
      <category>생성형 AI</category>
      <category>무료</category>
      <category>미드저니</category>
      <category>블로그이미지</category>
      <category>생성형AI</category>
      <category>저작권없는이미지</category>
      <author>개발고수(가되고싶음)</author>
      <guid isPermaLink="true">https://want-to-be-gosu.tistory.com/22</guid>
      <comments>https://want-to-be-gosu.tistory.com/entry/%EB%AF%B8%EB%93%9C%EC%A0%80%EB%8B%88-%EB%B8%94%EB%A1%9C%EA%B7%B8%EC%97%90-%EC%93%B8%EB%A7%8C%ED%95%9C-%EC%8B%AC%ED%94%8C%ED%95%9C-%EA%B7%B8%EB%A6%BC-%EB%BD%91%EB%8A%94-%EB%B0%A9%EB%B2%95#entry22comment</comments>
      <pubDate>Sun, 10 Dec 2023 01:22:02 +0900</pubDate>
    </item>
    <item>
      <title>[미드저니] 미드저니 이미지 불러와서 명령어 입력해서 그림그리기</title>
      <link>https://want-to-be-gosu.tistory.com/entry/%EB%AF%B8%EB%93%9C%EC%A0%80%EB%8B%88-%EB%AF%B8%EB%93%9C%EC%A0%80%EB%8B%88-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EB%B6%88%EB%9F%AC%EC%99%80%EC%84%9C-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%9E%85%EB%A0%A5%ED%95%B4%EC%84%9C-%EA%B7%B8%EB%A6%BC%EA%B7%B8%EB%A6%AC%EA%B8%B0</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;미드저니 오늘 처음 써봤는데 너무 신기하다. 그림을 되게 잘 그린다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;lyr_____teenage_girl_anime_santa_costume_christmas_cute_438896c6-6c4f-4e1f-893f-b323dddf1b71.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bFHEXW/btsBGWfITsa/VV90Qtoi32XfH0Lld1BhVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bFHEXW/btsBGWfITsa/VV90Qtoi32XfH0Lld1BhVK/img.png&quot; data-alt=&quot;미안하다 이거보여주려고 어그로 끌었다 어쩌구&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bFHEXW/btsBGWfITsa/VV90Qtoi32XfH0Lld1BhVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFHEXW%2FbtsBGWfITsa%2FVV90Qtoi32XfH0Lld1BhVK%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;1024&quot; height=&quot;1024&quot; data-filename=&quot;lyr_____teenage_girl_anime_santa_costume_christmas_cute_438896c6-6c4f-4e1f-893f-b323dddf1b71.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;미안하다 이거보여주려고 어그로 끌었다 어쩌구&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;다시 제목으로 돌아와서 설명하자면 명령어만 입력하는 방법도 있지만 이미지를 참조해서 그렸으면 하는 부분이 있는데 몰라서 헤메이는 분들을 위해 이미지 참조해서 그리도록 하는 방법을 설명하고자 한다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. 이미지를 아무 디스코드에나 올린다.&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;598&quot; data-origin-height=&quot;352&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GSBs2/btsBBX8FXWo/Ha1darJMJS6xQWkXBT6YNk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GSBs2/btsBBX8FXWo/Ha1darJMJS6xQWkXBT6YNk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GSBs2/btsBBX8FXWo/Ha1darJMJS6xQWkXBT6YNk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGSBs2%2FbtsBBX8FXWo%2FHa1darJMJS6xQWkXBT6YNk%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;598&quot; height=&quot;352&quot; data-origin-width=&quot;598&quot; data-origin-height=&quot;352&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. 링크 복사하기를 누른다.&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;https://cdn.discordapp.com/attachments/1034769339330605126/1182688852784185344/20181228_195243_-803990022.png?ex=65859bd3&amp;amp;is=6573 ... 등 굉장히 긴 하이퍼링크가 나오는데&amp;nbsp; png 이후 글자들을 모두 삭제해 준다.&lt;br /&gt;https://cdn.discordapp.com/attachments/1034769339330605126/1182688852784185344/20181228_195243_-803990022.png&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 식으로 삭제해 주면 된다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3. 이후 미드저니 디스코드에 들어가서 /image 한 후 해당링크를 복붙 한다&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1171&quot; data-origin-height=&quot;105&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cEzwUK/btsBC4sNIgY/zpOeOr5sO9Wf7iaScT8KK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cEzwUK/btsBC4sNIgY/zpOeOr5sO9Wf7iaScT8KK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cEzwUK/btsBC4sNIgY/zpOeOr5sO9Wf7iaScT8KK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcEzwUK%2FbtsBC4sNIgY%2FzpOeOr5sO9Wf7iaScT8KK1%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;1171&quot; height=&quot;105&quot; data-origin-width=&quot;1171&quot; data-origin-height=&quot;105&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 가장 중요한 건 쉼표 후 띄어쓰기를 꼭 해줘야 한다 ,&amp;nbsp; 이런 식으로 안 해주면 invalid link 가 뜬다.&lt;br /&gt;이후 뒤에 묘사하고자 하는 글을 쓴다.&amp;nbsp;&lt;br /&gt;나 같은 경우는 &lt;br /&gt;&lt;b&gt;&lt;span&gt; cute chick hold small sword one hand&lt;/span&gt;&lt;span&gt;, anime Screen Shot &lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;-niji &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;-no cape&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;-no wearing cloth &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;-style cute&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이런 식으로 뽑았다. 그랬더니...&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;2048&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7Y17S/btsBGFLZfqq/pwKuRCFp80y3mdlpL5IB30/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7Y17S/btsBGFLZfqq/pwKuRCFp80y3mdlpL5IB30/img.png&quot; data-alt=&quot;먼가..먼가 귀엽다...&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7Y17S/btsBGFLZfqq/pwKuRCFp80y3mdlpL5IB30/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7Y17S%2FbtsBGFLZfqq%2FpwKuRCFp80y3mdlpL5IB30%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;2048&quot; height=&quot;2048&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;2048&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;먼가..먼가 귀엽다...&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아직 칼 든 병아리는 만나본적이 없는지 칼이 하나같이 나사가 살짝 빠져있다. 하지만 3번 정도면 나는 만족한다. 그래서 3번의 베리에이션이 더 궁금해서 3번을 택해서 더 뽑아보았다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;422&quot; data-origin-height=&quot;442&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dV6x62/btsBFoxrW6L/kniGEkUnFth2S2Xfl5SDhK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dV6x62/btsBFoxrW6L/kniGEkUnFth2S2Xfl5SDhK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dV6x62/btsBFoxrW6L/kniGEkUnFth2S2Xfl5SDhK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdV6x62%2FbtsBFoxrW6L%2FkniGEkUnFth2S2Xfl5SDhK%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;422&quot; height=&quot;442&quot; data-origin-width=&quot;422&quot; data-origin-height=&quot;442&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3번과 비슷한 그림을 뽑으려면 V3 버튼을 누르면 된다 U3 은 3번 그림을 Upscaling 즉 3번을 좀 더 고화질로 볼 수 있게 만들어달라는 뜻이다. V3는 variation인 거 같다 3번의 변주를 요청하는 쪽이다. 맨 오른쪽 새로고침 버튼은 같은 명령어로 다시 새롭게 뽑는 요청이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 세상은 내 맘대로 되는 게 하나도 없다 3번처럼 변주를 줘달라니까 이렇게 그려놔서 난감하다...&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;767&quot; data-origin-height=&quot;520&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c0RDds/btsBGhYR9O2/QE1Dfqtc8iKEONODDFQ7p0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c0RDds/btsBGhYR9O2/QE1Dfqtc8iKEONODDFQ7p0/img.png&quot; data-alt=&quot;?&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c0RDds/btsBGhYR9O2/QE1Dfqtc8iKEONODDFQ7p0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc0RDds%2FbtsBGhYR9O2%2FQE1Dfqtc8iKEONODDFQ7p0%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;767&quot; height=&quot;520&quot; data-origin-width=&quot;767&quot; data-origin-height=&quot;520&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;?&lt;/figcaption&gt;
&lt;/figure&gt;
&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;687&quot; data-origin-height=&quot;518&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/shMn4/btsBCxIML0D/TQ6Q34OVElqKkRZ7oz0ISk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/shMn4/btsBCxIML0D/TQ6Q34OVElqKkRZ7oz0ISk/img.png&quot; data-alt=&quot;아무래도 나는 prompt 를 더 잘짜는 방법을 배워와야겠다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/shMn4/btsBCxIML0D/TQ6Q34OVElqKkRZ7oz0ISk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FshMn4%2FbtsBCxIML0D%2FTQ6Q34OVElqKkRZ7oz0ISk%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;687&quot; height=&quot;518&quot; data-origin-width=&quot;687&quot; data-origin-height=&quot;518&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;아무래도 나는 prompt 를 더 잘짜는 방법을 배워와야겠다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;음.. 일단 오늘은 여기까지만 생성해 보도록 하자.. 사실 그림 생성형 ai는 좀 뒷북이긴 한데 막상 해보고 나니까 나름 재밌고 똥손인 나를 대신해서 그려준다고 하니 만족스러운 퀄리티(?)로 느껴진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;남들은 애니메이션캐릭터를 기똥차게 뽑던데... 세밀하게 그림용어를 이용해서 하는 다른 사용자들에 비하면 아직 그런 용어들을 잘 몰라서 그런지 &quot;이럴 땐 뭐라 하지!?&quot; 하는 상황이 많다. &lt;br /&gt;&lt;br /&gt;다른 생성형 AI 들과 마찬가지로 그림 생성형 AI도 확실히 그쪽 분야를 공부한 사람들이 유리한 것 같다. &lt;br /&gt;나같은 그림과는 거리가 먼 사람의 경우 일단 용어를 모르니까 명령을 못하는 게 1차 관문이고 &lt;br /&gt;저렇게 나사 빠진 이미지가 나왔을 때 수정을 할 수 없다는게 2차 큰 관문인 거 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 나름 원하는 그림 맞추게 스무고개 하는 재미도 있고 생각보다 퀄리티가 잘나와서 신기하기도하다. 월정액제 12000원짜리 게임이라고 생각하면 그렇게 비싸지 않을지도..?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;성공한 이미지도 몇개...&lt;br /&gt;프롬프트 &lt;b&gt;&lt;span&gt;teenage girl&lt;/span&gt;&lt;span&gt;, anime&lt;/span&gt;&lt;span&gt;, santa&lt;/span&gt;&lt;span&gt;, costume&lt;/span&gt;&lt;span&gt;, christmas&lt;/span&gt;&lt;span&gt;, cute&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;-niji 5 &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;-s 750&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;lyr_____teenage_girl_anime_santa_costume_christmas_cute_3ce4e364-4bdc-4e0b-9200-73f706d73512.png&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;2048&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/moYR6/btsBFGY2zFO/39CM90PrEEcLfFzvfrRQx0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/moYR6/btsBFGY2zFO/39CM90PrEEcLfFzvfrRQx0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/moYR6/btsBFGY2zFO/39CM90PrEEcLfFzvfrRQx0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmoYR6%2FbtsBFGY2zFO%2F39CM90PrEEcLfFzvfrRQx0%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;2048&quot; height=&quot;2048&quot; data-filename=&quot;lyr_____teenage_girl_anime_santa_costume_christmas_cute_3ce4e364-4bdc-4e0b-9200-73f706d73512.png&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;2048&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;lyr_____teenage_girl_anime_santa_costume_christmas_cute_7dbe3142-755d-4be0-b25a-01a84ada1f4b.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Npt6R/btsBHqASgvL/WciDBoy8YZJTFfflV2kbE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Npt6R/btsBHqASgvL/WciDBoy8YZJTFfflV2kbE0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Npt6R/btsBHqASgvL/WciDBoy8YZJTFfflV2kbE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNpt6R%2FbtsBHqASgvL%2FWciDBoy8YZJTFfflV2kbE0%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;1024&quot; height=&quot;1024&quot; data-filename=&quot;lyr_____teenage_girl_anime_santa_costume_christmas_cute_7dbe3142-755d-4be0-b25a-01a84ada1f4b.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;lyr_____teenage_girl_anime_santa_costume_christmas_cute_ebce7fef-980f-42f0-a35a-18685ad65377.png&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;2048&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pkcdP/btsBFnL4ZK7/Nss2h7KntRshdjPssUHbX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pkcdP/btsBFnL4ZK7/Nss2h7KntRshdjPssUHbX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pkcdP/btsBFnL4ZK7/Nss2h7KntRshdjPssUHbX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpkcdP%2FbtsBFnL4ZK7%2FNss2h7KntRshdjPssUHbX0%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;2048&quot; height=&quot;2048&quot; data-filename=&quot;lyr_____teenage_girl_anime_santa_costume_christmas_cute_ebce7fef-980f-42f0-a35a-18685ad65377.png&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;2048&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;lyr_____teenage_girl_anime_santa_costume_christmas_cute_5eba8e7c-65f7-4057-9223-60e6d93a2a56.png&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;2048&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dyxPGz/btsBFnrLeFa/VTbJNrBlSroKK5lQBxx9x0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dyxPGz/btsBFnrLeFa/VTbJNrBlSroKK5lQBxx9x0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dyxPGz/btsBFnrLeFa/VTbJNrBlSroKK5lQBxx9x0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdyxPGz%2FbtsBFnrLeFa%2FVTbJNrBlSroKK5lQBxx9x0%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;2048&quot; height=&quot;2048&quot; data-filename=&quot;lyr_____teenage_girl_anime_santa_costume_christmas_cute_5eba8e7c-65f7-4057-9223-60e6d93a2a56.png&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;2048&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;lyr_____teenage_girl_anime_santa_costume_christmas_cute_eca01229-bdf5-4fca-8265-34cab39e7002.png&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;2048&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sLRgX/btsBFeoaF5Z/Zvv13xC4CZDX9MELNDQZFk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sLRgX/btsBFeoaF5Z/Zvv13xC4CZDX9MELNDQZFk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sLRgX/btsBFeoaF5Z/Zvv13xC4CZDX9MELNDQZFk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsLRgX%2FbtsBFeoaF5Z%2FZvv13xC4CZDX9MELNDQZFk%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;2048&quot; height=&quot;2048&quot; data-filename=&quot;lyr_____teenage_girl_anime_santa_costume_christmas_cute_eca01229-bdf5-4fca-8265-34cab39e7002.png&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;2048&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;lyr_____teenage_girl_anime_santa_costume_christmas_cute_143ad389-5df3-47fe-8388-dbb88872695b.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Swm5l/btsBDPPBZIM/fpIekgSfkTrSkFda0lTcD1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Swm5l/btsBDPPBZIM/fpIekgSfkTrSkFda0lTcD1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Swm5l/btsBDPPBZIM/fpIekgSfkTrSkFda0lTcD1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSwm5l%2FbtsBDPPBZIM%2FfpIekgSfkTrSkFda0lTcD1%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;1024&quot; height=&quot;1024&quot; data-filename=&quot;lyr_____teenage_girl_anime_santa_costume_christmas_cute_143ad389-5df3-47fe-8388-dbb88872695b.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;lyr_____teenage_girl_anime_santa_costume_christmas_cute_35943093-2073-4b22-8ebf-3caa8e54bb24.png&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;2048&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lQQXm/btsBGuX4sjv/pu7Unba55zTc07T8Z4okE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lQQXm/btsBGuX4sjv/pu7Unba55zTc07T8Z4okE0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lQQXm/btsBGuX4sjv/pu7Unba55zTc07T8Z4okE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlQQXm%2FbtsBGuX4sjv%2Fpu7Unba55zTc07T8Z4okE0%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;2048&quot; height=&quot;2048&quot; data-filename=&quot;lyr_____teenage_girl_anime_santa_costume_christmas_cute_35943093-2073-4b22-8ebf-3caa8e54bb24.png&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;2048&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>생성형 AI</category>
      <category>AI그림</category>
      <category>미드저니</category>
      <category>미드저니 프롬프트</category>
      <category>생성형AI</category>
      <author>개발고수(가되고싶음)</author>
      <guid isPermaLink="true">https://want-to-be-gosu.tistory.com/21</guid>
      <comments>https://want-to-be-gosu.tistory.com/entry/%EB%AF%B8%EB%93%9C%EC%A0%80%EB%8B%88-%EB%AF%B8%EB%93%9C%EC%A0%80%EB%8B%88-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EB%B6%88%EB%9F%AC%EC%99%80%EC%84%9C-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%9E%85%EB%A0%A5%ED%95%B4%EC%84%9C-%EA%B7%B8%EB%A6%BC%EA%B7%B8%EB%A6%AC%EA%B8%B0#entry21comment</comments>
      <pubDate>Sat, 9 Dec 2023 00:20:23 +0900</pubDate>
    </item>
  </channel>
</rss>