【问题标题】:Player disapearing after changing x scale更改 x 比例后玩家消失
【发布时间】:2016-05-15 23:57:10
【问题描述】:

我试图让玩家在 Unity 中转身,因此我必须将比例尺上的 x 轴更改为负值,但玩家这样做会消失! 这是我的代码:

void Update () 
{
    anim.SetBool ("Grounded", grounded);
    anim.SetFloat ("Speed", Mathf.Abs (Input.GetAxis ("Horizontal")));

    if (Input.GetAxis("Horizontal") < -0.1f) 
    {
        transform.localScale = new Vector3(1, 1, 1);
    }

    if (Input.GetAxis("Horizontal") > 0.1f) 
    {
        print ("going right");
    }

每当玩家消失时,盒子碰撞器中也会写一条消息,上面写着“碰撞器不会产生任何碰撞形状,因为它们都未通过验证......”

玩家只有在向左或向右移动时才会消失,这真的让我很困惑,所以我将不胜感激。

【问题讨论】:

  • 如果有人看到这篇文章,这将非常有用,因为我仍然没有得到答案。

标签: unity3d


【解决方案1】:

你想设置播放器的比例而不是位置。您将玩家的 y 和 z 比例设置为零,这会将它们缩小到不可见。试试这个:

if (Input.GetAxis("Horizontal") < -0.1f) 
{
    transform.localScale = new Vector3(-1, 1, 1);
}
if (Input.GetAxis("Horizontal") > 0.1f) 
{
    transform.localScale = new Vector3(1, 1, 1);
}

【讨论】:

  • 怎么样?你能解释一下问题是什么吗?你在追求什么?
  • 播放器并没有变小,正如我在帖子末尾所说的,盒子碰撞器显示一条消息,我不知道我的播放器发生了什么
  • 播放器并不小。玩家消失,因为他们的“高度”和“深度”设置为 0。这就是为什么你看不到你的玩家。你得到的错误是因为 boxcollider 变得太小了。即它的高度也设置为 0
  • 我把高度和深度都改成了1,还是不行。
  • 没有看到你的其余代码,我真的无法帮助任何人,在你发布的这个 sn-p 中,这是你的问题。我建议检查您没有在代码中的其他任何地方设置播放器本地比例,并且它们在检查器中设置为 (1,1,1)。还要检查 BoxCollider 的大小在检查器中是否设置为 0。这是 100% 比例设置不正确的问题。如果您想查看正在创建的错误,请转到检查器中的框碰撞器并将其大小设置为 0。错误会在下方弹出。祝你好运整理这个家伙。 :)
【解决方案2】:

我有几个关于这方面的问题,但我会暂且回答你的问题。

主要的是,当您检查水平轴是否小于-0.1f时,您将比例设置为(1,0,0)。这意味着 y 和 z 比例为 0,这使其消失。您已使其在 y 和 z 轴上无限小。请记住,如果您将任何轴上的比例设置为 0,则该对象将不再可见。此外,x 值的 1 根本不会改变角色面对的方式。但是,如果将其更改为 -1.0,则角色将出现翻转。

其次,但您可能知道这一点并且这样做是为了测试,当测试水平轴是否大于 0 时,您所做的只是打印,这不会做任何事情。

【讨论】:

    【解决方案3】:

    您的问题是您希望更改玩家位置,但实际上并没有在代码中更改它。相反,您正在使用这条线更改对象的比例(我不确定为什么 gjttt1 建议这是您在他的回答中想要做的):

    transform.localScale = new Vector3(1, 0, 0);
    

    我怀疑你想要的更像是改变 position:

    transform.position += new Vector3(1, 0, 0);
    

    这会将向量 1,0,0 添加到您当前的位置向量中,

    【讨论】:

    • 感谢您的帮助,但这会让玩家变得又瘦又高,而不是让玩家旋转。
    【解决方案4】:

    所以我设法修复它,结果我的精灵已经非常大了,所以我必须在早些时候把精灵变小,所以精灵变得非常小......小到盒子碰撞器不能检测它。所以我所要做的就是改变实际的精灵大小(资产中的那个)。从18000改成了18...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-07
      • 2014-09-03
      • 2020-08-27
      • 2017-09-11
      相关资源
      最近更新 更多