精华内容
下载资源
问答
  • HTC Vive

    2018-04-20 16:44:29
    1, HTC Vive最常见问题和解决方案全在这里2, HTC VIVE开发教程(一 to 四)3 SteamVR脚本解析
    展开全文
  • HTC VIVE

    2016-08-08 01:44:44
    HTC VIVE HTC Vive是一款最具有划时代意义、让人惊叹的产品。 HTC ViveHTC 与 Valve 联合开发。著名游戏公司 Valve给予 HTC 相关的技术支持,而由HTC研发硬件和组装销售 主体芯片包括了核心处理芯片、图形...

    HTC VIVE

     

     

     

    • HTC Vive是一款最具有划时代意义、让人惊叹的产品。

     

    • HTC Vive 由 HTC 与 Valve 联合开发。

    • 著名游戏公司 Valve给予 HTC 相关的技术支持,而由HTC研发硬件和组装销售

         

    • 主体芯片包括了核心处理芯片、图形处理 SoC、USB 控制器、图传接口控制器以及闪存芯片等。

    • 这块主板上拥有一些六轴 MEMS 动作追踪芯片等传感器。

    • HTC Vive 的显示屏幕使用的是两块三星供应的AMOLED 屏幕面板,统一规格,分辨率为2,160×1,200,刷新率为90Hz/秒,显示密度为447ppi。

     

    • HTC Vive 所配备的空间位置定位系统 Lighthouse 方面,Vive 在对角的两个基站内建了 LED 镜头,用于检测头盔和手把发射的红外雷射,进行空间位置追踪。

      

      

    • 迪士尼的首席漫画家利用HTC VR在空中挥动手指,实时画出<美人鱼>动画。

      

    • Lighthouse利用房间中密度极大的非可见光,来探测室内佩戴VR设备的玩家的位置和动作变化,并将其模拟在VR的虚拟三维空间中。

      

    • 通过两个相对成本较低的探测盒子,就可以达到相对精准的效果。

    • HTC Vive支持在最大范围为10英尺*10英尺空间内的站姿和坐姿VR体验。

    • 其360度的房间动作追踪,让人们在此空间内来探索虚拟世界。

    • 例如,Tilt Brush是一个互动式3D画图应用,是谷歌收购的一项非常实用的工具。允许用户在3D空间内通过控制器来绘画、雕刻。运行在HTC Vive (Steam VR)平台上,使用Unity游戏引擎。

     

     

    PS.建议参考下列文章:

    1. HTC Vive 2代终于曝光!(2016/6/27)

    • 采用4K显示屏,画面更清晰。

    • 光场显示技术,降低晕动症的发生:一般的VR头显采用的为普通的凸透镜,而HTC Vive的选择更为严谨和独特,其采用的为:菲涅尔透镜。这种屏幕+凸透镜的成像原理会一定程度导致晕动症的产生,目前若要解决这个问题,采用光场成像技术是个不错的方案

          

    • 无线传输,在虚拟现实的世界自由自在

    • 搭载双摄像头,支持手势识别:现在的HTC Vive配备有一个摄像头,其功能应该还可以更强大,比如采用双摄像头设计,利用双目立体视觉成像原理,实现类似于Leap Motion的手势识别技术,这样在交互时,假如脱离了手柄,这可以采用手势交互方式,从而实现更真实的体感交互。

    • 支持VR全景声,还原更真实的听觉体验:目前几乎所有的VR设备都采用左右声道的耳机或普通音响来产生声音,但这样的发声系统却不能模拟现实环境的音效,比如在虚拟现实中,你并不知道声音是从后面传来的。

    • 更大的活动空间。

    • 支持MR(混合现实),产品不再局限于VR体验:HTC Vive的前置摄像头能检测整个房间的构造及障碍物,当用户快要接近障碍物时,头盔画面上会显示一个虚拟围栏,提醒用户,同时还可以将获取到的图像实时传到头盔屏幕上,让用户无需摘下头盔也能随时切换到现实世界。未來有望将Vive融入MR(混合现实)元素,把现实世界中的事物同步到虚拟世界中。

      ==>詳細內容

    2. HTC联合28家风投 出资百亿美元建VR联盟(2016/7/1) 

    • HTC携手28家风险投资公司成立虚拟现实风投联盟(Virtual Reality Venture Capital Alliance,简称VRVCA),投资金额达到上百亿美金。

    • 目的是:专注全球VR行业的创业和创新,打造并可持续发展的VR生态圈。

    • 取得VRVCA资金支持的初创公司,还可以通过HTC自有VR应用商店——Vive Port,实现商业化。

      ==> 詳細內容

    3.HTC VR空间追踪系统开源:开发第三方VR硬件更容易了(2016/8/5) 

    • 作为HTC Vive的合作开发商,Valve刚刚向第三方硬件开发者开放了“光屋追踪系统”(Lighthouse tracking system),使之可以免费在SteamVR平台上开发硬件产品。

    • HTC CEO王雪红在声明中说:我们与Valve同时开放了各自的技术,希望加快虚拟现实行业的增长速度。我们对由此产生的中长期影响感到振奋。这个项目带来的新一波创新将非常值得关注,最大的赢家是世界各地的消费者和企业客户。 

      ==> 詳細內容

      ==> 詳細內容(2)

    ~ end ~

     


    展开全文
  • HTC VIVE Tracker software

    2018-10-22 21:07:18
    HTC VIVE Tracker software,用于获取HTC vive tracker的数据,具体功能请见作者博客
  • HTC Vive Unity 教程

    万次阅读 多人点赞 2017-04-06 13:45:15
    原文:HTC Vive Tutorial for Unity 作者: Eric Van de Kerckhove 译者:kmyhy HTC Vive 是一个虚拟现实头盔,由 HTC 和 Valve 公司制造。它提供一种在虚拟世界中的浸入式体验,而不是屏幕头像。如果你是一个 ...

    原文:HTC Vive Tutorial for Unity
    作者: Eric Van de Kerckhove
    译者:kmyhy

    HTC Vive 是一个虚拟现实头盔,由 HTC 和 Valve 公司制造。它提供一种在虚拟世界中的浸入式体验,而不是屏幕头像。

    如果你是一个 Unity 开发者,在虚拟现实游戏中使用 HTC Vive 非常简单——你可以认为 HTC Vive 和 Unity 是天生一对。

    在这篇 HTC Vive 教程中,你会学习如何在 Unity 游戏中集成 HTC Vive。包括:

    • 下载和配置 StreamVR
    • 处理控制器输入
    • 在 VR 中和物理对象交互
    • 创建一支激光笔
    • 瞬移

    在本文最后,你将对未来体验有一个粗略的了解。让我们开始吧!

    注:每个人在戴着头戴式显示器都会对运动和旋转产生不同的反应。如果你是第一此穿戴此类设备,当感觉不适时请放松并深呼吸。大部分人很快就会适应 VR。开头几次如果你不适应请不要着急——它很快就会过去。

    开始

    在正式开始学习之前,你必须拥有下列条件:

    • 一台支持 VR 的 Windows PC。
    • 在机器上安装有 Unity 5.5 或更高版本。
    • 一套完整的 HTC Vive 硬件,并配置和升级好软件。
    • 安装 Steam 和 SteamVR。请参考这份指南,它将指引你完成硬件安装,并提供 Steam 和 SteamVR 的下载链接。
    • 熟悉基本的 Unity 使用:[Introduction to Unity: Getting Started](Introduction to Unity: Getting Started)。
    • 熟悉基本的脚本:Introduction To Unity Scripting

    确认 HTC Vive 已经打开并连接!

    下载开始项目。解压缩到任意目录并用 Unity 打开。在项目窗口中看一眼文件夹:

    每个文件夹都和对应的资源一一对应:

    • Materials: 场景所用到的材质,包括蓝色小球。
      Models: 所有的模型。
      Physics Materials: 弹性小球的物理材质。
      Prefabs: 预制件。
      Scenes: 游戏场景。
      Scripts: 全部脚本。
      Textures: 场景中所有对象共有的单一纹理。

    看一看场景视图,按 play 按钮运行游戏:

    这里不会有太多内容,因为场景中还没有加入 VR 控制。你需要将 SteamVR 添加到项目中,以便将 Vive 连接到 Unity。

    设置 StreamVR

    SteamVR SDK 是一个由 Valve 提供的官方库,以简化 Vive 开发。当前在 Asset 商店中是免费的,它同时支持 Oculus Rift 和 HTC Vive。

    打开 Asset 商店,在顶部工具栏中选择 Window > Asset Store:

    等商店页面加载完,在搜索栏中输入 StreamVR 并回车。上下滚动浏览搜索结果,点击 StreamVR Plugin,会打开它的商店页面:

    点击 Download 按钮,然后静静等待。等下载完成,你看到导入包对话框。

    点击右下角的 Import,导入包:

    等导入完成,你会看到下列提示:

    点击 I Made a Backup 按钮,让编辑器对脚本进行预编。几秒后会看到这个窗口:

    这是 SteamVR 插件的界面。它会列出一些编辑器设置,这些设置能够提升性能和兼容性。

    当你打开一个新项目并导入 SteamVR 时,你会在这里看到几个选项。因为开始项目已经优化过,这里我们只需要禁用解析度对话框(resolution dialog)即可。点击 Accept All 按钮,执行所有推荐的修改。关闭 Asset 商店回到场景视图。在项目窗口中,我们现在多了一个新文件夹 SteamVR:

    打开这个文件夹,看一眼内容。我们会从 Prefabs 文件中添加一个 VR GameObjects 到场景中。

    同时选中 [CameraRig] 和 [SteamVR] ,将它们拖到结构窗口:

    [SteamVR] 负责几件事情。它在玩家打开系统菜单并将物理刷新率和绘图系统进行同步时让游戏自动暂停。它还负责处理“房间规模 VR 动作”的平滑。在检视器面板中查看属性:

    [CameraRig] 更有趣,因为它控制着 Vive 头盔和控制器。选择 [CameraRig] ,在检视器面板中设置它的位置为 (X:0, Y:0, Z:-1.1),将摄像机放到桌子后面。

    从结构视图中删除主摄像,因为这会干扰 [CameraRig] 和它的相机。

    打开手柄,查看屏幕。拿起手柄,四处移动。你会看到在场景视图中看到虚拟手柄也会随之移动:

    当 SteamVR 插件检测到手柄,它会创建出虚拟手柄。虚拟手柄被映射为 [CameraRig] 的子节点:

    现在——继续在场景视图中——从结构视图中选择 Camera(eye),小心地拿起你的头盔显示器的顶部皮带,移动并微微旋转,同时观察场景视图:

    摄像机和头盔显示器是连接在一起的,它会准确地捕获头盔的移动。

    现在将头盔显示器戴到头上,拿起手柄,在房间里四处走动感受一下。

    如果你想和物体进行交互,那么你会大失所望——什么也不会发生。要添加运动跟踪之外的功能,需要编写一点脚本。

    处理输入

    拿起一只手柄,仔细观察。每个控制器上有这些按钮:

    Touchpad 既是可以做模拟摇杆也可以当做按钮。当移动或旋转手柄时,手柄会有速度和旋转速度感应,当和物体交互时这会非常有用。

    让我们来编写一些代码!在 Scripts 文件夹中创建一个新的 C# 脚本,取名为 ViveControllerInputTest 然后用任意代码编辑器打开它。
    删除 Start() 方法,在 Update() 方法之上添加下列代码:

    
    // 1
    private SteamVR_TrackedObject trackedObj;
    // 2
    private SteamVR_Controller.Device Controller
    {
        get { return SteamVR_Controller.Input((int)trackedObj.index); }
    }

    我们在这里进行了如下操作:

    1. 对正在被跟踪的对象进行一个引用。在这里,也就是一只手柄。
    2. Device 属性能够很方便地访问到这个手柄。通过所跟踪的对象的索引来访问控制器的 input,并返回这个 input。

    头盔和手柄都是被跟踪的对象——他们在真实事件中的移动和旋转都会被 HTC Vive 跟踪到并传递到虚拟世界。

    在 Update() 方法上方添加方法:

    void Awake()
    {
        trackedObj = GetComponent<SteamVR_TrackedObject>();
    }

    当脚本加载时,trackedObj 会被赋值为 SteamVR_TrackedObject 对象,这个对象和手柄是关联的:

    现在你已经能够访问手柄了,你可以读取到它的输入。在 Update() 方法中添加:

    // 1
    if (Controller.GetAxis() != Vector2.zero)
    {
        Debug.Log(gameObject.name + Controller.GetAxis());
    }
    
    // 2
    if (Controller.GetHairTriggerDown())
    {
        Debug.Log(gameObject.name + " Trigger Press");
    }
    
    // 3
    if (Controller.GetHairTriggerUp())
    {
        Debug.Log(gameObject.name + " Trigger Release");
    }
    
    // 4
    if (Controller.GetPressDown(SteamVR_Controller.ButtonMask.Grip))
    {
        Debug.Log(gameObject.name + " Grip Press");
    }
    
    // 5
    if (Controller.GetPressUp(SteamVR_Controller.ButtonMask.Grip))
    {
        Debug.Log(gameObject.name + " Grip Release");
    }

    上述代码包含了所有当玩家在 VR 中时你够访问到大部分方法。它将 GameObject 的名字输出到控制台,以便区分左右手柄。代码的解释如下:

    1. 获取手指在 touchpad 上的位置并输出到控制台。
    2. 当你按下扳机时,这会打印到控制台。扳机有一个专门的方法用于判断它是否被按下:GetHairTrigger(), GetHairTriggerDown() 和 GetHairTriggerUp()。
    3. 如果松开扳机,这会打印到控制台。
    4. 如果按下抓取(grip)键,这会打印到控制台。GetPressDown 方法是用于判断某个按钮已经被按下的标准方法。
    5. 如果释放抓取键,这会打印到控制台。GetPressUp 方法是用于判断某个按钮是否已经被释放的标准方法。

    来测试一下脚本。保存脚本,返回 Unity 编辑器。
    在结构视图中选中两个手柄,拖动刚才创建的脚本到检视器中,为它们添加 ViveControllerInputTest 组件。

    再次运行游戏,拿起两只手柄,观察控制台中的输出:

    按下按钮,扳机并在 touchpad 上滑动,你会看到控制台会输出每个我们注册的动作:

    这仅仅是最基本的输入。现在我们可以将虚拟世界操纵在我的手心了——差不多这个意思啦!

    在物理对象上应用手柄

    VR 提供了许多我们在真实世界中不可能实现的能力,比如捡起一个物体,查看它们并扔到地上,不需要你负责清理。

    通过使用触发器碰撞机和编写少量脚本,HTC Vive 能够创建后顾无忧的虚拟体验。

    在结构视图中选中两个手柄,为它们添加刚性体。(Add Component > Physics > Rigidbody)

    勾上 Is Kinematic,反选 Use Gravity:

    为两个手柄添加一个盒子碰撞体 (Add Component > Physics > Box Collider) 并勾上 Is Trigger。

    默认的碰撞体有点大,我们需要重新指定大小和位置。设置中心为 (X:0, Y:-0.04, Z:0.02),大小为 (X:0.14, Y:0.07, Z:0.05)。这里需要将值精确到两位数,否则都会影响到手柄的最终效果。

    运行游戏,从结构视图中选择一只手柄,并拿起真正的手柄。观察场景视图,然后将焦点置于你正在拿着的那只手柄上(按F)。将碰撞体正好放在手柄的顶端部分,这个部分是你用于抓握物体的地方。

    不编写脚本,碰撞体仅仅是一个无用的方块——在 Scripts 文件夹中创建一个新脚本,取名为 ControllerGrabObject 然后打开它。、

    删除 Start() 方法并在这里添加这段你已经熟悉的代码:

    private SteamVR_TrackedObject trackedObj;
    
    private SteamVR_Controller.Device Controller
    {
        get { return SteamVR_Controller.Input((int)trackedObj.index); }
    }
    
    void Awake()
    {
        trackedObj = GetComponent<SteamVR_TrackedObject>();
    }

    这段代码和你在输入测试中的代码是一样的。这里获取了手柄,然后保存到一个变量中以备后用。

    在 trackedObj 下面添加变量:

    // 1
    private GameObject collidingObject; 
    // 2
    private GameObject objectInHand;

    这两个变量的作用分别是:

    1. 一个 GameObject,用于保存当前与之碰撞的触发器(trigger),这样你才能抓住这个对象。
    2. 一个 GameObject,用于保存玩家当前抓住的对象。

    在 Awake() 方法后添加:

    private void SetCollidingObject(Collider col)
    {
        // 1
        if (collidingObject || !col.GetComponent<Rigidbody>())
        {
            return;
        }
        // 2
        collidingObject = col.gameObject;
    }

    这个方法接受一个碰撞体作为参数,并将它的 GameObject 保存到 collidingObject 变量,以便抓住和释放这个对象。同时:

    1. 如果玩家已经抓着某些东西了,或者这个对象没有一个刚性体,则不要将这个 GameObject 作为可以抓取目标。
    2. 将这个对象作为可以抓取的目标。

    现在,添加触发器方法:

    // 1
    public void OnTriggerEnter(Collider other)
    {
        SetCollidingObject(other);
    }
    
    // 2
    public void OnTriggerStay(Collider other)
    {
        SetCollidingObject(other);
    }
    
    // 3
    public void OnTriggerExit(Collider other)
    {
        if (!collidingObject)
        {
            return;
        }
    
        collidingObject = null;
    }

    当触发器碰撞体进入、退出另一个碰撞体时,这些方法将被触发。

    1. 当触发器碰撞体进入另一个碰撞体时,将另一个碰撞体作为可以抓取的目标。
    2. 和第一段类似(第一段注释 //1),但不同的是玩家已经将手柄放在一个对象上并持续一段时间。如果没有这段代码,碰撞会失败或者会导致异常。
    3. 当碰撞体退出一个对象,放弃目标,这段代码会将 collidingObject 设为 null 以删除目标对象。

    下面的代码用于抓住一个对象:

    private void GrabObject()
    {
        // 1
        objectInHand = collidingObject;
        collidingObject = null;
        // 2
        var joint = AddFixedJoint();
        joint.connectedBody = objectInHand.GetComponent<Rigidbody>();
    }
    
    // 3
    private FixedJoint AddFixedJoint()
    {
        FixedJoint fx = gameObject.AddComponent<FixedJoint>();
        fx.breakForce = 20000;
        fx.breakTorque = 20000;
        return fx;
    }

    在这里,我们:

    1. 在玩家手中的 GameObject 转移到 objectInHand 中,将 collidingObject 中保存的 GameObject 移除。
    2. 添加一个连接对象,调用下面的 FixedJoint 方法将手柄和 GameObject 连接起来。
    3. 创建一个固定连接并加到手柄中,并设置连接属性,使它坚固,不那么容易断裂。最后返回这个连接。

    被抓住的东西也要能够被放下。下面的代码放下一个物体:

    private void ReleaseObject()
    {
        // 1
        if (GetComponent<FixedJoint>())
        {
            // 2
            GetComponent<FixedJoint>().connectedBody = null;
            Destroy(GetComponent<FixedJoint>());
            // 3
            objectInHand.GetComponent<Rigidbody>().velocity = Controller.velocity;
            objectInHand.GetComponent<Rigidbody>().angularVelocity = Controller.angularVelocity;
        }
        // 4
        objectInHand = null;
    }

    这段代码将被抓对象的固定连接删除,并在玩家扔出去时控制它的速度和角度。这里关键的是手柄的速度。如果没有这个,扔出的东西会直直地往下掉,不管你用多大的力扔它。相信我,这绝对是错误的。

    代码解释如下:

    1. 确定控制器上一定有一个固定连接。
    2. 删除这个连接上所连的对象,然后销毁这个连接。
    3. 将玩家放开物体时手柄的速度和角度赋给这个物体,这样会形成了一个完美的抛物线。
    4. 将 objectInHand 变量置空。

    最后,在 Update() 方法中添加代码以处理手柄的输入:

    // 1
    if (Controller.GetHairTriggerDown())
    {
        if (collidingObject)
        {
            GrabObject();
        }
    }
    
    // 2
    if (Controller.GetHairTriggerUp())
    {
        if (objectInHand)
        {
            ReleaseObject();
        }
    }
    1. 当玩家按下扳机,同时手上有一个可以抓取的对象,则将对象抓住。
    2. 当玩家松开扳机,同时手柄上连接着一个物体,则放开这个物体。

    相信你已经迫不及待地想试一把了吧?保存脚本,退出编辑器。

    在结构视图中选中手柄,将新脚本拖到检视器中将它添加为一个组件。

    开心的时候来了!打开你的手柄,运行游戏,戴上头盔。按下扳机,抓起几个方块或者圆球,扔出去。你可能需要适应一下。

    你不得不佩服你自己——你真的很棒!但我觉得你应该让你的 VR 体验变得更好!

    制作一只激光笔

    因为种种原因,激光笔在 VR 世界中非常有用。你可以用它们去戳破虚拟气球,做瞄准具使用或者调戏虚拟猫咪。

    创建激光笔非常简单。只需要一个方块和一个脚本。在结构视图中创建一个方块 (Create > 3D Object > Cube)。

    为它取名 Laser,设置它的位置为 (X:0, Y:5, Z:0),缩放为 (X:0.005, Y:0.005, Z:0) ,并去掉 Box Collider 组件。让它居中,你会看到他漂浮在其他对象之上:

    激光不可能有阴影,它们只会有一种颜色,因此我们可以用一个不反光材质实现这个效果。

    在 Materials 文件夹下创建一个新材质,取名为 Laser,修改它的着色器为 Unlit/Color ,设置它的 Main Color 为大红色:

    通过将材质拖到场景视图的 Laser 上即可分配新材质。当然,也可以将材质拖到结构视图的 Laser 上。

    最后,将 Laser 拖到 Prefabs 文件夹,然后从结构视图中删掉 Laser 对象。

    现在,在 Scripts 文件夹下创建一个新脚本,名为 LaserPointer,并打开它。添加你早已熟悉的代码:

    private SteamVR_TrackedObject trackedObj;
    
    private SteamVR_Controller.Device Controller
    {
        get { return SteamVR_Controller.Input((int)trackedObj.index); }
    }
    
    void Awake()
    {
        trackedObj = GetComponent<SteamVR_TrackedObject>();
    }

    在 trackedObj 下面添加变量:

    // 1
    public GameObject laserPrefab;
    // 2
    private GameObject laser;
    // 3
    private Transform laserTransform;
    // 4
    private Vector3 hitPoint;
    1. 这个变量用于引用 Laser 预制件。
    2. 这个变量用于引用一个 Laser 实例。
    3. 一个 Transform 组件,方便后面适用。
    4. 激光击中的位置。

    用这个方法显示一束激光:

    private void ShowLaser(RaycastHit hit)
    {
        // 1
        laser.SetActive(true);
        // 2
        laserTransform.position = Vector3.Lerp(trackedObj.transform.position, hitPoint, .5f);
        // 3
        laserTransform.LookAt(hitPoint); 
        // 4
        laserTransform.localScale = new Vector3(laserTransform.localScale.x, laserTransform.localScale.y,
            hit.distance);
    }

    这个方法使用一个 RaycastHit 作为参数,因为它会包含被击中的位置和射击的距离。

    代码解释如下:

    1. 显示激光。
    2. 激光位于手柄和投射点之间。我们可以用 Lerp 方法,这样我们只需要给它两个端点,以及一个距离百分比即可。如果我们设置这个百分比为 0.5,也就是 50%,这会返回一个中点的位置。
    3. 将激光照射到 hitPoint 的位置。

    在 Update() 方法中添加下列代码,获得玩家的输入:

    // 1
    if (Controller.GetPress(SteamVR_Controller.ButtonMask.Touchpad))
    {
        RaycastHit hit;
    
        // 2
        if (Physics.Raycast(trackedObj.transform.position, transform.forward, out hit, 100))
        {
            hitPoint = hit.point;
            ShowLaser(hit);
        }
    }
    else // 3
    {
        laser.SetActive(false);
    }
    1. 如果 touchpad 被按下…
    2. 从手柄发射激光。如果激光照射到某样物体,保存射到的位置并显示激光。
    3. 当玩家放开 touchpad,隐藏激光。

    在空的 Start() 方法中添加代码:

    // 1
    laser = Instantiate(laserPrefab);
    // 2
    laserTransform = laser.transform;
    1. 制造出一束新的激光,然后保存一个它的引用。
    2. 保存激光的 transform 组件。

    保存脚本,返回编辑器。在结构视图中选中两个手柄,将激光的脚本拖进检视器中以添加一个组件。

    现在从 Prefabs 文件夹中将 Laser 预制件拖到检视器的 Laser 栏中:

    保存项目,重新运行游戏。拿起手柄,戴上头盔,按下 touchpad,激光出现了:

    ![](https://koenig-media.raywenderlich.com/uploads/2016/12/ShootLaser.gif

    在继续之前,右击输入测试组件,选择 Remove Component,从手柄中删除它们。

    之所以要删除输入测试组件,因为会在绘制每一帧时向控制台中输出字符串。这会影响性能,在 VR 中每毫秒都会受影响。为了方便测试我们可以这样做,但在真正的游戏中这是不应该的。

    接下来是通过激光在房间中进行瞬移!

    移动

    在 VR 中移动不像驱使玩家前进那么简单,这样做会极易引起玩家眩晕。更可行的办法是使用瞬移。
    从玩家的视觉感知来说,宁可接收位置的突然改变,而不是渐进式的改变。在 VR 设备中轻微的改变都会让你的速度感和平衡感彻底失控,还不如直接让你来到一个新的地方。

    要显示你最终位于什么地方,你你可以使用 Prefabs 文件夹中的大头钉或标记。

    标记是一个简单的、不反光的圆环:

    要使用标记,你需要修改 LaserPointer 脚本,打开这个脚本,在类声明中添加变量:

    // 1
    public Transform cameraRigTransform; 
    // 2
    public GameObject teleportReticlePrefab;
    // 3
    private GameObject reticle;
    // 4
    private Transform teleportReticleTransform; 
    // 5
    public Transform headTransform; 
    // 6
    public Vector3 teleportReticleOffset; 
    // 7
    public LayerMask teleportMask; 
    // 8
    private bool shouldTeleport;
    

    每个变量的用途如下:

    1. 这是 [CameraRig] 的 transform 组件。
    2. 一个对传送标记预制件的引用。
    3. 一个传送标记实例的引用。
    4. 一个传送标记的 transform 的引用。
    5. 玩家的头(摄像机)的引用。
    6. 标记距离地板的偏移,以防止和其他平面发生“z-缓冲冲突”。
    7. 一个层遮罩,用于过滤这个地方允许什么东西传送。
    8. 如果为 true,表明找到一个有效的传送点。

    在 Update() 方法中,将这一句:

    if (Physics.Raycast(trackedObj.transform.position, transform.forward, out hit, 100))
    

    替换为这句,以便将 LayerMask 加入到判断中:

    if (Physics.Raycast(trackedObj.transform.position, transform.forward, out hit, 100, teleportMask))
    

    这确保激光只能点到你能够传送过去的 GameObjects 上。
    仍然在 Update() 方法中,在 ShowLaser() 一句后添加:

    // 1
    reticle.SetActive(true);
    // 2
    teleportReticleTransform.position = hitPoint + teleportReticleOffset;
    // 3
    shouldTeleport = true;

    代码解释如下:

    1. 显示传送标记。
    2. 移动传送标记到激光点到的地方,并添加一个偏移以免 z 缓冲冲突。
    3. 将 shouldTeleport 设为 true,表明找到了一个有效的瞬移位置。

    仍然在 Update 方法,找到 laser.SetActive(false); 一句,在后面添加:

    reticle.SetActive(false);
    

    如果目标地点无效,隐藏传送标记。

    添加下列方法,进行传送:

    private void Teleport()
    {
        // 1
        shouldTeleport = false;
        // 2
        reticle.SetActive(false);
        // 3
        Vector3 difference = cameraRigTransform.position - headTransform.position;
        // 4
        difference.y = 0;
        // 5
        cameraRigTransform.position = hitPoint + difference;
    }

    真正的传送只需要 5 行代码吗?让我们解释一下:

    1. 将 shouldTeleport 设为 false。表明传送进行中。
    2. 隐藏传送标记。
    3. 计算从玩家头盔到摄像机中心的坐标偏移。
    4. 将这个差中的 y 坐标设置为0,因为我们不考虑玩家头部有多高。
    5. 移动相机到照射点加上所算出来的坐标偏移。如果不加上这个偏移,玩家会传送到一个错误的地方。看下面的例子:

    看到了没有,这个偏移起到了一个关键的作用,让我们精确地定位摄像机的位置并将玩家放到他们想去的地方。

    在 Update() 的检查 touchpad 按键的 if else 语句之外添加代码:

    if (Controller.GetPressUp(SteamVR_Controller.ButtonMask.Touchpad) && shouldTeleport)
    {
        Teleport();
    }

    如果玩家松开 touchpad,同时传送位置有效的话,对玩家进行传送。

    最后,在 Start() 方法中添加代码:

    // 1
    reticle = Instantiate(teleportReticlePrefab);
    // 2
    teleportReticleTransform = reticle.transform;
    
    1. 创建一个标记点,并将它保存到 reticle 变量。
    2. 保存 reticle 的 transform 组件。

    保存脚本,返回 Unity。
    在结构视图中选中两个手柄,会发现多了几个新字段:

    ![](https://koenig-media.raywenderlich.com/uploads/2016/12/NewFields-1.png

    将 [CameraRig] 拖到 Camera Rig Transform 栏,将 TeleportReticle 从 Prefabs 文件夹拖到 Teleport Reticle Transform 栏,将 Camera (head) 拖到 Head Transform 栏。

    将 Teleport Reticle Offset 设为 (X:0, Y:0.05, Z:0) ,Teleport Mask 设为 CanTeleport。CanTeleport 不是默认层— 它是专门为这个教程创建的。这个层里面只有 Floor 和 Table 对象。

    现在运行游戏,用激光照射在地板上进行瞬移。

    这个示例已经完成,准备尽情地游戏吧!

    结束

    你可以在这里下载完成后的项目。在本教程中,你学会了:

    • 下载并配置 SteamVR。
    • 处理 HTC View 的手柄输入。
    • 在 VR 中与物理对象交互。
    • 实现一只激光笔。
    • 进行传送。

    这个项目只是一个开始——开始在你自己的项目中使用它!我很想看到你最终完成的作品。
    如果你喜欢这个教程,并向学习更多内容,你可以阅读我们的这本书:Unity Games by Tutorials,那里会有更多关于虚拟现实游戏的内容,包括对 Oculus Rift 的支持。

    要理解这本书到底说了些什么,最简单的法子莫过于观看这个视频:

    https://youtu.be/kgU-8Lzqy2E

    谢谢观赏,希望你喜欢这篇教程,就像我很享受写它时所带来的乐趣一样。
    如果有任何建议、问题或者你想战士对示例项目所进行改进,请在下面留言。

    展开全文
  • htc vive游戏开发If you want to experience true virtual reality, with the ability to move around as you play, theHTC Vive is as good as it gets right now.Here’s everything you need to know about ...
    htc vive游戏开发

    htc vive游戏开发

    HTC_Vive_top

    If you want to experience true virtual reality, with the ability to move around as you play, the HTC Vive is as good as it gets right now. Here’s everything you need to know about setting it up so you can get started playing.

    如果您想体验真正的虚拟现实,并且能够随身玩耍,那么HTC Vive就像现在一样出色。 这是您需要设置的所有信息,因此可以开始播放。

    The Vive takes a bit of time to set up, and there are a lot of different components. But it’s actually quite easy, as long as you follow the instructions–and do a bit of planning before you start.

    Vive需要花费一些时间来设置,并且有很多不同的组件。 但这实际上很容易,只要您按照说明进行操作,并在开始之前进行一些计划即可。

    你需要什么 (What You’ll Need)

    Everyone’s setup will be a little different, so what you need will vary from person to person. We highly recommend reading “Step One” of this guide below, which will help you determine what, if anything, you’ll need beyond the Vive itself. But to give a quick overview, you will need:

    每个人的设置都会有所不同,因此您所需的内容因人而异。 我们强烈建议您阅读以下本指南的“第一步”,这将帮助您确定Vive本身之外还需要什么。 但是,快速概述一下,您将需要:

    • An HTC Vive, obviously. The Vive comes with most of the accessories you need, but not all of them.

      显然是HTC Vive 。 Vive随附您需要的大多数配件,但并非全部。

    • A powerful gaming PC. Playing games on the Vive is more demanding than playing normal two-dimensional games, which means you’ll need a beefy rig to run them. You can see HTC’s recommended specs here, as well as buy compatible PCs if you don’t already have one. If you’re more of a builder, Logical Increments has a good guide to building VR-ready PCs. You can also run a few tests on your PC to see if its hardware is powerful enough.

      功能强大的游戏PC 。 在Vive上玩游戏比玩普通的二维游戏要求更高,这意味着您需要强大的装备才能运行它们。 您可以在此处查看HTC的推荐规格 ,如果还没有,则购买兼容的PC。 如果您更喜欢构建器,那么Logical Increments可以为构建支持VR的PC提供很好的指南 。 您还可以在PC上运行一些测试,以查看其硬件是否足够强大。

    • Ample floor space. If you want to use the Vive’s room-scale abilities (so you can move around while playing), you’ll need some empty space in your home. It can be as small as 5 feet x 6.5 feet, but the bigger the better, with Vive supporting spaces up to 15 feet x 15 feet. (We’ll talk about this more in the next section.)

      足够的地面空间 。 如果要使用Vive的房间规模功能(以便在玩耍时可以四处走动),则房屋中将需要一些空白空间。 它可以小到5英尺x 6.5英尺,但越大越好,Vive支撑空间最大为15英尺x 15英尺。 (我们将在下一节中对此进行更多讨论。)

    • Extra cables or extension cords (for some people). If your play area is far away from your PC, the included cables may not be long enough. The included cables can reach about 18 feet. If your play area is further away, you may need a longer HDMI cable, a USB extension cable, and extension cords for the many power adapters.

      额外的电缆或延长线 (对于某些人)。 如果您的游戏区域距离您的PC较远,则随附的电缆可能不够长。 随附的电缆可以达到约18英尺。 如果您的游戏场地较远,则可能需要更长的HDMI电缆USB延长线和许多电源适配器的延长线。

    • Tripods, light stands, or other mounting accessories for the base stations (for some people). The base stations can mount on your wall, but if you don’t have walls nearby–or if you rent an apartment and aren’t allowed to drill into your walls–you may need to mount them using tripods, photography light stands, or other similar hardware. Make sure they can reach 6.5 feet high off the ground. Tip: Buy them from Craigslist to save some money.

      用于基站的三脚架,灯架或其他安装配件 (某些人)。 基站可以安装在您的墙上,但是如果您附近没有墙壁-或者如果您租用公寓并且不允许在墙壁上钻Kong-您可能需要使用三脚架,摄影灯架或其他类似的硬件。 确保它们可以达到离地面6.5英尺的高。 提示:从Craigslist购买它们可以节省一些钱。

    This list isn’t necessarily exhaustive, but it should give you a good idea of what you might need to get. Even if you don’t have your Vive yet, I highly recommend reading through the instructions below so you know what other accessories you might need. There’s nothing worse than setting up the Vive only to find you’re missing one measly cable, and have to run to Best Buy before you can start playing.

    此列表不一定详尽无遗,但它应该使您对可能需要获得的东西有了一个很好的了解。 即使您还没有Vive,我也强烈建议您阅读以下说明,以了解您可能还需要其他配件。 没有什么比设置Vive更糟糕的了,只是发现您缺少一根细小的电缆,并且必须开始运行Best Buy才能开始播放。

    第一步:规划游乐区 (Step One: Plan Your Play Area)

    You can play Vive games seated or standing, but if you’re buying the Vive, there’s a good chance you’re looking for room-scale play, which allows you to move around in the space.

    您可以坐着或站着玩Vive游戏,但是如果您购买Vive,则很有可能正在寻找房间规模的游戏,这可以让您在空间中移动。

    By far, the most difficult and time consuming part of the process is the initial planning of this space. If you have a big house with lots of empty room, you’ll be better off, but for those of us with smaller houses and apartments with lots of furniture, it may take some creativity. The good news is, you can start this process before your Vive even ships.

    到目前为止,此过程中最困难且最耗时的部分是此空间的初始计划。 如果您有一间大的房子,里面有很多空房间,那么您的生活会更好一些,但是对于我们这些拥有较小房子和公寓的人来说,这些家具和家具很多,这可能需要一些创造力。 好消息是,您可以在Vive发货之前就开始此过程。

    As we mentioned above, your space can be as small as 5 feet x 6.5 feet, but the bigger the better–with Vive supporting spaces up to 15 feet x 15 feet. You don’t want to have to move furniture around if you don’t have to, but you’ll have to make do with the space you have.

    如上所述,您的空间可以小到5英尺x 6.5英尺,但越大越好-Vive支撑空间最大为15英尺x 15英尺。 您不必不必移动家具,但是您必须利用自己的空间。

    Don’t be afraid to get a little creative. I, for example, did not have nearly enough space next to my gaming PC, since my office is quite small, and opens into the furnished dining room:

    不要害怕获得一点创意。 例如,由于我的办公室很小,并且开到带家具的饭厅,因此我的游戏PC旁边没有足够的空间:

    DSC_0003

    Instead of moving furniture around in the dining room, which would have been a huge hassle, I went looking elsewhere. There was a decently-sized space outside said dining room, near the front door. It’s a bit far from the PC, but with a longer HDMI cable and a USB extension cable, I was able to stretch the Vive headset far enough for it to work.

    我没有将家具摆放在饭厅里,这本来是一件很麻烦的事,而是去了别处。 一个体面大小的空间之外说餐厅,前门附近。 它距离PC有点远,但是使用更长的HDMI电缆USB延长电缆 ,我能够将Vive耳机拉远到足以使其工作的程度。

    DSC_0004

    I measured the area and was able to eke out a rectangular space of 8 feet x 6 feet, which works very well for the games I’ve played so far.

    我测量了面积,并得出了一个8英尺x 6英尺的矩形空间,这对于到目前为止我玩过的游戏非常有效。

    As for the base stations, you’ll need to mount them at least 6.5 feet high, on opposite sides of the play area, facing each other:

    至于基站,您需要将它们至少高6.5英尺,安装在游戏区域的相对侧,彼此相对:

    viveroomscale

    I had a wall on one side of my play area and a kitchen island on the other. So I was able to mount one base station to the wall, and set a tripod on the kitchen island for the other. Again, not completely ideal, but it would work.

    我在游乐区的一侧有一堵墙,另一侧有一个厨房岛。 因此,我能够将一个基站安装到墙上,并在厨房岛上放置一个三脚架来安装另一个。 同样,这不是完全理想的,但它可以工作。

    DSC_0016

    (Mine are also a little lower than 6.5 feet, and they work fine–but HTC insists on 6.5 feet, so do as I say, not as I do.)

    (我的高度也低于6.5英尺,而且工作正常-但HTC坚持6.5英尺,所以请按照我说的做,而不是像我那样做。)

    第二步:打开Vive包装 (Step Two: Unpack the Vive)

    DSC_0009

    Next, I recommend unpacking your Vive. We aren’t going to start hooking things up just yet, but it’s a good idea to unpack the Vive and unwrap its many, many accessories so you don’t have to later. In the box, you’ll find:

    接下来,我建议打开Vive的包装。 我们暂时还不会开始挂钩,但是打开Vive的包装并打开很多很多配件是个好主意,这样您以后就不必再挂了。 在框中,您将找到:

    • Two base stations, along with some mounting hardware, a long sync cable, and two power adapters: The mounting hardware will allow you to screw the base stations into your wall. If you can’t do that, you’ll need to buy a tripod or stand them on some boxes or something. The sync cable is only necessary if there’s an obstruction between the two, but most users won’t need it.

      两个基站 ,以及一些安装硬件  长同步电缆两个电源适配器 :安装硬件将使您可以将基站拧入墙壁。 如果无法做到这一点,则需要购买三脚架或将其放在一些盒子或其他物品上。 仅当两者之间有障碍物时才需要同步电缆,但大多数用户不需要。

    • Two controllers, along with two microUSB cables and two USB power adapters for charging: They should come with a partial charge, but you should plug these into the wall now so they’re all charged up and ready.

      两个控制器 ,以及两根microUSB电缆两个USB电源适配器,用于充电:它们应该带有部分电量,但是您现在应该将它们插入墙上,以便它们都已充满电并准备就绪。

    • The Vive headset: Awwww yeah. Put this aside for now. It comes with an alternate face cushion for narrow faces.

      Vive耳机 :是的。 现在暂时搁置。 它带有一个备用脸垫,可用于狭窄的脸部。

    • The link box, which connects to the included HDMI cable, USB cable, and link box power adapter. Remember, if you’re playing far away from your PC, you’ll want some alternate cables or extension cables to go with these.

      链接盒 ,它连接到随附的HDMI电缆USB电缆链接盒电源适配器 。 请记住,如果您在远离PC的地方玩游戏,则需要一些备用电缆或扩展电缆。

    • Earbuds: They’re fine, I guess, but I prefer to use a nice pair of open headphones. (Seriously, even cheap ones will make a huge difference.)

      耳塞 :不错,我想,但我更喜欢使用一对不错的开放式耳机 。 (严重的是, 即使便宜的产品也会有很大的不同。)

    Gather up all the accessories and set them aside in little groups, matching the correct cables with the correct part of the Vive setup. It’ll make your life easier in the next couple steps.

    收集所有附件,并分组放置,将正确的电缆与Vive设置的正确部分相匹配。 在接下来的几个步骤中,它将使您的生活更轻松。

    第三步:安装Vive软件 (Step Three: Install the Vive Software)

    You could set up all your hardware now, but the Vive software will walk you through it step by step, so you might as well install it now. Head to htcvive.com/setup and click the “Download Vive Setup” button. Double-click the resulting installer to begin the process.

    您现在可以设置所有硬件,但是Vive软件将逐步指导您完成安装,因此您最好现在就安装它。 转到htcvive.com/setup ,然后单击“下载Vive设置”按钮。 双击生成的安装程序以开始该过程。

    Click “Next” through the next few windows until you reach the following screen. Ensure that Vive found the correct folder for your Steam games, and click the “Install” button.

    在接下来的几个窗口中单击“下一步”,直到到达以下屏幕。 确保Vive为您的Steam游戏找到了正确的文件夹,然后单击“安装”按钮。

    screenshot.3

    During the installation process, you may be prompted to log into your HTC account, as well as your Steam account (if you aren’t logged into the Steam client already). When it’s finished, it will install the SteamVR software within Steam.

    在安装过程中,系统可能会提示您登录HTC帐户以及Steam帐户(如果尚未登录Steam客户端)。 完成后,它将在Steam中安装SteamVR软件。

    第四步:设置基站 (Step Four: Set Up Your Base Stations)

    Next, the Vive software will walk you through setting up your base stations. This will be a little different for everyone, but the Vive software can give you some general guidelines, as can HTC’s official setup video, embedded below. I highly, highly recommend watching it.

    接下来,Vive软件将引导您完成基站的设置。 每个人的情况都会有所不同,但是Vive软件可以为您提供一些一般性指导,下面嵌入的HTC官方设置视频也可以。 我强烈建议观看。

    You’ll need to mount the base stations at least 6.5 feet high, either directly on the wall or onto a tripod, bookshelf, or other surface. Angle them 30 to 45 degrees downward. They should be directly across from one another in your play area.

    您需要将基站至少高6.5英尺,直接安装在墙上或三脚架,书架或其他表面上。 将它们向下倾斜30至45度。 他们应该在您的游戏区域彼此对面。

    If you’re using the included mounting hardware, screw it into the hole on the back of the base station, then tighten the nut to secure it. Use the included wall anchors and screws to mount it to your wall. You can see more of this process in the video above.

    如果您使用的是随附的安装硬件,请将其拧入基站背面的Kong中,然后拧紧螺母以将其固定。 使用随附的墙锚和螺钉将其安装到墙上。 您可以在上面的视频中看到更多有关此过程的信息。

    DSC_0012

    If you’re using a tripod, screw the tripod’s plate into the hole on the bottom of the base station, like so. Then clip it into the tripod like you would a camera.

    如果您使用的是三脚架,则将三脚架的板拧入基站底部的Kong中,就像这样。 然后像将相机一样将其夹入三脚架。

    DSC_0014

    Once mounted, plug the base stations into the wall. They should light up and attempt to detect one another. If all goes well, you’ll see a green light at the top of each. You’ll also see a “channel” letter on the side: “b” on one, and “c” on the other. If you don’t, press the channel button on the back until you do.

    安装完成后,将基站插入墙壁。 他们应该点亮并试图互相发现。 如果一切顺利,您将在每个按钮的顶部看到绿灯。 您还会在侧面看到一个“频道”字母:一个字母为“ b”,另一个字母为“ c”。 如果不这样做,请按背面的通道按钮,直到您这样做为止。

    DSC_0021

    If one of the base stations has a purple status light, that means it can’t see the other. You’ll need to connect them manually with the long sync cable included with the Vive, and change the channel to “A”.

    如果其中一个基站的状态指示灯为紫色,则表示看不到另一个。 您需要使用Vive随附的长同步电缆手动连接它们,并将通道更改为“ A”。

    第五步:通过链接盒将耳机插入计算机 (Step Five: Plug the Headset Into Your Computer with the Link Box)

    Next, hook up the headset. You’ll notice that the headset has a long 3-in-1 cable coming out the back. Plug those three cables into the orange side of the link box…

    接下来,挂上耳机。 您会注意到耳机的背面有一条长的三合一电缆。 将这三根电缆插入链接盒的橙色侧…

    DSC_0017

    …then plug the HDMI cable, USB cable, and power cable into the back of the link box.

    …然后将HDMI电缆,USB电缆和电源线插入链接盒的背面。

    DSC_0018

    Lastly, plug the HDMI cable into your PC’s graphics card, the USB cable into your computer, and the power adapter into the wall.

    最后,将HDMI电缆插入PC的图形卡,将USB电缆插入计算机,将电源适配器插入墙壁。

    DSC_0019

    NOTE: The Vive uses USB 3.0 cables to connect to your computer, so if you have a USB 3.0 port, that would be ideal. However, many people have had issues with USB 3.0–particularly on older computers with crappy USB 3.0 chipsets–so if you’d rather start with a more reliable connection, USB 2.0 should work fine. I use USB 2.0 and have had no issues with my Vive so far.

    注:Vive使用USB 3.0电缆连接到计算机,因此,如果您有USB 3.0端口,那将是理想的选择。 但是,许多人在使用USB 3.0时遇到了问题,尤其是在使用笨拙的USB 3.0芯片组的较旧计算机上,因此,如果您希望以更可靠的连接开始,则USB 2.0应该可以正常工作。 我使用USB 2.0,到目前为止,我的Vive没有任何问题。

    第六步:校准硬件 (Step Six: Calibrate Your Hardware)

    When you’ve gone through the rest of the setup, click the “Launch SteamVR” button in the Vive software.

    完成其余设置后,请单击Vive软件中的“启动SteamVR”按钮。

    屏幕截图.9

    If it has trouble launching, you may need to restart your computer–I did. Just restart, launch Steam, then click the “VR” icon in the upper right-hand corner of the window. This is how you’ll launch SteamVR in the future.

    如果启动时遇到问题,则可能需要重新启动计算机(我确实如此)。 只需重新启动,启动Steam,然后单击窗口右上角的“ VR”图标即可。 将来,这就是您启动SteamVR的方式。

    屏幕截图.20

    When SteamVR launches, you’ll see this window at the bottom of your screen. Green icons along the bottom indicate the component has been found, grey icons have not been found.

    SteamVR启动时,您将在屏幕底部看到此窗口。 底部的绿色图标指示已找到组件,而未找到灰色图标。

    屏幕截图.7-1

    If any of the icons are grey, make sure the corresponding components are set up properly and placed on the floor in your play area. You may have to press the bottom button on the controllers for them to turn on and connect.

    如果任何图标为灰色,请确保正确设置了相应的组件并将其放在游戏区域的地板上。 您可能必须按下控制器上的底部按钮才能打开并连接它们。

    DSC_0020

    Hover over the icons to see if there any firmware updates available. If there are, click the “Update Available” link and go through the prompts to download and install new firmware before continuing.

    将鼠标悬停在图标上以查看是否有可用的固件更新。 如果存在,请单击“更新可用”链接,然后按照提示下载并安装新固件,然后再继续。

    屏幕截图.8

    The Room Setup window should have opened automatically with SteamVR. If not, double click on “SteamVR Room Setup” in your list of Steam games to start it.

    SteamVR应该会自动打开“房间设置”窗口。 如果没有,请在您的Steam游戏列表中双击“ SteamVR Room Setup”以启动它。

    We’re assuming you want to set up room-scale play, so click “Room-Scale” on the first screen.

    我们假设您要设置房间缩放播放,因此在第一个屏幕上单击“房间缩放”。

    屏幕截图.11

    Next, you’ll be prompted to stand inside the play area and locate your monitor with the controller. This really should say point at your computer tower, not monitor–it determines the default direction you’ll face when playing games by setting your starting position the opposite direction of your computer. That way, the cables travel out the back of your head and behind you, toward your computer.

    接下来,系统将提示您站在游戏区域内,并使用控制器找到显示器。 这实际上应该指向计算机塔台 ,而不是显示器,它通过将起始位置设置为与计算机相反的方向来确定玩游戏时要面对的默认方向。 这样一来,电缆就从您的后脑勺向后延伸到计算机。

    So point the controller at your PC tower, and press and hold the trigger button until it stops vibrating.

    因此,将控制器对准PC塔,然后按住触发按钮,直到其停止振动。

    屏幕截图.13

    Next, place your controllers on the floor and click “Calibrate Floor”.

    接下来,将您的控制器放在地板上,然后单击“校准地板”。

    屏幕截图.14

    Lastly, you’ll set your play area. This is pretty simple, and the on-screen animation will give you an idea of what to do. Essentially: click Next, grab a controller, and drag it around the perimeter of your play area while holding the trigger button. Be careful to keep the controller outside the bounds of any furniture or walls–the more accurate you are here, the less you’ll bump your fists into the walls while playing (which I’ve already done twice).

    最后,您将设置游戏区域。 这非常简单,并且屏幕上的动画将使您知道该怎么做。 本质上:单击“下一步”,抓住控制器,然后在按住触发按钮的同时将其拖动到游戏区域的周围。 注意将控制器保持在任何家具或墙壁的边界之外—您在这里越精确,在玩耍时拳头撞到墙壁上的次数就越少(我已经做过两次)。

    Again, see HTC’s instructional video higher up in this post for a more visual demonstration of the process.

    同样,请在这篇文章的上方观看HTC的指导视频,以更直观地了解该过程。

    屏幕截图.21

    When you’re done, it will calculate the largest rectangular play area from the perimeter you selected. Click Next to accept it and move on.

    完成后,它将根据您选择的周长计算最大的矩形游戏区域。 单击下一步接受它并继续。

    屏幕截图.17

    第七步:开始玩! (Step Seven: Start Playing!)

    At this point, you should be all set up! Yes, it takes a little while, but it’s well worth it. Put the headset on, plug your headphones into the port on the headset, and start the SteamVR tutorial. Even the tutorial is pretty amazing, and you’ll be playing games in no time–the tutorial will show you how to launch them. (If you haven’t bought any games yet, I recommend The Lab and Space Pirate Trainer.)

    至此,您应该一切就绪! 是的,这需要一些时间,但值得。 戴上耳机,将耳机插入耳机上的端口,然后启动SteamVR教程。 甚至本教程也非常出色,您将立即玩游戏-本教程将向您展示如何启动游戏。 (如果您尚未购买任何游戏,建议您使用LabSpace Pirate Trainer 。)

    更好的Vive体验的提示 (Tips for a Better Vive Experience)

    I’ve only been using the Vive for a few days, but I’ve already learned a few things that have made the experience much more pleasurable. Here are some things to keep in mind:

    我只使用Vive几天,但是我已经学到了一些东西,可以使体验变得更加愉快。 这里要记住一些事情:

    • Don’t forget to take the protective plastic off of everything, including the lenses inside the headset. I didn’t notice the plastic was there for a couple hours.

      别忘了从所有东西上取下保护性塑料,包括耳机内的镜头。 我几个小时都没注意到塑料了。
    • If you find that the Vive is too blurry, try this: don’t let the headset sit on your nose like a pair of glasses. The foam along the top should be in the middle of your forehead, with the bottom foam sitting on top of your cheekbones. This will put the “sweet spot” in the center of your vision. (Thanks to RipeManlyMango on Reddit for this tip.)

      如果发现Vive太模糊,请尝试以下操作:不要让耳机像一副眼镜一样放在您的鼻子上。 顶部的泡沫应位于前额的中间 ,底部的泡沫应位于che骨的顶部。 这会将“最佳位置”置于您的视觉中心。 (感谢Reddit上的RippleManlyMango的技巧。)

    • You can also adjust the lens distance and IPD of the headset to eliminate blurriness (and make it more comfortable if you wear glasses). First, pop the grey rings on the side of the headset “out”, then twist them to move the lenses closer or further from your face. Push them back in when you’re satisfied, and twist the small knob on the right-hand side of the headset until you get the sharpest image.

      您还可以调节镜头的距离和耳机的IPD消除模糊(并使您戴眼镜时更舒适)。 首先,将耳机侧面的灰色环“弹出”,然后旋转它们以使镜头距离您的脸部更近或更远。 满意时将它们推回去,然后旋转耳机右侧的小旋钮,直到获得最清晰的图像。
    • Adjust all three of the straps (top, left, and right) when putting on your headset. This will make it immensely  more comfortable.

      戴上耳机时,请调整所有三个皮带(上,左和右)。 这将使其更加舒适。

    • If you have mirrors in your play area, or even a reflective TV screen, you may need to cover them with a blanket to get better tracking–otherwise, your base stations may get confused by their own reflection.

      如果您在游戏区中有镜子,甚至有反射的电视屏幕,则可能需要盖好毯子以得到更好的跟踪,否则,基站可能会因自身的反射而感到困惑。
    • In SteamVR’s settings, you can turn on the camera to see an outline of your room and furniture when you get close to the chaperone bounds. There are a lot of settings to adjust here, and it may only work reliably with USB 3.0, but it’s there if you want it (and are prone to bumping into things while you play.)

      在SteamVR的设置中,当您接近伴侣边界时,您可以打开相机查看房间和家具的轮廓。 这里有很多设置需要调整,它只能与USB 3.0一起可靠地工作,但是如果您愿意的话,它就可以在这里使用(并且在玩耍时容易碰到东西。)
    • My headset audio seemed to work fine, but you may need to go into SteamVR’s Settings > Audio and change the playback device to HTC-VIVE when SteamVR is active, and back to your normal speakers when SteamVR is exited.

      我的耳机音频似乎工作正常,但是您可能需要进入SteamVR的“设置”>“音频”,并在SteamVR处于活动状态时将播放设备更改为HTC-VIVE,而在退出SteamVR时将其更改为普通扬声器。

    If you have any other tips, feel free to add them in the comments and we’ll include them in this list!

    如果您还有其他提示,请随时在评论中添加它们,我们会将它们包括在此列表中!

    翻译自: https://www.howtogeek.com/258356/how-to-set-up-the-htc-vive-and-start-playing-games/

    htc vive游戏开发

    展开全文
  • openvr for htc vive

    2018-09-10 20:43:12
    openvr for htc vive,主要用于HTC VR设备HTC vive Tracker的二次开发使用
  • HTC VIVE 制作MR插件

    2018-11-06 16:32:15
    HTC VIVE MR开发插件,本插件可以有效利用HTC VIVE 头盔来进行MR,AR的开发(只支持VIVE Pro)。
  • HTC vive开发

    2018-05-15 10:32:09
    1, HTC vive开发:关于手柄按键。 2,HTC手柄介绍及按键获取。 3, Unity的HTC VIVE SDK研究(手柄按键功能的研究,比较详细) 4,HTC Vive Unity 教程 5,Unity HTC VIVE 手柄 接入(手柄上的按键都有说明)....
  • HTC Vive support

    2020-11-28 17:03:43
    <div><p>I know this is probably out of scope of this project, but would it be possible to add HTC Vive support? I need a way to use my Vive on my cloud PC I have (a Shadow PC). Unless someone has an ...
  • ReviveHTC Vive玩Oculus的游戏
  • Unity HTC vive虚拟现实全套功能源码Unity HTC vive虚拟现实全套功能源码Unity HTC vive虚拟现实全套功能源码
  • HTC Vive 手柄

    2018-11-24 20:28:09
    HTC Vive 手柄 这是HTC Vive 手柄的按键示意图 手柄 是HTC Vive的重要交互手段,我们通过第一个图片应该对其有一个直观的了解了,总共是九个按钮: 第一个是菜单按钮 第二,三,四,五分别对应的是Trackpad/...
  • HTC VIVE 设置

    千次阅读 2017-04-15 17:01:37
    HTC VIVE声音怎么映射 HTC VIVE声音映射教程 http://gad.qq.com/article/detail/7187995
  • HTC VIVE样板房项目视频教程
  • htc viveWe finally know when HTC’s new-and-improved Vive Pro VR headset is coming, and for how much. But what makes it better than the original Vive that debuted two years ago? Let’s break it down. ...
  • unity htc vive使用

    2019-10-09 04:27:53
    本文介绍如何在Unity中使用HTC vive设备,当前VR作为市场比较火热的热点,HTC VIVE设备作为三大供应商之一,许多人购买了该设备,却不知道如何使用,本文通过图文并茂的形式,进行手把手的讲解HTC VIVE设备和Unity的...
  • <div><p>Hello! I have used VRTK for HTC Vive PC. But I have bought HTC Vive Focus. Does VRTK support HTC Vive Focus?</p><p>该提问来源于开源项目:ExtendRealityLtd/VRTK</p></div>
  • VRScrollingUI HTC Vive VR UI测试 其他套餐 SteamVR插件1.2.2 Vive输入实用程序1.6.4
  • htc vive 安装和使用

    2018-09-17 14:19:00
    本篇简单介绍htc vive的安装和使用。 htc vive安装 第一次使用htc vive你可以在官网 https://www.viveport.com/ 下载viveport按照提示安装htc vive 下载过程中会安装SteamVR, SteamVR是htc vive的运行插件。 当然...
  • 1.Htc Vive安装教程 在把你的头显与控制器连到电脑上之前,我们首先要做的是先安好基站。基站的背面和低端各有一个固定孔,这样你可以把基站钉在墙上或者买支架将其撑起。大三角架安装示意图 Lighthouse基站会...
  • 虽说好几千的HTC Vive的确可以让我们沉浸到梦幻的VR世界,但是在玩家手里的时候它却显得多么脆弱!特别是使用最频繁的VR游戏手柄,长时间使用就算了,有些沉浸在VR世界的玩家嗨起来根本就忘了手上还有个Vive手柄,...
  • <div><p>when I launch Minecrift, the audio is routed via the normal speakers, not the HTC Vive. When Minecraft is active, the default audio device is the HTC Vive.</p><p>该提问来源于开源项目:...
  • HTC Vive开发

    2019-10-16 14:36:53
    使用HTC vive基于unity做虚拟现实,需要用到steamVR插件,最近查找了很多资料,稍微做一下总结。做虚拟现实无非是头显在场景中的camera功能以及手柄的操作功能。 1.Camera以及Ccontroller 第一种方法:此方法为最...
  • 公司内部Unity HTCvive交互教学,手把手带领你实现HTC交互

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,556
精华内容 622
关键字:

htcvive