목록전체 글 (40)
A-Dyu의 개발 일기장

RequireComponent 어트리뷰트는 컴포넌트에 대한 종속성을 추가시킬떄 사용됩니다.예를 들어, 제가 만드는 컴포넌트는 Rigidbody를 사용합니다.하지만 이 컴포넌트를 추가한 게임오브젝트에 Rigidbody가 없으면 당연히 에러가 나겠죠.using UnityEngine;public class Test : MonoBehaviour{ Rigidbody rigid; private void Awake() { rigid = GetComponent(); }}그럴 때 "이 컴포넌트는 다른 컴포넌트가 꼭 필요하다!"라고 알려주는게 RequireComponent 어트리뷰트입니다.RequireComponent 어트리뷰트를 클래스에 추가시키겠습니다using UnityEditor;u..

CreateAssetMenu 어트리뷰트는 새로운 Scriptable 파일을 만들 때 메뉴에서 생성시킬 수 있는 옵션을 추가해줍니다. 사용법은 Scriptable 클래스에 CreateAssetMenu 어트리뷰트를 추가해줍니다.using UnityEngine;[CreateAssetMenu(fileName = "EntityData", menuName = "EntityScriptable/EntityData", order = int.MaxValue)]public class Test : ScriptableObject{ [SerializeField] int MaxHP; [SerializeField] float Damage;}각각의 인자는 다음의 역할을 합니다.fileName파일을 생성했을 때 파일 이름의 ..

유니티의 인스펙터 창에서 컴포넌트의 함수를 실행시키고 싶을 때가 있습니다.그럴 때 실행시키고 싶은 메서드에 ContextMenu 어트리뷰트를 추가해 인스펙터 창에서 실행시킬 수 있습니다.using UnityEngine;public class Test : MonoBehaviour{ [ContextMenu("Do Something")] private void DoSomething() { Debug.Log("Invoke this function"); }} 이후 유니티에 들어가 컴포넌트의 메뉴를 열면 ContextMenu의 생성자의 인수로 넣은 Do Something이 메뉴에 추가되었습니다.실행시키면 로그에 정상적으로 출력이 되는걸 확인할 수 있습니다.컴포넌트의 메서드를 실행시..
유니티 기본 폰트를 가져오고 싶을 때가 있다.그럴 때 사용하는 것이 Resources.GetBuiltinResource메서드다.using UnityEngine;public class Test : MonoBehaviour{ Font Font; private void Awake() { //유니티 기본 폰트 가져오기 //타입을 인자로 가져오기 Font = (Font)Resources.GetBuiltinResource(typeof(Font), "LegacyRuntime.ttf"); //제네릭 메서드로 가져오기 Font = Resources.GetBuiltinResource("LegacyRuntime.ttf"); }}
유니티에서 기본적으로 제공하는 shape은 Cube, Sphere, Capsule등 여러가지 있다.이런 도형들을 런타임 시점 때 생성할 수 없을까?정답은 GameObject.CreatePrimitive 메서드를 사용하면 된다.using UnityEngine;public class Test : MonoBehaviour{ void Update() { //Sphere 생성 GameObject.CreatePrimitive(PrimitiveType.Sphere); //Cube 생성 GameObject.CreatePrimitive(PrimitiveType.Cube); //Capsule 생성 GameObject.CreatePrimi..
유니티에서 UI를 클릭할 떈 마우스 입력을 받지 않아야 할 때가 있다. 그럴 때 EventSystem의 IsPointerOverGameObject메서드를 쓰면 된다.IsPointerOverGameObject는 EventSystem object위에 있다면 ture를 반환한다.using UnityEngine;using UnityEngine.EventSystems;public class Test : MonoBehaviour{ void Update() { //UI 위에 마우스가 올려져 있다면 ture Debug.Log(EventSystem.current.IsPointerOverGameObject()); }} IsPointerOverGameObject는 인자로 pointe..
주석이란?주석이란 코드에 메모하는 구역이라고 생각하시면 됩니다.주석 처리된 부분은 코드에서 무시됩니다.//를 사용하며 한줄 주석을 만들수 있으며/* ~내용~ */을 사용하며 여러 줄 주석을 만들 수 있습니다//한 줄 주석입니다/*여러 줄주석입니다*/주석을 사용하며 소스 코드에 중요한 부분을 메모하거나 무언가를 임시적으로 수정할때 원본 코드를 중석처리해 넣기도 합니다. 변수란? 변수는 "어떠한 값"을 담아놀 수 있는 공간입니다.그리고 어떠한 값이 들어가냐에 따라서 모양이 달라지는데 그걸 "자료형"이라고 합니다 C#에서 변수를 선언할땐 자료형을 쓰고 변수명을 입력합니다;변수명엔 언더바,알파벳,숫자로 구성할 수 있으며 숫자로 시작할 수 잆습니다 ;그 후, = 을 사용해 값을 지정할 수 있습니다 = ;선언과 초..

C#은 마이크로소프트에서 개발한 객체 지향 프로그래밍 언어입니다,Java랑 C++의 영항을 받았으면 .Net기반의 프로그래밍 언어입니다. 개발 환경 구성 : Visual Studiohttps://visualstudio.microsoft.com/ko/downloads/ Visual Studio Tools 다운로드 - Windows, Mac, Linux용 무료 설치Visual Studio IDE 또는 VS Code를 무료로 다운로드하세요. Windows 또는 Mac에서 Visual Studio Professional 또는 Enterprise Edition을 사용해 보세요.visualstudio.microsoft.com 위 링크로 들어가 커뮤니티 버전을 다운받아주세요이 창이 뜨면 "계속"을 눌러주세요 "사..