Box3Settings库
    Box3Settings库
    • 基本介绍
    • 贝塞尔曲线(Bezier Curve)原理、公式推导
    • Box3视角综合示范【以Boss出现为例】
    • 基本代码关系
    • BasicCamera父类
    • Box3CameraMoves
    • Box3HighBessel
    • Box3Bessel
    • Box3CameraLag
    • Box3RelativeSkeleton
    • Utils工具类
    • SHA1Tool哈希加密类
    • Box3SkeletonSettings完整类代码
    • Box3CameraSettings完整类代码

    Box3视角综合示范【以Boss出现为例】

    注意
    本教程是基于Box3CameraMoves和Box3CameraLag,看本教程之前,可以先了解。
    提示
    本教程场景来源于Box3地图《瓶盖人大乱斗》中的Boss场景。

    介绍#

    开始之前,我们先看看Boss出场的样子,然后在开始视角教程。
    出现boss 00_00_00-00_00_30.gif
    从上图中,我们可与发现Boss藏在魔法盒里面,从上方降下旋转,并且画出五芒星,Boss爆出,然后激动的战斗就此拉开。
    我们要做的,是Boss出场时,观众视角在Boss方向观看,自动移动。
    我们分析下,路径该如何写。

    路径分析#

    第一部分:从上到下,目标点#

    QQ截图20230306132532.png
    我们的初始视角,是正对Logo,视角目标从上到下逐渐移动,模拟注释Boss落下的过程。
    所以这里需要new一个Box3CameraMoves,让他移动起来。

    部分代码:#

    QQ截图20230306133742.png
    我们看到了皇冠模型从第一个定位点,逐渐的下滑,因为只改变Y轴,一阶贝塞尔足够。然后让他定在这个点15s防止归位,这样视角目标仍在中心。

    第二部分:摄像机本体围绕#

    接下来,我们要让摄像机本身围绕Boss中心旋转起来,让视角边往下看边旋转。更帅的效果。
    所以这里又需要new一个Box3CameraMoves,让他移动起来。
    由于Box3很难实时模拟路径,我们需要借助第三方贝塞尔编辑器模拟:https://www.bezier-curve.com/
    我们要围绕中心,可以用两个三阶来实现。
    因为这个只有平面,所以我们不管Y轴(Box3地图坐标为例)。
    QQ截图20230306132944.png
    我们模拟得出,需要把终点移到起点的对面,2个控制点移到右方。路径呈现半圆的状态,第二次把控制点移到左边,就可以模拟出左边的半圆,结合起来就是一个园。
    在Box中,是三维的,我们可以忽略Y轴,看作一个平面,也可以实现第三方贝塞尔编辑器中的效果。改变Y轴也只是上下移动。没什么大影响。
    QQ截图20230306133254.png
    当然,我们定好点后可以调整Y轴。
    QQ截图20230306220257.png
    我们定好点后,要让他移动起来

    部分代码:#

    简单来说,我们让他们移动起来,并且把观众视角设定为固定状态,本体围绕中心旋转,看向的目标从上到下。

    效果图#

    QQ录屏20230306220207 00_00_10- 00_00_00-00_00_30.gif

    扩展#

    你会发现,他旋转完毕,视角会产生一定的缓动,不让他死死的固定,所以我们要用到Box3CameraLag
    说明,当旋转完毕后,执行函数。接下来开始延迟视角。延迟一定时间后,结束动画,视角回到观众上,完毕。

    完整代码#

    修改于 2023-03-06 15:04:16
    上一页
    贝塞尔曲线(Bezier Curve)原理、公式推导
    下一页
    基本代码关系
    Built with