분류 전체보기(158)
-
[unity] 코루틴이 비동기적인 것처럼 보이는 이유
유니티에서 코루틴(Coroutine)을 열거자(Enumerator)로 선언하는 이유는, 코루틴이 유니티의 게임 루프와 비동기적으로 작동하기 때문입니다. 정확하게는 비동기적인 것처럼 실행되는 것이다. 실제로는 유니티의 메인 스레드에서 순차적으로 실행되며, 진정한 비동기적 작업(즉, 멀티쓰레드에서 동시에 실행되는 작업)은 아니다.비동기적 "처럼" 보이는 이유유니티의 코루틴은 메인 스레드에서 동작하면서도, yield return 을 통해 특정 지점에서 일시 정지하고 특정 조건이 충적되면 다시 재개한다. 이 일시 정지 상태동안, 다른 작업들이 스레드에서 계속 실행될 수 있기 때문에, 마치 비동기적인 작업처럼 느껴지는 것이다. yield 키워드IEnumerator 코드를 특정 지점에서 멈추게 할 수 있는 이유는 ..
2024.10.20 -
별이되어라2: 베다의 기사들
프로젝트 소개장르: MO Action RPG엔진: 유니티 Engine플랫폼: Mobile / PC담당 업무컨텐츠 시스템 구축 - 이벤트 통합 관리 시스템, 2D좌표계 원통형 회전 시스템 구현 신규 컨텐츠 제작 - 성장 아이템 소환 플랫폼, 장비 제작 컨텐츠컨텐츠 UI 리뉴얼 및 담당 시스템 유지보수[ 컨텐츠 시스템 구축 - 이벤트 통합 관리 시스템]설명게임 내 제공하는 모든 이벤트를 한 곳에서 이동 및 관리할 수 있는 통합 시스템을 구축신규 기능 추가유, 무료 이벤트 분리 기능 추가출석체크 이벤트 추가레벨 달성 이벤트 추가미션 이벤트 추가컨텐츠 소개 이벤트 페이지 추가광륜, 엘시드, 창세의 무구 소환 이벤트 추가[ 컨텐츠 시스템 구축 - 2D좌표계 원통형 회전 시스템 구현]설명2D좌표계에서 오브젝트를..
2024.10.06 -
interface는 인스턴스는 못 만들지만 참조는 만들 수 있다?
c#에서 인터페이스는 인스턴스를 만들 수 없지만 참조를 만들 수 있다. 즉, 인터페이스 자체로는 객체를 생성할 수 없지만, 인터페이스를 구현한 클래스의 객체는 인터페이스 타입의 변수를 할당하여 사용할 수 있다는 뜻이다.이를 이해하기 위해 클래스와 인터페이스의 차이를 예제로 설명해보자.public class Dog{ public void Bark() { Console.WriteLine("Woof!"); }}Dog dog = new Dog(); // 클래스의 인스턴스를 생성dog.Bark(); // 출력: Woof!여기서 Dog 클래스는 Bark 메서드를 가지고 있으며, Dog 클래스를 사용해 dog 라는 객체를 만들고 Bark() 메서드를 호출할 수 있다. 즉 Dog 클래스..
2024.10.03 -
어셈블리어에 대한 개념 정리
어셈블리어어셈블리어 : 컴퓨터 언어는 0과 1로 구성된 기계어이다. 이를 사람이 이해하긴 어렵다. 예를 들어 '01001100 00001000 10000001 10010000' 같은 기계어 명령어를 어셈블리어에서는 'MOV'라고 하면 된다. 물론 컴퓨터는 'MOV' 라는 명령어를 전혀 이해하지 못한다. 컴퓨터는 0과 1만 알아듣기 때문이다. 그래서 이 어셈블리어는 일종의 번역 과정을 거쳐 컴퓨터가 이해하는 기계어 코드로 변환되는데, 이것을 컴파일 이라고 한다.프로그래머가 어셈블리어로 프로그램 코드를 작성한 후 컴파일러라는 소프트웨어를 이용하여 실행 파일을 만들어내는데, 이 실행 파일이 바로 프로그램이다. 어셈블리어처럼 프로그램을 작성하기 위해 만들어진 인공 언어 체계를 '프로그래밍 언어'라고 한다. 어..
2024.09.28 -
[Unity] Unity의 enabled, isActiveAndEnabled 및 activeInHierarchy의 차이점
https://stackoverflow.com/questions/40708014/difference-between-enabled-isactiveandenabled-and-activeinhierarchy-in-unity
2023.05.11 -
[Unity] 현재 실행중인 애니메이터의 길이를 구하는 방법 GetCurrentAnimatorStateInfo
현재 실행 중인 애니메이터의 길이를 얻으려면 Animator 컴포넌트의 GetCurrentAnimatorStateInfo 메서드를 사용하여 현재 상태 정보를 가져와야 합니다. 이 메서드는 현재 애니메이터 상태에 대한 정보를 반환합니다. 다음은 C# 코드의 예입니다. Animator animator = GetComponent(); AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo(0); float length = stateInfo.length; 이 코드에서 animator 변수는 현재 게임 오브젝트에서 Animator 컴포넌트를 가져오기 위해 사용되고, GetCurrentAnimatorStateInfo 메서드는 현재 애니메이터 상태에 대..
2023.02.22