IOS复杂震动AHAP文件编辑指南

news2024/12/24 2:28:18

简介

目前部分游戏会在播放一些特定的音乐音效时,令设备产生贴合音效的复杂震动,给玩家一个更好的游戏体验。这种复杂震动就是通过苹果的CoreHaptics库实现的。

下面是关于CoreHaptics的官方文档

​​​​​​​Core Haptics | Apple Developer DocumentationCompose and play haptic patterns to customize your iOS app’s haptic feedback.https://developer.apple.com/documentation/corehaptics?language=objc

AHAP就是苹果方法提供的震动波形文件。然而通过代码或者文本直接去编辑震动波形是十分困难的,所以本文会借助一个图形化的震动编辑网站https://ahap.fancypixel.it/,介绍AHAP文件的制作和编辑。同时该网站还提供了测试波形的App,编辑后可以直接在移动设备上体验震动效果

AHAP文件制作

该网站编辑页有两个坐标轴,第一个代表Intensity属性,第二个代表Sharpness属性。每个坐标轴的纵轴代表对应属性的大小,横轴代表对应事件的时间

左上角有三个模式选择按钮,分别是添加,编辑和删除模式。

右下角有一个Duration的滚动条,可以拉长和缩短时间轴

添加事件

在添加模式下,鼠标长按左键后拖动,可以在坐标轴对应位置生成一个HapticContinuous事件。方块的高度即为对应属性的大小,宽度代表持续时间(EventDuration)。

在编辑页下显示为一个橙色的方块。

坐标轴下单击鼠标左键,则会生成一个HapticTransient事件,在编辑页下显示为一个蓝色的方块。在添加事件时,Intensity和Sharpness的值都是相同大小的。需要单独改变其中一个属性值需要在编辑模式下进行

编辑事件

点击左上角的编辑按钮,可以看到之前添加的HapticContinuous事件的方块出现了四个圆点,左键点击并拖拽第一个坐标轴上的圆点,上下移动可以单独改变Intensity的属性大小,左右移动则是修改时间的起止时间(此时Sharpness的属性大小不会产生改变)。同理左键点击并拖拽第二个坐标轴上的圆点则是单独改变Sharpness的属性大小

编辑HapticTransient则是直接左键点击并拖拽蓝色的小方块

删除事件

点击左上角的删除按钮,进入删除模式。之后鼠标左键点击事件对应的方块,就可以直接删除该事件

生成AHAP文件

点击右侧的Code按钮,可以查看制作好图形对应的AHAP Json数据

点击弹出页的Copy按钮后将数据复制到一个文本文件并保存即可

Tips:有时候导出的Json文件会缺少Version字段,可能导致后续解析出现问题,需要手动添加Version字段,并且需要设置Version字段为1。否则可能出现震动效果无法播放的情况

加载已有的AHAP文件

点击右侧的Load from JSON按钮

在弹出页内填入已有AHAP文件的JSON数据后点击Load按钮

完成后可以到对应AHAP文件的波形图

MobyApp

该网站还提供了一个MobyApp的demo,用于体验在该编辑网站上生成的Ahap文件,点击主页的MobyApp按钮可以跳转到该github的工程地址。需要使用该App的小伙伴可以找前端开发直接进行安装

该App需要配合网页https://ahap.fancypixel.it/使用。

在该网页编辑完波形图后,点击右下角的save and share按钮。

会弹出一个二维码

之后打开手机上的Moby App 应用,点击下图中的扫码图标,扫上面的生成的二维码

成功地址栏会填充文件地址。此时底部的文字提示为NO HAPTIC LOADED,代表文件还未加载完成。需要点击上面的Load AHAP 按钮

加载完成后,文字提示会变为HAPTIC READY。代表文件已经加载完成,直接点击 PLAY HAPTIC按钮即可播放震动效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/593528.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DISC行为模型

DISC行为模型 这是一种研究人行为倾向性的理论,由哈佛大学教授、临床心理学家威廉马斯顿博士提出。它可以用来预测一个人的行为倾向性,让使用者更好地了解自己和影响他人! 模型介绍 马斯顿博士发现,行事风格类似的人会展现出类似…

充电桩检测设备厂家TK4860C交流充电桩检定装置

TK4860系列是专门针对现有交流充电桩现场检测过程中接线复杂、负载笨重、现场检测效率低等问题而研制的一系列高效检测仪器,旨在更好的开展充电桩的强制检定工作。 充电桩检测设备是一款在交流充电桩充电过程中实时检测充电电量的标准仪器,仪器以新能源…

Pandora:一个让你呼吸顺畅的ChatGPT

什么是chatgpt ChatGPT是一种基于GPT(Generative Pre-trained Transformer)的聊天机器人。GPT是一种基于神经网络的自然语言处理模型,它使用大规模的文本数据进行预训练,然后可以用于各种自然语言处理任务,如文本生成…

神州数码DCN路由器之间GREIPsec 配置

拓扑: 说明: R1: g 0/0:192.168.1.1/24 g 0/1:10.1.1.1/24 tunnel 1:172.16.1.1/24 R2: g 0/0:192.168.2.1/24 g 0/1:10.1.1.2/24 tunnel 1:172.16.1.2/24 配置思路: <

阿里Github斩获4.5万Stars!分享的Spring Cloud全栈笔记,你想象不到有多全

如何获得高并发经验&#xff1f; 这是我今天逛知乎的时候系统邀请我回答的一个问题&#xff0c;由此也引发了我的一些思考&#xff1a;为什么人人都想要获得高并发经验&#xff1b;想拥有高并发系统设计技能&#xff1f; 其原因LZ认为主要有以下三点&#xff1a; 涨薪&#…

Pytorch入门(一)数据加载初始化及训练过程监控

Pytorch入门系列大致会更5篇文章不到&#xff0c;以后有机会的话再细细更新吧&#xff0c;主要复习一下Pytorch基本知识&#xff0c;复习一下在大二入门Pytorch的学习笔记&#xff01;原教程位于B站&#xff0c;讲的个人感觉蛮好的。 超级传送门&#xff0c;这个系列教程会很快…

4月刚上岸今日头条(字节)测试开发岗【附答案】

今日头条测试开发面试回顾 字节跳动公司以发展迅猛&#xff0c;待遇优厚和面试难闻名于业界。前段时间面试字节跳动&#xff08;今日头条&#xff09;&#xff0c;并成功拿下高级测试开发工程师岗位后的面试题目回顾,供跳槽季的各位同学参考&#xff01; 一面 自我介绍 编程题…

Java基础-Java常用类2(String类)

本篇文章梳理Java常用类--String类. String类是非常重要的,也是面试的重灾区,一起加油啊~~ 主要讲解String类 : String类的基础知识String类的特性String类的方法String,StringBuilder,StringBuffer之间的比较字符串常量池String应用 : 到底创建了多少个对象 希望给您带来帮助~…

大屏时代:引领信息可视化的新潮流

在信息时代的浪潮下&#xff0c;数据已经成为推动各行各业发展的重要动力。然而&#xff0c;海量的数据如何快速、直观地呈现给用户&#xff0c;成为了一个亟待解决的难题。在这样的背景下&#xff0c;可视化大屏应运而生&#xff0c;以其出色的表现力和交互性成为信息展示的佼…

5.Nginx

文章目录 Nginx编译安装Nginx检查、启动、重启、停止nginx服务添加Nginx系统服务Nginx配置全局配置I/O事件配置HTTP配置Web服务的监听配置日志格式设定location常见配置指令访问状态统计配置 Nginx 一款高性能、轻量级Web服务软件 稳定性高系统资源消耗低对HTTP并发连接的处理能…

【开源项目】银行查询服务的设计和实现

银行查询服务的设计和实现 项目地址github&#xff1a;https://github.com/xl-echo/bankInquiryService项目地址gitee&#xff1a;https://gitee.com/xl-echo/bank-inquiry-service 银行查询服务的设计初衷是&#xff1a;为提供更加便利的查询服务&#xff0c;我们在分布式系…

科研热点|2023年两院院士增选,正式启动 (附增选指南)!

中国科学院 5月31日&#xff0c;中国科学院官网发布《2023年度中国科学院院士增选指南》《中国科学院关于推荐中国科学院院士候选人的通知》等多个文件&#xff0c;正式启动2023年院士增选工作。 2023年度中国科学院院士增选指南 院士制度是党和国家为树立尊重知识、尊重人才…

IOS苹果证书在线制作,无需mac电脑,拒绝钥匙串

IOS苹果证书在线制作&#xff0c;无需mac电脑&#xff0c;拒绝钥匙串 在公众号、小程序出来后&#xff0c;APP开发出现了很多H5的开发框架&#xff0c;比如uniapp等&#xff0c;如果你编译uniapp的程序&#xff0c;打包成ios项目的时候需要两个证书文件&#xff0c;分别是&…

KD7440八通道安规综合测试仪

一、产品概述 KD7440 系列程控耐压测试仪均采用高速 MCU 和大规模数字电路设计的高性能的安规测试仪&#xff0c;其输出电压的大小、输出电压的上升、下降、输出电压的频率由 MCU 控制&#xff0c;能实时显示击穿电流值和电压值&#xff0c;并具有软体校准功能&#xff0c;配备…

Docker安装配置教程

Docker要求&#xff1a; lunix内核&#xff0c;要求3.8以上 centos7 Docker是一个进程&#xff0c;一启动就两个进程&#xff0c;一个服务&#xff0c;一个守护进程。占用资源就非常少&#xff0c;启动速度非常快&#xff0c;1s。 一台机器上vm&#xff0c;3到10个实例。docke…

iOS 16 UIResponderForwarderWantsForwardingFromResponder Crash问题解决方案

背景 最近后台统计发现有一个随机的Crash&#xff0c;引起了我们的关注 从操作系统来看&#xff0c;都是iOS 16 系统 崩溃堆栈如下&#xff1a; Exception Type: EXC_BREAKPOINT (SIGTRAP) Exception Codes: 0x0000000000000001, 0x00000001daa1808c Termination Reason: …

git推送代码冲突解决

冲突情况一 首先甲和乙同时从远程仓库拉取v1版本的代码&#xff0c;然后乙先修改代码产出v3版本的代码进行提交并且成功&#xff0c;随后甲修改v1版本代码产出v2版本的代码&#xff0c;此时想要提交到origin/master,但是远程的最新版本并不是之前的v1了&#xff0c;这里就产生…

维纳过程和伊藤引理

目录 一、马尔可夫过程&#xff08;Markov&#xff09; 1. 基本概念 2. 具体使用 二、维纳过程 1. 基本概念 2. 具体使用 三、广义维纳过程 1. 漂移率和方差率 2. 广义维纳过程的基本概念 3. 具体使用 四、伊藤过程 五、几何布朗运动 六、伊藤引理 1. 基本概念 …

SuperMap Hi-Fi 3D SDK for Unity设置渲染范围

kele 一、背景 在三维项目中经常会使用到大屏&#xff0c;有可能会用到4K屏、8K屏、长屏、带鱼屏等高分辨率的屏幕&#xff0c;这些屏幕的其中一个特点是其长宽比比较大&#xff0c;有些时候会是几块16&#xff1a;9的屏幕横向拼接而成&#xff0c;这就使得这整个屏幕在水平方向…

数字信号处理9:Z变换(1)

说实话&#xff0c;这两天看Z变换看的迷迷糊糊的&#xff0c;就觉得它求卷积的时候好用&#xff0c;再剩下的&#xff0c;我怎么感觉用处不大。 首先来说z变换&#xff1a;,或者简单一点的可以这样子写&#xff1a;&#xff0c;感觉Z变换最重要的一个问题是收敛性&#xff0c;…