用JAVA做一个物理动画_使用AniMate和Unity3D的动画不与物理对象交互

我正在用Unity3D设计一个迷宫 . 迷宫有许多分叉,玩家将在每次分叉前停下来,只需选择左或右 . 然后一个自动动画将让玩家通过下一个分叉直到迷宫结束(或直到死胡同) .

要为我在Unity项目中使用AniMate和C#的播放器设置动画 . 使用AniMate我只是为每个分叉创建一个点对点动画(例如下面的法师:从开始/红色箭头到第5点)

CgvEt.png

我的问题是我的动画脚本(与“第一人称控制器”相关联)无法正常工作,因为物理不受尊重(玩家穿过墙壁) . 如果在同一个项目中我启用了Unity中的标准角色控件,那么我可以在迷宫中使用墙壁的物理限制等进行导航......(即我有碰撞器) .

这是我按左键从起点,从第1点到第2点时使用的代码示例:

void FixedUpdate () {

if (Input.GetKey(KeyCode.LeftArrow)) {

//To point 1

Hashtable props = new Hashtable();

props.Add("position", new Vector3(756f,112f,1124f));

props.Add("physics", true);

Ani.Mate.To(transform, 2, props);

//To point 2

Hashtable props2 = new Hashtable();

props2.Add("position", new Vector3(731f,112f,1124f));

props2.Add("physics", true);

Ani.Mate.To(transform, 2, props2);

}

}

当我按下左箭头按钮时实际发生的事情是玩家使用穿过墙壁的直线直接移动到第2点 . 我试图传递给AniMate“Physics = true”,但它似乎没有帮助 .

有关如何解决这个问题的任何想法?

或者......任何关于如何获得更优化代码的提示,只需使用一系列vector3坐标(每个点一个)来获得我想要的简单动画,而不必声明新的Hashtable();等......每一次?我之所以选择AniMate只是因为1.我是Unity 2的初学者 . 我不需要复杂的动画(例如我不需要使用iTween),只需沿着直线修复动画,我需要一些非常简单快速的动画 . 在脚本中实现 . 但是,如果某人有一个同样简单的解决方案,那将是受欢迎的 .

预先感谢您的帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值