精华内容
下载资源
问答
  • VR PUSH Ride使用Unity3D引擎在几天内用C#开发。 学分 Christian Marques->主管开发/声音工程/项目经理 Ricardo Pinto-> C#开发 佩德罗·莫塔(Pedro Motta)->艺术指导 演示版 -项目页面 -试用Unity WebGL版本...
  • 一、目录 【Unity3D从入门到进阶】文章目录及设置这个专栏的初衷

    一、目录

    【Unity3D从入门到进阶】文章目录及设置这个专栏的初衷

    二、VR设备

    先带大家认识一下VR设备吧,现在VR/AR设备非常的多,对于想要进行VR/AR开发的开发者真实眼花缭乱,今天就给大家简单总结一下VR/AR设备。

    目前的VR/AR设备按照硬件形态可以分为三大类:
    主机VR头显、手机VR眼镜和VR一体机
    具体的参数介绍就参考我VR设备盘点这篇文章吧。

    三、SteamVR

    这个是电脑开发VR的基础,可以直接在Steam里面搜索SteamVR(库-工具),然后下载安装就行了
    在这之前记得把VR设备都连接好,我用的是HTC Vive,就用HTC VIVE为例吧。

    在这里插入图片描述
    线都连接好,然后两个定位器定位到正确的位置
    打开SteamVR,然后进行房间设置,设置完成后就可以愉快的开发了。

    四、正式开始

    <
    展开全文
  • 基于vlc的unity3d vr视频播放器开发,简述


    需求:

    项目需要在vr设备(htc vive、pico、小π等vr设备)中显示在线视频和播放本地视频的功能。


    茶话:

    当前做的比较好有htc vive的ViveCinema,场景做比较漂亮。他使用的是FFmpeg+SDL+GLEW。FFmpeg作为视频解析的库在业内是非常有名,视频的解析是从头实现的,大部分其他开源项目都是基于它来实现解复用、解析等操作。SDL是一套开放源代码的跨平台多媒体开发库,另外在游戏方面使用的人是比较多的。GLEW不用说,opengl wrapper。但是ViveCinema仅支持本地视频,那么在线视频呢?


    unity3d是比较轻量级的游戏引擎,在手机3d游戏市场可谓如日中天。其灯光渲染效果可能没有ue4等pc游戏引擎好,但是其操作的简易性,开发效率高等特点,得到了大量vr设备厂商和开发人员的青睐。对于C++程序来说,pc端ue4是最好的选择,C#的内存方面的操作实在蹩脚,p/invoke也是非常蛋疼的。无奈vr设备厂商提供unity3d的包,项目采用unity3d开发。

    确定使用unity3d开发,那么问题来了,怎么加载视频呢?


    首先需要了解vlc的结构,在此花了大量的时间......


    思路是:

    1、去vlc官网下载vlc库(http://www.videolan.org/vlc/download-windows.html),当前是vlc-2.2.4-win64.zip;

    2、解压,分别将axvlc.dll、libvlc.dll、libvlccore.dll、npvlc.dll四个dll和plugins文件夹拷贝至unity3d项目Assert文件夹;

    3、使用p/invoke 实现以上dll的接口,获取vlc视频流、视频相关信息和控制事件;

    4、在unity3d中新建一个sprite对象,并添加视频控制的cs代码,进行播放视频功能控制;

    5、根据3中的接口控制播放,并取得视频流的回调,新建一个视频流的cache数组,将回调函数中的视频流数据放入cache数组中;

    6、开始时在ui线程中,起一个定时器获取视频流数据,我这里设置的是每个20ms执行一次,如果正常播放的话,每秒执行50次,就是50帧,应该够了;

    6、定时器中处理,在5中得到cache数组中取一帧数据。使用Texture2D类,新建Texture2D对象,关键函数为LoadRawTextureData,即将二进制流数据转换为texture2d材质。然后使用Sprite.Create()使用转换好的Texture2d变为sprite精灵对象。这样就显示在4中新建的sprite对象中了。

    7、还有些乱七八糟的参数和事件,后续慢慢解决...


    碰到的问题:

    unity3d中如何使用unsafe代码?

    a、不知道为什么我的vr机器上VS不能打开unity3d项目的属性,在笔记本上可以打开,打开方法,右键项目属性-Build-General-Allow Unsafe Code打上勾;

    b、在unity3d项目的Assert下面新建一个名为:smcs.rsp的文件,文件内容为:-unsafe;

    c、修改项目的player setting中Other Settings的Optimization中Api Compatibility Level改为.Net 2.0 Subset。(关键)


    简单实现 重播,开始/暂停,下一个等功能。4k视频,这个视频播放时间显示不正确....



    欢迎来交流群交流:323929978


    展开全文
  • Unity3D VR

    2015-11-28 16:08:55
    基于3D偏振做的 我也是看了一篇文章学的
  • unity3D VR手柄模型替换

    千次阅读 2017-05-02 15:08:49
    unity3DVR手柄 模型 替换
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    /// <summary>
    /// 挂脚本前记得要把SteamVR_TrackedController也挂到手柄上
    /// 所以当使用的时候挂了2个脚本一个是本脚本一个是SteamVR_TrackedController
    /// </summary>
    public class Show : MonoBehaviour {
        public bool isShowGun = false;      //设置枪初始显示状态
        public GameObject Gun;         //公开一个枪的模块用于拖拽
        public GameObject mod;          //公开一个手柄模型
        SteamVR_TrackedController steamVR;  //定义一个 SteamVR_TrackedController 对象
        void showGun()  //显示枪的BOOL函数
        {
            Gun.SetActive(true);//枪模型是真
            mod.SetActive(false);//手柄模型是假
        }
        void shouMod()//显示手柄的bool函数
        {
            Gun.SetActive(false);//枪模型是假的
            mod.SetActive(true);//手柄模型是真的
        }
    
        void Start () {
    
            Gun.SetActive(false);//设置枪的隐藏状态
            steamVR = GetComponent<SteamVR_TrackedController>();//给对象一个组件
            steamVR.MenuButtonClicked += OnMenuButtonClicked;//OnMenuButtonClicked将这个函数附加给控制组件
            //这个键代表圆盘上面的键
            if (isShowGun)//如果要显示枪
            {
                showGun();//调用函数
            }
            else//如果不显示枪
            {
                shouMod();//调用函数
            }
        }
    
        void Update () {
    
        }
       void OnMenuButtonClicked(object sender, ClickedEventArgs e)//定义一个函数附加给控制组件
        {
            if (isShowGun==false)//当状态为假的时候
            {
                shouMod();//调用函数
                isShowGun = true;//将状态定义成真
            }else if (isShowGun == true)//当状态为真时
            {
                showGun();//调用函数
                isShowGun = false;//将状态定义为假
            }
        }
    }
    
    展开全文
  • 选择易于使用的Unity 3D软件来进行3D程序开发,结合HTC vive虚拟现实眼镜技术实现了模拟体验交通安全事故的危害性。 佩京科技自主研发生产的VR行人安全体验系统,通过VR虚拟技术的沉浸感,让体验者以第一视角切身...

    选择易于使用的Unity 3D软件来进行3D程序开发,结合HTC vive虚拟现实眼镜技术实现了模拟体验交通安全事故的危害性。

    佩京科技自主研发生产的VR行人安全体验系统,通过VR虚拟技术的沉浸感,让体验者以第一视角切身感受事故发生的过程,逼真模拟,使其身临其境地感知事故的危害性,从而更重视行人交通安全。

    VR行人交通安全这款产品能克服传统教育的弊端,打破传统单一的体验模式、增强真实度,感知度,趣味性,交互性更强。而且体验成本更低,不需要搭建复杂真实的现实环境,不受位置限制,更加安全,随时随地都可以体验。

    展开全文
  • Animator 、Animation的播放、暂停、续播 只要控制 播放速度。Speed=0 或 Speed=1;
  • VR家庭火灾逃生模拟系统通过3D建模构建高度仿真消防演练实景,1:1现场还原,模拟各类事故体验与技能操作。利用虚拟现实技术赋能,达到身临其境式体验感受,实现多维场景交互。系统性学习安全知识,针对性考核体验者...
  • 佩京VR暴雨逃生体验系统利用VR技术,根据不同气象灾害影响设计相应互动环节,并为不同防灾措施赋予不同感官体验和文字及语音讲解,使公众身临其境的体会气象灾害的危险,并在“实战”中学习正确的灾害防御技能。...
  • Unity 3D VR项目 动物园

    2019-12-27 15:17:45
    通过unity实现当下热门的AR相机功能,并移植到手机Android环境下使用。 主要功能介绍 手机端拍摄相应动物图片,屏幕显示相应动物(熊、狮子、大象、犀牛、斑马) 动物习性介绍(语音播报,扫描...
  • VRTK是一种高效的VR工具包,用于在Unity3d中快速构建VR解决方案,其中包括许多常见的解决方案,例如: *支持SteamVR和Oculus SDK * VR模拟器,无需VR硬件即可构建VR *控制器和耳机上的激光笔 *控制器和耳机上的弯曲...
  • Unity3D VR推拉门

    2017-07-06 12:02:48
    许多VR项目中都会有推拉门这样的需求,最近遇到了需求是在推拉门关闭状态时,当人拿住把手时,需要先让推拉门产生一个外推向走廊的动画,然后再变成可以推拉的门。由于项目原因不方便放上视频,有同样需求的可以参考...
  • Unity3D VR(Virtual Reality, 虚拟现实)

    千次阅读 2016-10-31 21:09:46
    Unity当前对Oculus,OpenVR,PlayStation VR和Gear VR提供了原生支持。相关向导:虚拟现实搜索Unity Knowledge Base以获取更多关于虚拟现实的提示,技巧和问题方法。目录VR预览VR参考VR设备VR音频声场定位技术
  • Unity3d VR与Android项目关联

    千次阅读 2017-09-01 15:23:40
    (ps:当时的感觉就是一脸懵逼)当参考了其他APP的VR功能时,还是得先从学习Unity下手,学习基本的场景操作。如果有人跟我一样也是小白,建议去蛮牛和泰课在线去学习(有很多免费的,或者淘宝也有卖视频的),现在把...
  • 【翻译】 Unity3D VR 教程:1.VR概述

    千次阅读 2016-03-28 21:14:44
    Unity引入了一些内置的支持,但是只针对几种特定的VR设备。这个指南会专注于Oculus 系列的VR设备, 特别是 Oculus Rift Development Kit 2 (DK2 ) 和 消费者版本的Gear VR(一种手机外设,需要三星Galaxy s6, s6 ...
  • 1.立方映射:Cubemap 生成立方映射是用脚本...3.烘焙量最好保证模型Scale(缩放大小)为1:1:1,如果在3DMAX中对模型进行了缩放,一定要在工具中将其重置变换 4.将要烘焙的物体属性更改为Static。 5.Window->
  • VRUnity3d VR学习笔记——Unity烘焙

    千次阅读 2016-04-27 20:39:34
    3.烘焙量最好保证模型Scale(缩放大小)为1:1:1,如果在3DMAX中对模型进行了缩放,一定要在工具中将其重置变换 4.将要烘焙的物体属性更改为Static。 5.Window->Lightmapping选项下可对场景进行烘焙,...
  • VR开发中,我们经常需要激活一个用户正在盯着的物体。我们准备了一个示例,一个简单的可扩展的轻量级的系统,让用户和物体交互。这个系统由三个主要的脚本组成,VREyeRaycaster, VRInput, 和VRInteractiveItem - ...
  • 1.在VR里面,多个Canvas重叠的时可能会发现,射线触碰前面那个Canvas时,会响应到后面的Canvas,如下图:2.把多个Canvas下的Graphic Raycaster的Blocking Objsets的属性都改成All就可以了:
  • VR设计用户界面的时候需要考虑很多传统屏幕设计场景中难以发现的问题。接下来我们会了解一下,作为VR开发者的挑战和机遇,然后讨论一下在这个新设备上,开发可用的界面的操作性。 UI分辨率和外观 DK2的...
  • 开始用unity进行基础VR开发之前,先确认硬件和软件已经按照前一篇文章进行了设置。 配置好并且安装好unity以后,在打开unity之前,保证DK2已经连接好,并且已经启动。在进行接下来的操作之前,先检查一下Oculus的 ...
  • using System.Collections; using System.Collections.Generic; using UnityEngine; /// /// 定义一个射线类用于回调 记得增加一个射线控制模块 /// public class LineEvent : MonoBehaviour ...
  • 添加VR模块1.SteamVR_TrackedController /// 以下代码负责发射物体 /// public class SteamVR_TrackedController_Shoot : MonoBehaviour { SteamVR_TrackedController stc; //控制器对象 void ...
  • 最早开始是有全景图片,比较早的应用场景在照片...来到了vr时代, 通过全景摄像机拍摄360度视频,制作为短片或者视频。在头盔里面播放,用户会拥有完全的沉浸影片的感觉。要在unit3d中实现,思路是:1、新建模型球,
  • 首先在Unity项目里已经下载好了SteamVR插件,这个没有的话去asset store下载即可。然后在Hierarchy下面添加[CameraRig]。 1.[CameraRig]下面的 left 或者 right 添加 “SteamVR_LaserPointer” 和 “St...
  • 很高兴,能有机会回报Unity技术社区:我和雨松MOMO担任UUG北京站的负责人, 组织Unity技术交流和分享活动...雨松走到那里, 都会有Unity3D 粉丝合影 UUG活动正式开始, 雨松首先上台致辞 什么是 Unity User G...
  • /// 添加VR模块1.SteamVR_TrackedController /// 以下代码负责发射物体 /// public class SteamVR_TrackedController_Shoot : MonoBehaviour { SteamVR_TrackedController stc; //控制器对象 void Start() { ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,186
精华内容 2,474
关键字:

unity3dvr