Unity初学问题汇总(2D)

这篇博客汇总了Unity 2D游戏开发中遇到的问题,包括物体移动异常、动画过渡错误、Tilemap表面不平整、碰撞检测问题以及脚本挂载错误等,并提供了详细的解决方法,如调整动画设置、使用CompositeCollider和更改Rigidbody2D模式等。
摘要由CSDN通过智能技术生成

Unity初学问题汇总(2D)

改变物体位置导致物体无法正常移动?

给物体录制animation时加入了position property, 只需要remove position这个property就能解决问题。

动画从any state 到其它状态时动画无法正常播放,停在开头

不妨记作any state -> state1。在这个转变发生后,state1也会作为any state转变到state1,这就导致一直停在开头,只需要选中该箭头在setting中将Can Transition To的勾去掉就可以。

Tilemap绘制地图不平整,人物在绘制平面上移动会卡住或飞起

在tilemap的组件中勾选Used by composite后添加composite collider组件,在自动生成的rigidbody2d中改变模式为static

人物速度稍快时会卡墙里

将rigidbody 2D的Collision Detection设为continuous

人物下落会略有凹陷

将rigidbody 2D的interpolate设为interpolate

挂载脚本时提示不是可以挂载的脚本

类名和文件名不一致,修改一致即可

公开的struct无法出现在inspector中

变量出现在inspector中实际上是经过了序列化的过程,为了使unity能够成功序列化struct,需要在定义的struct前加上一个特性,具体如下。

[System.Serializable]
public struct foo{
	public int a;
	public int b;
}

有时候SetTrigger没有反应

这是由于切换过快导致的,上一个SetTrigger动画还没播完,就SetTrigger了下一个,导致下一个被忽略了。为避免这种情况的发生,可以再有可能发生快速切换的SetTrigger前加入ResetTrigger(上一个trigger)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值