机械拆装的时候节省了录制动画的时间,根据代码控制一键拆开和重组
随意挂在哪个物体上都可以
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class rootTest : SingletonMonoBehaviour<rootTest>
{
public List<item> allObjs;//将要分散的物体添加进来
public Slider slider;//进度条
public float interval = 1;
public Transform root;//基于这个点分散,自定义个点
private void Start()
{
slider.onValueChanged.AddListener(val => SliderValueChanged(val));
}
public void SliderValueChanged(float value)
{
for (int i = 0; i < allObjs.Count; i++)
{
allObjs[i].ChangePos(value, root.localPosition);
}
}
}
下面脚本挂到每个要分散的物体下面
using UnityEngine;
public class item : MonoBehaviour
{
private Vector3 initPosl;
void Start()
{
initPosl = transform.localPosition;
}
public void ChangePos(float value, Vector3 rootPos)
{
Vector3 dir = initPosl - rootPos;
transform.localPosition = dir * value + initPosl;
}
}