목록Dev. Study Note (179)
Priv's Blog
1) 마우스의 벡터 값에 캐릭터의 벡터 값을 빼서 방향을 알아낸다. 2) 알아낸 방향을 Vector 변수에 저장한다. 3) 마우스를 클릭했을 때, 발사체(총알)을 복제해낸다. 4) 각각의 발사체 게임오브젝트에는 총알 이동과 충돌 시, 총알 사라짐 등을 구현할 스크립트가 할당되어 있다. 5) 복제된 발사체의 스크립트를 GetComponent. (프리팹의 컴포넌트를 가져오면 아무 소용이 없다.) 6) 발사체에 연결된 스크립트 내에 총알 발사를 위한 함수를 인자에 맞게 호출 7) 발사체에 할당되어 있는 스크립트에서는 6단계에서 전달 받은 인자에 맞게 총알을 이동시켜야 한다. rigidbody2D.AddForce(Vector2)를 이용하면 이동시킬 수 있다. 8) 충돌이 발생할 경우, 총알이 사라지도록 만들어야..
RGB 게임 제작하면서 추가한 기능. 게임 플레이 도중에 스프라이트를 변경하는 코드를 응용해 구현했다. (중간 부분만 따로 자르기가 애매해서 전체 다 업로드) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 using..
키보드 조작으로 캐릭터 움직임 구현 시, 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 코드를 추가해주어야 사용할 수 있습니다. 빼놓지 ..