Animation 使用精灵图纸在动画师中调整问题大小-unity 2d

Animation 使用精灵图纸在动画师中调整问题大小-unity 2d,animation,resize,sprite,image-resizing,unity2d,Animation,Resize,Sprite,Image Resizing,Unity2d,我有一个角色,我正试图调整大小。为了保持一致性,我将默认的空闲动画精灵放在精灵表中较大精灵的旁边。当我在动画窗口中放入较大的精灵(将动画与默认的正常大小动画分开)时,我的角色被冻结在空气中,无法接触地面。碰撞器是为较大的精灵编辑的,所以我知道它不是一个卡在地面上的盒子碰撞器。我甚至没有直接在动画窗口中调整它的大小(因为我尝试过,得到了相同的结果)。有人知道发生了什么事吗 我明白了。我无法让它以我尝试的方式工作,而是用脚本。我提前知道,您可以使用transform.localScale=newve

我有一个角色,我正试图调整大小。为了保持一致性,我将默认的空闲动画精灵放在精灵表中较大精灵的旁边。当我在动画窗口中放入较大的精灵(将动画与默认的正常大小动画分开)时,我的角色被冻结在空气中,无法接触地面。碰撞器是为较大的精灵编辑的,所以我知道它不是一个卡在地面上的盒子碰撞器。我甚至没有直接在动画窗口中调整它的大小(因为我尝试过,得到了相同的结果)。有人知道发生了什么事吗

我明白了。我无法让它以我尝试的方式工作,而是用脚本。我提前知道,您可以使用
transform.localScale=newvector2(float,float)增加sprite的大小但它对我不起作用,因为当我这样做时,由于我的翻转代码,我的x刻度将朝向相反的方向。因此,我创建了两个名为
scaleX
scaleY
的新浮动,并为它们赋值。然后我的代码行看起来像这样

transform.localScale = new Vector2(transform.localScale * scaleX, 
transform.localScale * scaleY);

给将来可能有同样问题的任何人。我用的是挂载系统。

来自@joe clark的建议也适用于我。对我来说,这是在设置左右动画时发生的,而我试图在默认精灵设置为空闲精灵的情况下调整播放器的大小

这是我之前的代码:

if (movementX > 0) {
    // Face right
    transform.localScale = new Vector3(1f, 1f, 1f);
} else if (movementX < 0) {
    // Face left
    transform.localScale = new Vector3(-1f, 1f, 1f);
}
if(movementX>0){
//面朝右
transform.localScale=新矢量3(1f、1f、1f);
}else if(movementX<0){
//面朝左
transform.localScale=新矢量3(-1f,1f,1f);
}
这是我修改过的代码,修复了它:

if (movementX > 0) {
    // Face right
    transform.localScale = new Vector3(Mathf.Abs(transform.localScale.x), transform.localScale.y, transform.localScale.z);
} else if (movementX < 0) {
    // Face left
    transform.localScale = new Vector3(-1 * Mathf.Abs(transform.localScale.x), transform.localScale.y, transform.localScale.z);
}
if(movementX>0){
//面朝右
transform.localScale=newvector3(Mathf.Abs(transform.localScale.x)、transform.localScale.y、transform.localScale.z);
}else if(movementX<0){
//面朝左
transform.localScale=newvector3(-1*Mathf.Abs(transform.localScale.x)、transform.localScale.y、transform.localScale.z);
}