如何在 Unity 中获取笔压值(在 Android 上使用 S Pen)?

Posted

技术标签:

【中文标题】如何在 Unity 中获取笔压值(在 Android 上使用 S Pen)?【英文标题】:How do I get pen pressure values in Unity (using S Pen on Android)? 【发布时间】:2020-12-28 07:26:50 【问题描述】:

我到处查看,但没有关于在 Unity 中使用平板笔的实际示例或教程。

我尝试使用我在论坛上找到的 GetTouch 功能,看看是否可行:

float pressure = Input.GetTouch(0).pressure;

然后将值显示为字符串以查看它的值,但出现“索引超出范围”错误。

【问题讨论】:

【参考方案1】:

首先你必须安装包输入系统

之后,您必须将命名空间 UnityEngine.InputSystem 添加到您的脚本(第 2 行)。

可以使用Pointer.current.pressure.clampConstant读取值

更多信息可以在这里找到

ControlsAxis​Control / Class Pointer ​ControlsAxis​Control / Class AxisControl Pen, tablet, and stylus support

【讨论】:

非常感谢您的详尽回答!我唯一的问题是,在我的 Galaxy Note 20 上运行应用程序时,它似乎无法识别“手写笔支持”。这个语句总是返回错误:if (Input.stylusTouchSupported)。不过,这支笔显然可以工作,因为我可以用它在我的应用程序中“绘图”。但如果我开始用手指画画,笔就会完全停止工作。 我很高兴。如果你把if Input.stylusTouchSupported 的那部分留出来呢?

以上是关于如何在 Unity 中获取笔压值(在 Android 上使用 S Pen)?的主要内容,如果未能解决你的问题,请参考以下文章

对于 iOS healthkit,如何保存收缩压和舒张压值?

通过 PySide 使用 Python 2.7 检索笔压

如何在unity中获取对象的大小

Unity中AndroidJavaObject和AndroidJavaClass有啥区别

如何在 Unity 中从 3D 对象中获取 2D 视图/纹理

如何在 Unity 中正确地从 Json 获取数组数组