일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 익명 타입
- 2판
- 오류
- 속성
- 애니메이션
- 유니티
- github
- 애님
- 쓰는 법
- 리깅
- 메모리
- c#
- 깃허브
- 쉐이더
- 유니티 그래픽스 최적화 스타트업
- 사용법
- shader
- Final IK
- 리팩토링
- 최적화
- unity
- error
- 유니티 그래픽 최적화
- 파이널 IK
- 프로퍼티
- 튜토리얼
- Effective C#
- tutorial
- 오픈 월드
- 에러
- Today
- Total
목록분류 전체보기 (75)
참치김밥은 최고의 한식이다
본 포스팅은 아래 영상을 정리하며 작성했습니다. https://www.youtube.com/watch?v=pQ0lb9OxxbE 일단 오픈 월드 가 무엇일까? 직역하면 열린 세계로, 뭔가 엄청 넓을 것 같다. 맞다!! 일반적인 게임에서는, 다른 장소로 이동할 때 포털을 이용해서 Scene을 이동하는 방식을 채택한다. 하지만 이렇게 하면 각 장소가 분리된 느낌이 들어서 플레이의 연속성이 떨어진다. 이런 문제를 해결한 것이 바로 오픈 월드다 !!! 그렇다면, 오픈 월드가 갖추어야 할 조건은 무엇이 있을까?? ⬇️⬇️ 오픈월드의 조건 - 긴 가시거리 : 500m~1000m 이상 - 연결된 빅사이즈 월드 (4k ~ ) - 프리 카메라 -360도 - 백로딩 (스트리밍) (다른 장소 갈 때마다 로딩하지 않는..) 그..
개인 노션에 정리해놓았던 글들을 블로그로 이사시키는 중이다.. 😂😂 파이팅!! 유니티 에셋 스토어에는 HTTP 소켓 통신을 편리하게 도와주는 Best HTTP 가 있다. 이 Best HTTP는 Socket.IO 통신을 제공하는데, Socket.IO가 뭔지 궁금해서 찾아보았다. 아 그 전에 소켓이 뭔지부터 짚고 넘어가야겠다!! 소켓이란? - 프로토콜, ip address, port number로 정의됨 ▷ 프로토콜 : 한 시스템이 다른 시스템과 통신을 원활하게 하기 위한 통신 규약 - 두 호스트를 연결하는 도구 - 두 호스트가 데이터를 양방향으로 주고받을 수 있도록 함 - 실시간으로 이루어짐 앗! 데이터를 주고받을 수 있다면, 일반적인 HTTP 통신과 뭐가 다르냐고??? HTTP 통신은 클라이언트가 요청을..
해당 문서는 "유니티로 배우는 게임 디자인 패턴" 책을 읽고 작성하였습니다. 데커레이터(Decorator)는 말 그대로, 꾸며주는 역할을 담당한다고 보면 된다. 보통 꾸밀 때, 장식을 여기저기 "덧붙이지" 않는가?! 이런 방식으로 무기의 슬롯 시스템을 편리하게 개발할 수 있다. 데커레이터는 기존 객체를 변경하지 않고 새로운 기능을 추가할 수 있는 패턴이다. 이 패턴을 사용하면, 객체에 새로운 행동을 쉽게 부여하거나 분리할 수 있다! 긴 말 말고 어떤 클래스가 있는지부터 보자 1. 무기 2. 무기에 붙일 부착물 3. 무기와 부착물을 저장하고, 무기의 성능 + 부착물의 성능을 리턴할 Decorator 4. 1번과 3번의 형식을 통일시켜줄 Interface 일단 이렇게 4개만 있으면 된다!! (사실 한 개 더..
타입을 public으로 만드는 것이 너무 쉬운 나머지 무조건적으로 public으로 선언하는 경우가 있다. 사실 상당수의 독립 클래스는 public 보다 internal로 선언하는 것이 낫다. 또한 가시성을 제한하기 위해서 기존 클래스 안에 protected나 private으로 중첩 클래스를 만드는 것도 좋은 방법이다. 이처럼 가시성을 제한하면 코드의 일부를 변경하였을 때, 시스템 전반에 걸쳐 수정해야 하는 부분이 적어진다. 외부에서 접근하는 코드가 적기 때문에 변경해야 할 코드의 내용이 적어지는 것은 어찌 보면 당연하다. 예시 코드 ↓ //수정 전 코드 public class PhoneValidator{ public bool ValidateNumber(PhoneNumber ph){ //... return..