전체 글
-
간만에 유니티 이벤트 참가 겸 강의 따라하기잡담 2025. 1. 30. 20:53
https://play.unity.com/en/games/906ba137-3837-4106-be8b-88c0e7d9f169/unitybuildfile 완성본 링크 https://www.youtube.com/watch?v=A58_FWqiekI&t=4317s영상 링크 1. 세팅 처음엔 니꼬쌤이 기본 세팅에 대해 설명해주십니다.간단한 부분이라 여기서 막히는 분은 잘 없겠지만제가 막혀본 경험이 있습니다..유니티 허브에서 엔진이 안받아 지는 경우가 가끔 있는데깔끔하게 포기하고 유니티 공식 사이트의 아카이브를 이용하거나,조금 번거로운 방법으로는 낮은 버전의 유니티 허브를 구하여 사용하면 문제없이 허브에서 직접 다운로드를 할 수 있게 됩니다. 2. 강의에서 눈 여겨볼 기능, 기술들 니꼬쌤이 적극적으로 사용하는 드래..
-
Nav 관련 & 기타 자잘한 메모TIL 2023. 11. 27. 22:06
Nav Mesh Obstacle Nav에서 지원하는 장애물 컴포넌트임 네브 매쉬에서 바로 구워지는 장애물과 다르게, 동적으로 움직여도 바로 맵에 반영되는 특징이 있음 여기서 추가적으로 Carve를 활성화 해주면, 옵스타클 위치가 바뀌어도 매쉬 자체를 해당 옵스타클 부분만 동적으로 새로 구워줌 Carve에선 옵스타클의 움직임 판정이나, 옵스타클 이동 시 매쉬가 구워지는 텀 등을 설정할 수 있음 마지막으로 Carve Only Stationay가 있으며, 해당 설정으로 정지할 때 매쉬를 변경할건지, 움직이는 도중에도 매쉬를 변경할 지 결정할 수 있다. Carve Only Stationay를 끄는 경우는 너무 많은 계산이 들어가므로, 꼭 필요한곳에만 쓰자 옵스타클은 2D에서도 적용이 된다. Alt 방향키 = 줄..
-
메모리와 참조 형식, 그리고 값 형식TIL 2023. 11. 23. 23:19
메모리와 참조 형식 & 값 형식 메모리는 어떻게 생겼나? 세로로 세워진 배열처럼 생겼다. 그 내용물은? 크게 Code 영역 / Data 영역 / Stack 영역 / Heap 영역 영역이 있다. ㅡ 위에서 메모는 세로로 세워진 배열과 비슷하다고 했다. 배열에 접근하기 위해선 arr[0]과 같이 배열과 배열의 순서가 필요하다. 그렇다면 각 메모리 영역에 접근하기 위해선 어떻게 해야할까? ㅡ 위에 대한 답은 각 메모리는 2진수로 표현된다는 것이다. (0010, 0011 ....) 하지만 저장된 메모리 영역의 정보에 접근하기 위해 매번 2진수를 알아내어 찾아올 순 없다. 그렇다면 결론적으로 우리는 어떻게 메모리 영역의 정보를 사용할까? ㅡ 위에 대한 답은 바로 '변수' 이다. 예를들어 int x = 10 이라고..
-
11-22 멘토링 C# 마케팅, 추천 강의, 교재, 에셋 스토어TIL 2023. 11. 23. 23:17
# 마케팅 모바일의 경우 : 광고를 할땐, 구글애즈를 사용해보자 정확한 지표를 확인할 수 있어 좋다. 마케팅 비용으로 사용해도 좋다. #에셋 사운드나 UI 에셋을 찾기 좋은 사이트가 있는가? 이 경우엔 에셋스토어 위주로 사용한다. + 그래픽 리소스 사이트? 게임마당 : 좋은 자료가 많지만 에셋을 이용한 수익 창출은 불가능하다. 프리픽 : 디자이너들이 많이 쓰는 사이트 유료, 무료 에셋 리소스가 많다. #추천하는 강의나 교재 강의 : ★인프런 - [C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버 강의 : ★이득우의 게임 수학(유 / 무료) 강의 : ★다이렉트X 책 : ★절대강좌! 유니티 2021 이득우의 게임수학 유튜브 : 다이렉트X 검색하면 무료 강좌가 있음. 다이렉트X란?..
-
친구 게임 회사 QA후기[언리얼 개발하는 회사임]잡담 2023. 11. 23. 11:19
1#. 업무용 메신저 - 슬랙을 쓴다. 2#. 깃이 아닌 Perforce를 사용한다. Perforce는 뭉쳐놓고 시작한다. Perforce를 기반으로 언리얼 게임을 개발한다. 중앙집중형 서버는 C# // 코드는 C++(언리얼이니까) 3#. 이슈 관리 프로그램으로 지라(어따씀?) 사람 많으면 옆에 톡톡쳐서 부탁할 수 없으니까 지라를 통해서 전달함 수정 요청 -> 수정 중 -> 수정 됨 -> 수정 완료 일정 관리에 용이 4#. 서로 '~~님' 씀 5#. 정상적인 회사 구분법 근로계약서 첫날에 씀(이건 당연한거 아니냐) 6#. 일단 서울에 와라[지방은 일자리 없음]7#. [QA / 아트 / 3D 모델링 / 서버]랑 개발자랑 다른 층이라 개발자 일은 잘 모르겠음 8#. 출근 시간 유동적임 8시간 채우면 그만임..
-
Enemy 위치/타겟 동기화 이슈 해결카테고리 없음 2023. 11. 15. 02:36
몬스터가 SetDestination을 하는 부분에서 동기화 이슈가 있었다. 기존 : 단순히OnPhotonSerializeView를 통해 호스트의 enemy위치값을 동기화 함 수정안 1. 호스트를 제외한 나머지 클라이언트에서 AI.cs를 꺼준다. =>결과 : AI.cs를 끄는경우, 행동 트리 자체를 쓰지 못해서 Enemy의 모든 기능을 사용할 수 없다. 수정안 2. 호스트를 제외한 나머지 클라이언트에서 nav 에이전트를 꺼준다. =>결과 : nav를 끄는경우, 애니메이션이나 공격 거리 판정에 nav를 사용하고 있어서 마찬가지로 많은 기능이 사라짐 수정안 3. AI와 nav를 둘다 끔 : 위 결과에 따라 시도할 가치도 없음 수정안 4. RPC를 통해서 SetDestination을 담당하는 메서드를 호스트에서..
-
시즌 3호 BT랑 친해지기(미완)TIL 2023. 11. 13. 23:20
BT 골자 스크립트 진행 1#BTBehaviour.cs 노드 상태와, 노드 타입 선언 상태 반환 메서드 bool IsTerminated() 노드 상태 : 성공 혹은 실패인 경우 참을 반환함 bool IsRunning() 노드 상태 : 실행중인 경우 참을 반환함 1##일반 메서드 세팅&반환 메서드들 부모 노드 / 노드 상태 / 노드 타입 / 노드 인덱스(복합노드 한정) 2##virtual (재정의 가능)메서드 Reset() =>스테이터스 상태를 기본으로 돌림 Initialize() / Terminate() =>각각 노드 초기화(시작 시) 및 종료 시 기본적으로 호출되는 메서드 Status Update() [###기본 업데이트가 아니다###] =>기본적으로 성공 상태를 반환함 ★Status Tick() =>..
-
최종 프로젝트 - 오늘 마침내 동기화 이슈 해결TIL 2023. 11. 9. 22:32
public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info) { if (stream.IsWriting) { // 데이터를 전송 stream.SendNext(nowEnemyPosition); stream.SendNext(nowEnemyRotation); Debug.Log("위치 데이터 전송"); } else if (stream.IsReading) { // 데이터를 수신 nowEnemyPosition = (Vector2)stream.ReceiveNext(); nowEnemyRotation = (Quaternion)stream.ReceiveNext(); Debug.Log("데이터 전송 받음"); } } 부분이 문제였다. nowEn..