에셋
Quantum 에셋은 인덱스된 데이터베이스 내에서 변하지 않는 인스턴스로 끝나는 데이터 기반 컨테이너를 정의하는 기능입니다.
ConfigAssets
ConfigAssets
에셋에는 시작 시 게임을 구성하는 데 필요한 기타 모든 구성 자산에 대한 참조가 있습니다. 초기화 자산의 구성을 유니티에서 중앙 집중화하고 Quantum에서 직렬화하는 데 사용됩니다. 또한 게임에 새로운 유형의 데이터 에셋 및/또는 인스턴스를 추가하는 프로세스를 단순화합니다.
새 사용자 지정 데이터 자산 ConfigAssets
을 추가하려면 ConfigAssets.cs
에 AssetRefYourNewAsset
유형의 공용 필드를 추가하고 프로젝트를 빌드하고 사용자 지정 에셋 인스턴스를 유니티의 ConfigAssets
인스턴스의 일치하는 필드로 드래그하세요.
C#
public partial class ConfigAssets
{
public AssetRefGameConfig GameConfig;
public AssetRefTurnConfig StartCountdownConfig;
public AssetRefTurnConfig PlayTurnConfig;
public AssetRefTurnConfig CountdownTurnConfig;
}
게임 초기화에 사용되는 ConfigAssets
은 RuntimeConfig.User.cs
에서 시리얼 라이즈 됩니다.
C#
partial class RuntimeConfig {
public AssetRefConfigAssets ConfigAssets;
public Boolean IsLoadedGame;
partial void SerializeUserData(BitStream stream)
{
stream.Serialize(ref ConfigAssets.Id);
stream.Serialize(ref IsLoadedGame);
}
}
유니티 측에서 이 데이터 에셋의 인스턴스는 QuantumRunnerLocalDebug
스크립트와 연결되어 로컬 디버그 모드에서 재생할 수 있습니다.
UIRoom
스크립트에는 온라인 모드에서 플레이하기 위한 에셋에 대한 참조가 포함되어 있습니다.
C#
var config = RuntimeConfigContainer != null ? RuntimeConfig.FromByteArray(RuntimeConfig.ToByteArray(RuntimeConfigContainer.Config)) : new RuntimeConfig();
config.ConfigAssets.Id = ConfigAssets.Id;
GameConfig
GameConfig
에셋은 시뮬레이션을 위한 일반적인 목적을 가진 값을 갖고 있습니다.
MaxStrokes
:GameEnd
시스템이 플레이어가 아직 남은 스트로크가 있는지 판단하기 위해 사용합니다.SpawnBallsNearHole
:SpawnSystem
에서 볼을 생성할지 아니면NearHole
유형의SpawnPoint
에서 생성할지 결정하기 위해 사용합니다.- 최소-최대 스트라이크 각도와 힘:
PlaySystem
이 볼 스트라이크를 고정할 때 사용하는 최소-최댓값입니다. ForceBarVelocity
: 유니티에서 폴링 하여 플레이어가 조준할 때 포스 바 마킹 위치를 업데이트합니다.HitHoleVelocityThreshold
: 홀 콜라이더를 작동시킬 때 공이 홀에 부딪히는 것으로 간주되는 속도 크기 값입니다.HoleBumpForce
:HitHoleVelocityThreshold
보다 높은 속도의 홀에 부딪힐 때 공에 가해지는 수직 힘입니다.- 홀 트리거 및 러프 필드 레이어: 홀 트리거 및 러프 필드에 대한 유니티의 물리 레이어 이름에 대한 문자열 필드입니다. 정적 콜라이더에 공이 부딪힐 때 이러한 층을 감지하기 위해
Play System
에 의해 사용됩니다.
C#
public partial class GameConfig {
public Int32 MaxStrokes;
public Boolean SpawnBallsNearHole;
public Int32 MinStrikeAngle;
public Int32 MaxStrikeAngle;
public Int32 MinStrikeForce;
public Int32 MaxStrikeForce;
public Int32 ForceBarVelocity;
public Int32 HitHoleVelocityThreshold;
public Int32 HoleBumpForce;
public string HoleTriggerLayer;
public string RoughFieldLayer;
}
TurnConfig
Golf Template은 TurnConfig
에셋을 사용하여 턴의 핵심 속성을 정의합니다.
UsesTimer
: 글로벌 변수Ticks
는 턴의 상태가Active
인 한 프레임마다 증가합니다.TurnDurationInTicks
: 틱으로 턴의 최대 길이IsSkippable
: 플레이어가 자신의 차례를 건너뛸 수 있는지 여부를 정의.
C#
public partial class TurnConfig
{
public Boolean UsesTimer;
public Int32 TurnDurationInTicks;
public Boolean IsSkippable;
}
특정 설계 요건에 맞게 턴 구성을 맞춤화하기 위해 보다 구성 가능한 데이터를 추가할 수 있으며 추가해야 합니다.
BallSpec
BallSpec
에셋은 볼에 관련된 데이터를 갖고 있는 에셋입니다.
EndOfMovementVelocityThreshold
: 공이 여전히 움직이는 것으로 간주되는 속도 크기 값입니다.EndOfMovementWaitingInTicks
: 공이 움직임을 멈춘 후 턴의 끝을 선언할 때까지PlaySystem
이 대기하는 틱의 양입니다.
C#
partial class BallSpec
{
public FP EndOfMovementVelocityThreshold;
public Int32 EndOfMovementWaitingInTicks;
}
Back to top