«entity-system» 태그된 질문

게임 오브젝트 (엔티티)가 구성 요소로 구성되어 시스템에 의해 운영되는 프로그래밍 패러다임입니다. 각 엔티티는 특정 구성 요소를 가리키는 ID입니다.

1
컴포넌트 기반 엔터티 아키텍처에서 "시스템"의 역할은 무엇입니까?
엔터티 구성 요소 및 시스템에 대해 많이 읽었으며 엔터티가 ID라는 아이디어는 매우 흥미 롭습니다. 그러나 이것이 어떻게 구성 요소 측면이나 시스템 측면에서 완벽하게 작동하는지 모르겠습니다. 구성 요소는 일부 관련 시스템에서 관리하는 데이터 개체 일뿐입니다. 충돌 시스템은 일부 BoundsComponent를 공간 데이터 구조와 함께 사용하여 충돌이 발생했는지 확인합니다. 지금까지는 좋았지 만 여러 …

9
엔티티 커뮤니케이션은 어떻게 작동합니까?
두 가지 사용자 사례가 있습니다. 메시지를 어떻게 entity_A보내 시겠습니까? take-damageentity_B 의 HP 는 어떻게 entity_A문의 entity_B합니까? 지금까지 내가 만난 것은 다음과 같습니다. 메시지 대기열 entity_Atake-damage메시지를 작성하여 entity_B의 메시지 큐에 게시합니다 . entity_Aquery-hp메시지를 작성하여에 게시합니다 entity_B. entity_B답례로 response-hp메시지를 작성하여에 게시합니다 entity_A. 발행 / 구독 entity_Btake-damage메시지를 구독 합니다 (일부 선제 필터링으로 관련 …

1
실질적으로 컴포넌트 기반 엔터티 시스템 사용
어제 GDC Canada에서 속성 / 행동 엔터티 시스템에 대한 프레젠테이션을 읽었으며 꽤 훌륭하다고 생각합니다. 그러나 이론적으로뿐만 아니라 실제로 사용하는 방법을 잘 모르겠습니다. 우선이 시스템의 작동 방식을 신속하게 설명하겠습니다. 각 게임 개체 (게임 오브젝트)가 구성되어 속성 과 (또한 "외부 코드"에 의해 동작에 의해 액세스 될 수 = 데이터) 동작 (포함 = …

3
엔터티 구성 요소 시스템 엔진에서 종속 엔터티 그룹을 어떻게 처리합니까?
몇 가지 게임 디자인 패턴을 살펴본 후, 나는 게임 엔진을 위해 Entity-Component-System (ES 시스템)으로 정착했습니다. 기사 (주로 T = Machine )를 읽고 일부 소스 코드를 검토 한 후 시작하기에 충분하다고 생각합니다. 내가 고투하고있는 기본 아이디어는 하나뿐입니다. 서로 의존하는 엔터티 그룹을 어떻게 처리합니까? 예를 들어 보겠습니다. 표준 오버 헤드 슈터 ( …

4
C ++의 엔터티 / 구성 요소 시스템, 유형을 검색하고 구성 요소를 어떻게 구성합니까?
C ++에서 엔티티 구성 요소 시스템을 작업 중이며 Artemis (http://piemaster.net/2011/07/entity-component-artemis/)의 스타일을 따르기를 희망합니다. 구성 요소는 대부분 데이터 백이며 논리가 포함 된 시스템 이 접근 방식의 데이터 중심성을 활용하고 멋진 콘텐츠 도구를 만들고 싶습니다. 그러나 내가 겪고있는 하나의 혹은 데이터 파일에서 식별자 문자열이나 GUID를 가져 와서 엔티티의 구성 요소를 구성하는 방법입니다. …

1
엔터티 시스템은 어떻게 캐시 효율적입니까?
최근엔 엔터티 시스템에서 C ++ / OpenGL 게임 엔진에 구현하기 위해 많은 독서를 해왔습니다. 엔터티 시스템에 대해 끊임없이 찬사를받는 두 가지 주요 이점은 다음과 같습니다. 복잡한 상속 계층 구조에 얽매이지 않아도되므로 새로운 유형의 개체를 쉽게 구성 할 수 있습니다. 캐시 효율성으로 인해 이해가 어렵습니다. 물론 이론은 간단하다. 각 구성 요소는 …

5
엔터티 시스템에서 기능을 어떻게 구현합니까?
엔터티 시스템 ( 1 , 2 ) 에 대해 두 가지 질문을 하고 그에 대한 기사 를 읽은 후에는 이전보다 훨씬 더 잘 이해한다고 생각합니다. 주로 파티클 이미 터, 입력 시스템 및 카메라를 만드는 것에 대한 몇 가지 불확실성이 있습니다. 나는 여전히 엔티티 시스템을 이해하는데 약간의 문제가 있으며, 그것들은 완전히 …

3
구성 요소 기반 엔터티 시스템에서 메시지 처리를 올바르게 구현하는 방법은 무엇입니까?
다음과 같은 엔티티 시스템 변형을 구현하고 있습니다. Entity 클래스 ID를보다 조금 더 그 바인딩 구성 요소를 함께 "구성 요소 논리"가없고 데이터 만 있는 여러 구성 요소 클래스 많은 시스템 클래스 (일명 "서브 시스템", "관리자"). 이것들은 모든 엔티티 로직 처리를 수행합니다. 대부분의 경우 시스템은 관심있는 엔티티 목록을 반복하고 각 엔티티에 대해 …

5
구성 요소 기반 시스템에서 파워 업 수행
구성 요소 기반 디자인에 대한 생각을 시작했습니다. 나는 이것을하는 "올바른" 방법 이 무엇인지 모른다 . 시나리오는 다음과 같습니다. 플레이어는 방패를 장착 할 수 있습니다. 방패는 플레이어 주위에 거품으로 그려지며 별도의 충돌 모양을 가지며 영역 효과로 인해 플레이어가받는 피해를 줄입니다. 이러한 방패는 구성 요소 기반 게임에서 어떻게 설계됩니까? 내가 혼란스러워하는 곳은 …

4
컴포넌트 기반 아키텍처에 적합한 레벨의 세분성은 무엇입니까?
컴포넌트 기반 아키텍처로 게임을하고 있습니다. 은 Entity세트 소유 Component의 세트가 각각의 경우, Slot저장, 전송, 및 값을 수신 할 수있는 인스턴스. Player필수 구성 요소 및 슬롯 연결이있는 엔티티를 생성하는 등의 공장 기능 . 구성 요소에 대한 최상의 세부 수준을 결정하려고합니다. 예를 들어, 지금 Position, Velocity그리고 Acceleration직렬로 연결된 모든 별도의 구성 요소입니다. …

6
사용자 친화적이지만 여전히 유연한 구성 요소 기반 엔터티 시스템에는 어떤 설계가 있습니까?
나는 구성 요소 기반 엔터티 시스템에 잠시 동안 관심이 있었고 그것에 대한 수많은 기사를 읽었습니다 ( 불면증 게임 , 표준 Evolve Your Hierarchy , T-Machine , Chronoclast ...). 그들은 모두 다음과 같은 외부에 구조를 가지고있는 것 같습니다. Entity e = Entity.Create(); e.AddComponent(RenderComponent, ...); //do lots of stuff e.GetComponent<PositionComponent>(...).SetPos(4, 5, 6); …

5
O (N ^ 2) 함수 개선 (모든 다른 엔티티를 반복하는 모든 엔티티)
약간의 배경 지식으로, 엔터티 시스템에 ENTT를 사용하여 C ++에서 친구와 함께 진화 게임 을 코딩하고 있습니다. 생물은 2D지도에서 걸어 다니고, 녹색이나 다른 생물을 먹고, 번식하고 그 특성을 변화시킵니다. 또한 게임이 실시간으로 실행될 때 성능은 양호하지만 (60fps 문제 없음) 중요한 변경 사항을보기 위해 4 시간을 기다리지 않아도 속도를 크게 높일 수 …

2
구성 요소 기반 시스템 온라인 리소스 [닫기]
휴무 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 2 년 전 . 내 게임에서 더 많은 구성 요소 기반 접근 방식으로 전환하는 것을 고려하고 있습니다. 다른 사람이이 전환을 조금 …

2
C ++ Entity-Component-Systems의 구성 요소에 올바르게 액세스하려면 어떻게해야합니까?
(내가 설명하는 것은이 디자인을 기반으로합니다 : 엔티티 시스템 프레임 워크는 무엇입니까? , 아래로 스크롤하면 찾을 수 있습니다) C ++에서 엔터티 구성 요소 시스템을 만드는 데 문제가 있습니다. 컴포넌트 클래스가 있습니다 : class Component { /* ... */ }; 실제로 다른 구성 요소를 작성하기위한 인터페이스입니다. 따라서 커스텀 컴포넌트를 만들려면 인터페이스를 구현하고 …

3
엔터티 시스템에서 UI / HUD를 코딩하는 방법은 무엇입니까?
나는 이미 Adam Martin (t-machine)에서 영감을 얻은 엔티티 시스템에 대한 아이디어를 얻었습니다. 다음 프로젝트에 이것을 사용하고 싶습니다. 엔터티, 구성 요소 및 시스템의 기본 사항을 이미 알고 있습니다. 내 문제는 UI / HUD를 처리하는 방법입니다. 예를 들어, 퀘스트 창, 스킬 창, 캐릭터 정보 창 등. UI 이벤트를 어떻게 처리합니까 (예 : …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.