원래 바닥부터 창조하는건 엄청 어렵습니다. 정확히는, 시도할 수 있는 종류가 너무 많아서 그래요. 저도 어떤 프로젝트를 만들때는 해당 장르와 관련된 공개된 소스를 참고하면서 시작합니다. 그리고 개략적인 패턴만 머릿속에 두고, 항상 구글 검색창을 펼쳐놓은체 구현을 해나갑니다. 프로젝트의 모든 코드를 외우지 않아요. 과거의 기억을 그때그때 다시 마주친다는 느낌으로 만듭니다. 검색없으면 저도 게임 못만들어요. 만약 프로그래밍을 잘한다고 1인 앱이나 게임을 쏟아낼수 있다면, 다들 사직서 내고 자기 앱 만들기만 했겠죠. 하지만 대기업에 다니는 프로그래머도 혼자 1인 개발해서 간단한 앱을 출시한다..출시한다 해놓고 몇년 동안 손놓고 있는게 현실입니다. 왜냐면 이것저것 시도하다가 대부분 프로토타입까지 못가기 때문에.. 제 생각에는, 마음 맞는 아티스트를 찾아서, 명확한 컨셉을 그려나가며 간단한 게임을 만들어보는게 좋을 것 같네요. 원하는 장르를 척척만드는건 처음부터 소질있는 사람도 불가능한 것이고, 보통은 장르를 정한다음, 구태여 어떻게든 만들어내는 편에 가깝죠.
Mesh Collider의 경우, 콜라이더의 폴리곤 수를 줄여주는 옵션이 있어서 해당 옵션을 사용해도 됩니다. 애셋 스토어에서 아트 애셋을 구매한 경우, 대부분의 경우 애셋 제작자가 직접 콜라이더를 달아 프리팹을 만들어뒀을거에요. 보통은 콜라이더를 달아둔 프리팹을 만들어서 배치하는 방식으로 레벨을 제작합니다. 또는 유니티의 공식 패키지인 ProBuilder 등을 통해 레벨을 제작해도 자동으로 콜라이더가 알맞게 붙어요.
그렇습니다. 만약 그렇게 되는 것을 원하지 않는다면 바로 값을 할당하는게 아니라, 적용할 회전 값과 기존 플레이어 캐릭터 회전 값 사이에 쿼터니언 곱을 사용해야 합니다. 다만 조작 체계상, 플레이어 캐릭터는 항상 y축에 대해서만 회전값이 적용되도록 하는게 자연스럽긴하죠. 그런 경우에는 플레이어의 회전값은 x,z가 0이지만, 래그돌이 반영된 (자식게임오브젝트) 랜더용 모델 게임 오브젝트가 별개로 물리 효과에 의해 흔들리도록 해줍니다.
유니티에서 레이어마스크가 동작하는 방식은, 한자리수 = 하나의 레이어로 동작하기 떄문입니다. 즉 101 이라고 하면, - 100 레이어는 on - 010 레이어는 off - 001레이어는 on이 됩니다. 마찬가지로 111 이라고 하면 - 100 레이어는 on - 010 레이어는 on - 001레이어는 on이 됩니다. 따라서, 예를 들어 100 레이어만 on인, 100 레이어를 뒤집어 011로 할당하게 되면 - 100 레이어는 off - 010 레이어는 on - 001레이어는 on이 됩니다.