Unity3D 기본 설명
- 2D게임을 만들때 Z축이 겹치기 때문에 살짝 간격을 줘서 처리한다.
- Ex) 캐릭터가 Z : 0일때, 아이템은 Z : 0.5 정도.
- 일반적인 게임을 만들때 점프기능을 구현할때 점프와 떨어지는 속도를 따로 정의함.
- 점프속도 : n
- 떨어지는 속도 : n*2
- 게임엔진의 중력을 사용하게되면 이중점프나, 점프중 기능을 구현할때 문제점이 생김.
- 소스에서 한글로 입력 후 오류 났을때 해결방법
- File - Save As - Character Coding - Korean (ISO) 로 선택하여 덮어쓰기.
- File - Save As - Character Coding - Korean (ISO) 로 선택하여 덮어쓰기.
- GUI설정적용은 OnGUI() 에서 적용해야 실제 적용됨.
- 이미지를 맵핑(Texture들)할때 2의 배수일때 맵핑이 빠르게됨. (하드웨어 가속을 사용.)
- Unity3D는 모든 이미지들을 2의 배수로 자동으로 적용됨.
- 이러한 2의 배수를 사용하는 규칙은 NVidia의 규칙이 사용된 것.
- 이러한 규칙을 사용하기 싫을 경우는 Image Inspector에서 Texture Type에서 GUI로 변경. 그리고 Format을 Truecolor로 변경.
- Unity3D에서는 색상값을 0~255가 아닌 0~1로 사용함.
- 각 클래스글자 위에서 [ Command+' ] or [ WindowsKey + ' ] 레퍼런스사이트로 이동.
Unity3D Build & Run 설명
- Android Setting
- Unity Preferences - External Tools - Android SDK Location : 안드로이드 SDK 위치 지정
- Web
- File - Build Setting - Web Players - Player Setting
- 위 경로에서 내용 지정.
- 최종적으로 Build버튼으로 생성.
- Web으로 빌드하면 jQuery와 HTML로 짜여져 있음.
- HTML파일이 unity3d 파일을 로드하여 게임을 진행.
- 배포는 웹서버에 웹파일 모두를 올린후 html파일을 링크.
- File - Build Setting - Web Players - Player Setting
- PC
- PC도 Web과 거의 비슷하고 각 플랫폼(Win, Mac, Linux)으로 Export 됨.
- Android
- File - Build Setting - Android
- Image들 Inspector - Format - Truecolor로 변경. (안드로이드는 기본적으로 이미지들을 압축해버림.)
- Player Setting
- Product Name : 게임이름설정
- Resolution and Presentation : Default Orientation 에서 모드를 설정해도 소스가 우선
- Icon - 아이콘 설정
- Splash Image(Pro Only) : 첫로딩화면. 프로버젼만가능. 프리(free)는 불가능
- Other Setting
- Identification - Bundle Identifier : com.xxx.xxxx 이름 지정해줘야함.
- 여기서 버젼, Android API Level설정가능(Android 플랫폼 버젼)
- API Level은 'Android 2.3.3. Gingerbread API level 10' 를 권장
- Identification - Bundle Identifier : com.xxx.xxxx 이름 지정해줘야함.
- Publishing Settings : 안드로이드 개발자 등록 키스토어를 정하여 자동으로 올라갈 수 있음.
- 최종빌드는 Build버튼을 선택. - 파일명을 지정하라고 뜨면 이름정하면 이름.apk 로 Export됨.
- Build And Run은 모바일기기로 바로 들어감. (안드로이드 기기테스트와 같음.)
- File - Build Setting - Android
- iOS
- File - Build Setting - iOS
- 아이폰도 위와 거의 비슷함.
- Build는 Xcode 프로젝트 파일로 Export됨.
- Build And Run은 Xcode로 출력 후 바로 Run.
- iOS의 경우는 디바이스 테스트시 Apple 개발자계정이 있어야 하고, 인증서파일이 따로 필요함.
- File - Build Setting - iOS
Unity3D Method 설명
- transform.renderer.material.mainTextureOffset = new Vector2(x, y)
- x, y축으로 오브젝트에 있는 이미지가 움직임.
- x, y에는 speed * Time.time 으로 주면 됨.
- Screen.orientation = ScreenOrientation.LandscapeRight : 모바일 기기 설정. 가로모드로 고정.
- Camera.main.WorldToScreenPoint(transform.position)
- Camera의 시야로 봤을때 transform의 위치를 절대좌표로 잡는다.
- Resources.Load(string resourceName) : Resource 폴더에 있는 resourceName자료를 불러옴.
- 폴더가 'Resources'이어야만 가능한 메소드.
- Resources폴더는 컴파일할때 모든자료가 같이 올라감. (메모리 사용률 증가)
- Mathf.Repeat(++num1, num2)
- num1을 하나 증가하고 num2-1 까지 돌다가 끝나면 num1을 0으로 초기화하는 함수.
- transform.guiText.material.color : guiText의 글자의 색상을 Vector4 형태로 가지고 있음.
- Vector4(Red, Green, Blue, Alpha) / (r, g, b, a)
- Camera.main.WorldToViewportPoint(transform.position)
- 현 transform.position 의 위치를 World위치로 변경.
- GameObject.FindGameObjectsWithTag("TAG") : TAG에 해당하는 모든 오브젝트를 배열로 가져옴.
- 뒤에 .Length로 배열 Count도 가져올 수 있음.
- object.tag.Contains("TAG")
- TAG라는 태그이름이 태그안에 들어있다면 오브젝트라면 true를 반환.
- Screen.width
- 현재 실행중인 기기에서 게임화면 width를 int값으로 가져옴.
- Screen.height
- 현재 실행중인 기기에서 게임화면 height를 int값으로 가져옴.
- Input.GetKeyDown(KeyCode.Escape) : 모바일에서는 Back버튼.
- GUI.skin : OnGUI()에서 skin값을 가져오거나 적용할 수 있음.
- yield return new WaitForFixedUpdate() : 업데이트에 적용할때까지 대기.
- for문 안에 사용시 for문 한동작 한동작이 Update문에 적용되어 사용자에게 보여짐.
- Window - Animation (Command or Windows Key + 6) : 애니메이션 기능 추가
- Timeline : 0:00 / 0:30 / 1:00 / 1:30
- 앞에 정수가 실제 초단위.
- 뒤는 프레임을 가리킴 ( Unity3D는 1초에 60프레임을 재생)
- Animation 작업창에는 각 오브젝트를 작업할 수 있게 Transform이 있음.
- : Add KeyFrame
- : Add Event - 할줄모르면 누르면안됨. 에러남
- KeyFrame을 하기전에 Transform 속성중에서 이표시를 한번 누른 후에 [Add Key Frame]을 눌러야 함.
- Transform 속성에서 숫자입력하는 곳이 변화하고 싶은 수치를 중간 중간 입력하여 애니메이션을 적용.
- Timeline에 있는 붉은 선을 움직이면 애니메이션 효과를 미리 확인가능.
- Assets 목록에서 새로만든 Animation을 선택하면 Inspector창에 Wrap Mode에서 한번할 것인지, 반복할 것인지 선택가능.
Unity3D GameObject 설명
- GUIText : 소스말고 Unity상에서 Text표기시 사용. (0,0) 좌표는 좌측 상단
- Anchor, Aligment로 정렬가능.
- Cube에 이미지를 맵핑하면 사방으로 이미지가 표시됨.
Unity3D Assets 설명
- GameObject - Quad : 평면오브젝트. Unity3D 4.2부터 생김.
- Font : Font Size는 여기서 Default로 결정가능.
- GUISkin : GUI관련된 Controller
- GUI로 직접 그리면 힘듬. 보통 Assets Store에서 N GUI라는 유료 Assets을 사용
- 그나마 Unity3D에서 지원하는 GUISkin이 쓸만함.
- Button
- Normal : 보통
- Hover : 손이 올라갔을때
- Active : 클릭했을때.
- Focused : 선택되었을때
Unity3D Component 설명
- Image적용후 배경을 투명으로 하고 싶을때
- Inspector - Image적용한쪽 - Shader - Transparent/Diffuse 선택
- MainCamera 원근을 업앨때
- Inspector - Camera - Projection - Orthographic 선택.
- Perspective : 원근이 있음.
- Orthographic : 원근이 없음.
Unity3D 관련사이트 소개
'NOTE > Unity' 카테고리의 다른 글
[Unity] 고급과정 5일차 필기내용 (펌) (0) | 2016.10.17 |
---|---|
[Unity] 고급과정 4일차 필기내용 (펌) (0) | 2016.10.17 |
[Unity] 고급과정 2일차 필기내용 (펌) (0) | 2016.10.17 |
[Unity] 고급과정 1일차 필기내용 (펌) (0) | 2016.10.17 |
[Unity] Mobile Touch (펌) (0) | 2016.10.13 |