Sprite 라는 개념 등장한다.일반적은 2D에서 사용하는 그림이라고 생각하면된다.
2d에 대한 간단한 이해를 하고 가자.다른 이미지나 그런것을 유니티로 들고오면 여기보이는 Sprite로 바꿔 주어야 한다.Sprite모드는 싱글 아니면 멀티플 둘중 하나 많이 사용할 것이다.두경우 어떤 경우??이런경우 하나의 스프라이트 이미지에 이렇게 여러개가 있어서
오른쪽에 Order In Layer가 순서 낮으면 낮을 수록 밑에 그려진다.그리고 하얀색 선 보기 싫으면 Edit -> 프젝셋팅 -> Quality -> Anti Aliasing -> 끄면됨.100%는 아님 해결되는게이런 콜라이더가 있기는 하다.이것을 클라만 처리를 하
이렇게 레이어를 관리하면 이점이 여러가지가 있다!layer order에 따라 알파 값 가지고있는 애들도 자연스럽게 잘 출력이 된다.(투명한 부분들)Component에 tilemap Collider붙이면 이렇게 뜨는데정확하게 콜라이더 설정하고싶다면이 스프라이트를 수정을
Editor폴더 만들어서 스크립트 생성하면 기존의 폴더가 아닌 다른데 하나 더 생성되서 들어가있는거 볼 수 있다.이녀석같은 경우에는 라이브로 나갈 때 따로 추가가 되면 안되는 것이니까따로 처리를 해주어야 한다.이렇게 해주게 되면 우리가 유니티상에서 개발을 하는 단계에서
픽셀 퍼 유닛 크기를 조절해주면서 툴안에 적절한 크기를 찾는다.Update 문에서 이렇게 받는게 가장 정석적인 부분임.그런데 그냥 상수 끼리 곱하면 매우 위함한 상황 발생한다.왜냐하면 Update라는거 자체가 기기에 따라서 -> 프레임에 따라서 다를 수가 있는데그 각기
이런식으로 WALK, ATTACK, ATTACK_WEAPON 각 사이드? 별로Pixel Per Unit 20으로 다 맞춰주고이것들 드래그 드롭으로 만들어준다.그런데 IDLE인 경우 Sprite가 하나밖에 없어서 이런식으로 밑에 그냥 들어가게 되는데..왼쪽 하다 IDLE
이녀석의 역할맵 로드 및 삭제로드했을 때 Collision파일 추출 -> 갈 수 있는지 없는지 구분이럴경우 ToString 형식에 맞춰서 다른 부분만 string으로 변경해줌.이런식으로 해준다.그리고 Load, Destroy부분은 이렇게 해주도록 하자.프로퍼티로 이렇게
하나고치면 다른데서 문제일어남이렇게 CreatureController라고 공용 부분 만들어서공유성 있도록 사용하도록 하자.각각의 컨트롤러 부분에서 공통되는거 삭제하고해서컨트롤러를 분리하는데 까지는 ㅇㅋ.우리도 움직이지 못할 때 스킬을 쓰거나 평타를 때리는 식으로 기획을
오늘은 몬스터랑 플레이어간의 충돌 해볼 것이다.그래서 몬스터 컨트롤러에 이렇게 초기화를 해준다.그리고 서버는 모든것을 아이디를 부여를 해서 동작하고다른 클라들한테 알려주기 때문에ObjectManager가 있으면 이것들을 관리를 하기 쉬워지니필요할 것이다.이렇게 아주 간
먼저 키보드 입력받는 부분에서 이렇게 해주면 애니매이션은 틀어지지만다시 원래 상태로 복구를 시켜주는 부분이 없다.그리고 실제로 좌표를 이동하거나 방향을 바꾸는 부분에서도 못들어 오게 처릴 해주어야 한다.\-> 스킬을 사용할 때는 움직이거나 그러면 안되니까.그리고이렇게
Pixel Per Unit = 20 으로 적절한 크기 설정후이렇게 만들어서 Prefab에 넣자.UpdateIdle부분을 이렇게 조금 수정해주도록 하자.그리고 이렇게 화살 나갔다라는 부분 bool로 받아주고이것을 UpdateAnimation부분에서 이런조건문으로 틀어주면
이것을 또 하나의 애니매이션으로 만들고적이 맞아서 죽으면 이것을 하나의 오브젝트로 생성을 해서 사라지게 만들면 될 것이다.스프라이트 이미지 아무거나 하나 들고와서 이름 바꾸고컴포넌트에 Animator컴포넌트 추가를 해주도록 한다.Effect > DieEffectAnim
이것을 또 하나의 애니매이션으로 만들고적이 맞아서 죽으면 이것을 하나의 오브젝트로 생성을 해서 사라지게 만들면 될 것이다.스프라이트 이미지 아무거나 하나 들고와서 이름 바꾸고컴포넌트에 Animator컴포넌트 추가를 해주도록 한다.Effect > DieEffectAnim
State와 같은 프로퍼티도 virtual 로 만들어서 MonsterController같은 녀석의 State를 이런식으로 변경이 가능하다. 일단은 Patrol AI가 굉장히 무식한 방법이기는 한데 나쁘지만은 않다!
클라 기반이라면은 너무나 당연하게도 클라에서 길찾기를 해야되는데멀티 게임을 경우 서버에서 길찾기를 해야하는게 아니라클라에서도 길찾기를 클라에서도 해야되나??이것은 컨텐츠 마다 조금씩 다르긴하다.우리가 만드는 게임처럼 셀 단위로 움직이는게 아니라면"서버"에서 아무리 길을
C예를 들면, 아래 RunDelegate 델리게이트는 입력 파라미터가 int 하나이고 리턴 값이 없는 메서드를 가리킨다.RunThis() 메서드와 RunThat()메서드는 모두 int 파라미터 하나에 리턴 값이 없는 메서드이므로, RunDelegate의 함수 형식(pr
지금 화살날아가는것은 문제가 없다.우리가 짠 로직에서는\_skillRanged안에 있고방향도 같은 경우니까 위애래 녀석 둘다 정상적으로 공격하는 것은 맞지만지금 바보 같다.이런현상은플레이어와 거의 일직선에 있을 경우에 화살을 날리도록 수정해주어야함.https:
우리가 지금 SendBuffer를 큰 것을 할당한 다음에이것을 쪼개서 사용을 하고 있었다.공용으로 크게 하나를 관리를 해가지고 sendbuffer를 필요로하는 session한테 이 sendbuffer를 꽂아주는 방식이였는데open close 방식으로아주아주 큰 버퍼를
서버에서 패킷을 보내는 이부분이 조금 복잡 -> 수정 하는 작업 먼저 하도록 하겠다.이렇게 중복 되는 부분 묶어 주도록 하자.이게 messeage의 enum값인데 C리플렉션(Reflection)은 프로그램이 돌아가는 런타임 중에 객체의 정보를 조사하거나, 다른 모듈에
이렇게만 남겨주고 다 삭제 ㄱㄱ.이정도의 패킷 만 만들어놓고 시작을 하도록 하자.이렇게프로토 만들어주고 폴더로 가서 배치파일 실행 ㄱㄱ이거 .proto 파일 수정하면 배치파일 눌러서 업데이트를 한번 해주도록 하자.지금 이부분에서 Player에서 GameRoom의 생성자
플레이어 입장 신호를 클라에서 멋대로 하는게 아니라 서버에서 신호를 받아서 로그를찍는 작업까지 지난시간까지함.클라에서 플레이어 생성을 받아서 만들어주는 작업 할 꺼다.PlayerController부분에서 입력을 받아서 움직이는데 이게 다른애들도 눌렀을 때 다같이 움직이
60FPS => 1초에 60장1/60 초마다 이동을 하는데이 프레임에 따라 1/60초를 정확하게 맞춰 주어야지만,다른사람도 똑같은 화면을 볼 수 있다.그래서 네트워크 부화 때문에 불가능하다.회사에서도 엄청난 노하우가 없다.컨텐츠에 따라 좀 다른데, (장르)클라에서 움직