유니티/유니티 메인
-
Vector와 transform 응용, UI 표시, 효과음 삽입유니티/유니티 메인 2024. 2. 3. 17:28
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Carcontroller : MonoBehaviour { float carspeed; void Update() { if (Input.GetMouseButtonDown(0)) { carspeed = 0.1f; } transform.Translate(this.carspeed, 0, 0); this.carspeed *= 0.99f; } } 우선 전 글에서 배운걸 응용하여 클릭한번에 0.1f의 힘만큼 움직이다 서서히 멈추게 한다 carcontroller 스크립트를 만들어 car에 집어넣었다 하지만 내가 원하는건 클릭할때 움직이는것이 아닌, 마우스가 ..
-
Vector2 클래스, transform, GetMouseButtonDown유니티/유니티 메인 2024. 2. 3. 16:15
using System.Collections; using System.Collections.Generic; using UnityEngine; public class NewBehaviourScript : MonoBehaviour { void Start() { Vector2 start = new Vector2(3.0f, 5.0f); Vector2 end = new Vector2(11.0f, 15.0f); Vector2 dir = end - start; Debug.Log(dir); Debug.Log(dir.magnitude); } } Vector2는 엄연한 클래스이기 때문에 변수를 만들어준뒤 값을 넣어줘야 한다 Vector 클래스에 들어가는 값들은 float형이다 Ventor2 dir = start - end..
-
총정리 (용어정리)유니티/유니티 메인 2024. 2. 3. 02:45
과제를 하려니 지금까지 너무 대충 공부를 해왔다는게 느껴져 다시 기본부터 복습하기로 했다 Hierarchy : Scene뷰에 배치한 오브젝트 이름을 목록으로 표시 Project : 게임에서 사용하는 리소스를 관리 Inspector : Scene 뷰에서 선택한 오브젝트의 상세정보 메서드 : 길어진 스크립트를 효과적으로 관리하기 위해 의미가 있는 처리 블록으로 분해하고 이름을 붙인 각각의 처리 → 인수 : 메서드로 건네는 값 → 반환값 : 메서드에서 돌려받는 값 인수는 여러개가 들어갈수 있으나 반환값은 무조건 1개이다 인수가 없을때는 int Add() 반환값이 없을때는 void Add(int a, int b) int Add(int a, int b) { int c = a+b; return c; } [반환 데이..
-
물리엔진, 애니메이션, 씬 변환유니티/유니티 메인 2024. 2. 1. 01:25
public class Playercontrol : MonoBehaviour { Rigidbody2D rigidbody; float jumpforce = 350f; float walkforce = 30f; float maxwalkspeed = 2f; // Start is called before the first frame update void Start() { this.rigidbody = GetComponent(); } // Update is called once per frame void Update() { int key = 0 ; if(Input.GetKeyDown(KeyCode.Space)) { this.rigidbody.AddForce(transform.up * jumpforce); } //2..
-
물리엔진유니티/유니티 메인 2024. 1. 31. 02:13
고양이를 올려준뒤 Inspector 창에서 컴포넌트로 Rigidbody 2D를 추가하면 고양이에게 중력이 작용한것을 확인할수 있다 여기서 Circle Collider 2D를 추가하면 고양이 몸 주위에 원이 생성된다. 이는 충돌판정용으로 쓰인다 여기에 Box Collider까지 추가해 좀더 디테일한 충돌판정을 받아낼수 있다 구름을 추가한뒤 구름에도 Box Collider를 입힌다 실행을 하면 고양이의 하체부분이 둥글다보니 조금씩 미끄러지는것을 확인할수 있다 이것을 해결하는 방법은 두가지로, 첫번째는 정확히 가운데로 원과 사각형의 비율을 맞춰 미끄러지지 않게 하거나 아니면 Rigidbody의 Constraints에서 z축이 회전하지 않도록 고정시키는것이다 어디가 회전하는축인지 알고 싶다면 Scene창에서 2..
-
프리팹, 충돌판정 복습 & 물리엔진유니티/유니티 메인 2024. 1. 31. 01:44
오늘은 복습겸 어제 배운 프로젝트를 처음부터 다시 만들기로 했다 근데 자꾸만 스크립트를 집어넣으려고 하면 이런창이 뜨면서 스크립트 삽입이 안된다 검색을 해보니 스크립트 파일 이름과 스크립트 속 클래스의 이름이 다르다면 인식을 못한다는 이유였는데 확인을 해보니 스크립트 이름과 클래스 이름의 P의 대소문자가 서로 다른걸 확인할 수 있었다 근데 난 분명 스크립트 이름 쓸때 p를 대문자로 쓴적이 없는데 왜 이게 자꾸 이렇게 되는건지는 모르겠다 예를들어 내가 이렇게 p를 소문자로 잘 써놔도 지 맘대로 앞글자를 대문자 P로 바꿔버린다 어쨌든 클래스 이름 맨 앞을 대문자로 바꿔주니 문제해결. 걍 스크립트 이름 앞글자는 무조건 대문자로 쓰는 습관을 들여야할것같다 스크립트 삽입도 잘 되었다ㅎ 그렇게 1일차에서 만들었던 ..
-
충돌판정, 프리팹유니티/유니티 메인 2024. 1. 29. 19:12
1. 고양이가 키보드 버튼에 따라 왼쪽, 오른쪽으로 이동시키기 - playercontrol (player에 할당) public class playercontrol : MonoBehaviour { void Start() { } void Update() { if(Input.GetKeyDown(KeyCode.LeftArrow)) { transform.Translate(-2, 0, 0); Debug.Log("왼쪽으로 이동!"); } if (Input.GetKeyDown(KeyCode.RightArrow)) { transform.Translate(2, 0, 0); Debug.Log("오른쪽으로 이동!"); } } } 2. 화살 밑으로 떨구기 - arrowcontrol (arrow에 할당) public class ..