Unity (9) 썸네일형 리스트형 유니티 기초 게임 만들기 1. 게임 계획 - 게임이름 : 굴러서 아이템 먹기 - 장르 : 캐주얼 액션 - 목표 : 지형을 뛰어넘어 굴러서 아이템을 먹고 목표지점에 도달 - 구성 : 공(Player), 아이템(Item), 지형(Platform), 결승점(Point) 2. 플레이어 공 움직임, 점프 구현하기 using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerBall : MonoBehaviour { public float jumpPower; bool isJump; Rigidbody rigid; void Awake() { isJump = false; rigid = GetComponent(); } void Upda.. 유니티 게임 인터페이스 UI - Canvas : UI가 그려지는 도화지 역할이 컴포넌트 - 스크린 : 게임이 표시되는 화면, 해상도로 크기 결정 - Text : 문자열을 표시하는 UI - Image : 이미지를 표시하는 UI > 이미지 파일을 Sprite로 설정해야 UI 적용 가능. (Image의 Texture Type을 Sprite로!) > Preserve Aspect는 비율 고정이다. 체크하면 알아서 비율을 맞춰준다. > Set Native Size는 원본 사이즈로 바꿔준다. > Image Type 중요! > UI는 Hierarcy의 순서에 따라 위 아래 결정 ++추가해야함!!++ 유니티 물리 충돌 이벤트 오브젝트 재질 접근은 MeshRenderer를 통해서 함 CollisionEnter : 물리적 충돌이 시작할 때 호출되는 함수 CollisionStay : 물리적 충돌이 발생하는 중일 때 호출되는 함수 CollisionExit : 물리적 충돌이 끝났을 때 호출되는 함수 > Collision : 충돌 정보 클래스 * Collision과 Trigger의 차이 https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=lovelybarry&logNo=220844960463 Color : 기본 색상 클래스 Color32 : 255 색상 클래스 using System.Collections; using System.Collections.Generic; .. 유니티 힘을 이용하여 물체 움직여보기 코드 흐름은 선언 velocity : 현재 이동 속도 2. 힘 가하기 > AddForce(Vec, ForceMode) : Vec의 방향과 크기로 힘을 줌, ForceMode는 힘을 주는 방식(가속, 무게 반영)을 의미함. 이때, Mass 무게 값이 클수록 움직이는데 더 많은 힘이 필요하다. AddForce의 힘 방향으로 계속 속도 velocity가 증가. 3. 회전력 >AddTorque(Vec) : Vec 방향을 축으로 회전력이 생김. 이때, Vec를 축으로 삼기 때문에 이동 방향에 주의! using System.Collections; usi.. 유니티 실제와 같은 물체 만들기(중력 적용, 충돌, 재질 만들기) 유니티는 컴포넌트 기반 게임 엔진이다. 3차원 기반 물체를 만들기 위해 필요한 컴포넌트들은 Mesh, Material, Collider, RigidBody 이다. - 중력적용 Rigidbody : 물리효과를 받기 위한 컴포넌트 > Mass 수치가 높을수록 충돌이 무거워짐. > Use Gravity로 중력 받는지를 결정. > Is Kinematic 외부 물리 효과를 무시, 움직이는 함정을 만들 때 유용(장애물을 만들 때 체크를 함). - 충돌 Collider : 물리효과를 받기 위한 컴포넌트 - 재질 Material : 재질 편집은 새로 생성해서 적용해야 가능. > Metalic 금속 재질 수치 > Smoothness 빛 반사 수치 > Texture 재질에 들어가는 이미지 (Albedo 옆 네모에 드래그앤.. 유니티 deltaTime Time.deltaTime이란? 이전 프레임의 완료까지 걸린 시간 deltaTime : 값은 프레임이 적으면 크고, 프레임이 많으면 작음 Time.deltaTime 사용하는 방법 Translate : 벡터에 곱하기 - transform.Translate(Vec * Time.deltaTime); Vector 함수 : 시간 매개변수에 곱하기 - Vector3.Lerp(Vec1, Vec2, T * Time.deltaTime); using System.Collections; using System.Collections.Generic; using UnityEngine; public class Move : MonoBehaviour { Vector3 target = new Vector3(8, 1.5f, 0); voi.. 유니티 키보드, 마우스로 이동 + 게임 오브젝트 이동 using System.Collections; using System.Collections.Generic; using UnityEngine; public class LifeCycle : MonoBehaviour { void Update() { //anyKeyDown - 아무 입력을 최초로 받을 때 true if (Input.anyKeyDown) Debug.Log("플레이어가 아무 키를 눌렀습니다."); if (Input.anyKey) Debug.Log("플레이어가 아무 키를 누르고 있습니다."); //키보드 입력 : Down, Stay, Up //GetKey - 키보드 버튼 입력을 받으면 true if (Input.GetKeyDown(KeyCode.Return)) //Return은 Enter, ESC는 .. 유니티 게임오브젝트의 흐름 using System.Collections; using System.Collections.Generic; using UnityEngine; public class LifeCycle : MonoBehaviour { //초기화영역 - 게임 오브젝트 생성할 때, 최초 실행 void Awake() { Debug.Log("플레이어 데이터가 준비되었습니다."); } //초기화영역 - 업데이트 시작 직전, 최초 실행 void Start() { Debug.Log("사냥 장비를 챙겼습니다."); } // 게임 오브젝트가 활성화 되었을 때 void OnEnable() { Debug.Log("플레이어가 로그인하였습니다."); } //물리연산영역 - 물리 연산 업데이트, 고정된 실행 주기로 CPU를 많이 사용 void Fi.. 이전 1 2 다음