我目前正在尝试使用眼镜Vuzix star 1200 XLD和c ++构建桌面AR应用程序.我已经对AR中使用的算法和着名的SDK进行了大量的研究,我发现visual SLAM是一种常用的算法.
所以,如果您使用它,我想得到一些反馈,我对任何有关用于跟踪和匹配的AR算法的建议持开放态度.
非常感谢!
我有一个关于如何在检测到的标记上显示简单二维图像的问题。我已经按照一些教程来显示 3d 模型,它工作正常。3d没有问题。当我想添加普通的 2d object->sprite 时,问题就开始了。当我添加简单的精灵时,我无法添加纹理,当我插入 UI 图像时,它与画布一起添加,并且在检测到目标时不显示。编辑器上的原始图像放置到此为止,很难找到它。如果有人能向我强调正确的方向,我将不胜感激。
我需要让这个图像像按钮一样触感。单击它必须显示新场景(我有它,但在 GUI.Button 下)。最好的方法是替换原始标记,但我也可以使新精灵变大以将标记隐藏在其下。
正如我在opengl中看到的那样,坐标在-1和1之间,我想使用opengl渲染对象,我在像素坐标中渲染对象的第一个位置,但是我不知道如何将像素坐标转换为opengl坐标。我正在使用Java开发Android应用程序。
公共类FirstOpenGLProjectRenderer实现GLSurfaceView.Renderer {
private static final String A_POSITION = "a_Position";
private static final String A_COLOR = "a_Color";
private static final int POSITION_COMPONENT_COUNT = 4;
private static final int COLOR_COMPONENT_COUNT = 3;
private static final int BYTES_PER_FLOAT = 4;
private static final int STRIDE =
(POSITION_COMPONENT_COUNT + COLOR_COMPONENT_COUNT) * BYTES_PER_FLOAT;
private final FloatBuffer vertexData;
private final Context context;
private int program;
private int aPositionLocation;
private int aColorLocation;
private static final String U_MATRIX = "u_Matrix";
private final float[] projectionMatrix = new float[16]; …Run Code Online (Sandbox Code Playgroud) 我想使用基于位置的标记来增强固定网络摄像头的图像。这将被添加到现有的 React 应用程序中,该应用程序在其他部分已经使用了 Three.js (通过React-Three-Fiber),因此这些技术将被重用。
\n\n虽然计算标记(已知位置)相对于相机(已知位置)的位置很容易,但我正在努力调整相机的配置,以便在“真实”对象和“真实”对象之间获得良好的视觉匹配。 AR 标记。
\n\n我创建了一个codesandbox,其中包含一个说明挑战的人工示例。
\n\n这是我配置相机的尝试:
\n\nconst camera = {\n position: [0, 1.5, 0],\n fov: 85,\n near: 0.005,\n far: 1000\n};\n\nconst bearing = 109; // degrees\n\n<Canvas camera={camera}>\n <Scene bearing={bearing}/>\n</Canvas>\nRun Code Online (Sandbox Code Playgroud)\n\n在场景组件中,I\xe2\x80\x99m 根据网络摄像头的方位旋转摄像头,如下所示:
\n\n...\n\nconst rotation = { x: 0, y: bearing * -1, z: 0 };\ncamera.rotation.x = (rotation.x * Math.PI) / 180;\ncamera.rotation.y = (rotation.y * Math.PI) / 180;\ncamera.rotation.z = (rotation.z * Math.PI) / 180;\n\n...\nRun Code Online (Sandbox Code Playgroud)\n\n关于如何配置相机以实现 Three.js 框和现实生活中的物体的良好匹配,有什么技巧/想法吗? …
我在运行时更改预制对象的颜色有问题。
问题在于,预制件由GameObject组成,并且在其内部是立方体。因此,当您从运行时实例化该对象时,不允许您更改颜色。如何识别创建的对象并更改其颜色或其他属性?
这里是错误的图片:
这是我的项目存储库(分支开发):https : //github.com/emicalvacho/MapaMentalAR
我目前正在学习android开发。然后我会在AR领域提升自己。我有一个 AR + Android + 机器学习领域的项目。我会为这个项目一步一步地发展自己。
我想我要升级我目前使用的笔记本电脑。Android Studio 和 Emulator 不会在笔记本电脑上一起打开。拉姆是不够的。我也可以在测试中使用我自己的物理设备。但是当我打开 Android Studio + Chrome 时,4 GB Ram 是不够的。你是 8 GB 还是 16 GB?笔记本电脑只有一个内存插槽。对您来说最合乎逻辑的选择应该是什么?
在土耳其,8GB Ram 为 400 TL,16GB Ram 为 800 TL。你应该认为8GB Ram是400单价。另外,最低工作价是1600TL,你应该认为是1600单价。
笔记本:联想 Yoga 510 - 14ISK
我也有桌面:
performance android augmented-reality android-emulator android-studio
我正在使用手势识别开发ARKit/ VisioniOS应用程序.我的应用程序有一个包含单个的简单UI UIView.没有ARSCNView/ 根本没有ARSKView.我正在将一系列捕获ARFrames到CVPixelBuffer我用于的内容中VNRecognizedObjectObservation.
我不需要会话中的任何跟踪数据.我只需要currentFrame.capturedImage为CVPixelBuffer.我需要以30 fps捕获ARFrame.60 fps是过高的帧速率.
preferredFramesPerSecond在我的情况下,实例属性绝对没用,因为它控制渲染ARSCNView/的帧速率ARSKView.我没有ARViews.并且它不会影响会话的帧速率.
所以,我决定使用run()和pause()方法来降低会话的帧速率.
题
我想知道如何在指定的时间内自动run和pauseARSession?持续时间run和pause方法必须16 ms(或0.016秒).我想通过它可能是可能的DispatchQueue.但我不知道如何实现它.
怎么做?
这是一个伪代码:
session.run(configuration)
/* run lasts 16 ms */
session.pause()
/* pause lasts 16 ms */
session.run(session.configuration!)
/* etc... */
Run Code Online (Sandbox Code Playgroud)
PS 我在我的应用程序中既不使用CocoaPod也不使用Carthage.
更新:它是关于如何currentFrame.capturedImage检索和使用ARSession的.
let session …Run Code Online (Sandbox Code Playgroud) android ×2
vuforia ×2
arkit ×1
c# ×1
geolocation ×1
ios ×1
java ×1
opengl-es ×1
performance ×1
swift ×1
three.js ×1
unity3d-gui ×1