분류 전체보기 122

파티클 시스템 - 1 (메인 모듈)

더보기파티클 시스템은 여러 특수효과나 애니메이션 연출을 넣어주고 싶을 때 사용되는 컴포넌트다.이번 프로젝트에서 촛불을 구현하기 위해서는 해당 시스템에 대한 이해가 필요한데 그래서 기능들에 관해 정리해보는 시간을 가진다. 프로퍼티 메인 모듈(main or partice system module)가장 먼저 보이는 Particle System이라고 명시되어있는 칸의 옵션들이다.이 모듈엔 공식문서상 파티클 시스템 전체에 영향을 미치는 프로퍼티가 배치되어있다. 이 모듈은 컴포넌트의 일부이며 다른 모듈들 같은 경우 체크로 비활성화가 가능하지만이 모듈은 새로 생성할 때 기본적으로 활성화되어 있는 옵션으로 보면될 것 같다.  Duration : 파티클의 지속시간 Looping을 끄고 5초로 설정해서 사용해본다면 실행되..

자료 관리 2024.12.03

2024 12 02 TIL

이번에 이미션 효과를 사용하여 조각상이 점멸하는 것을 표현하고 싶어찾아 사용하였던 Mathf 프로퍼티에 관해서 정리해둔다.float Mathf.LinearToGammaSpace(float value);//괄호안의 값을 선형에서 감마 색상 공간으로 값을 변형float Mathf.PingPong(float time,float length);//0과 length(최대값) 사이에서 최소값과 최대값을 왕복함//time에 들어가는 값은 Time.time 과 같은 지속적으로 증가하는 값이 들어가야함 Mathf.LinearToGammaSpace 일단 사용하는 이유에 대해서 먼저 이야기하면 유저가 보기에 자연스러운 색을 나타내기 위해서 사용한다. 유니티에서 색을 표현하는 방식이 Linear Space 와 Gamma Sp..

TIL 2024.12.02

2024 12 01 TIL

금요일에는 이미션 기능에 대한 코드작성의 실마리를 알아왔었다.material.SetColor 로 이미션 속성의 색상을 지정하였는데이외의 기능들에 관해서 알아보고 또 기능들의 차이에 대해서 정리가 필요해보였다. 일단 그래픽스와 쉐이더 머터리얼 등 내가 컴공과가 아니라서 놓친 개념들이 꽤 많은 것 같지만이것을 알아보기엔 최종프로젝트의 기간을 생각하여야 하기에 참는다.(나중에 공부할 땐 컴공과 친구한테 자료 좀 공유해달라고 해야할 거 같다.) 내가 알고 사용하는 것은 개념들의 일부이며 나중에 따로 공부해야할 것임을 명시해둔다. 이번에 접근해야할 것은 머터리얼이다.  머터리얼(Material) 오브젝트의 머터리얼에 접근하기 위해선 해당 오브젝트의 랜더러 컴포넌트에 먼저 접근한 후그 랜더러 컴포넌트의 머터리얼에 ..

TIL 2024.12.01

2024 11 29 TIL

최종프로젝트 5일차  현재 메인 퍼즐의 기믹은 한쪽 플레이어에서만 보이는 문양에 해당하는 석상을 찾아 5개의 석상을 전부 활성화시키는 것을 목표로 한다. public class MainPuzzle : MonoBehaviour{ [Header("StatueInfo")] [SerializeField] public GameObject statuesContainer; //석상들을 자식오브젝트로 두는 게임오브젝트 [SerializeField] private Statue[] statues = new Statue[5]; //석상 5개 고정이므로 배열로 처리 [field : SerializeField] public Statue curStatue { get; private set; } = null;..

TIL 2024.11.29

2024 11 28 TIL

최종 프로젝트 4일차  본격적 프로젝트 시작전 프레임워크 세션에서 작업하셨던 싱글톤을 토대로 제네릭 싱글톤을 만들어 두었다.내용은 어제 TIL과 같다.이 싱글톤을 선택한 사유는 왠만해서 예외처리에서 벗어나는 경우가 많이 없을 것이라 생각하였기 때문이다. 브런치를 파기 전 각자 필요한 패키지들을 다시 한번 더 확인하는 과정을 거쳤고 dev를 접합점으로 두되 이름 이니셜과 기능을 토대로 각자 분기점을 새로 파서 작업하기로 약속하였다. 지금 맡은 매니저 관리와 퍼즐제작 역할을 수행하는 데 있어 진척도를 살펴보면매니저같은 경우 작업 진행도에 따라 필요성을 보고 제작을 하는 것으로 생각해서 아직 진행하지 않았다. 퍼즐의 경우 우선 게임 클리어의 기반이 되는 메인 퍼즐을 먼저 제작하고 있다.메인 퍼즐은 기획당시의 ..

TIL 2024.11.28

2024 11 27 TIL

최종 프로젝트 3일차 최종프로젝트 진행관련 접은 글더보기에셋들의 호환성 여부를 확인해보고 프로젝트를 개설하기 시작하였다.  미리 봐둔 에셋의 경우 퀄리티가 높은 쪽은 URP와 HDRP의 경우가 많았고 URP 와 HDRP만 지원하는 경우 호환성을 장담할 수가 없어 어느 한쪽으로 타협을 보아야 했다. 맵 요소로 봐둔 에셋의 경우 Built In 으로 되어 있으나특정한 기능쪽 에셋은 아니라서 URP 컨버터를 이용해 형식을 변환해보기로 하였다. 집의 인터넷이 좋지 않아 맵관련 요소들을 집어넣는 과정에서 커밋에 실패하는 상황이 발생하였는데 팀원분께서 대신 올려주신다고 하셔서 다행인 것 같다.  본격적인 프로젝트 시작 일시는 내일 오전 혹은 오후 초로 예상되며 시작전에 이번 프레임워크 세션에서 들려주신 내용을 정독..

TIL 2024.11.27

2024 11 26 TIL

최종 프로젝트 시작 2일차  어제 시작한 기획에 이어서 현재는 마인드맵에 프로젝트 기획에 있어 구현할 요소를 정리해보았다.  장르 : 동양풍 1인칭 공포게임, 2명 협력게임게임의 현재 컨셉은 대학원생이 갇혀있는 교수를 구하기 위해 귀신들을 피하며 기믹을 풀어나가는 게임이다. 멀티플레이에 대해 배워보고 싶은 팀원들이 많아 멀티플레이를 기반삼아 제작해보기로 하였고멀티플레이에 관한 지식이 매우 부족해서 계속해서 구글링이 필요해보인다. 게임의 컨셉이 동양풍이라 적당한 에셋을 찾는 것부터가 매우 어려운 상황이다. UModelerX 특강을 받았지만 세부적인 모델링에 시간을 많이 쓸수는 없으니 적당한 선에서 타협을 봐야할 것 같다.  본격적인 프로젝트 시 맡은 역할은프로젝트 내내 매니저를 관리하여 게임의 흐름을 제어..

TIL 2024.11.26

2024 11 25 TIL

아침에 멀티플레이 강의에 대해서 조금 들어보았다.  멀티플레이를 하기 위해 네트워크에 대한 기본적인 지식이 필요한 듯하다.솔직히 네트워크라는 것에 대해선 예전에 컴퓨터활용능력이나 정보처리기능사 자격증을 따려고 했을 때암기식으로 외우기만 한 것 같아 아는 것이 없다고 봐야한다. IP Address (아이피 주소) : 아이피 주소는 대중적으로도 이름은 많이 들어본 개념이다. 물론 세부적인 내용을 아는 사람은 많지 않을 것이다.   인터넷에 연결된 모든 장치들은 고유한 식별자 IP 의 주소를 가지는데 이것을 이용하여 인터넷 상에서 장치가 서로 찾고 통신을 할 수 있다고한다. IP 주소도 IPv4, IPv6 로 나뉘어 있는데  이건 간단하게 살펴본다.IPv4는 12자리로 나누어진 주소체계이다. 0~255까지를 ..

TIL 2024.11.25

2024 11 24 TIL

지금까지 프로젝트를 살펴보았을 때 나는 델리게이트와 이벤트 구독을 사용하지 않았다.  이유는 내가 개념만 알고쓰는 방법을 모르고 있기에 사용하는 것을 꺼리는 게 아닌가 싶다. 강의를 진도를 나가면서 이벤트를 어떤식으로 사용하는 지 보고 다음 팀프로젝트 때 어떤 식으로 사용할 지 구상해보는 연습이 필요할 것 같다.private void SpawnEnemyAtPositions(int posIdx){ int prefabIdx = Random.Range(0,enemyPrefabs.Count); //등록된 적 프리팹의 카운트만큼 난수를 돌린다. GameObject enemy = Instatntiate(enemyPrefabs[prefabIdx],spawnPosition[posIdx].position,Quater..

TIL 2024.11.24

2024 11 23 TIL

이번 주말엔 밀렸던 피로가 한번에 몰려온건지 하루종일 잠을 잤던 것 같다.  일어나서 저번 팀 프로젝트 때 코루틴으로 처리하였다면 좋았을 상황이 많았던 것 같아코루틴에 대해서 강의를 다시 정독해보고 정리해본다.  코루틴 Coroutine 코루틴은 하나의 작업을 여러 개의 프레임에 분산하고 싶을 때 쓰이는 개념이다. 코루틴이 쓰이는 용도 1. 수초간 지속적으로 진행되어야할 때 유니티의 프레임에서 처리하는 방식으로 작업한다면for문에 돌려놓고 중간에 진행을 멈추고 다시 되돌아오는 표현을 하기가 힘들다.(즉 진행시키는 것을 중간 중간 유예시키고 싶을 때 쓰인다.) 2.조건을 걸어주고 싶을 때만약 상대가 이번까지만 상대편이고 아군으로 들어온다거나 현실적인 초 개념이 지났을 때아군으로 전환되는 연출이 필요할 때 ..

TIL 2024.11.23