Browse Source

Implemented automatic animating of group frame alias models, using the existing AliasModelAnimator component.

console
Nico de Poel 5 years ago
parent
commit
a2b8d32c00
  1. 7
      Assets/Scripts/Game/Entity.cs
  2. 1
      Assets/Scripts/Support/AliasModel.cs
  3. 2
      Assets/Scripts/Support/AliasModelAnimator.cs

7
Assets/Scripts/Game/Entity.cs

@ -53,6 +53,13 @@ public class Entity
// Set a default pose based on the first animation frame // Set a default pose based on the first animation frame
UpdateAnimation(0); UpdateAnimation(0);
if (model.AutoAnimate)
{
// TODO: do something with syncbase value to push similar animations out of phase
var animator = gameObject.AddComponent<AliasModelAnimator>();
animator.aliasModel = model;
}
} }
public void SetBrushModel(GameObject brushModelGO) public void SetBrushModel(GameObject brushModelGO)

1
Assets/Scripts/Support/AliasModel.cs

@ -14,6 +14,7 @@ public class AliasModel
public string Name => name; public string Name => name;
public bool IsAnimated => header.numPoses > 1; public bool IsAnimated => header.numPoses > 1;
public bool AutoAnimate => frameType == QAliasFrameType.Group;
public AliasModel(string name, QAliasHeader header, QAliasFrameType frameType) public AliasModel(string name, QAliasHeader header, QAliasFrameType frameType)
{ {

2
Assets/Scripts/Support/AliasModelAnimator.cs

@ -10,7 +10,7 @@ public class AliasModelAnimator : MonoBehaviour
[SerializeField] [SerializeField]
[Range(1, 20)] [Range(1, 20)]
private float animateFps = 5f;
private float animateFps = 10f;
[SerializeField] [SerializeField]
private float frameNumber = 0; private float frameNumber = 0;

Loading…
Cancel
Save