UNITY 14

Unity Video Player 크로마키 적용하기

유니티 Video Player에 Mp4파일을 넣은 후, 크로마키를 적용할 예정입니다.[1. Video Player 세팅] UI에 Video를 플레이 할 예정이므로 CanvasRaw Image(비디오를 플레이할 UI)Video Player를 배치해 주었습니다. Video Player는 Render Texture에 영상을 투영하므로 Render Texture을 생성해줍니다. 생성한 Render Texture와 재생할 비디오를 연결해줍니다. 영상을 실행할 UI가 되는 RawImage에 영상이 투영되고있는 Render Texture를 연결해줍니다. 크로마키가 들어있는 영상이 재생됩니다. [2. 크로마키 적용하여 알파값 제거] 크로마키를 적용하기 위해 쉐이더를 변경하도록 합니다.쉐이더를 적용하기 위한..

UNITY 2025.11.07

[UNITY] 자동으로 헤더를 추출하는 CSV 파일 로드

데이터 테이블을 CSV 파일로 생성하는데CSV 파일마다 헤더 확인하고 내용에 집어넣는걸 자동화 할 수 없을까 하는 생각이 들어자동으로 헤더를 추출해 클래스에 집어넣도록 해서재활용성을 올린 CSV 로드 파일을 만들어보았다. Addressable과 UniTask를 사용하고있다. 1. 튜플 구조를 이용해 클래스의 멤버 변수들을 추출한다 //튜플구조var members = new List();foreach(var header in headers){ //필드 : public int ID var field = typeof(T).GetField(header); if(field != null) { //튜플구조 members.Add((field, field.FieldTyp..

UNITY 2025.06.04

UNITY로 MVC, MVP, MVVM 패턴

2022.12.04 네이버 블로그에 업로드했던 글을 이전한 게시글입니다. Unity로 MVC, MV(R)P, MVVM패턴을 구현해보려고한다. MVC, MVP, MVVM에대한 설명은 많았지만 유니티로 구현한 설명은 적은것같아 공부겸 정리해보려고한다. ​ 간단하게 체력 100인 캐릭터가 존재하며 Attack을 누르면 체력이 10씩 깎이며 Heal을 누르면 5씩 늘어나는 기능을 만들어보려고 한다. [VIEW와 MODEL] ​ 각 패턴의 공통인 View와 Model부터 작성한다 ​ ​ ●Model 사용되는 데이터의 모임이다. 데이터와 데이터를 처리하는 부분을 Model 이라고 한다. 우선 HP가 필요하므로 Model에 HP를 작성한다. public class Model { private int _hp; publ..

UNITY 2023.11.03

UNITY로 투명화 커브드 영상 배경화면 제작

2022.04.11 네이버 블로그에 올린 글을 이전한 게시글입니다. UNITY로 칼리굴라 이펙트2 전투씬에 나오는 배경투명화 영상을 제작해보았다 우선 결과물. 칼리굴라의 느낌으로 카메라도 이동시켜 보았다. 영상원본은 망상감상대상연맹이다 이유는 알파추출이 쉬워보여서:) https://youtu.be/8pGRdRhjX3o 1. Davinci Resolve로 배경투명 영상 만들기 유니티 공식홈페이지의 Videoplayer 설명을 보면 webm파일포멧과 VP8비디오 코덱이 있으면 비디오에 알파적용이 가능하다는 설명이 있다 https://docs.unity3d.com/kr/2020.3/Manual/VideoTransparency.html 우선 다빈치 리졸브를 이용하여 알파를 뺀다. [다빈치 리졸브로 영상 알파 빼..

UNITY 2023.11.03

Unity로 스칼렛 스트링스 염력 만들어보기

2022.02.15 네이버 블로그에 게시한 글을 이전한 글입니다. 스칼렛 스트링스의 메인 스킬 중 하나인 염력을 만들어보았다 [사용한 에셋] ​ ●유니티쨩 - 메인 캐릭터 모델링 Unity-Chan! Model | 3D Characters | Unity Asset Store ​ ●돌 - 염력을 사용할 오브젝트 Stone | 3D Exterior | Unity Asset Store Stones | 3D Exterior | Unity Asset Store ​ ●하이라이트(유료에셋) - 염력객체에 붙일 하이라이트 Highlight Plus | Particles/Effects | Unity Asset Store ​ ●지구 - 적 객체용. 지구로 한 이유는 친구의 추천:) Stylized Earth | 3D La..

UNITY 2023.11.03

UNITY로 스와이프 메뉴 UI 만들기 -3- Circle Swipe

2021.12.29에 네이버 블로그에 게시했던 글을 이전해 온 게시글입니다. 위 두가지 버전의 스와이프 메뉴를 만듭니다. 샘플 데이터는 개인적으로 좋아하는 페르소나5의 괴도단들로 제작했습니다 :)! ​ Step1. 씬 설정 게임뷰에서는 원형으로 돌아가는 연출이 되어야하므로 씬뷰에서 위에서 바라보면 캔버스를 가로지르는 원형이 되도록 만들어야합니다. 새 씬을 만들어 배경 이미지를 만들어줍니다. 이 이미지가 원을 반으로 나눠 뒤로 넘어간 캐릭터 목록을 가려줄것입니다. ​ Canvas를 카메라뷰로 바꾸고 카메라와 연결해줍니다. ​ Overlay : 캔버스가 화면에 맞게 사이즈가 변경되며 카메라와 관계없이 그려집니다. 항상 맨 앞에 그려지므로 지금처럼 캔버스앞에 다른 오브젝트가 그려져야하는 경우와 맞지않습니다. ..

UNITY 2023.11.03

UNITY로 스와이프 메뉴 UI 만들기 -2- Canvas Swipe

2012.12.29에 네이버 블로그에 게시했던 글을 이전해온 게시글입니다. 위 두가지 버전의 스와이프 메뉴를 만듭니다. 샘플 데이터는 개인적으로 좋아하는 페르소나5의 괴도단들로 제작했습니다 :)! ​ Step1. Scroll View 만들기 [UI]-[Scroll View]로 스크롤뷰를 생성해줍니다. 뒷배경을 깔끔하게 해주기위하여 배경도 만들었습니다. 이는 생략하셔도 됩니다. 이번엔 Vertical Scroll은 사용하지않으니 삭제해줍니다. Step2. 캐릭터 목록 만들기 ScrollView - Viewport - Content 아래에 빈 오브젝트를 만들어줍니다. 빈 오브젝트를 CharacterItem으로 둔 후, 아래에 Image, Text를 만듭니다 빈 오브젝트의 크기는 이미지와 텍스트가 모두 들어갈..

UNITY 2023.11.03

UNITY로 스와이프 메뉴 UI 만들기 -1- Json 캐릭터 파일 생성

2021.12.28에 네이버 블로그에 게시했던 글을 이전해온 게시글입니다. 위 두가지 버전의 스와이프 메뉴를 만듭니다. 샘플 데이터는 개인적으로 좋아하는 페르소나5의 괴도단들로 제작했습니다 :)! Step1. Json파일 만들기 ​ 저는 편의상 Json파일로 제작하였지만, Json이 아닌 CSV, XML등을 사용하셔도 됩니다. 아래는 Json파일에대한 설명이 있습니다. ​ 캐릭터 정보를 담을 Json파일을 제작합니다. 만들어진 Json파일을 불러오기 편하도록 Resouces폴더 아래에 둡니다. Resources/Image 에는 캐릭터들의 이미지를 넣어두었습니다. 이미지명은 Json파일의 PicName과 일치하도록 합니다. Step2. Character Class 만들기 JsonUtility로 바로 파싱할..

UNITY 2023.11.03

UNITY Animator 애니메이션 콜백함수 만들기

2021.08.27 네이버 블로그 게시글을 이전해 온 게시글입니다. Animator를 이용하여 실행시킨 애니메이션이 끝났을 때를 감지하고 Callback함수를 만들도록한다. 1) 기본 개념 StateMachineBehaviour를 사용하면 애니메이션의 현재 상태를 알 수 있다 ​ ▽공식문서 https://docs.unity3d.com/Manual/StateMachineBehaviours.html 2) 구현 ​ ① 우선 테스트를 위한 씬으로, 큐브만 존재하는 씬을 만들었다. 큐브에 이동 애니메이션을 넣어 애니메이션이 끝나는 순간 콜백을 불러오도록 할것이다 ② 큐브에 테스트 애니메이터를 추가하였다. ​ 아무것도없는 빈 애니메이션을 Idle로두고, 실제 실행할 애니메이션을 연결하여 StartAnim트리거가 발..

UNITY 2023.11.03

UNITY 버튼 꾹 누르기 이벤트

2021.08.11 네이버 블로그 게시글을 이전해 온 게시글입니다. 유니티 버튼의 OnClick 이벤트는 클릭했을 때(또는 눌렀을 때) 한번만 발동한다. ​ 평범한 버튼을 클릭했을때 숫자가 올라가는 코드를 작성하였다 이 경우 버튼을 꾹 누르고있어도 9에서 숫자가 오르지않는것을 볼 수 있다. ​ ​ ​ ​ 이때, 버튼을 꾹 누르고있을때에도 숫자가 올라가게 하고싶다면 유니티의 버튼 대신 IPointerDownHandler, IPointerUpHandler 인터페이스를 사용해야한다. 클래스의 상속에 IPointerDownHandler, IPointerUpHandler 인터페이스를 추가한다. ​ 각 인터페이스를 구현하고 버튼이 눌렸는지 아닌지를 확인하기위한 bool변수를 선언한다. 이제 버튼대신 이 함수만을 컴..

UNITY 2023.11.03