전체 글215 유니티) 스프라이트 이미지 자르기 여러 사진이 모여있어 한 사진으로 표현된 사진을 스프라이트 이미지 라고 한다. 유니티에는 스프라이트 이미를 나눠서 여러 사진의 용도로 쓸 수 있다. 오늘은 그 방법을 설명해보겠다. 처음 이미지는 이런 형식으로 되어있을것이다. 여기서 Sprite Mode를 multiple로 바꿔주고 가운데 쯔음에 있는 Sprite Editor를 열여준다. 그럼 이런 모습일텐데, 여기서는 왼쪽 상단에 있는 Slice를 클릭해준다. 그러면 이런 창이 열릴것이다 Type을 클릭해주고 Grid By Cell Size를 선택해준다. 그러면 이런 화면이 된다. 이제 Pixel Size에 그림에 맞는 픽셀수를 써주고 Slice를 클릭해주면 이렇게 깔끔히 나눠진 모습이다. 오른쪽 상단쪽에 apply를 눌러주고 유니티에 돌아와보면? 매우.. 게임 개발/유니티 2022. 8. 11. C# 타입끼리변환하는법 (형변환 하는법) 파싱, 강제형변환 나는 지금까지 각각의 함수가 변환시켜주는것만 알고있었다. 예를들면 문자열이 되고 싶다면 .Tostring() 함수를 쓰고, float 값을 얻고 싶다면 float.parse 함수, int 는 int.parse 등 Parse를 사용하는 것들은 파싱이라고 한다. Parsing 의 발음과 같다. parse와 tostring 같은 함수들만이 변환해주는건줄 알았는데 더욱더 간단한 문법이 있었다. 자기가 원하는 타입을 괄호 안에넣고 뒤에 바꾸고 싶은 변수를 쓰면 된다. 예시를 보여주자면 float num1 = 5.55f; num1 = (int)num1; 이렇게 하면 5.55의 int값, 5가 된다. float와 int뿐만 아니라 다른 타입끼리도 된다. 하지만 float와 배열같이 말도안되는 타입끼리는 안된다. 도움.. 게임 개발/C# 2022. 8. 8. Input.GetAxis 값의 의미 Input.GetAxis("Horizontal")은 true, false가 아닌 -1 ~ 1 로 구성된 실수가 나오는데, 보통 유니티를 배울때는 궁금한점이 없었겠지만 키보드의 키를 누르는것에만 초점을 맞춰본다면 이건 굉장히 비효율적일수있다. 키보드를 누르는것에서 그쳤다면 -1 또는 1 "로만" 나오게 했거나 True 나 False로 표현했을것이다. 본론으로가서 -1 ~ 1사이의 실수인 이유는 조이스틱등 다른 기기의 호환 때문이다. 조이스틱은 끝까지 당길수도 있고, 조금만 밀어 세심하게 조정할수도 있다. 그래서 -1 ~ 1 사이의 숫자로 플레이어가 얼마나 세심하게 조이스틱을 당기고 있는지를 표현한다. 도움이 되었길 바라며, 끝. 게임 개발/C# 2022. 8. 7. 유니티 3D 배경 단색으로 칠하기 유니티 3D프로젝트의 기본 뒷배경은 가상의 하늘이다. 하지만 상황에 따라서 단색의 배경을 쓰고 싶을때가 생기는데, 그럴때는 Main Camera 오브젝트의 Camera컴포넌트의 Clear Flags를 SkyBox -> Solid Color로 바꿔준다. 그후 그 밑에 Background값을 조정하여 배경을 원하는색으로 바꿔주면 된다. Solid는 일반적으로 고체라는 뜻을 가지고 있지만, 색에 대해서는 단색이라는 뜻을 가지고 있다. 추가로, 단색이 아닌 예쁜 하늘을 만들고 싶다면 skybox라는 개념을 이용해야 한다. 도움이 되었길 바라며, 끝. 게임 개발/유니티 2022. 8. 7. 유니티 휴대폰에서 뒤로가기키를 눌렀을때 if (Application.platform == RuntimePlatform.Android) { //안드로이드일때 if (Input.GetKey(KeyCode.Escape)) { // 뒤로가기키를 누르면 Application.Quit(); //앱 종료 } } 이런 코드로 휴대폰에서 뒤로가기를 눌렀을때 앱을 종료 시키게 해줄 수 있다. 딱히 적을 글이 없는데, 저 맨 윗줄의 if문을 없애도 휴대폰에서 뒤로가기를 누르면 코드가 실행된다. 따라서 개발중일때 코드를 한번 변경할때마다 apk로 빌드할수는 없기에 중간 if문만 남겨서 뒤로가기를 눌렀을때의 이벤트를 키보드 ESC를 눌렀을때도 되게하여서 테스트 해볼수있다. 게임 개발/구글플레이스토어,구글개발자콘솔 2022. 8. 6. 절대강좌 유니티 책 리뷰 이번엔 절대강좌 유니티 라는 책의 후기를 남겨보도록 하겠다. 이 책을 사기전에 무슨 블로그의 유니티 책 추천 게시글을 보고 중수 수준이라고 되어 있길래 나도 나름 잘하는것 같아서 샀다. 이 책은 내가 평가할때는 처음은 나름 초보를 위하는것 같다가도 중간부터 난이도가 서서히 올라가서 끝에는 시네머신 카메라등 나름 심화요소도 나오기에 모두가 무작정 따라할수있는 책은 아닌것같다. 이 책에서는 메인으로 FPS 게임 만들기가 나온다. 처음은 움직이기, 드럼통 설치하기 정도로 시작하여 이때는 초보들도 충분히 감당할수있지만 점점 힘들어진다.. 몬스터 애니메이션, AI 등등 점점 어려워지고 극후반으로가면 시네머신카메라, 포톤 통신 이렇게 개인적으로도 힘들었던 것들이 나온다. 하지만 이책을 나는 굉장히 긍정적으로 평가한.. 책리뷰 2022. 8. 5. 책 유니티 교과서 후기 유니티 교과서라는 책을 읽었다. 이책은 간단한 예제들과 개념에 충실한 책인것 같다. 이 책을 처음읽었을때 안드로이드로 빌드하는 과정을 처음 겪어봤는데, 빌드하는 과정 뿐만 아니라 여러 오류를 해결하는 방법이 나와있어 아직까지 빌드를 하다가 실패할때면 이 책을 편다. 이 책의 예제로 여러 게임이 수록되어있는데, 독학으로만 하다가 나와 다르지만 같은 동작을 하는 코드를 보고 '이렇게도 표현할수 있구나' 라고 생각했다. 절대강좌 유니티! 라는 책도 읽었는데, 두 책의 공통점은 투사체의 코드를 생성되었을때 Start() 함수에서 움직이게 해주었다. 나는 혼자 총같은걸 만들때면 총알을 복제하는것과 나가는것을 한 스크립트에서 작성해와서 다른 점에서 살짝 놀랐다. 유니티 초보자가 빠르게 첫 프로젝트를 진행할수 있을만.. 책리뷰 2022. 8. 5. C# ?로 특정 if문 생략하기 (삼항연산자) C#에서는 ?를 이용하여 특정 코드가 필요한 부분을 생략 할수있다. 사용법) String TF; bool B; TF = B ? "True" : "False"; 만약에 B가 True라면 문자열 TF 에는 "True"로 초기화되고 B가 False라면 문자열 TF 에는 "False"로 초기화된다. if(B) { TF = "True"; } else { TF = "False"; } 이런 if문을 ?하나로 간단히 해줄수가 있다. 도움이 되었길 바라며, 끝. 게임 개발/C# 2022. 7. 27. 유니티 화면비율에 따라 다르게 UI표시 하게하는법 유니티를 하다보면 나와 다른 모니터 비율, 핸드폰 화면 비율이 개발과정에서 문제가 되는 경우가 있다. 이런경우는 Canvas 오브젝트에 Canvas Scaler 이라는 컴포넌트를 통해 문제를 해결해줄 수 있다. 필자는 삼성의 A90을 쓰고 있기에 1080 * 2400을 기준점으로 해주었고, 저렇게 Canvas Scaler 컴포넌트의 UI Scale Mode를 Scale With Screen Size로 해주고, 자기가 기준으로 하고싶은 화면사이즈(픽셀기준) 을 Reference Resolution에 입력해주면 된다. 저렇게 설정을 다했다면, 화면 크기를 설정하는 탭에서 여러 화면을 선택해보며 잘못된건 없는지, 잘 설정되었는지 확인해 보자. 또한 유니티에선 시뮬레이트 기능이 있기에 원하는 휴대폰기종으로 화면.. 게임 개발/UI 2022. 7. 27. Build failed with errors. 오류 해결 이런 오류가 떴다. 나같은 경우에는 프로젝트이름이 영어가아닌 한글로 되어있어서 오류가 난것이였다. 한글뿐만 아니라 특수문자도 이런 오류가 발생 할 수 있다. 구글을 찾아보다 정 모르겠다면 이방법도 참고해보면 좋을것같다. 평소에 프로젝트이름을 영어로 짓는 습관을 들여야 겠다. 도움이 되었길 바라며 끝. 게임 개발/유니티 2022. 7. 26. 유니티 버튼 컴포넌트 기능 정리 오늘은 버튼 컴포넌트의 다양한 기능들을 설명해 보겠다. Interactable : 사용할지 사용하지 않을지 선택(저걸 선택하지 않으면 버튼이 눌러지지 않는다) Transition : 버튼 색깔기능 종류 선택(이 글은 Color Tint 기준으로 작성됨) Target Graphic : 원하는 이미지 넣기 Normal Color : 평소의 색깔 Highlighted Color : 마우스를 가져다 댔을 때의 색깔 Pressed Color : 눌렀을 때 색깔 Selected Color : 선택되었을 때 색깔 Disabled Color : 다양한 이유로 버튼이 망가졌을 때, 사용불가능할 때 나오는 색깔 Color Multiplier : 변하는 색의 진하기 조절 Fade Duration : 색깔이 변하는 시간 조절.. 게임 개발/유니티 2022. 7. 21. 유니티 2D 타일링하기 (잔디깔기) 저런 잔디 사진을 가즈고 땅을 구성하고 싶다면, Sprite Renderer의 Draw mode를 Tiled로 바꿔준다. 이 상태에서 transform의 position을 1,1,1로 맞추고 Width 를 늘려주면 잔디가 늘어난다. 하지만 콜라이더(물리가 적용되는 넓이)는 늘어나지 않기 때문에 XXXCollider 의 Width도 같이 조정해줘야한다. 이렇게 한 사진만으로 여러 길이의 잔디를 만들 수있다. 사실 이렇게 하는것보단 Tile Palette를 사용하는게 더 적절하다. https://alpaca-code.tistory.com/86(타일맵 설정) 유니티 2d게임 틀(칸) 만들기, 타일맵 만들기 2d게임을 보면 대부분의 게임에 칸 이라는 요소가 작용하는걸로 보인다. 거의 모든게임이지만 굳이 예시를 .. 게임 개발/유니티 2022. 7. 18. 이전 1 ··· 13 14 15 16 17 18 다음 💲 추천 글