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)