新人求助,unity如何判断一个物体是否在移动

 我来答
帐号已注销
2021-10-26 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:168万
展开全部

3秒检测一次

if (Time.time - checktime > 3)

//判断是否有移动

if ((transform.position - lastpos).sqrMagnitude > 0.5f)

print ("在移动");

} else

print ("停止");

lastpos=transform.position;

技术支持

Unity提供技术支持服务,通过线上问答、项目分析、现场培训等形式为中国开发者解决技术难题,企业级服务支持游戏上线,Unity企业技术支持团队还提供各种定制服务,包括开放大世界解决方案、游戏代码加密方案、UPR性能优化、技术美术支持等服务。

w1daful
2019-10-27 · TA获得超过892个赞
知道答主
回答量:296
采纳率:50%
帮助的人:53.9万
展开全部
3秒检测一次
if (Time.time - checktime > 3)
{
checktime = Time.time;
//判断是否有移动
if ((transform.position - lastpos).sqrMagnitude > 0.5f)
{
print ("在移动");
} else
{
print ("停止");
}

lastpos=transform.position;

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
得新用9715
2017-01-09 · TA获得超过1.8万个赞
知道大有可为答主
回答量:3.2万
采纳率:0%
帮助的人:7812万
展开全部
用transfrom自带的移动方法! void OnClick() { Move(); } void Move() { transform.Translate(x1-x2,y1-y2,z1-z2); }
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
饰埃投B4
2020-01-01
知道答主
回答量:14
采纳率:0%
帮助的人:9344
展开全部
该物体如果使用了重力系统
获取刚体的属性应该可以判断。
比如 Rigidbody.IsSleeping()
或者获取刚体的速度
Rigidbody.velocity
如果你的移动方式是Translate,MoveTowards...等改变坐标的方式来进行移动的话。
就只有通过获取单位时间的坐标差。来进行判断了吧。
//题外话
我也是萌新,回答不代表我是大牛(免疫一切网络攻击)。
如果有错误请帮忙指出,在此感谢。一起进步
大家也多多参与回答啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式