Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(196评价)
价格: 3989.00元
不太理解动画目标匹配(MatchTarget)功能时,一下代码:Vector3 point = hit.poiny; point.y = hit.collider.transform.position.y + hit.collider.bounds.size.y
MrFU发起了问答2018-07-25
7
回复
1769
浏览

point.y = hit.collider.transform.position.y + hit.collider.bounds.size.y

这句代码理解不够(表示已经看过相关API,但是没搞懂)

所有回复
  • siki 2018-07-25

    这个是先取到碰撞到物体的 y坐标,在加上这个物体的高度,因为这个物体的pivot点是在底部的,所以需要加上物体高度,表示碰撞到物体的最高点位置的y轴坐标

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • MrFU 2018-08-01

    那取到碰撞到物体的y坐标不就是物体的高度了吗?为什么还要加上物体的高度呀?那照你这样说的话,是不是在这个例子里面hit.collider.transform.position.y应该是等于0的吧

    • siki 2018-08-02

      这个物体的pivot是在底部的,坐标是按照pivot来计算的,所以不是它的高度

      (0) 回复
    • siki 2018-08-02

      就跟我计算你这个人在地球上的位置, 我计算你的肚子或者你的脚还是头,计算得到的高度是不一样的位置

      (0) 回复
    还有-3条回复,点击查看
    你还没有登录,请先登录注册
  • 真蚂蚁会飞 2019-08-22

    不带位移的动画是不是无法使用MatchTarget,比如让人物准确的坐在凳子上。我设置了之后发现没有任何效果,把所有参数都写得很夸张也没看到效果。

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • 追梦的陈哈哈 2020-06-12

    匹配高度那一条,Vector3 point = hit.point;
                            point.y = 10f;//hit.collider.transform.position.y + hit.collider.bounds.size.y+10f;
                            print(hit.collider.transform.position.y);
                            print(hit.collider.bounds.size.y);
                            matchTarget = hit.point;
                            isVault = true;

    哪怕设置成10f手依然比较低是为啥?输入不同数据好像没有效果?

    • 追梦的陈哈哈 2020-06-12

      我用打印看了下,hit.collider.transform.position.y 和 hit.collider.bounds.size.y一个是0一个是1,按道理10f应该影响巨大才对

      (0) 回复
    还有-4条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!