목록게임 (9)
브래의 슬기로운 코딩 생활
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/zdA5Z/btskSpyOJwd/ZRnNgaO9zLqk6hnw74PBXk/img.png)
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); // 점..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bl2qTh/btsiaZi0uqD/537tnbYWjmZ5bw4Kh4Vdg1/img.png)
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(..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bvjqe6/btshihdIQQM/qUd1dchY42P71ZFrhqJem0/img.png)
오늘 만든 게임이다. 간단하게 떨어지는 물체를 바구니에 담는 게임 이다. 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..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/59UXN/btseHPXNpVf/7ekv2FKlLyj6vw5kPmetu0/img.png)
오늘은 고양이가 떨어지는 화살표를 피해야하는 간단한 게임을 만들었다. 사용된 개념 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 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/clvtVb/btscJnRgAbO/7zrK07GTgYs7uEku0JmhPK/img.png)
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..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bDMfCq/btsbjiJ0S6K/U5pa0ssiU3lBdifiM0kcXk/img.png)
오늘은 자동차를 스와이프 하면 스와이프 한 거리 만큼 이동하게 하는 게임을 만들었다. 이번에도 저번주에 만들었던 룰렛 게임과 비슷한 원리로 만들었다. 그리고 다음주는 시험인데 오픈북 시험이다. -4월26일 중간고사 1) 일시: 4월26일 14시-15시30분(1시간 30분) 2) 장소: 인관 301호 3) 방식: Open PPT(다른 자료도 허용, 그러나 학생간 공유는 안됨) 4)범위: Chapter1~Chapter7(chapter5제외) * 전자기기 반입금지 *시험전 동영상 수강(출석에 포함)
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/BpJmv/btr8kIcjDCf/YM9CVTQwMCntZag8l6kdMk/img.png)
게임 맵, 배경 제작 GameGbject - 3D - Terrain(지형) 왼쪽 마우스를 누르고 드래그 하면 지형 생성 / 쉬프트를 누르고 드래그 하면 지형 사라짐 or 컨트롤 + Z 브러쉬 모양과 사이즈, 강도에 따라 지형이 다르게 나타남 Set Height를 클릭하고 Height를 30으로 지정하여 Flatten All을 클릭하면 높이가 일정한 두꺼운 지형이 만들어짐 택스쳐 선택 창이 나옴 - 택스쳐 선택 - 택스처가 입혀짐 - 다시 Create Layer - 다른 택스쳐 선택 - 마우스 드래그 하면 해당 택스쳐만 부분적으로 적용 가능 쉬프트 드래그 하면 지워짐 Brush Size:나무크기, Tree Density:나무들의 수 Brush Size가 크고 심을 공간이 좁으면 심어지지 않음 쉬프트 + 클..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/belVpH/btr6NvfWb6D/XIod2fV25gjdzG8v8Jeco0/img.png)
오늘은 드디어 새로운 함수나 명령어 들을 배워서 재미있었다. 유니티 내장 함수 OnMouseDown() - 마우스로 클릭할 때 실행 OnMouseUp() - 마우스로 클릭하고 뗄 때 실행 OnMouseEnter() - 마우스 커서가 해당 객체 위에 놓이면 실행 OnMouseExit() - 마우스 커서가 해당 객체 밖에 있으면 실행 transform.Rotate(x,y,z) - x,y,z 축 기준으로 자기 자신을 주어진 각도만큼 회전시키라는 명령어 transform.Translate(x,y,z) - 각 축으로 지정한 거리만큼 이동 (반대방향 = '-') Input.GetKeyDown(KeyCode.?) - 키보드에서 ? 키를 입력 Vector3.forward:전진 Vector3.back:후진 Vector3..