목록Dev. Study Note/Unity (49)
Priv's Blog
키보드 조작으로 캐릭터 움직임 구현 시, horizontal과 vertical 변수를 이용하는 것이 가장 기초적인 방법이다. Vector 변수를 2개 생성해 좀 더 코드를 간략하게 줄이는 방법이 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 // Player Move float horizontal = Input.GetAxis("Horizontal"); float vertical = Input.GetAxis("Vertical"); Vector2 move = new Vector2(horizontal, vertical); Vector2 Position = rigidbody2D.position; //Position.x = (Position.x + Speed * horizontal * Time.de..
transform.position을 이용해 캐릭터를 움직일 경우, 충돌 발생 시 떨림 현상이 발생할 수 있음. 물리 계산 과정에서 발생하는 것으로, rigidbody를 사용하면 해결 가능. (아래 코드 참고) 추가) 충돌 이후 비 정상적으로 캐릭터가 떨리면서 움직임이 제대로 제어가 되지 않는 현상이 발생할 경우, Rigidbody 컴포넌트에서 Freeze Rotatiton이 체크되어 있는지 확인할 것. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 public class RubyController: MonoBehaviour { // Start is called before the first frame update void Start() { } // Upd..
void Update() { // Player Move float horizontal = Input.GetAxis("Horizontal"); float vertical = Input.GetAxis("Vertical"); Vector2 Position = transform.position; Position.x = (Position.x + Speed * horizontal * Time.deltaTime); Position.y = (Position.y + Speed * vertical * Time.deltaTime); transform.position = Position; // Player Sight Vector2 PlayerPos = transform.position; Vector2 MousePos = Ca..
1) 변수의 유효범위 확인 방법 선언된 변수가 소속된 가장 가까운 중괄호를 찾아라. 선언된 클래스/함수 내에서만 유효함 2) 배열 선언 방법 int[] points; (배열의 크기는 지정되지 않은 상태.) 3) new 키워드란? ‘만든다’ 라는 뜻에 가깝게 사용된다. (만약 배열을 선언한다면, new를 이용해 필요한 배열 크기를 지정해야 함) int[] points = new int[5]; (points라는 이름의 0~4까지의 배열을 만든다.) 4) 배열 호출 방법 points[2]; (points 이름의 배열에서 3번째 항목을 불러온다.) 배열은 항상 0부터 시작함에 주의할 것. int[] array = {2, 3, 4, 5, 6}; (배열 크기 선언 + 배열 요소 선언을 동시에 진행하는 방법.) 요소..
출처 UNITY-CHAN! OFFICIAL WEBSITE ユニティちゃん公式ウェブサイトです。ユニティちゃんの各種データダウンロードやイベント、最新情報などをお届けします。 unity-chan.com Unity Japan에서 제작한 Unity 공식 대표 캐릭터, Unity-Chan (유니티 짱)이 있습니다. 해당 캐릭터를 사용한 에셋들을 배포하고 있어서 게임 제작에 사용할 수도 있죠. 유니티 짱에 대한 자세한 내용은 상단의 출처 링크를 참고하세요. (다운로드, 설정 아트 등을 다운로드 받을 수 있으며, 영어와 일어를 지원합니다.) 여기서 배포하는 에셋을 적용시켜보면 'Directional light for UnityChan' 이라는 이름의 Light가 있습니다. 초기 설정대로 이 라이트를 적용시키면, 아래 사진처럼 ..
출처 Unity3d 현재 씬을 다시 불러오는 방법 유니티에서 현재 씬을 다시 불러오는 방법에 대한 설명 lonpeach.com 유니티 버전에 따라 Scene을 로드하는 방법이 조금씩 달라졌습니다. 5.3 버전 이상인지, 이전인지에 따라 달라지니, 확인 후에 참고하시기 바랍니다. - 5.3 버전 이상 일단 아래의 코드를 최상단에 추가해주세요. using UnityEngine.SceneManagement; 5.3 버전부터는 Application.LoadLevel를 사용하지 않습니다. 그 대신 아래의 코드를 사용해야 합니다. SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex); 최상단에 using 코드를 추가해주어야 사용할 수 있습니다. 빼놓지 ..
1) GetButtonDown("ButtonName"); KeyCode가 아니라, ButtonName으로 작동되므로 주의 ButtonName은 사용자가 미리 세팅해야 한다. Edit -> Project Settings -> Input 으로 가면, 미리 설정된 ButtonName을 볼 수 있고, 사용자가 직접 설정할 수도 있다. 동작 방식은, 버튼을 누르는 순간 1회 True가 발생하는 방식이다. 2) GetButton("ButtonName"); GetButtonDown()과 유사한 GetButton() 함수도 ButtonName으로 작동된다. GetButtonDown()과의 차이점은 동작 방식이다. GetButton은 버튼을 누르고 있는 동안 계속해서 True가 발생하는 방식이다. 유니티 매뉴얼을 보면,..
1 animator.SetFloat("Speed", characterController.velocity.magnitude); str로 작성된 Speed라는 Parameter의 Float 값을 characterController.velocity.magnitude 값으로 바꾼다. SetFloat은 말 그대로 실수 값을 설정하는 함수. Animator 컴포넌트에 포함된 함수로, SetFloat 외에도 SetInteger나 SetTrigger 등등 종류가 다양하다. Parameter에 설정할 수 있는 값에 따라 달라지는 듯. 함수 구성을 보면, SetFloat("Parameter 이름", Parameter의 float 값을 변경할 데이터) 이런 식이다.