osgmultiplerendertargets.cpp ...................................... // now create the camera to do the multiple render to texture    {        osg::Camera* camera = new osg::Camera; // set up the background color and clear mask.        camera->setClea…
怎样实现了捕获应用中的日志在android开发中,大家可研究一下. Process mLogcatProc = null; BufferedReader reader = null; try { mLogcatProc = Runtime.getRuntime().exec(new String[] {"logcat", "-d", "AndroidRuntime:E [Your Log Tag Here]:V *:S" }); reader =…
最近Vive的VR头盔设备很火,恰逢项目需求,所以对 SDK 中的例子 hellovr_opengl 做了比较细致的代码分析,先将流程图绘制如下,便于大家理解. 在ViVe头盔中实现立体效果的技术核心: 如果要外挂Vive的VR设备实现立体效果,我们关键是要首先生成左右眼的FBO对象(渲染速度快),然后依次从左眼渲染场景和从右眼渲染场景,渲染结束后获取渲染得到的左右眼FBO对象绑定的纹理,将纹理对象提交给VRCompositor(Vr序列器). 手柄是HTC Vive的重要交互手段,我们通过第一…
本文转自HTC官方论坛,原址https://www.htcvive.com/cn/forum/chat.php?mod=viewthread&tid=1641&extra=page=1. 在过去,3D程序多数是游戏,非游戏的应用一般设计成2D程序.而在VR中几乎所有程序都是3D的(左右眼需要看到的不一样画面),所以开发VR程序和开发3D游戏很像,也可以使用Unity, Unreal等引擎.而VR开发的独特之处在于UI设计,如果还用之前的方案,用户使用的时候可能会觉得非常困惑甚至头晕.这篇文…
怎么安装设备,配置环境我就不说了,自行百度,教程很多也很简单.接下来说下Vive手柄的控制. 手柄是HTC Vive的重要交互手段,我们通过第一个图片应该对其有一个直观的了解了,总共是九个按钮: 第一个是菜单按钮; 2,3,4,5分别对应的是Trackpad/Touchpad的上下左右,有时候对应的是XBox手柄的▲OX囗四个按钮或者摇杆; 6对应的是系统按钮/Steam; 7是Trigger/扳机,对应大多数FPS游戏里面的枪械的Shoot/Fire; 8对应的Grip/紧握在手柄的左右两侧各…
重要组件 SteamVR_Camera VR摄像机,主要功能是将Unity摄像机的画面进行变化,形成Vive中的成像画面 使用方法: l 在任一个摄像机上增加脚本 l 点击Expand按钮 完成以上操作后,原本的摄像机会变成如下结构 l Origin:位置 l Head:头部 l Eye:眼睛 l Ears:耳朵 至此,游戏中Vive中可以看到游戏画面,360度旋转查看游戏世界,在游戏世界中移动等 SteamVR_ControllerManager和SteamVR_TrackedObject 控…
在VR开发时,有时需要用到物体高亮的功能.这里使用Highlighting System v3.0.1.unitypackage插件实现. Highlighting System v3.0.1的介绍访问看这里: https://forum.unity3d.com/threads/highlighting-system-released.143043/ 因为是VR环境下,所以也需要SteamVR Plugin.unitypackage插件. 实现步骤 step1: 导入插件 按照 Assets->…
一.关于左右手柄的对应关系 两个手柄和SteamVR_TrackedObject.EIndex是对应的,一个是EIndex.Device2,另一个是EIndex.Device3(有编号的那个) 在场景中手柄先后连入,先后激活的是Controller(right).Controller(left),并添加SteamVR_TrackedObject组件 二.手柄按键 1 - 菜单键 6 - 系统键(按下后手柄断开连接,再次按下手柄再次连接上) 7 - 扳机键 8 - 握持键 9 - 触摸板键 (1)…
手柄震动的代码SteamVR_Controller脚本的最上面的注释里面就有说明,其实也很简单 // Example usage: //这个栗子是左手柄震动 右手震动只需把Leftmost换成Rightmost即可 // var deviceIndex = SteamVR_Controller.GetDeviceIndex(SteamVR_Controller.DeviceRelation.Leftmost); // if (deviceIndex != -1 && SteamVR_Con…
写这篇文章的原因主要是因为现在虚拟现实非常的火爆但目前主流的虚拟现实设备(HTC VIVE)的教程却少的可怜,这个我深有体会.所以,我想将我平时开发中遇到的问题以及解决方法记录下来,分享给大家,若其中有什么错误或者大家有什么更好的方案也请大家指出,大家互相学习,哈哈. 好了直接上代码. using UnityEngine; using System.Collections; public class shoubingkongzhi : MonoBehaviour { /// /// 手柄 ///…