如何使用骨骼

一、入口

  1. 可以通过 视图 ——> 沙盒系统 打开沙盒系统窗口。

    view_sandbox_system

  2. 沙盒系统 窗口,展开 “自定义模型” 栏。可鼠标右键 “新建” 空骨骼模型。

    sandbox_system_new

  3. 新建的骨骼模型会显示在 “自定义模型” 列表中。

    sandbox_system_fcm

二、骨骼编辑界面

骨骼编辑界面:总共区分骨骼编辑(左侧)、动画编辑(下方)、属性编辑(右侧)三大编辑板块,如下图的界面所示:

bone_edit_home

其中,“属性编辑”界面会随着“骨骼编辑”中切换“骨骼”、“模型”或“动画”三种不同类型的编辑模式,展示各自的编辑数据。

3D界面

可操作的地方功能
鼠标右键拖动旋转模型
鼠标滚轮向前/后向前/后移动相机视角
W/S前/后移动相机视角
A/D左/右旋转模型
Q/E上/下移动相机视角
2/3/4选中骨骼时,分别切换到移动、旋转或缩放的操作

顶部菜单

图标bone_menu_savebone_menu_front_viewbone_menu_side_viewbone_menu_top_viewbone_menu_translatebone_menu_rotatebone_menu_scalebone_menu_undobone_menu_redo
说明保存前视图右视图俯视图移动旋转缩放撤销快捷键
快捷键Ctrl+SF主键盘2主键盘3主键盘4Ctrl+SCtrl+Z

选中骨骼时,有选中移动、旋转、缩放三者之一的状态时,按下主键盘1键可隐藏操作轴,取消三者的编辑状态。悬浮鼠标,可查看按钮的名字。

骨骼编辑

  1. 骨骼界面

    bone_edit_view

  2. 右键操作菜单

    bone_edit_r_menu

    • 新建
    • 复制
    • 调整层次结构
    • 隐藏部件
    • 移除

三、属性编辑

  1. 在骨骼编辑模式下的编辑

    Model和Texture可通过拖入本地文件进行设置,也可自行输入或粘贴带协议的资源ID来设置。 位移、旋转、缩放的修改,会影响子部件。

    bone_edit_attr_view

    ModelTexture 可以通过 视图 选项卡 ——> 资源背包 ——> 个人资源 中的模型、视图等文件,右键 "拷贝资源id" 后粘贴相应位置来更换模型或纹理。

  2. 在模型编辑模式下的编辑

    位移、旋转、缩放的修改,仅影响骨骼本身,不影响子部件。选中不同骨骼时,标题会显示“在某某骨骼之下”。

    ModelTexture设置同上。

    如图:设置了修改了头部模型的 Model 属性为资源背包里的 弹簧 模型(弹簧云资源id

    bone_edit_attr_model

  3. 在动画编辑模式下的编辑

    在选择好动画、选中某个关键帧时,数据会展示出来。标题会展示当前为第几个关键帧。

    没有选中关键帧时,则会展示补帧数据;此处,对补帧数据进行修改时,会自动为选中骨骼在选择的动作下,创建该关键帧。

    bone_edit_attr_ani

四、动画编辑

  1. 动画界面

    骨骼面板在动作编辑状态下,有不同的表现。

    bone_edit_ani

    骨骼左侧的图标示意如下:

    bone_edit_ani_diamond当前动作没有关键帧的可见的骨骼
    bone_edit_ani_diamond_orange当前动作有关键帧的可见的骨骼
    bone_edit_ani_invisible当前动作没有关键帧的隐藏骨骼
    bone_edit_ani_invisible_orange当前动作有关键帧的隐藏骨骼
  2. 动作编辑

    悬浮鼠标可查看每个按钮的功能提示

    • 选择动作

      选择其中一个动作来播放和编辑。

      示例模型有自带部分默认的动作,新建的模型,需要自行设置关键帧数目、编辑关键帧等来完成一个动作的制作。动作名字后方的动作ID,可在脚本中调用播放。

    • 帧率

      设置1帧的播放时间

      bone_edit_ani_frame

    • 动作编辑更多菜单

      bone_edit_ani_more

      • 复制动作
      • 粘贴动作
      • 清除该动作中的所有关键帧
    • 关键帧数目

      表明该动作一共有多少个关键帧,如按默认的100ms为1帧的设置,10帧的动作总播放时间为1秒。

      bone_edit_ani_frame_num

    • 播放速度

      仅影响模型动作播放时的速度

      bone_edit_ani_speed

    • 功能按钮

      图标bone_edit_ani_playbone_edit_ani_pausebone_edit_ani_stopbone_edit_ani_loopbone_edit_ani_previous_keyframebone_edit_ani_next_keyframebone_edit_ani_move_backwardbone_edit_ani_move_forward
      功能播放暂停停止循环上一帧下一帧向前移动向后移动
      快捷键SpaceSpace键盘左键键盘右键键盘左键
      说明当选中关键帧时当选中关键帧时
    • 关键帧右键菜单

  3. 关键帧时间轴编辑

    播放会显示动作随时间运行的效果。

    bone_edit_frame_view

    图标一些说明如下:

    bone_edit_ani_diamond_orange标识表明当前选中骨骼存在所处关键帧的数据
    bone_edit_frame_image_1所选中的骨骼没有该关键帧,但其它骨骼存在。具体可观察“骨骼编辑”界面中骨骼左侧的图标,在选中不同的关键帧时的变化
    bone_edit_frame_image_2选中标识
    bone_edit_frame_image_3播放标识
    bone_edit_frame_image_4拖动后的预览
    • 关键帧数目

      在动作编辑面板中,修改关键帧数目,可显示时间轴的范围

    • 选中关键帧

      预览当前选中的关键帧的动作,并且能在属性界面查看当前关键帧的数据。

      如图,橙色为选中状态。

      bone_edit_frame_selected

    • 拖动关键帧

      长按存在的关键帧,拖动到另一个关键帧位置后释放鼠标,即实现关键帧的移动。

      如图,透明黄色为预览放置的关键帧位置。

      bone_edit_frame_drag

      当释放的位置存在关键帧时,会提示是否覆盖存在的数据。

    • 关键帧右键菜单

      bone_edit_frame_r_menu

      • 复制选中骨骼的当前关键帧数据(与C的粘贴配合使用)

      • 复制该帧所有骨骼的关键帧数据(与F的粘贴搭配使用)

      • 粘贴关键帧

      • 插入关键帧

        在空白的地方插入关键帧,默认使用模型数据。如果该关键帧的前后方都有关键帧,则会补帧后计算出当前帧的数据。

      • 移除关键帧

        当其它骨骼在没有该关键帧时,时间轴的绿条在移除后消失。如果存在其它骨骼有该关键帧,则在移除后,仅移除绿条上方的橙色菱形标识。

      • 粘贴关键帧到所有骨骼

      • 移除关键帧在所有骨骼下的数据

五、骨骼编辑保存

按下Ctrl+S即可保存。或点击主界面左上方保存按钮进行保存。

六、上传资源背包

  1. 沙盒系统 ——> 自定义模型 面板下,右键单个文件,选择 “上传”

sandbox_system_fcm_upload

  1. 编辑骨骼模型上传信息

sandbox_system_upload_edit

  1. 上传进度和结果

sandbox_system_upload_end

其中骨骼有关联了本地的模型或纹理文件,会同时上传,在此界面查看所上传的依赖文件的状态

  1. 上传完成后,可在 资源背包 ——> 个人资源 中查看。

package_own_list_fcm

七、骨骼使用

Studio操作界面

资源背包 中,右键已上传的模型文件,点击 “拷贝资源id” 后,在 Model 节点中的 ModelId 里粘贴,即可见到制作好的模型。

或者直接选中 资源背包fcm 模型文件,拖入到地图场景来创建。

package_own_list_fcm_put

骨骼绑定

需要往fcm的某个上绑定模型时,可在场景树中给fcmModel创建BindAttachment节点。

绑定骨骼的名字,修改为所要绑定的骨骼名字。

脚本

--创建实例
local fcm = SandboxNode.New('Model')
--设置父节点 将模型节点添加到Workspace中
fcm:SetParent(game.WorkSpace)
--设置名字
fcm.Name = "my_fcm"
--设置模型。ID以本机上传后的copyid为主
fcm.ModelId = string.format("sandboxNetworkId&filetype=3://92831492975104000")
--设置放置位置
fcm.Position = Vector3.New(5000,100,10000)
--播放动作
--loop: 0 循环,1 播放一次,2 播放一次停在结尾
local loop = 0
local speed = 1.0
fcm:PlayAnimal("100100", speed, loop)
Last Updated: