void CustomLogic::Start() { StaticModel* model = GetNode()->GetComponent<StaticModel>(); mat = model->GetMaterial(0); mat->SetScene(GetScene()); #define ANIMATION(V) SharedPtr<ValueAnimation> V = SharedPtr<ValueAnimation>(new ValueAnimation(context_)); //SharedPtr<ValueAnimation> animSize = SharedPtr<ValueAnimation>(new ValueAnimation(context_)); ANIMATION(animSize); animSize->SetKeyFrame(0.0f, Vector3::ONE * 0.1f); animSize->SetKeyFrame(1.0f, Vector3::ONE * 2.0f); animSize->SetKeyFrame(4.0f, Vector3::ONE * 3.0f); GetNode()->SetAttributeAnimation("Scale", animSize); GetNode()->SetScene(GetScene()); ANIMATION(animClipRange); animClipRange->SetKeyFrame(0.0f, 1.0f); animClipRange->SetKeyFrame(1.0f, 1.0f); animClipRange->SetKeyFrame(4.0f, 0.8f); mat->SetShaderParameterAnimation("ClipRange", animClipRange); ANIMATION(animRange); animRange->SetKeyFrame(0.0f, Vector2(0.0f, 1.3f)); animRange->SetKeyFrame(1.0f, Vector2(0.0f, 1.3f)); animRange->SetKeyFrame(4.0f, Vector2(1.0f, 1.3f)); mat->SetShaderParameterAnimation("Range", animRange); ANIMATION(animDisplace); animDisplace->SetKeyFrame(0.0f, -1.0f); animDisplace->SetKeyFrame(4.0f, 5.0f); mat->SetShaderParameterAnimation("Displacement", animDisplace); #undef ANIMATION }