RealityKit:更改 ModelEntity 的比例而不改变其位置

2024-05-02

我有一个从 A 点移动到 B 点的 ModelEntity 动画,需要一段时间才能完成。当用户点击 ModelEntity 时,我也想向 ModelEntity 添加收缩动画。

我尝试将缩放动画直接添加到 ModelEntity 视图 .move 但问题是我当前的模型转换是模型预计结束的位置。导致 ModelEnity 跳转到动画末尾。

var transform = modelEntity.transform 
transform.scale *= factor
modelEntity.move(to: transform, relativeTo: modelEntity.parent, duration: duration) // will not work because the translation of the transform is already at the end of the animation

有没有办法将缩放动画添加到已经位于不同动画中间的 ModelEntity 并使它们一起工作?


使用 Xcode 14.2 进行测试。 :

import RealityKit
import CoreGraphics

extension Entity {
    
    func scaleAnimated(with value: SIMD3<Float>, duration: CGFloat) {
        
        var scaleTransform: Transform = Transform()
        scaleTransform.scale = value
        self.move(to: self.transform, relativeTo: self.parent)
        self.move(to: scaleTransform, relativeTo: self.parent, duration: duration)
        
    }
    
}

Usage:

var scaleTransform: Transform = Transform()
        
if exampleEntity.scale.x == 1.0 {
   exampleEntity.scaleAnimated(with: [0.012, 0.012, 0.012], duration: 1.0)
} else {
    exampleEntity.scaleAnimated(with: [1.0, 1.0, 1.0], duration: 1.0)
}
        
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RealityKit:更改 ModelEntity 的比例而不改变其位置 的相关文章

  • 如何消除使用 DrawerLayout 打开 Activity 时的延迟?

    我有一个带有 DrawerLayout 的活动 但每当它打开时 都会有一个延迟 就像屏幕变白然后绘制我的屏幕一样 这发生在转换完成后 所以看起来屏幕动画过渡有点跳跃 在将视图与 ButterKnife 绑定后 我尝试将其放在 OnCreat
  • Canvas 动画在 FireFox 中卡顿,但在 Chrome 中完美

    我最近开始做一些 HTML5 Canvas 的东西 并且很高兴地开展我的业务 在 Chrome 中测试东西 直到我决定尝试我在 Firefox 中所做的事情 效果不太好 这是我正在做的事情的一个简单的例子 设置基本的 requestAnim
  • 椭圆绘制WPF动画

    我正在开发一个矩形区域的控件 当触发发生时 将在矩形区域中绘制一个椭圆形 该控件将能够承载其他控件 例如文本框 按钮等 因此在触发时将在它们周围绘制圆圈 我希望将圆圈绘制为动画 就像您用笔圈出内部控件一样 实现这一目标的最佳方法是什么 我一
  • 将设备 3D 方向与太阳位置进行比较

    我正在开发一款应用程序 要求用户将 iPhone 对准太阳才能触发特殊事件 我可以基于陀螺仪和 CoreMotion 框架检索设备 3D 方向四元数 从中我可以获得偏航角 滚动角和俯仰角 我还可以根据当前日期和时间 GMT 以及纬度和经度计
  • 带有 OpenCV 的增强现实 SDK [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 自定义 UITableViewRowAnimation 或持续时间

    我有一个用户可以拖动的应用程序UITableViewCells从一TableView到另一个 我通过在用户触摸的 UITableViewCell 顶部渲染一个 虚拟 单元格来实现此目的 并禁用 真实 单元格 然后我在目标中插入一个新行UIT
  • 什么是离散动画?

    The MDN 动画文档 https developer mozilla org en US docs Web CSS animation v control指动画类型是离散 这是什么意思 离散动画从一个关键帧进行到下一关键帧 无需任何插值
  • Jquery Smoothscroll 函数 - 如何控制动画速度?

    有人可以帮助我吗 尝试通过我的平滑滚动和控制速度添加 慢 功能 希望能够实现真正的 平滑滚动 以下是代码 document ready function smoothscroll live click function e html bod
  • Angular 2交错列表动画

    我正在尝试使用动态列表在我的应用程序中交错播放动画 如果可能的话 我希望动画进入和离开 但我会解决只是为了让进入工作 animations trigger slideIn transition enter style transform t
  • chrome css 动画上的抖动

    尝试使用两个具有相同背景图像 svg 的居中 div 制作一个从中心淡入图像的 css 动画 并为其宽度和背景位置设置动画 问题是 在 chrome 上 存在严重的抖动问题 也许是 chrome 循环执行动画步骤 而不是同时执行它们 这是j
  • 尽管 Matplotlib FuncAnimation(...,repeat=False) 保存的动画图不断循环

    我想使用制作动画matplotlib进行 Powerpoint 演示 动画应该只播放一次 在我的代码中 参数repeat of FuncAnimation 被设置为 false 因为我需要将图导入到powerpoint中 所以我使用保存它a
  • 将可渲染节点(相同的旋转、位置和比例)替换为 Sceneform sdk 中的另一个可渲染节点

    我是 Android 版 sceneform sdk 的新手 我已经添加了一个Transformable Node 然后我应用了一些旋转 缩放并改变了它的位置 现在 单击按钮后 我需要放置具有相同旋转 缩放和位置的第二个节点 为此我所做的是
  • relativelayout导致动画不起作用?

    我有一个活动 其布局仅包含一个 VideoView 这是 XML
  • Android 中 Activity 之间的 3D 动画

    How to create animation between two Activity look like As Screen shot in android 搜索jazzyviewpager 这是link https github co
  • 如何正确删除动画集中引用的 Raphael SVG 元素?

    我有一组动画 Raphael SVG 元素 我正在通过用户发起的 ajax 调用添加新元素并删除旧元素 我 set push 新元素 但因为我需要删除的元素通常不是集合中的最后一个元素 所以我使用 element remove 而不是 se
  • Java 动画中的跳跃和撕裂

    以下代码绘制一个正方形 其中两个较小的正方形在其中旋转 每当你点击键盘上的箭头时 整个系统就会朝那个方向移动 然而 我遇到了一些图像撕裂和有时跳过的问题 它很小但仍然存在 我想知道是否有人知道如何在不大规模更改代码的情况下解决这些问题 im
  • Air for Android:动画导致我的游戏出现滞后

    我正在为 android 平台制作一款 cs6 air 游戏 当我为游戏制作动画时 我使用 3D 软件搅拌器 在 Blender 中 我制作了一个动画 然后将其渲染为一系列 PNG 图像 并将其导入到 Flash CS6 中 因此 如果我要
  • viewController 中的 Sprite 粒子系统动画

    I create a macOS single window application and add a Sprite Particle System file with template Stars and the visual effe
  • 使用 matplotlib 在 python3 中对多个形状进行动画处理

    尝试在 python3 中使用 matplotlib 动画函数同时对多个对象进行动画处理 下面写的代码是我到目前为止的位置 我能够创建多个对象并将它们显示在图中 我通过使用包含矩形补丁函数的 for 循环来完成此操作 从这里开始 我希望通过
  • React Native - “this.setState 不是一个函数”试图设置背景颜色动画?

    好吧 我只是想循环视图的背景颜色 在 3 4 种颜色之间渐变 我发现如何在 React Native 中对 ScrollView 的背景颜色进行动画处理 https stackoverflow com questions 50356933

随机推荐