美文网首页SceneKit + ARKitARKIT
[SceneKit]Actions Editor(十三)

[SceneKit]Actions Editor(十三)

作者: 冰三尺 | 来源:发表于2017-07-29 12:19 被阅读210次

Actions允许您在场景中操纵节点的位置,缩放,旋转和不透明度。例如,当玩家向左滑动时,Pig先向左转,同时向左跳一个空格。右滑动应该做相反的事情。
这些基本动作通过在节点上的序列和组中运行动作来实现。
当您选择节点时,您可以在Scene Kit编辑器中通过将操作从对象库拖放到辅助编辑器中,在场景编辑器的下方,来构建动作序列。从编码的角度来看,首先需要创建一个SCNAction对象,如果需要,可以选择性地设置它的timingMode,然后可以在任何SCNNode实例上执行Actions通过在节点上使用runAction(_ :)方法。

操作节点在场景中的行为有四个基本类别的动作:移动,缩放,旋转和淡入淡出。还有两个更特殊的操作用于在序列或组中运行操作。

注意:回想起当你第一次了解物理学的时候,你发现了三种类型的物理学体,它们是dynamic,kinematicstatic
如果您希望物理引擎控制节点的运动和旋转,您可以将其物理体设置为dynamic。如果您希望节点永远不会移动,但仍然参与物理模拟,您将其物理体设置为static。当您想要控制特定节点的运动和旋转时,在让其参与物理模拟的过程中,您将将其物理身体类型设置为kinematic

Move actions

屏幕快照 2017-07-29 下午12.00.20.png

Move Action: 从当前节点的位置偏移

屏幕快照 2017-07-29 下午12.02.42.jpg

下图展示了将球沿着X轴的正方向移动3, 只需设置Action的position为(x:3, y:0, z:0)即可


Jietu20170729-120903-HD.gif

MoveTo Action: 将节点移动到指定的位置, 忽视当前的节点在什么位置

Scale actions

屏幕快照 2017-07-29 下午12.12.39.png

Scale Action:在当前的基础上进行缩放
ScaleTo Action:将节点缩放到指定的比例因子,而不管节点的当前比例

Jietu20170729-121226-HD.gif

Rotate actions

屏幕快照 2017-07-29 下午12.15.46.png

Rotate Action:在当前旋转基础上再旋转
RotateTo Action:旋转到指定角度,与当前旋转无关
RotateTo Action (Shortest):旋转到指定角度,走最短路径
RotateBy Axis Angle Action:绕某个轴旋转
RotateTo Axis Angle Action:绕某个轴旋转到指定角度

Fade actions

屏幕快照 2017-07-29 下午12.17.43.png

FadeOut Action:淡出,从当前透明度渐渐变完全透明
FadeIn Action:淡入,从当前透明度渐渐显示出来,完全不透明
FadeOpacityTo Action:改变不透明度到指定值

渐渐消失的效果


Jietu20170729-121834-HD.gif

Sequenced and grouped actions

排序和分组动作
一旦您创建了一大堆基本操作,您可以将它们组合在一起,以便使序列和组合一起运行,或者同时一起运行。

下图显示了在两秒钟内播放的几个基本动作之间的关系:

屏幕快照 2017-07-29 下午2.04.47.png

Actions:左边简单地列举了四个基本动作:bounce-up, bounce-down, move-right and rotate-right.。
Sequence:在蓝色矩形内,您将在序列中看到两个动作。所以当你移动时间线时,光标将首先启动反弹动作一秒钟,一旦完成,它将开始运行反弹动作。这被称为一系列动作。
Group:红色矩形内是蓝色的动作顺序,以及右移和右旋两个动作。 当您移动时间轴时,光标将同时开始反弹,向右移动和右旋转。 当时间线达到一秒钟时,反弹动作完成,弹起动作开始。 同时,右移右移仍然运行,并在该点完成一半。 当时间线达到二秒标记时,所有操作都已完成。 通过将操作分组在一起,您可以并行运行它们。

想要更加真实的模拟物理运动, 只是简单是使用linear(匀速运动时不行的), 试想一下, 当一个物体被抛向空中它不是允许的先上后下的, 而是先以一个初始速度向上, 然后变慢, 然后停下, 然后再慢慢的加速向下运动.

为了是运动更加真实, SceneKit提供了四种timing

屏幕快照 2017-07-29 下午3.16.35.png

相关文章

  • [SceneKit]Actions Editor(十三)

    Actions允许您在场景中操纵节点的位置,缩放,旋转和不透明度。例如,当玩家向左滑动时,Pig先向左转,同时向左...

  • Idea Keymaps

    Main menu Editor Actions

  • editor Actions

    Editor Actions | Add or Remove Caret编辑器操作| 添加或删除插入符号Edito...

  • 16-Actions动作

    文章选自掘金苹果API搬运工的文章[SceneKit专题]16-Actions动作主要记录自己在学习ARKit的过...

  • [SceneKit专题]16.Actions动作

    说明 本系列文章是对<3D Apple Games by Tutorials>一书的学习记录和体会此书对应的代码地...

  • Flutter 快捷键设置

    当使用快捷键冲突的时候!首先进入Preferences->keymap->Editor Actions搜索冲突的快...

  • 6-Scene-Editor场景编辑器

    文章选自掘金苹果API搬运工的文章[SceneKit专题]6-Scene-Editor场景编辑器主要记录自己在学习...

  • selenium鼠标事件

    Actions actions = new Actions(driver); actions.click...

  • SceneKit学习笔记

    SceneKit SceneKit苹果官方文档SCNCameraSCNMaterialSCNLightTypeSC...

  • [SceneKit]目录

    基础篇[SceneKit]搭建Scene3D场景(一)[SceneKit]物理仿真模拟(二)[SceneKit]场...

网友评论

    本文标题:[SceneKit]Actions Editor(十三)

    本文链接:https://www.haomeiwen.com/subject/pnuxlxtx.html