UE4蓝图 控制物体移动缩放且不受帧率影响的方法

最近在做虚拟仿真相关场景的研究,之前使用过场动画驱动物体移动和缩放,现在需要使用外部数据驱动UE4关卡中的物体,于是参照在unity里的做法,将物体移动和缩放的方法放在Tick事件中,使用Delta Seconds作为基础参数乘以一个速度变量。在正常状态下运行良好,如果将鼠标切出窗口,帧率明显下降,代码执行也变慢了,物体移动固定长度的时间延长了。熟悉unity的可以得出UE4中Tick相当于unity的Update方法,易受到机器性能影响,但UE4中没有Unity的FixedUpdate类似的方法。还是尝试了一些方法,做了一些测试得出一些结论。

一、对于实时性要求不高,重复性动作的

建议使用Matinee、Sequence动画解决。动画帧率是固定的,在不同性能设备上同一时间位置基本没有误差。还可以在蓝图中使用TimeLine节点,使用直接赋值的方式,避免TimeLine轨迹的计算。

用TimeLine直接给坐标赋值,不会受到帧率影响
TimeLine直接给坐标或缩放赋值,可以避免受到帧率影响
用TimeLine轨迹经过计算后给坐标赋值,还是会受到帧率影响
TimeLine轨迹计算后赋值,会受到帧率影响

二、实时性要求较高的

1.对于有目标点和移动时间间隔的

使用 MoveComponentTo 节点,只适用于移动和旋转,没有找到关于缩放的类似节点

### 实现 Vue3 + Vite + Ant Design 日历组件全中文显示 为了确保日历组件能够完全以中文显示,在 `Vue3` 和 `Vite` 的环境中集成 `Ant Design` 需要遵循特定的设置方法。 #### 1. 安装依赖包 确保安装了必要的依赖项,包括 `ant-design-vue` 及其本地化支持文件。这可以通过 npm 或 yarn 来完成: ```bash npm install ant-design-vue dayjs@latest ``` 或者使用 Yarn: ```bash yarn add ant-design-vue dayjs@latest ``` #### 2. 主应用入口配置 (`main.js`) 在项目的主应用程序入口处注册 `Ant Design Vue` 组件库,并加载样式表。此操作使得整个项目可以访问到这些 UI 组件及其默认样式[^2]。 ```javascript import { createApp } from &#39;vue&#39;; import App from &#39;./App.vue&#39;; import Antd from &#39;ant-design-vue&#39;; import &#39;ant-design-vue/dist/antd.css&#39;; const app = createApp(App); app.use(Antd); // 挂载根实例 app.mount(&#39;#app&#39;); ``` #### 3. 使用 `<AConfigProvider>` 进行全局配置 为了让所有的日期时间控件都能识别中文环境,可以在顶层包裹一层 `<a-config-provider>` 并传入相应的语言包对象 `zhCN`[^3]。 ```html <template> <a-config-provider :locale="zhCN"> <!-- 路由视图或其他内容 --> <router-view></router-view> </a-config-provider> </template> <script> import zhCN from &#39;ant-design-vue/es/locale/zh_CN&#39;; export default { data() { return { zhCN, }; }, }; </script> ``` #### 4. 设置单个组件的语言属性 对于具体的日期选择器或日历组件来说,则需单独指定它们所使用的地区信息以及初始化状态值。这里展示了如何通过传递 `:locale` 属性来控制日历界面的文字呈现方式[^1]。 ```html <template> <div class="calendar-container"> <a-calendar v-model:value="value" :locale="locale" @panelChange="onPanelChange"></a-calendar> </div> </template> <script setup> import { ref } from &#39;vue&#39;; import locale from &#39;ant-design-vue/es/date-picker/locale/zh_CN&#39;; import dayjs from &#39;dayjs&#39;; import &#39;dayjs/locale/zh-cn&#39;; // 加载中文语言包 dayjs.locale(&#39;zh-cn&#39;); // 应用中文语言环境 const value = ref(dayjs()); const onPanelChange = (value, mode) => { console.log(value.format(), mode); }; </script> ``` 以上步骤完成后,应该能够在基于 `Vue3`, `Vite` 构建的应用程序里看到带有完整中文标签的日历插件正常工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值