1
This commit is contained in:
@@ -8,20 +8,20 @@ public class Player : MonoBehaviour
|
||||
{
|
||||
float times;
|
||||
|
||||
public bool isOtherPlayer; //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
public string sn; //<EFBFBD>豸SN
|
||||
public TextMeshProUGUI user; //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD>
|
||||
public uint human; //<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ʾ<EFBFBD><CABE>animator<6F><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵڼ<C4B5><DABC><EFBFBD>ģģ<C4A3><C4A3> ע<><D7A2>:<3A><><EFBFBD><EFBFBD>ʾ<EFBFBD>˾<EFBFBD><CBBE>Dz<EFBFBD><C7B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>2<EFBFBD><32><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>ͣ<EFBFBD>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫע<D2AA><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
public uint group; //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
public int x, y, z, q, w, e, r; //λ<EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD>ת
|
||||
public bool isOtherPlayer; //其他玩家
|
||||
public string sn; //设备SN
|
||||
public TextMeshProUGUI user; //体验者昵称
|
||||
public uint human; //人类 表示用animator数组里面的第几个模模型 注意:不显示人就是查这个参数,本地只有2种人的类型,扫码那里要注意这个参数
|
||||
public uint group; //分组名
|
||||
public int x, y, z, q, w, e, r; //位置和旋转
|
||||
public float LastTime ;
|
||||
public GameObject[] meshRendererObj;//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD>ɫ<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD>
|
||||
public GameObject[] manModelList; //<EFBFBD><EFBFBD>ģ<EFBFBD>ͣ<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
public Animator[] animator; //<EFBFBD><EFBFBD><EFBFBD>ﶯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD>ɫ<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD>
|
||||
int indexPlay = 0; //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD>
|
||||
float manFirstHight = -1; //<EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD>ʼ<EFBFBD>ĸ߶<EFBFBD>
|
||||
float state = 1; //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD>վ<EFBFBD><EFBFBD><EFBFBD>ף<EFBFBD>
|
||||
float height = 0f; //<EFBFBD><EFBFBD><EFBFBD>ָ߶<EFBFBD>
|
||||
public GameObject[] meshRendererObj;//人物形态(大人,大人黄色,小孩,小孩黄色)
|
||||
public GameObject[] manModelList; //人模型(大小,小孩)
|
||||
public Animator[] animator; //人物动画(大人,大人黄色,小孩,小孩黄色)
|
||||
int indexPlay = 0; //具体是哪个人物形态和动画
|
||||
float manFirstHight = -1; //玩家初始的高度
|
||||
float state = 1; //玩家状态(走,站,蹲)
|
||||
float height = 0f; //文字高度
|
||||
|
||||
float distanceToTarget;
|
||||
void Start()
|
||||
@@ -30,7 +30,7 @@ public class Player : MonoBehaviour
|
||||
//collider = this.GetComponent<CapsuleCollider>();
|
||||
}
|
||||
|
||||
private uint lastHuman = 100; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
private uint lastHuman = 100; // 缓存上一次的索引
|
||||
private void Update()
|
||||
{
|
||||
if (Time.time - LastTime > 5)
|
||||
@@ -40,7 +40,7 @@ public class Player : MonoBehaviour
|
||||
gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (human != lastHuman)
|
||||
{
|
||||
for (int i = 0; i < manModelList.Length; i++)
|
||||
@@ -52,20 +52,20 @@ public class Player : MonoBehaviour
|
||||
{
|
||||
height = 0f;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
height = -0.3f;
|
||||
}
|
||||
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ߶<EFBFBD>
|
||||
//设置文字高度
|
||||
//user.gameObject.transform.localPosition = new Vector3(user.gameObject.transform.localPosition.x, user.gameObject.transform.localPosition.y + height, user.gameObject.transform.localPosition.z);
|
||||
lastHuman = human; // <EFBFBD><EFBFBD><EFBFBD>»<EFBFBD><EFBFBD><EFBFBD>
|
||||
lastHuman = human; // 更新缓存
|
||||
}
|
||||
|
||||
|
||||
if (isOtherPlayer)
|
||||
{
|
||||
if(manFirstHight == -1)//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD>ʼ<EFBFBD>߶<EFBFBD>
|
||||
if(manFirstHight == -1)//设置玩家初始高度
|
||||
manFirstHight = y / times;
|
||||
|
||||
Vector3 tarpos = new Vector3(x / times, 0, z / times);
|
||||
@@ -78,9 +78,9 @@ public class Player : MonoBehaviour
|
||||
Quaternion targetq = Quaternion.Euler(targetv);
|
||||
|
||||
|
||||
//Debug.Log(sn+"<EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" + tarpos+"||<EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>:"+ targetq);
|
||||
//Debug.Log(sn+"收到的位置是:" + tarpos+"||收到的旋转是:"+ targetq);
|
||||
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼֵ<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD>С<EFBFBD><EFBFBD>2<EFBFBD><EFBFBD><EFBFBD>ͽ<EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD>Ƕȸ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD>Ƕȣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD>Ƕ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ĽǶ<EFBFBD>
|
||||
//当初始值跟目标角度小于2,就将目标角度赋值给初始角度,让旋转角度是需要的角度
|
||||
if (Quaternion.Angle(currq, targetq) < 2)
|
||||
{
|
||||
transform.rotation = targetq;
|
||||
@@ -93,7 +93,7 @@ public class Player : MonoBehaviour
|
||||
distanceToTarget = Vector3.Distance(transform.position, tarpos);
|
||||
if (distanceToTarget > 0.1f)
|
||||
{
|
||||
// λ<EFBFBD>ñ仯<EFBFBD><EFBFBD><EFBFBD>ȳ<EFBFBD><EFBFBD><EFBFBD> 10cm <20>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>
|
||||
// 位置变化幅度超过 10cm 的处理逻辑
|
||||
//animator[human].SetBool("iswalk", true);
|
||||
if (transform.position == Vector3.zero)
|
||||
{
|
||||
@@ -106,58 +106,65 @@ public class Player : MonoBehaviour
|
||||
}
|
||||
else
|
||||
{
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD> 10cm ʱֹͣ<CDA3>ƶ<EFBFBD>
|
||||
// 距离小于等于 10cm 时停止移动
|
||||
transform.position = tarpos;
|
||||
}
|
||||
|
||||
if (Config.Group == group) //ͬ<EFBFBD><EFBFBD>
|
||||
|
||||
if (Config.Group == group) //同组
|
||||
{
|
||||
if (human == 0)//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if (human == 0)//大人
|
||||
{
|
||||
indexPlay = 0;
|
||||
meshRendererObj[human].gameObject.SetActive(true);
|
||||
meshRendererObj[human + 1].gameObject.SetActive(false);
|
||||
}
|
||||
else //С<EFBFBD><EFBFBD>
|
||||
else //小孩
|
||||
{
|
||||
indexPlay = 2;
|
||||
meshRendererObj[2].gameObject.SetActive(true);
|
||||
meshRendererObj[3].gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
else //<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>
|
||||
else //不同组
|
||||
{
|
||||
if (human == 0)//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if (human == 0)//大人
|
||||
{
|
||||
indexPlay = 1;
|
||||
meshRendererObj[human].gameObject.SetActive(false);
|
||||
meshRendererObj[human + 1].gameObject.SetActive(true);
|
||||
}
|
||||
else //С<EFBFBD><EFBFBD>
|
||||
else //小孩
|
||||
{
|
||||
indexPlay = 3;
|
||||
// Debug.Log("<EFBFBD><EFBFBD><EFBFBD>鳤<EFBFBD><EFBFBD>:"+ meshRendererObj.Length+"||"+ human);
|
||||
// Debug.Log("数组长度:"+ meshRendererObj.Length+"||"+ human);
|
||||
meshRendererObj[2].gameObject.SetActive(false);
|
||||
meshRendererObj[3].gameObject.SetActive(true);
|
||||
}
|
||||
}
|
||||
|
||||
state = y / times; //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>λ<EFBFBD>õ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
state = y / times; //玩家在传位置的时候就用这个作为状态传的
|
||||
|
||||
if (state % 1 != 0)
|
||||
{
|
||||
state = 2;
|
||||
}
|
||||
|
||||
// Debug.Log("最终状态是:"+ state);
|
||||
|
||||
//Debug.Log("<22><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>:"+ state);
|
||||
|
||||
if (state == 1)//<2F><><EFBFBD><EFBFBD>վ
|
||||
if (state == 1)//人物站
|
||||
{
|
||||
animator[indexPlay].Play("01_Man_Idle");
|
||||
}
|
||||
else if (state == 2) //<EFBFBD><EFBFBD>
|
||||
else if (state == 2) //走
|
||||
{
|
||||
animator[indexPlay].Play("01_Man_Walk");
|
||||
}
|
||||
else //<2F><>
|
||||
else
|
||||
{
|
||||
animator[indexPlay].Play("01_Man_Down");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user