新人求助,unity如何判断一个物体是否在移动
展开全部
3秒检测一次
if (Time.time - checktime > 3)
//判断是否有移动
if ((transform.position - lastpos).sqrMagnitude > 0.5f)
print ("在移动");
} else
print ("停止");
lastpos=transform.position;
技术支持
Unity提供技术支持服务,通过线上问答、项目分析、现场培训等形式为中国开发者解决技术难题,企业级服务支持游戏上线,Unity企业技术支持团队还提供各种定制服务,包括开放大世界解决方案、游戏代码加密方案、UPR性能优化、技术美术支持等服务。
展开全部
3秒检测一次
if (Time.time - checktime > 3)
{
checktime = Time.time;
//判断是否有移动
if ((transform.position - lastpos).sqrMagnitude > 0.5f)
{
print ("在移动");
} else
{
print ("停止");
}
lastpos=transform.position;
}
if (Time.time - checktime > 3)
{
checktime = Time.time;
//判断是否有移动
if ((transform.position - lastpos).sqrMagnitude > 0.5f)
{
print ("在移动");
} else
{
print ("停止");
}
lastpos=transform.position;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用transfrom自带的移动方法! void OnClick() { Move(); } void Move() { transform.Translate(x1-x2,y1-y2,z1-z2); }
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
该物体如果使用了重力系统
获取刚体的属性应该可以判断。
比如 Rigidbody.IsSleeping()
或者获取刚体的速度
Rigidbody.velocity
如果你的移动方式是Translate,MoveTowards...等改变坐标的方式来进行移动的话。
就只有通过获取单位时间的坐标差。来进行判断了吧。
//题外话
我也是萌新,回答不代表我是大牛(免疫一切网络攻击)。
如果有错误请帮忙指出,在此感谢。一起进步
大家也多多参与回答啊。
获取刚体的属性应该可以判断。
比如 Rigidbody.IsSleeping()
或者获取刚体的速度
Rigidbody.velocity
如果你的移动方式是Translate,MoveTowards...等改变坐标的方式来进行移动的话。
就只有通过获取单位时间的坐标差。来进行判断了吧。
//题外话
我也是萌新,回答不代表我是大牛(免疫一切网络攻击)。
如果有错误请帮忙指出,在此感谢。一起进步
大家也多多参与回答啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询