Unity 10

적의 HP바 구현

1. Canvas추가 후 월드 스페이스로 지정 2. 몬스터 위치에 맞게 HP바 놓기. 3. 스크립트 내역 UI에 접근하기 위해 네임 스페이스 설정 슬라이더 불러오기 변수명 지정 HP, 슬라이더바의 체력과 맥스체력 지정, 슬라이더의 초기값과 목표 값 초기화 맞았을 때의 체력 변화 값 = Mathf.Lerp(초기값, 입은 데미지값, 부드럽게) 슬라이더 바 = 값 맞고나면 자연스럽게 깎이는 걸 볼 수 있다.

Unity 2023.10.11

Unity 정리사전

Gizmo 씬 창에서 편집을 수월하게 하기위한 개발자 도구라고 볼 수 있다. 접근 지시자 private 바깥에서 안보인다. public 바깥에서 보인다. protected 자식들은 보이지만 바깥에서는 보이지 않는다. Input 함수 : 입력에 따른 값 https://docs.unity3d.com/kr/530/ScriptReference/Input.html *Input.GetAxis(); 자주 쓰이는 입력방식 velocity 속도 GetComponent(); public은 기획자나 누군가가 실수로 변형할 수 있다. 연결고리가 없기 때문에 이 함수를 통해서 코드내로 가져올 수있다. Time.daltaTime : 1초에 60프레임으로 고정한다. 컴퓨터에 따라서 초당 프레임 횟수가 다르기 때문에 고정값을 지정하..

Unity 2023.08.30

인터페이스, 추상클래스, 프로퍼티

인터페이스 인스턴스(객체)를 만들 수 없는 특별한 클래스이다. 함수를 지정해주고 함수를 무조건 받아야한다. 사용은 보통 아이템에 추천한다. public interface IItem { void Use(); } 만약 인터페이스를 사용하지 않는다면 playar에게 item에 관한 정보를 GetComponent를 하고 if문으로 계속 작성해야 할 것이다. 한마디로 노가다이다. 하지만 인터페이스를 활용함으로서 Use()라는 함수를 가지고 있는 item들을 모두 적용할 수 있다. Use라는 함수는 그저 통로에 불과하며, Use를 받은 모든 아이템들은 각각 자신만의 속성을 가지고 있다. 추상클래스 인터페이스와 달리 어느정도 실제 구현부분을 포함할 수 있다. 인터페이스처럼 모든 자식이 껍데기를 가지고 있다. publ..

Unity 2023.08.18

raycast, 상속, 다형성, 오버라이드

raycast 어떤 위치에서 광선을 발사해서 닿는 물체가 있는 지 검사하는 역할. 상속 상속은 기존의 클래스(부모 클래스 또는 상위 클래스)를 확장하거나 재사용하여 새로운 클래스(자식 클래스 또는 하위 클래스)를 생성하는 것입니다. 자식 클래스는 부모 클래스의 멤버(필드, 메서드, 프로퍼티 등)를 상속받아 사용할 수 있습니다. 상속을 통해 부모 클래스의 기능을 확장하거나 수정하여 새로운 클래스를 정의할 수 있습니다. 자식 클래스는 상속받은 부모 클래스의 멤버에 접근할 수 있으며, 이를 통해 부모 클래스의 기능을 재사용할 수 있습니다. 다형성 같은 이름의 메서드나 연산자가 서로 다른 클래스에서 다르게 작동할 수 있는 능력을 말합니다. 재사용, 유연성 상속은 받되, 자신이 가져야 할 정보를 오버라이딩 할 수..

Unity 2023.08.17

오버로드, static, 싱글톤, 코루틴

오버로드 함수의 이름은 똑같이 하되, 함수가 받는 입력이나 출력을 달리한다. 내부의 동작은 비슷한데 이름을 굳이 쪼개긴 그래서 사용됨. static 개별로 존재하지 않고 모든 오브젝트들이 공유하는 단 하나의 변수. 개별로 가지고 있기에는 어색한 변수나 함수. 싱글톤 단 하나만 존재하고 언제 어디서든 접근해야할 때 사용되는 디자인패턴 중 하나이며, static을 사용한다. 코루틴 1. 처리 중간에 대기시간을 삽입할 수 있다. 2. 동시의 코루틴을 돌릴 수 있다. 병렬의 처리를 할 수 있다.

Unity 2023.08.17

230816

transform.Rotate(0, 0, 0); transform에 있는 회전을 의미한다 Application.targetFrameRate Unity에서 사용되는 설정값으로, 게임이 목표로 하는 (프레임 속도)를 제어하는 데 사용됩니다. this.rotSpeed *= 0.96f; 자연스럽게 감소하는 것을 확인할 수 있다. transform.Translate(this.speed, 0, 0); 클래스의 메서드 중 하나로, 게임 오브젝트를 주어진 방향으로 이동시키는 데 사용됩니다. 이 메서드는 지정된 방향 벡터에 따라 오브젝트를 이동시킵니다. * Vector3 startPos; Vector 변수로 지정할 수도 있다. this.car = GameObject.Find("car"); Find는 유니티 씬 안에서 오..

Unity 2023.08.16

230815

다시 공부 복습!!! Vector3 벡터는 크기와 방향을 가지는 수학적 개념으로, 게임과 그래픽스 분야에서 많이 활용됩니다. Input.GetMouseButtonDown(0) 마우스 클릭 시에 동작하는 Unity함수 0: 왼쪽 마우스 버튼 1: 오른쪽 마우스 버튼 2: 가운데 마우스 버튼 또는 휠 버튼 * 마이너스로 곱하면 마이너스의 값으로 변환됨. 0.05f x -1 = -0.05f 1.0f x -1 = -1.0f 5 * -10 = -50 Rigidbody : 무게 Circle Collider : 충돌감지 *충돌하기 위해서는 한 쪽은 Rigidbody가 있어야한다. OnCollisionEnter는 Collier의 내장함수로 Destroy(); : 부딪친 경우에 삭제한다. Random.Range() 랜덤..

Unity 2023.08.16

230811

카드만들기 For문 일정한 값에 따라 계속 반복해주는 것 for (int i = 0; i < 16; i++) # i가 16이 될 때까지 반복해서 생성해줘. { GameObject newCard = Instantiate(card); #newCard 변수지정 newCard.transform.parent = GameObject.Find("cards").transform; } #cards라는 곳에 지정 float x = (i / 4) * 1.4f - 2.1f; float y = (i % 4) * 1.4f - 3.0f; newCard.transform.position = new Vector3(x, y, 0); list 만들기 int[] rtans = { 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, ..

Unity 2023.08.11

230810

InvokeRepeating : 호출반복 Instantiate(food, new Vector3(x,y,0), Quaternion.identity); Quaternion : 회전 if (transform.position.y > 26.0f) { Destroy(gameObject); // 화면 밖에 나가면 지우는 코드 } Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); 마우스 포지션 불러오는 것. * cmd + D : 바로 복사 에너지바를 만들 때 Pivot 설정하기 float x = Random.Range(-8.5f, 8.5f); float y = 30f; transform.position = new Vector3(x, y, 0..

Unity 2023.08.10