목록전체 글 (25)
GUMI Dev
GPU 현재 첨단분야와 인공지능에 GPU가 쓰이지 않는 곳이 거의 없다. 비트코인 채굴에도 GPU가 필수적이다. 이뿐만 아니라 GPU는 이제 앞으로의 메타버스 즉, 3D 가상세계를 만드는데 핵심요소가 될 것이라고 본다. GPU의 중요성이 갈수록 부각되는데 특히, 엔비디아(NVIDIA)사의 GPU에 대한 전망이 기대된다. 바로 엔비디아의 옴니버스 플랫폼에서의 실시간 원스텝 작업이다. GPU를 생산하는 회사와 표준은 각각 다르지만 엔비디아의 "옴니버스" 플랫폼에서는 표준이나 회사가 달라도 실시간으로 협업하고 릴리스할 수 있다. 엔비디아의 옴니버스 플랫폼은 쉽고 빠른 가상세계 구축의 솔루션을 제공한다. 현재 시스코(CISCO), 픽사(PIXAR, 3D 컨텐츠의 제일 주자), 오토데스크(3DS MAX, AUTO..
접근제한자는 접근 범위를 결정한다. 접근 제한자에는 public, protected, internal, private가 있다. private 선언한 클래스 내부에서만 접근이 가능하다. 중요 변수나 메소드에 사용한다. * 아무 접근자를 붙이지 않는 경우에는, private가 디폴트로 인식된다. * 대부분은 private로 선언하고 필요에 따라서 다른 접근 제한자로 변경해서 사용해도 문제없다. Default( = private) 처음 스크립트를 열면 void Start(), void Update()가 있다. 이처럼 앞에 아무것도 적혀있지 않은 변수나 메소드는 default 접근 제한자를 갖고 있다. public이 모든 곳에서 접근 가능한 접근 제한자라면, Default는 자신의 네임 스페이스까지 접근을 허용..
Transform: 오브젝트 형태에 대한 기본 컴포넌트. transform은 선언해서 초기화 할 필요가 없다. 오브젝트는 변수 transform을 항상 가지고 있다. Translate: 벡터 값을 현재 위치에 더하는 함수 스칼라 값: 순수한 값 벡터: 방향과 그에 대한 크기 값 int number = 4; //스칼라 값 Vector3 vec = new Vector3(0, 0, 0); //벡터 값(x축, y축, z축의 방향과 크기) 벡터를 사용하여 스크립트를 작성해보았다. Translate는 현재 위치 값에서 입력한 숫자만큼 더해지며, 얼만큼 이동하는지 결정한다. 아래에 같이 스크립트를 작성하면 해당 스크립트가 적용된 게임오브젝트는 x축과 y축과 z축 모두 0, 0, 0인 곳에 위치하게 된다. 만약 Vec..

GetAxis: 수평, 수직 버튼 입력을 받으면 float 우선 키보드를 눌러 횡 이동을 할 수 있도록 만들어보았다. Input Manager을 확인해보면 "Horizontal"은 키보드에서 횡(좌우 방향) 버튼으로 조작하는 것이 디폴트로 설정이 되어있다. 디폴트값을 유지하며 스크립트를 작성하고 실행해보았다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class LifeCycle : MonoBehaviour { void Update() { { if (Input.anyKeyDown) Debug.Log("플레이어가 아무 키를 눌렀습니다. "); if (Input.GetButton("Horizonta..

유니티창에서 "Edit - Project Settings - Input Manager"에서 버튼 설정이 가능하다. Axes 아래 리스트는 버튼들의 리스트이며, "Size"는 버튼의 갯수(?)를 의미한다. * Input Manager에서 기본적으로 지원하는 버튼들 외에 새로 추가하거나 변경하고자 하는 버튼이 있다면 Size 수를 늘려서 추가할 수 있다. 반대로 Size 수를 줄일 수도 있다. "Horixontal"은 횡이동 버튼이며, "Vertical"은 종이동 버튼이다. 아래 Input Manager를 보면 동작의 이름에 따라 특정 버튼이 각각 디폴트로 부여되어있다. "Positive Button"에 해당되는 버튼을 누르면 실행이 되는 식이다. "Alt Positive Button"은 "Positive ..

GetMouse: 마우스 버튼 입력을 받으면 true * GetMouse는 안에 들어가는 매개변수를 숫자(0 또는 1)로 받는다. * Input.GetMouseButton(0) 혹은 Input.GetMouseButton(1)과 같은 방식으로 표현한다. * 여기서 0은 마우스 왼쪽 버튼이며 1은 마우스 오른쪽 버튼이다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class LifeCycle : MonoBehaviour { void Update() { { if (Input.anyKeyDown) Debug.Log("플레이어가 아무 키를 눌렀습니다. "); if (Input.GetMouseButtonD..

Input: 게임 내 입력을 관리하는 클래스. 유니티 내에서 마우스 키보드 등 조작을 추가할 수 있다. anyKeyDown: 아무 입력을 최초로 받을 때 true anyKeyDown을 사용하여 간단한 스크립트를 작성해보았다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class LifeCycle : MonoBehaviour { void Update() { { if (Input.anyKeyDown) Debug.Log("플레이어가 아무 키를 눌렀습니다. "); } } } 위와 같은 스크립트를 입력하고 게임 뷰를 클릭한 뒤, 마우스를 클릭허거나 키보드를 눌러보았다. 마우스나 키보드를 한번 누를 때마다..

1. 초기화 1) 최초 Awake() Awake 함수는 게임 오브젝트를 생성할 때 최초로 한번만 실행된다. 새로운 프로젝트 창에서 실린더 도형을 추가하고 C# 스크립트를 생성했다. 여기서 생성한 C# 파일의 이름은 "LifeCycle"이라고 설정했다. 그리고 이 파일을 실린더의 Inspector에 포함시켰다. C# 스크립트에 아래와 같이 작성해보았다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class LifeCycle : MonoBehaviour { private void Awake() { Debug.Log("플레이어의 데이터가 준비되었습니다. "); } } 정상적으로 작동한다. 2) 프레임..

1. Array(배열) 먼저 간단하게 김밥천국 메뉴를 만들어보았다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class NewBehaviourScript : MonoBehaviour { // Start is called before the first frame update void Start() { Debug.Log("김밥천국"); // 배열: 가장 기본적인 고정형 그룹형 변수 string[] qimbapHeaven = { "떡볶이", "순대", "오뎅", "김밥" }; Debug.Log("김밥천국 메뉴"); Debug.Log("qimbapHeaven[0]"); Debug.Log("qimbap..

변수는 데이터를 메모리에 저장하는 장소다. int level = 5; // 정수형 데이터 float strength = 15.5; // 숫자형 데이터 string playerName = "유니티"; // 문자형 데이터. 큰따옴표 필수. bool isFullLevel = true; // 논리형 데이터. 참 혹은 거짓. // 선언: 이름을 정하는 것 // 초기화: 값을 넣는 것 // 프로그래밍의 과정: 선언 > 초기화 > 호출(사용) 예시로 유니티 C# 스크립트에 자기소개를 작성해보았다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class NewBehaviourScript : MonoBehavio..