问题标签 [vrtk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
unity3d - 游戏网格变得疯狂
我遇到了一个奇怪的问题,我的游戏对象网格在捡起它们时会发疯。它仅适用于其中一些仅随机执行的特定网格。疯狂我的意思是他们在某个轴上调整大小。
我正在使用 HTC Vive、SteamVR 和 VRTK。
我唯一改变的是更新图形驱动程序,但其他一切似乎都很好。这是我在 GitHub 上的游戏的链接;
https://github.com/Tishbyte/CS-Tour
要重现,请按照以下步骤操作;
使用 HTC Vive 从主场景打开游戏。
前往带白板的房间,这些可以通过带有发光提示的标记来识别。
拿起标记,你会看到网格变得疯狂。如果您扔掉物体,这也可以用蓝色和黑色的椅子随机完成。
任何帮助,将不胜感激。
c# - 如何获取物体被抓取多长时间的时间?
目前我正在使用 Unity 和虚拟现实工具包 (VRTK) 进行项目。我想记录抓取对象的时间(用户抓取对象的时间)。
到目前为止,我得到了这个:
不幸的是,这不起作用,因为我得到了大约 2 毫秒的时间,即使我抓住物体的时间更长。因此,该ObjectGrabbed()
功能似乎启动了计时器,但立即停止了它。
我怎样才能解决这个问题?
c# - 获取 VRTK 输入以在动画控制器内设置值
(我已经按照 VRTK 的 002 教程,在左右控制器上使用自定义触发事件。它确实有效,但不是我想要的。)我确实有一个使用他自己的 Animatorcontroller 的预制件实例化的角色。我将我自己的“动画师脚本”附加到他身上,当我按下按钮 0、1、2、3 时做手势......它正在工作,它就像那样工作。
无效更新()
现在我想通过我的 VR 控制器按钮输入而不是 0.1.2.3 键盘来完成。我了解到 VRTK 有一些功能可以做到这一点。因此,我从 002 示例场景进入“VRTK_ControllerEvents_ListenerExample 脚本”,并将脚本放在左右控制器上(位于 VRTK 游戏对象场景内)(不在我的预制化身上,因为如果我这样做就没有任何效果了,如教程所述,002 场景脚本必须在 VRTK 实例化的控制器上)。我可以将动画放入其中并让它们工作。但它们仅适用于我的预制件,前提是我已经将它放在场景中,并且不实例化它。所以作为一个玩家,我不能让我的手势起作用,因为当我点击播放时,我必须让我的角色实例化我的游戏才能工作(我的默认脚本做得很好,当我按下 0,1,2,3...
所以我有一个问题,他们可能是我所看到的两个解决方案。我可能会直接在我的旧“动画师脚本”中调用 VRTK 控制器功能。所以它可能看起来像:
if (Input.GetKey(KeyCode.Keypad0))
进入 if (GetComponent().TriggerPressed)==true) (但它告诉我 TriggerPressed 不可用) m_Animator.SetInteger("HandGestureLeft", 0); // 拳头
(但我不知道如何从 VRTK 监听的地方获取 VR 控制器输入)
或者可能有一种方法可以从左右控制器调用“VRTK_ControllerEvents_ListenerExample”脚本中的预制 AnimatorController 组件。但是在这里,我也不知道如何调用预制组件,如果我的 Avatar Prefab 已经在场景中,我只能调用 AnimatorControllerComponent。
最后,我需要的只是从我的预制脚本中检查左控制器或右控制器是否按下触发器的方法。就像“Input.GetKey(KeyCode.Keypad0)”一样,但使用 VRTK 方式来获取触发输入。
我完全迷路了,有人可以帮助我吗?:D
这里有两张图。现在我的工作代码看起来像这样:![1]:https ://vrtoolkit.slack.com/files/UA39CMQRF/FA3BD4YD6/code.png “Code0”![2]:https ://vrtoolkit.slack.com /files/UA39CMQRF/FA3BD6DR6/code1.png “代码1”
c# - Unity虚拟现实武器开关(VRTK)
我目前有一个有 2 种武器的游戏,我希望玩家能够在它们之间切换,而不是跑来跑去捡起武器。
我有一个基本的武器选择器脚本:
在这个脚本中,我试图通过更改自动抓取对象tograb(更改武器)来使用手柄按钮来更改武器。我不确定这是否是正确的方法,或者是否可行,但感谢您的帮助!
unity3d - 在使用 Unity 的 VRTK 的任何场景中都看不到控制器
使用 :
- 统一 v5.5
- VRTK v3.2.1
- SteamVR v1.2.3 (HTC Vive)
在任何 VRTK 的示例场景中,我都看不到(也无法使用)我的控制器。我还尝试SteamVR_UpdatePoses
按照常见问题解答[CameraRig]->Camera (head)->Camera(eye)
的建议添加一个。
c# - 如何获取您指向 DestinationMarkerEventHandler 的纹理的像素值?
使用 Unity3D 和 VRTK,我需要使用VRTK_Pointer
脚本获取我指向的纹理上的像素值。
我创建了一个脚本,附加到一个名为COLOR_GRID的球体上,我声明了一个Texture2D
对应于球体纹理的公共成员。它包含此方法,当我指向并单击球体时会调用该方法。
从e.raycastHit
,我可以访问,我猜,指针对球体的影响的局部坐标。使用这些信息,问题是如何将此局部坐标转换为Texture2D
坐标?但我被困在那里。
或者有更好的方法吗?
编辑:e.raycastHit.textureCoord
总是(0,0)。
oculus - VRTK 3.3 Oculus 控制器不跟踪
VRTK:3.3 Unity3D:2018.1.0f2 Oculus:SDK Oculus 实用程序 1.27 SteamVR:1.2.3
我使用 Vive 启动了一个项目,该项目已全部启动并正在运行。然后我想开始着手让 Oculus 运行起来。出于某种原因,Oculus 控制器根本没有跟踪。他们甚至没有出现。
为了帮助追查问题,我按照说明打开了 VRTK_SDKManager_Constructor 场景,然后加载了 StraightPointer 场景。
仍然没有 oculus 控制器可见,也没有跟踪。此外,当我单击 oculus 控制器上的操纵杆时,我会看到激光投影,但它不是来自控制器。它从耳机后面出来。
我已经在两台不同的计算机、两个不同的 Oculus 头戴设备上尝试过。希望有人可能对 Oculus 控制器无法正常工作的原因有所了解。
据我了解,我使用的是正确的 Oculus SDK。
unity3d - Unity VRTK资产错误
我刚刚VRTK v3.20
统一下载了资产,但在导入后我遇到了一些错误。我似乎无法在网上找到解决方案。
Unity 版本:2018.1.6f1 个人 64bit。
错误:
1.VRTK/Scripts/Interactions/Highlighters/VRTK_MaterialColorSwapHighlighte.cs(146,66):错误CS1540:无法通过类型UnityEngine.Texture'的限定符访问受保护的成员UnityEngine.Texture.Texture()'。限定符必须是“VRTK.Highlighters.VRTK_MaterialColorSwapHighlighter”类型或派生自它
2.VRTK/Scripts/Interactions/Highlighters/VRTK_MaterialColorSwapHighlighte.cs(146,66): error CS0122: `UnityEngine.Texture.Texture()' is inaccessible because of its protection level
这是有错误的行:
unity3d - 传送时物体掉落
我有一个可以被玩家捡起的纸箱。我已经在这个盒子上设置了一个网格对撞机,现在它将被另一只手捡起的任何物品都保存在里面。但是,我一传送,盒子里的物品就不会跟随新的位置。知道如何实现这一目标吗?
unity3d - 在 Unity Vrtk 中加载下一个场景时 VR 手控不起作用
在我的应用程序初始页面是登录后登录应用程序将导航到场景 1(这里控制工作正常)。
完成场景 1 后,应用导航到场景 2。
这是我的问题,VR 手控制器在这个场景中不工作。(但在重新启动 VR 手控制器后工作)
如何通过脚本或其他方式解决这个问题?