PyBullet(七)在PyBullet中使用VR

1 篇文章 0 订阅

申明:本人今年博一(地点英国),项目是与机器人有关的内容。现在在深圳实习,公司给我的项目是用VR控制真实世界中的机器人手臂,现在尝试使用PyBullet来完成项目。本篇文章只进行官方代码的使用教程(如何配置等),没有新的代码内容。


系列文章目录:
上一篇:PyBullet (六) UR5机器人手臂模型
下一篇:

系统:Win10
PyBullet:(官方链接)(官方指南

1. PyBullet安装

pip3 install pybullet
#or
pip install pybullet

下载和安装时间会比较长,做好心理准备。

2. SteamVR

在steam官网上下载steam客户端(别忘了创建新的账号!)

steam官网

图1
安装好客户端之后,在steam中下载SteamVR

图2
下载好之后启动SteamVR

3. Oculus

我司使用的是Oculus设备,所以下载了Oculus客户端:

Oculus官网(可能需要翻墙)

4. Visual Studio

要下载Visual Studio,我使用的是Visual Studio2019:

Visual Studio下载地址

5. bullet3-master

下载地址:https://github.com/bulletphysics/bullet3

6. 开始运行代码

至此,所有准备工作都已经完成。下面的链接是官方给出的“vrBullet quick guide”可以参照一下:

vrBullet quick guide

那我们开始吧!!!

我们下载好“bullet3-master”之后,将它解压,然后点击进入“bullet3-master”,我们可以在进入的文件夹中看到“build_visual_studio_vr_pybullet_double.bat”脚本文件:


图3


双击该文件我们会看到它生成了其他的文件:

…\bullet3-master\build3\vs2010


图4


点击进入我们会看到一大堆能够用Visual Studio打开的文件:


图5


在文件夹中我们可以找到命为“App_PhysicsServer_SharedMemory.vcxproj”的文件:


图6


用Visual Studio打开这个文件,我们会进到Visual Studio的页面:

图7

这里我们一定要注意将上面改成“Release”和“x64”!!!(一开始我没有改,所以代码一直运行不成功,耽误了非常多的时间):


图8

然后我们打开SteamVR,让自己的设备成功连接到SteamVR:


图9


接下来,在Visual Studio界面的左边我们可以看到“App_PhysicsServer_SharedMemory_VR”:


图10


右键点击这个然后—>调试(G)—>启动新实例(S):


图11


等待一会儿就可以通过VR看到一个空白的世界了:


图12


接下来在黑窗中运行:

python path/to/bullet3-master/examples/pybullet/examples/vr_kuka_setup.py
#or
python3 path/to/bullet3-master/examples/pybullet/examples/vr_kuka_setup.py

图13


然后就可以看到官方给的画面的示例啦:

官方示例(YouTube)

(后续会自己录视频放到下面的效果展示中!!!)


7. 效果展示

视频演示(Bilibili)(假地址)
视频演示(YouTube)(假地址)


8. 总结

本篇文章只是一个简单的代码运行引导,因为本人比较菜鸡,所以在运行实例代码上花费了一些时间,写这篇文章分享一下经验,防止小伙伴们踩坑。

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Vue使用Three.js VR全景图,你可以按照以下步骤进行: 1. 首先,确保你已经安装了Vue和Three.js的依赖包。你可以使用npm或yarn来安装它们。 2. 在Vue的组件,导入Three.js所需的库和组件: ```javascript import * as THREE from 'three'; import { VRButton } from 'three/examples/jsm/webxr/VRButton.js'; ``` 3. 创建一个Vue组件,并在其定义一个方法来初始化Three.js场景: ```javascript export default { mounted() { this.initScene(); }, methods: { initScene() { // 创建场景 const scene = new THREE.Scene(); // 创建相机 const camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 ); // 创建渲染器 const renderer = new THREE.WebGLRenderer({ antialias: true }); renderer.setSize(window.innerWidth, window.innerHeight); document.body.appendChild(renderer.domElement); // 添加VR按钮 document.body.appendChild(VRButton.createButton(renderer)); // 创建全景图 const textureLoader = new THREE.TextureLoader(); const texture = textureLoader.load('path/to/your/panorama-image.jpg'); const sphereGeometry = new THREE.SphereGeometry(500, 60, 40); const sphereMaterial = new THREE.MeshBasicMaterial({ map: texture }); const sphere = new THREE.Mesh(sphereGeometry, sphereMaterial); sphere.position.set(0, 0, 0); scene.add(sphere); // 更新相机和场景 const animate = () => { requestAnimationFrame(animate); sphere.rotation.y += 0.01; renderer.render(scene, camera); }; animate(); }, }, }; ``` 4. 在Vue模板使用这个组件: ```html <template> <div id="app"> <canvas id="vr-canvas"></canvas> </div> </template> ``` 这样,你就可以在Vue使用Three.js VR全景图了。当用户点击VR按钮时,全屏显示全景图,并支持通过移动设备或VR眼镜进行交互。你可以适配不同的全景图、修改相机参数等来满足你的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值