분류 전체보기 23

[멋쟁이사자처럼 유니티 TIL] 대리자(delegate)와 이벤트 실습, 공격 모션 구현 (+ (Ctrl + H), 리타겟팅)

Delegate(대리자) : 메서드의 참조를 저장하고 필요에 따라 호출할 수 있는 형식.네임 스페이스나 클래스 내에 선언한다. 조금 더 자세한 개념은 저번 글을 보면 알 수 있다.https://snack-game.tistory.com/13 [멋쟁이사자처럼 유니티 TIL] UI 슬라이더, 체력바 구현 (+ 델리게이트(delegate), 이벤트)슬라이더 ● 생성 방법Hierarchy 에서 마우스 오른쪽 클릭  → UI → Slider 를 클릭  ● 구성 요소 슬라이더를 생성하면 자식 개체 여러 개가 함께 생성된다. - Background : 슬라이더를 비활성화 시snack-game.tistory.com  델리게이트 이해에는 실습이 직빵이다.라고 강사님이 말하셨다.  ● 델리게이트를 쓰지 않은 경우  p..

부트캠프 2024.06.12

[멋쟁이사자처럼 유니티 TIL] UI 슬라이더, 체력바 구현 (+ 델리게이트(delegate), 이벤트)

슬라이더 ● 생성 방법Hierarchy 에서 마우스 오른쪽 클릭  → UI → Slider 를 클릭  ● 구성 요소 슬라이더를 생성하면 자식 개체 여러 개가 함께 생성된다. - Background : 슬라이더를 비활성화 시켰을 때의 이미지. 슬라이더의 배경. - Fill Area : 슬라이더를 활성화 시켰을 때의 이미지. Background를 채우는 이미지. - Handle Slide Area : 슬라이더의 손잡이. 슬라이더를 마우스로 직접 작동시킬 때 필요한 버튼.  ● 구현 예시 이동 속도를 조절하는 바를 만들어보자 ① Slider를 생성한다. 이때 자동으로 Canvas도 함께 생성된다. ② 원하는 위치로 앵커를 설정한다. 본인의 경우 하단 가운데에 위치하도록 center의 bottom으로 지정하였다..

유니티 2024.06.11

[멋쟁이사자처럼 유니티 TIL] node.js을 통한 비동기 서버 구축 구현 (+ 서버 구축 관련 용어 정리, 벡터와 라디안으로 회전 구현, 비동기 프로그래밍)

벡터와 라디안 회전 구현 Mathf.Deg2Rad: Vector 변수에 곱하면 라디안으로 변환해 준다. ● 벡터를 라디안으로 변환하여 회전 구현Vector3 newDirection = Vector3.RotateTowards(transform.forward, rotDirection, rotSpeed * Mathf.Deg2Rad, 0.0f);GetComponent().MoveRotation(Quaternion.LookRotation(NewDirection));  ● 쿼터니온으로 회전 구현Quaternion newQuaternion = Quaternion.RotateTowards(transform.rotation, Qua..

부트캠프 2024.06.08

[멋쟁이사자처럼 유니티 TIL] 에셋을 통한 애니메이션 구현과 비동기 프로그래밍(코루틴, async, await)

유니티 실습 현재 사용하고 있는 무료 에셋 :https://assetstore.unity.com/packages/3d/characters/unity-chan-model-18705 Unity-Chan! Model | 3D 캐릭터 | Unity Asset StoreElevate your workflow with the Unity-Chan! Model asset from unity-chan!. Find this & other 캐릭터 options on the Unity Asset Store.assetstore.unity.com  애니메이션 구현오늘은 에셋에 포함되어 있는 걷는 모션을 구현해보았다. ① 에셋의 애니메이션에서 원하는 애니메이션을 선택한 후 ctrl + D를 눌러 복제한다.수업에서는 앞으로 뛰는 모..

부트캠프 2024.06.05

[멋쟁이사자처럼 유니티 TIL] 에셋을 이용한 보석 먹기 게임 구현 ( + 파일 경로, 링큐 등)

파일 경로- 상대적 파일 경로 지정string filePath = "yammySnack.txt"; - 절대적 파일 경로 지정   /(슬래시), \\(백슬래시), @\ 를 이용한다string filePath = "C:/yammySnack.txt";string filePath = "C:\\yammySnack.txt";string filePath = @"C:\yammySnack.txt";  파일 쓰기 배열을 이용하여 파일에 쓸 문자열 저장하고,File.WriteAllLines 를 이용하여 작성한 배열을 파일에 작성한다.// 파일 생성 경로 정의string filePath = "yammySnack.txt";// 파일에 쓰여질 문자열 배열 정의string[] lines = { "First line", "Secon..

부트캠프 2024.06.04

[멋쟁이사자처럼 유니티 TIL] 회전 및 점프 구현(+FixedUpdate와 Update의 차이)

벡터의 정규화w,a,s,d 입력이 가능하게 해놓은 상태에서 대각선으로 이동할 경우, 이동 거리가 늘어나게 되는 문제가 있음.이러한 문제를 해결하기 위해 벡터의 정규화 사용. Normalize(): 길이가 1인 벡터를 만들어줌.direction.Normalize();rotDirection.Normalize();   회전 구현① 먼저 rotDirection을 선언.② a, d를 누를 때 회전할 수 있도록 rotDirection에 값 넣기if (Input.GetKey(KeyCode.A)){ rotDirection += -transform.right;}if (Input.GetKey(KeyCode.D)){ rotDirection += transform.right;} ③ rotDirection 값이 있을..

부트캠프 2024.06.03

[c#] 별 찍기 + 피라미드, 역피라미드, 왼쪽/오른쪽 화살표

for 문을 활용하여 각종 모양의 별을 찍어보자. for 문의 형식은for ( 시작할 숫자; 실행 가능 범위(조건문); 숫자 증감) 나는 실행 가능 범위가 아니라 실행 불가능 범위로 착각해서 한참 헤맸다... 왼쪽 정렬 삼각형이중 for문 활용행이 바뀔 때 마다 별의 갯수가 달라져야 하기 때문에,이중 for문을 사용해야 한다. i=0i=1i=2i=3j=0*   j=1**  j=2*** j=3**** 이러면 i 열이 바뀔 때마다 j 행에서 별 찍기 실행 횟수를 바꿀 수 있다.int line = 5;for (int i = 0; i   2) string 특성 활용"맛있는" + "과자" 를 코드로 작성하면 맛있는 과자가 출력된다.이는 string이 사실 배열이기 때문이다.이를 활용하여 출력 후 별에 별을 더하여..

부트캠프 2024.05.29

[유니티 이론] 중요한 기능!! Deltatime 정의 및 사용법

세상에는 롤, 아크, 에펙스를 최고 사양으로 돌려도 잘 돌아가는 컴퓨터가 있으며, 메이플도 안되는 개쓰뤠기(본인이 이에 포함된다면 죄송합니다) 컴이 있다. 여기 60fps와 10fps 컴이 있다고 가정하자. (각각 1초에 60,10 프레임 씩) 만약 이 두 컴퓨터로 카트라이더를 한다면 항상 60fps 쪽이 승리할 것 이다. 만약 1프레임에 1m를 간다고 가정하면, 각각 1초에 60m, 10m를 가는 것이다. 당연히 10fps 컴은 쭈구리가 되는 것이다. 이러한 불리한 상황을 방지하기 위해 쓰는 것이 deltaTime 이다. | deltaTime 이란? Time.deltaTime: 전 프레임이 완료되기까지 걸린 시간 이를 이동거리에 곱하면 된다. 이동거리 * Time.deltaTime 을 예시에 적용하면,..

유니티 2024.01.23

[유니티 기초] 버튼 입력 방식으로 물체 이동하기 - GetButton, Transform

저번 강의에 글에 이어 이번에는 버튼 입력 방식을 알아보자 | 버튼 방식 Edit ▶Project Settings ▶InputManager 에 들어가면 유니티에서 기본적으로 설정되어 있는 버튼들을 볼 수 있다. 이런 버튼들을 사용할 수 있게끔 하는 함수가 GetButton 이다. GetButton: Input 버튼 입력을 받으면 true 반환 if (Input.GetButton("Jump")) Debug.Log("점프 모으는 중..."); if (Input.GetButtonUp("Jump")) Debug.Log("슈퍼 점프!!!"); if (Input.GetButton("Fire1")) Debug.Log("불을 쏘았습니다."); 내가 원하는 입력을 InputManager에 지정하고 싶을 경우, Axies..

유니티 2024.01.23

[유니티 기초] Input 으로 키보드, 마우스 입력 기능 넣기

Input: 게임 내의 입력을 관리하는 클래스 Input은 클래스이다. 그러므로 점을 이용하여 Input의 함수를 부를 수 있다 ex) Input.함수 함수를 알아보자 | 입력 방식 유니티의 입력 방식은 총 3가지 Down: 누름 Stay: 누른 상태 Up: 뗌 예를 들어, 엔터 키를 눌러 들어가면 Down 적용. 엔터 키를 계속 누르고 있으면 Stay 적용. 손을 떼 엔터 키가 나오면 Up 적용. | 키보드 입력 anyKeyDown: 아무 키 입력을 최초로 받을 시 true 값 반환 anyKey: 아무 키 입력을 받을 시 true 값 반환 void Update(){ if (Input.anyKeyDown) Debug.Log("아무 키를 눌렀습니다."); if (Input.anyKey) Debug.Log(..

유니티 2024.01.21