unity 画球面_Unity实现球面行走

0x0.引言

在一些游戏内的星球体积是很小的,但是小小的星球仍然有引力。游戏内的物体是可以贴在其表面上的,如同文学作品《小王子》中所形容的小小星球那样。

图片来源点击此处

对于静态物体(如上图的小树苗小花等)而言,可以将其直接放置在小小星球上的固定位置,但是对于动态可移动的物体呢?如果需要实现动态的物体沿着球面行走呢?注意到上图的星球并非一个规则的球体,其存在凸起等。那么如何在Unity中实现这样的效果?

本文介绍如何使用Unity制作一个球面行走的效果,其最终效果如下图所示:

0x1.思路

要实现这样的效果,其思路并非是使得需要绕面行走的物体单纯去计算其绕某一个点旋转。因为其表面并非一个规则球体。

那么如何着手解决这个问题?

思考一下现实中物体是如何贴在星球表面的呢?其主要原因便是重力。在Unity的物理引擎中对重力是实现了的,并且可以通过Rigidbody组件去修改其是否受重力影响。对于重力的整体设置则可以在ProjectSetting的Physics选项卡中找到。

但是Unity的重力方向默认是朝向世界坐标-y轴方向的,仅仅调节此处的设置是并不能满足需求的。那么从这个地方思考开去,我们就能得到其解决思路:模拟重力。

0x2.编码实现

对于重力模拟,仍然通过Rigidbody组件来实现,首先需要将上面默认的useGravity选项取消防止物体受到默认重力设置的影响。<

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值