unity 不添加组件实现物体跳起落下脚本 求大神帮忙
展开全部
自己模拟物理现象编写一个就好了呀,定义一个重力加速度和起跳时的一个瞬时速度就行了(忽略空气阻力)
这里只假设垂直方向,水平方向你i可以自己思考:
假设重力加速度为g=10米/平方秒,物体起跳的起始速度为v=5米/秒,
那么物体跳至至高点所用的时间t=v/g=0.5秒,跳至至高点的距离h=1/2 *gt^2=1.25米
bool isJump=false
float g=10, v0=5, vc=0,t=0,h=0;
update()
{
if(isJump)
{
t+=Time.deltatime;
vc=(v0-g*t);
h=v0*t-1/2 *gt^2;
this.tramsform.position(0,h,0)//假设从原点垂直起跳
if( vc<0&&h<=0)//判断是否着地的方法有很多种,一般由物体下方发射射线来碰撞感应地面,这里就不多写了
{
h=0;vc=0;t=0;isJump=false; this.tramsform.position(0,h,0);
}
}
}
这里只假设垂直方向,水平方向你i可以自己思考:
假设重力加速度为g=10米/平方秒,物体起跳的起始速度为v=5米/秒,
那么物体跳至至高点所用的时间t=v/g=0.5秒,跳至至高点的距离h=1/2 *gt^2=1.25米
bool isJump=false
float g=10, v0=5, vc=0,t=0,h=0;
update()
{
if(isJump)
{
t+=Time.deltatime;
vc=(v0-g*t);
h=v0*t-1/2 *gt^2;
this.tramsform.position(0,h,0)//假设从原点垂直起跳
if( vc<0&&h<=0)//判断是否着地的方法有很多种,一般由物体下方发射射线来碰撞感应地面,这里就不多写了
{
h=0;vc=0;t=0;isJump=false; this.tramsform.position(0,h,0);
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询