Add animation controller system, material assets and skeleton visualization
- .animctrl state machine asset (params/transitions/blend trees, 1D+2D directional blending) with Unity Animator-style editor panel: state list, transitions, params, directional pad preview driving live CrossFade on the selected entity - Split animation evaluation out of SceneRenderer into AnimationSystem/AnimationEvaluator; skin palettes with rest-pose fallback and blend-weight epsilon filtering - MaterialAsset (.material) with reload-safe preview tile pool (DropMaterial clears dirty refs before instance destruction) - EditorGizmoPass skeleton wires + viewport joint overlay; camera projection rework (baked Vulkan Y-flip, ortho support) - Editor/game build split via HELLOVULKAN_EDITOR option
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
#version 450
|
||||
|
||||
// Editor gizmo billboard 顶点:世界空间 billboard quad(CPU 侧已面向相机
|
||||
// 展开),无描述符 set——viewProj 走 push constant(与 debug_line 同约定)。
|
||||
// aux = (shapeId, uv.x, uv.y, 0),uv ∈ [-1,1] 供片元 SDF 造型。
|
||||
|
||||
layout(location = 0) in vec3 inPos;
|
||||
layout(location = 1) in vec4 inColor;
|
||||
layout(location = 2) in vec4 inAux;
|
||||
|
||||
layout(location = 0) out vec4 outColor;
|
||||
layout(location = 1) out vec4 outAux;
|
||||
|
||||
layout(push_constant) uniform PC {
|
||||
mat4 viewProj;
|
||||
} pc;
|
||||
|
||||
void main() {
|
||||
gl_Position = pc.viewProj * vec4(inPos, 1.0);
|
||||
outColor = inColor;
|
||||
outAux = inAux;
|
||||
}
|
||||
Reference in New Issue
Block a user