본문 바로가기

유니티 3D기본(Roll A Ball)

Rigidbody AddForce 한계속도 정하기 velocity를 이용해 최고속도 제한 소스코드 public float movePower; public float maxVelocityX, maxVelocityZ; void limitMoveSpeed() { if (rigid.velocity.x > maxVelocityX) { rigid.velocity = new Vector3(maxVelocityX, rigid.velocity.y, rigid.velocity.z); } if (rigid.velocity.x max.. 더보기
회전, 좌우상하 움직이는 장애물 만들기 가장 우측 오브젝트부터 순서대로 이름을 적어줬습니다. 소스코드 using System.Collections; using System.Collections.Generic; using UnityEngine; public class MoveFloor : MonoBehaviour { //UD_Floor float initPositionY; float initPositionX; public float distance; public float turningPoint; //UD_Floor & LR_Floor public bool turnSwitch; public float moveSpeed; //RT_Floor public float rotateSpeed; void Awake() { if (gameObject.nam.. 더보기
23 . 게임 빌드 Build Settings -> 옵션 확인 -> Build 클릭 결과 더보기
22. 플레이어가 맵에서 낙하 시 리스폰 빈 오브젝트나 GameManager 오브젝트에 콜라이더 추가해서 크게 만들기, isTrigger 체크 스크립트에서 onTrigger 함수로 로직 작성 예) 스테이지 재시작 void OnTriggerEnter(Collider other) { if (other.gameObject.tag == "Player") { SceneManager.LoadScene(stage); } } 결과 더보기
21. UI 만들기 Canvas 생성 후 텍스트, 버튼 생성하고 Anchor로 위치잡아주기 UI 접근 코드는 GameManager 스크립트에서 작성 소스코드 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; //UI에 접근하기 위해 필요 public class GameManager : MonoBehaviour { public int totaltemCount; public int stage; public Text stageCountText; //전체 Item 개수 public Text playerCountText; // 현재 플레이어가.. 더보기
20. Scene 추가 Project에서 마우스 우클릭으로 새로운 Scene 추가 다른 Scene에 있는 오브젝트를 복사 붙여넣기 Scene을 원하는 대로 수정하고(맵핑 제대로 되있는지 확인), Build Settings -> Add Open Scenes 클릭해서 Scene 추가 더보기
19. 스테이지 이동 Item 5개를 먹고 노란색 골인 지점에 들어가면 다음 스테이지로 넘어가는 로직을 구현해 보겠습니다. 다음 스테이지로 넘어가는 기준은 Item 5개를 먹었는가? 인데, 게임 전반에 대한 로직 관리는 보통 gameManager 라는 스크립트를 따로 만들어 관리합니다. Hierarchy에서 빈 오브젝트를 만들어 GameManager이라 이름을 붙이고 GameManager 스크립트를 만들어 넣어 주겠습니다. 그리고 이 안에 다음과 같은 코드를 주어 현재 Stage 번호와, 먹어야하는 Item 갯수를 적어주겠습니다. 소스코드 using System.Collections; using System.Collections.Generic; using UnityEngine; public class GameManager :.. 더보기
18. 카메라 이동으로 플레이어 따라가기 게임에서 흔히 보이는 3인칭 시점을 간단하게 구현해보겠습니다. 먼저 Scene창에서 카메라를 적당한 위치에 놓습니다. 플레이어 공이 움직이는 대로 카메라가 따라가려면 플레이어 공의 Position 정보를 카메라에도 줘야합니다. C#스크립트를 생성해 카메라에 줍니다. 소스코드 using System.Collections; using System.Collections.Generic; using UnityEngine; public class CameraMove : MonoBehaviour { Transform playerTransform; //Player의 transform 정보를 담을 변수 선언 void Awake() { playerTransform = GameObject.FindGameObjectWithT.. 더보기