목록2-1/모바일 게임 개발 (14)
브래의 슬기로운 코딩 생활
Addforce() - rigidbody에 기반한 힘 - 힘=가속도=속도의 변화량이기 때문에 속도라기보다는 속도 변화에 대한 값 Rigidbody.velocity: Rigidbody의 속도벡터 Rigidbody.Addforce(방향 * 힘)=> 가속도(힘)을 지정할 수 있는 속성 Rigidbody2D rigid2D; void Start() { this.rigid2D = GetComponent(); // Rigidbody2D부여 } if(Input.GetKeyDown(KeyCode.Space) && this.rigid2D.velocity.y == 0) { // Y축으로 움직이지 않고 스페이스바를 누르면 this.rigid2D.AddForce(transform.up * this.jumpForce); // 점..
isKinematic은 물리 엔진의 영향을 받지 않는 상태이다. 즉 이 값이 true이면 그 자리에서 멈추게 된다. GameObject B = Instantiate ( A ) as GameObject; // B 게임 오브젝트는 A게임 오브젝트의 복제이다. Ray = Camera.main.ScreenPointToRay(Input.mousePosition); // Ray는 카메라에서 마우스커서 위치로 향하는 가상의 선이다. Vector3.normalized // Vector3는 방향과 길이가 있는데 정규화를 하면 길이가 1로 고정됨 정규화를 하는 이유는 방향정보만 있고 속도가 1이라면 원하는 숫자를 곱해서 속도를 조절할수 있기 때문이다. Ray ray = Camera.main.ScreenPointToRay(..
오늘 만든 게임이다. 간단하게 떨어지는 물체를 바구니에 담는 게임 이다. Tag를 사용해 아이템 종류 판별하기 • 바구니에 받은 것이 무엇인지 판별하기 위해 tag사용 –아이템이 충돌했을 때 호출되는 OnTriggerEnter 메서드 –충돌 상대의 태그가 Apple이면 Tag => Apple, Bomb이면 Tag => Bomb가 됨 void OnTriggerEnter(Collider other) { if (other.gameObject.tag == "Apple") { } else { } Destroy(other.gameObject); } –X좌표와 Z좌표에 각 각 -1, 0, 1 값을 무작위로 대입 –무작위 값을 대입하는 데는 Random 클래스 의 Range 메서드를 사용 Ray ray = Camera..
CharacterController컴포넌트 –주로 FPS나 TPS 게임의 플레이를 구현할 때 사용 –Rigidbody와 Capsule Collider 기능을 포함하고 있음 CharacterController controller ; //CharacterController 변수 정의 controller = GetComponent () ; //스크립트가 부착된 object의 구성요소에 CharacterController 를 controller의 변수에 대입 currentMovement += Vector3.forward * Time.deltaTime * 1.0f ; // 1초에 1m 앞으로 가는 속도를 currentMovement에 추가한다. controller.Move (currentMovement * Tim..
오늘은 고양이가 떨어지는 화살표를 피해야하는 간단한 게임을 만들었다. 사용된 개념 int px = Random.Range(-3, 4); :-3~3의 값 중 임의의 값이 px에 저장 public GameObject arrowPrefab;//화살표에 연결 //arrowPrefab이 복제됨 void Update(){ GameObject go = Instantiate(arrowPrefab) as GameObject } void Update() { GameObject go = Instantiate(arrowPrefab) as GameObject; int px = Random.Range(-3, 4); go.transform.position = new Vector3(px, 7, 0); } Time.deltaTime ..
오늘은 구름위를 점프하는 고양이 게임을 만들었다. 그리고 저번주에 본 중간고사 점수가 나왔는데, 35점 만점에 32점 맞았다. 이번 시험문제가 쉽긴했는데 평균이 30점이라고 해서 놀랐다. 다들 열심히 하는 구나 라는 생각을 했다. 화면을 터지하면 토끼가 점프를 하고 구름을 밟고 올라가서 위에 있는 깃발에 닿으면 게임이 종료되는 그런 게임이다. 여기서 쓰인 소스들은 다음을 응용한 것이다. Addforce() - rigidbody에 기반한 힘 - 힘=가속도=속도의 변화량이기 때문에 속도라기보다는 속도 변화에 대한 값 Rigidbody.velocity: Rigidbody의 속도벡터 Rigidbody.Addforce(방향 * 힘)=> 가속도(힘)을 지정할 수 있는 속성 Rigidbody.velocity: 움직이..
transform.Translate(x,y,z):게임오브젝트를 현재 위치에서 x,y,z의 거리만큼 이동시키는 명령어 transform.Translate(0,0,1);=>z축 방향으로 1만큼 움직임 transform.Rotate(x, y, z); = 0회전 자식은 부모와 함께 움직임 •스크립트로 Rigidbody부착 – gameObject.AddComponent(); •gameObject:스크립트가 연결되어 있는 게임 오브젝트 자신을 가리킴 •public변수:클래스(또는 스크립트파일)외부에서 접근 가능 •private변수: 변수가 선언된 클래스 안에서 만 접근가능 •local변수: 변수가 선언된 중괄호 내부에서만 접근 가능 Start():자동으로 한번 실행 Update(): 매 프레임마다 실행 1초에 1m..
오늘은 자동차를 스와이프 하면 스와이프 한 거리 만큼 이동하게 하는 게임을 만들었다. 이번에도 저번주에 만들었던 룰렛 게임과 비슷한 원리로 만들었다. 그리고 다음주는 시험인데 오픈북 시험이다. -4월26일 중간고사 1) 일시: 4월26일 14시-15시30분(1시간 30분) 2) 장소: 인관 301호 3) 방식: Open PPT(다른 자료도 허용, 그러나 학생간 공유는 안됨) 4)범위: Chapter1~Chapter7(chapter5제외) * 전자기기 반입금지 *시험전 동영상 수강(출석에 포함)
오늘은 아주 간단한 소스를 이용해서 룰렛 프로그램을 만들어서 핸드폰으로 실행까지 시켜보는 실습을 했다. 진짜 거짓말 안치고 한 코드 6줄 정도 들어갔는데 꽤 근사한 프로그램이 되더라 물론 좀더 기능을 추가하면 코드가 많아지겠지만 생각한 것보다 신기했다. 짜잔~ 진짜 괄호 빼고 보면 소스가 7줄이닼ㅋㅋ 7줄로 만든 프로그램을 만들 수가 있다는게 놀랍고 재밌었다. 다음시간에는 어떤걸 만들지 기대가 된다
게임 맵, 배경 제작 GameGbject - 3D - Terrain(지형) 왼쪽 마우스를 누르고 드래그 하면 지형 생성 / 쉬프트를 누르고 드래그 하면 지형 사라짐 or 컨트롤 + Z 브러쉬 모양과 사이즈, 강도에 따라 지형이 다르게 나타남 Set Height를 클릭하고 Height를 30으로 지정하여 Flatten All을 클릭하면 높이가 일정한 두꺼운 지형이 만들어짐 택스쳐 선택 창이 나옴 - 택스쳐 선택 - 택스처가 입혀짐 - 다시 Create Layer - 다른 택스쳐 선택 - 마우스 드래그 하면 해당 택스쳐만 부분적으로 적용 가능 쉬프트 드래그 하면 지워짐 Brush Size:나무크기, Tree Density:나무들의 수 Brush Size가 크고 심을 공간이 좁으면 심어지지 않음 쉬프트 + 클..