unity 26

[디자인 패턴] 생성 패턴 - 프로토타입 패턴

이번 게시글에서는 생성 패턴 중 하나인 프로토 타입 패턴에 대해서 이야기해보려고 합니다.아래와 같은 문제 상황이 있다고 가정하여, 이를 해결하고자 할 때 해결책에 대한 방안을 고려해 보도록 하겠습니다. 문제 상황이미 생성되어 있는 복잡한 구조의 오브젝트를 기준으로, 정확한 복사본을 만들어야 하는 상황이 발생하였습니다. 그렇다면 다음과 같이 복사를 진행하게 될 것입니다. 먼저 같은 클래스의 새 객체를 생성하고, 원본 객체의 모든 필드(오브젝트의 복잡한 구조)를 새 객체에 복사해야 합니다. 하지만, 객체의 일부 필드들이 private, 직렬화 되지않을 때 복사하기 어려움이 생기게 됩니다. 해결책실제 복제가 진행되는 객체들에게 복제 프로세스를 위임합니다. 이 말은 특정 객체 A를 사용하는 클래스 B가 있다고..

Unity 2025.11.21

[디자인 패턴] 생성 패턴 - 빌더

이번 게시글에서는 생성 패턴 중 하나인 빌더 패턴에 대해서 이야기해보려고 합니다.아래와 같은 문제 상황이 있다고 가정하여, 이를 해결하는 디자인 패턴의 구조를 작성하고, 실제 스크립트를 구현해 보겠습니다. 문제 상황많은 멤버 변수를 필드로 가지는 특정 클래스의 객체를 생성한다고 하였을 때, 각 멤버 변수마다의 초기화 값을 생성자를 통해 입력해야 합니다. 이때 생성되는 객체별로, 사용하지 않는 멤버 변수들이 종종 있을 수 있지만, 생성자를 통해 초기화를 진행하게 되면 생성자에 포함되어 있는 파라미터들을 전부 넣어줘야 합니다.빌더 패턴이란?빌더 패턴(Builder Pateern)은 복잡한 객체의 생성 과정과 표현 방법을 다양한 구성의 인스턴스를 만드는 생성 패턴입니다.기존 생성자에 들어갈 매개변수들을 메서드..

Unity 2025.10.14

[디자인 패턴] 생성 패턴 - 추상 팩토리

문제 상황RPG 게임을 만드는 개발자가 있습니다. 이때 각 지형 계절별로 생성되는 몬스터가 다르고, 몬스터들의 각 능력치, 행동패턴, 특성이 조금씩 변형이 이루어져야 한다고 가정할 때 몬스터를 생성하는 스포너부터 시작해서, 각 변형된 몬스터들을 전부 정의해야 하는 상황입니다. 문제 해결몬스터를 스폰하는 스포너에서 생성하는 몬스터를 추상화하여, 각 타입에 맞게 나누고, 서브 클래스에서 재정의하여, 몬스터들의 각기 다른 변형(재정의)에 대해 정의하고, 이를 스폰하는 방식으로 구조를 설계해보려고 합니다. 아래와 같은 클래스 다이어그램으로 진행해 보겠습니다. Factory 이를 이용하는 Client 혹은 Manager에서 IMonsterFactory를 참조받습니다.Client에서 CreateZombie, Cr..

Unity 2025.10.13

[디자인 패턴] 생성 패턴 - 팩토리 메서드

디자인 패턴의 항목 중 생성 패턴에 대해서 알아보겠습니다. 스터디 계기개발을 진행하다 보면 디자인 패턴에 대해서 많이들 이야기하고 실제 많이 활용하는 경우가 많습니다. 하지만 정확히 알지 못하고 사용하게 된다면, 오히려 독이 될 수 있다고 판단하여, 디자인 패턴 하나씩 알아가 보며, 예제 파일을 만들어 보려고 합니다.문제 상황3D 컨텐츠를 모델링하고, 관리하는 앱을 개발하고 있다고 가정해 보겠습니다. 프로포 타입으로, FBX만 관리하고, 조작하며, 콘텐츠를 제작한다고 가정하고, 추후 확장하기 위해, Obj, Glb를 추가한다고 하였을 때, 새로운 Obj, Glb에 대한 클래스를 기존 프로그램에 추가하는 것은 매우 어렵습니다. 이 문제를 해결하기 위해 아래와같은 팩토리 메서드를 활용해볼 수있습니다.팩토리 ..

Unity 2025.10.11

ScriptableObject - 2

이번 게시글에서는 이전 게시글에서 다루었던 ScriptableObject의 사용방법과 생성 방식에 대해서 알아보겠습니다.ScriptableObject이론 사용 방법데이터 컨테이너 클래스 정의 및 ScriptableObject 상속. asset생성 및 데이터 할당데이터 활용데이터 컨테이너 클래스 정의 및 ScriptableObject 상속[CreateAssetMenu(menuName = "Game/Monster")]public class Monster : ScriptableObject{ public float speed; public int MaxHealth;}소스와 같이 클래스를 정의하고, ScriptableObject를 상속합니다. 해당 에셋을 생성할 수 있게, CreateMenu를 정의하고..

Unity 2025.10.10

ScriptableObject - 1

오늘 알아볼 내용은 ScriptableObject의 이론에 대해서 정리해보려고 합니다. ScriptableObject란?Unity 공식 ScriptableObject - Unity 매뉴얼ScriptableObject는 클래스 인스턴스와는 별도로 대량의 데이터를 저장하는 데 사용할 수 있는 데이터 컨테이너입니다. ScriptableObject의 주요 사용 사례 중 하나는 값의 사본이 생성되는 것을 방지하docs.unity3d.com공식문서의 말을 인용하자면, 클래스와 인스턴스와는 별도로 대량의 데이터를 저장하는 데 사용할 수 있는 데이터 컨테이너입니다. 특징값의 사본이 생성되는 것을 방지하여, 메모리 사용을 감소시킴.런타임에 데이터 컨테이너에 저장해 둔 값을 일괄적으로 변경이 가능.로비씬 -> 게임씬으로..

Unity 2025.10.10

Renderer Feature - 3(선택적 글로우/하이라이트)

RendererFeature(2) Unity_RF(Renderer Feature) - 2Renderer Feature의 이전 설명 Unity_URP RF(RendererFeature)해당 주제를 스터디하게 된 배경처음 XR, AR을 접하게 되었을 때 해보았던 간단한 예제로, AR 포탈로 접하며 AR을 시작하게 되었습니다.이때 포탈을develophyun.tistory.com 이전 글에 이어서 RF에 대한 기능을 하나씩 추가로 적용해 보도록 하겠습니다. 이번에는 선택적 글로우/하이라이트라는 그래픽 효과에 대해 적용해보려고 합니다. 선택적 글로우/하이라이트 선택적 글로우/하이라이트란? 특정 오브젝트에 글로우 효과를 주는 것으로, 게임에서 현재 내가 인터렉션 해야 되는 오브젝트나 혹은, 특정 위치에 하이라이팅을..

Unity 2025.06.24

Unity_RF(Renderer Feature) - 2

Renderer Feature의 이전 설명 Unity_URP RF(RendererFeature)해당 주제를 스터디하게 된 배경처음 XR, AR을 접하게 되었을 때 해보았던 간단한 예제로, AR 포탈로 접하며 AR을 시작하게 되었습니다.이때 포탈을 구현할 때 Shader 코드를 활용하여 Stencil을 적용develophyun.tistory.com 이전 글에서 URP의 Renderer Feature에 대해 알아보았는데 예제가 너무 부족한 것 같아 추가적인 예제를 작성하기 위에 글을 작성하게 되었습니다. Render Objects의 Overrides 항목에 Depth Test의 옵션 중 Write Depth, Depth Test로 나뉘어 있습니다. 이때 Write Depth는 해당 Render Objects..

Unity 2025.05.23

Unity_URP RF(RendererFeature)

해당 주제를 스터디하게 된 배경처음 XR, AR을 접하게 되었을 때 해보았던 간단한 예제로, AR 포탈로 접하며 AR을 시작하게 되었습니다.이때 포탈을 구현할 때 Shader 코드를 활용하여 Stencil을 적용하여 오브젝트의 투명을 보정하였고, 시간이 흘러 새로운 프로젝트에서 포탈을 구현하게 될 일이 생겨 이에 대한 레퍼런스를 찾아보니 RF 를활용하여, 구현하는 예제를 확인할 수 있었습니다. 그리하여 RF에 대해 공부해 보고자 해당 주제를 정하게 되었습니다.RF(Renderer Feature)란?Renderer Feature로 URP Renderer에 추가적인 Render Pass를 추가하여 새롭게 렌더링을 지원하는 방식 입니다.아래에서 URP Renderer와 Render Pass에 대해 조금 더 상..

Unity 2025.05.12

[Grahpics] Mesh, Vertex의 Normal에 따라 왜 빛의 세기는 달라지는가?

2025.03.18 - [Graphics] - [Graphics] vertex, face, normal란 무엇인가? [Graphics] vertex, face, normal란 무엇인가?오늘 다루어볼 주제는 Graphics에서 3D 오브젝트의 각 요소들에 대해서 다루어 보겠습니다.이 주제를 선정하게된 계기타 부서 사람들과 협업을 해보면서 Graphic을 잘 모르는 사람들에게 vertex, face, ndevelophyun.tistory.com 위 글에서 보듯이 Vertex, Face, Mesh, Normal에 대해 이야기를 다룬 적이 있는데요. Normal에 따른 Light의 변화에 대해 조금 더 자세하게 알기 위해 글을 다시 정리하게 되었습니다.  여러 Light Model에 대한 정보, 글을 통해 Li..

Graphics 2025.04.02