本项目以Morgan为中心,处理这个角色需要将 VFX Graph 的功能发挥到极致。
您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 

32 行
764 B

#pragma kernel appendId
#pragma kernel copy
Texture2D<float> _Mask;
float4 _MaskResolution;
uint _ObjectID;
Texture2D<float> _ObjectIDs;
float _ObjectIDsSize;
float _MaskingSize;
AppendStructuredBuffer<float2> _AppendBuffer;
[numthreads(8, 8, 1)]
void appendId (uint2 id : SV_DispatchThreadID)
{
float2 uv = id * _MaskingSize;
int2 objIdx = (int2)round(uv * _ObjectIDsSize);
uint objectId = (uint)_ObjectIDs[objIdx];
if (objectId == _ObjectID)
_AppendBuffer.Append(uv);
}
StructuredBuffer<float2> _CompactUVBuffer;
RWTexture2D<half2> _CompactUVTexture;
int _CompactUVTextureSize;
[numthreads(1, 1, 1)]
void copy (uint2 id : SV_DispatchThreadID)
{
_CompactUVTexture[id] = _CompactUVBuffer[id.x + _CompactUVTextureSize * id.y];
}