2022.2.0b13 버전 ( 아카이브 ) 설치
PackageManager 설치
=> + 버튼 클릭
=> Add Package By Name
=> com.unity.entities 입력
=> com.unity.entities.graphics 입력
ProjectSetting 설정
3-1. Player => other settings
=> IL2CPP / .Net FrameWork 설정
=> Scripting Define Symbol에 ENABLE_TRANSFORM_V1 추가 (Translation 사용하려면 써야 함)
3-2 Eidtor => Enter Play Mode Setting
=> Enter Play Mode Option 체크, 그리고 바로 아래 세개 중 Disable Scene Backup 만 체크
반드시 설정해야 됩니다.
1.1 LocalToWorld.Value => new float4x4(rotation, position)
1.2 LocalToParent.Value => new float4x4(rotation, position)
1.3 LocalToWorld : 월드 기준으로 엔티티의 위치, 회전, 크기 값들이 조정됨.
1.4 LocalToParent : 부모 기준으로 엔티티의 위치, 회전, 크기 값들이 조정됨.
1.5 Scale.Value => Uniform & float
1.6 NonUniformScale.Value => Non Uniform & float3
기본적으로 readonly partial에 , 필드 변수들도 죄다 readonly를 쓴다.
그러므로 IAspect의 특정 변수에 접근할 때, 프로퍼티를 만들어서 사용하면 된다.
ex.
public readonly partial struct PlayerAspect : IAspect
{
private readonly RefRW<Speed> speed;
// 프로퍼티 리턴 타입은 Speed의 value의 데이터에 따라 맞춘다.
// 아래 예시 Speed.Value : float일 때,
public float Speed
{
get => speed.ValueRO;
set => speed.ValueRW.Value = value;
}
}
var query = SystemAPI.QueryBuilder().WithAll<FooTag>().Build();
[InternalBufferCapacity()]. 이것의 Capacity(16)을 초과하면 기존 청크 외부에 새로운 배열이 만들어진다.
ex.
// it is like to List<CustomBufferElement>
DynamicBuffer<CustomBufferElement> _buffer;
foreach(var item in _buffer)
{
DoSomeThing()..
}
_buffer.Clear();