http://www.unitymanual.com/forum.php?mod=viewthread&tid=31034  原文出自游戏蛮牛

本文介绍虚拟现实项目开发流程,共大家参考与学习,也希望各位提出意见...通过将现实中真实存在的构建在虚拟平台上,使得用户可以不在受时间、地点、位置和区域的限制来完成一些操作。
=================================开发流程======================
开发流程:
1.虚拟现实开发流程: 通过调研、分析各个模块的功能。在具体开发过程中虚拟场景中的模型和纹理贴图都是来源于真实场景,事先通过摄像采集材质纹理贴图,和真实场景的平面模型,通过ps和maya(或者3dmax)来处理纹理和构建真实场景的三维模型,然后导入到unity3D构建虚拟平台,在U3D平台通过音效,图形界面,插件,灯光设置渲染,编写交互代码,最后发布设置。整体开发流程如下图1所示。

2.建模技术:
      构建三维模型,在虚拟场景中看到的任何物品或者模型都是真实场景中实物的再现,这就是虚拟现实给人一种真实场景的感觉,建模是构建场景的基本要素,在建模过程中还有一点最重要就是模型的优化,一个好的虚拟现实项目不仅要运行流畅、给人以逼真的感觉同时还要保证模型的大小,保证程序发布之后不会占用太大的内存,(PS:基本的优化原则就是:制作简模,建模过程中基本上所有模型都是简模,对于相交的面要删除相交之后重复的面,尽量减少模型的点以达到优化的目的)
3.交互技术:
       除了场景模型的优化之外,交互技术也是虚拟现实项目的关键。unity3d负责整个场景中的交互功能开发,是将虚拟场景与用户连接在一起的开发纽带,协调整体虚系统的工作和运转。模型在导入Unity之前必须先导入材质后导入模型,这样防止了模型纹理材质的丢失图2是虚拟展示系统的界面设计。
 
4.渲染技术:
       在做虚拟现实项目中,交互式基本,渲染是关键,一个好的项目,除了运行流畅之外,场景渲染的好坏也是成败的关键,好的、逼真的场景能给用户带来完成真实的沉浸感,对于用户来说真实感越好,月容易得用认可,才能做到真正的虚拟现实。基本渲染都是通过插件来实现,在需要高亮的地方设置shader,效果就是看到台灯真正可以感受到发亮的效果,地面倒影的效果和太阳光折射的效果。渲染效果如下图所示。

=================================实现过程======================
具体实现过程:
一、本文的UI界面并没有用插件来做,用Unity自带的GUILayout来实现。

[C#] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
usingUnityEngine;
usingSystem.Collections;
publicclassContrlRotation : MonoBehaviour {
    publicfloatm_fDeltaX;
    publicfloatm_fDeltaY;
    publicfloatm_fSpeed;
    publicGameObject m_goRotateObject;
    publicstaticbool m_bIsRotateObject;
// Use this for initialization
voidStart () {
    m_fSpeed = 80;
        m_bIsRotateObject = false;
}
// Update is called once per frame
voidUpdate () {
            if(Input.GetMouseButton(0))
            {               if(ClickAndDeal.m_bIsFreeze && !UIManager.m_bIsInTextureWindowRect)
                {
                    m_fDeltaX = Input.GetAxis("Mouse X") * Time.deltaTime * m_fSpeed;
                    m_fDeltaY = Input.GetAxis("Mouse Y") * Time.deltaTime * m_fSpeed;
                    m_goRotateObject.transform.Rotate(newVector3(0, -m_fDeltaX, m_fDeltaY), Space.World);                   
                }
        }
}
}

 
三、通过gameObject.render.material.color来改变当前点击物体的颜色(当你点击物体的某个部位时,此时被点击的部分会改变颜色,提示用户当前点击了这部分),通过对R G B 颜色的改变,(其实最后发现没有必要这么来做,可以直接使用shader就可以实现)
[C#] 纯文本查看 复制代码
?
1
2
m_fColorG -= Time.deltaTime * m_fSpeed;
m_cTriggers[triggerIndex].transform.parent.gameObject.renderer.material.color = newColor(m_cTriggers[triggerIndex].transform.parent.gameObject.renderer.material.color.r, m_fColorG / 255, m_cTriggers[triggerIndex].transform.parent.gameObject.renderer.material.color.b);

四、灯光调节面板
     通过intensity来设置灯光的强度(类比此方法可以设置云、雨、雾、白天和黑夜),基本上类似的都是这样的设置
[C#] 纯文本查看 复制代码
?
1
2
3
4
GUI.Label(newRect(10, 15, 90, 20), "环境光1");
 m_bIntensityIsOfMin = GUI.Toggle(newRect(10, 35, 30, 30), m_bIntensityIsOfMin, "弱");
 m_bIntensityIsOfMax = GUI.Toggle(newRect(240, 35, 30, 30), m_bIntensityIsOfMax, "强");
 m_lLight_1.intensity = GUI.HorizontalSlider(newRect(40, 40, 200, 30), m_lLight_1.intensity, m_fIntensityMin, m_fIntensityMax);

 
.....目前界面都是用自带的GUI做的,准备改用NGUI优化,以上基本是虚拟现实项目的一般流程,里面的知识基本上都是可以用到的,希望对大家有所帮助.....

【VR】虚拟现实项目开发流程相关推荐

  1. 虚拟现实项目开发流程

    http://www.unitymanual.com/thread-31034-1-1.html 本文介绍虚拟现实项目开发流程,共大家参考与学习,也希望各位提出意见...通过将现实中真实存在的构建在虚 ...

  2. 对 VR 项目开发流程的调研

    0. 参考资料 学习参考自以下资料: 一个 VR 游戏 DEMO 的开发历程是怎样的 http://tech.163.com/16/0726/08/BSSSPPT600097U7U.html 虚拟现实 ...

  3. 软件项目开发流程及配置人员

    项目需求汇总分析 架构设计 产品设计 代码编写 项目测试 上线 项目需求汇总分析(调研) 项目经理 在这个阶段,上项目经理应该先要求客户(项目发起人)提供一个项目需求及要求明细的清单. 清楚需求及项目 ...

  4. 小型软件项目开发流程探讨

    一.导言   国内很多项目都是小型项目, 参与人员少(两到五个人), 要快速交付(一两个月) . 要成功完成这种项目, 除了使用成熟且被团队成员熟练使用的技术之外, 有一个良好的开发流程, 也是很必要 ...

  5. Java-GUI编程实战之管理系统 Day1【项目开发流程、软件三层架构、项目需求、项目结构分析】

    视频.课件.源码[链接:https://pan.baidu.com/s/13ffqGDzH-DZib6-MFViW3Q 提取码:zjxs] Java-GUI编程实战之管理系统 Day1[项目开发流程. ...

  6. 项目开发流程_绿维文旅:旅游项目开发模式与流程

    一.旅游项目开发模式 旅游综合开发是立足旅游项目自有资源基础,以旅游产业为主导,以市场为导向,以资本为驱动,以资源整合为核心,通过集中土地.资本.技术.交通.劳动力等生产要素,推进土地开发.交通建设. ...

  7. 软件项目开发流程以及人员职责

    软件项目开发流程以及人员职责 实行软件工程项目管理: ▲ 项目经理(负责人):项目经理(负责人)对整个项目负完全责任,是指导.控制.管理和规范某个软件和软/硬件系统建设的人,项目经理(负责人)是最终对 ...

  8. 移动端电商项目开发流程

    目录 项目介绍 项目页面介绍 项目开发流程 首页介绍: 搜索页: 搜索页: 项目打包优化上线: 这是我自己写的一个电商开发流程,欢迎大家来补充! 项目介绍 我的项目叫✖✖✖✖,是B2C模式,也就是商家 ...

  9. SpringMVC+Mybatis框架集成开发基础——项目开发流程——01

    项目开发一般流程: 1.描述项目的主要功能及各个模块的功能 2.系统采用的技术方案 3.创建E-R模型图(实体关系模型图,数据库)​​​​​​ 4.搭建数据库环境.创建数据库表及表间约束 5.搭建项目 ...

最新文章

  1. 利用SqlHelper.cs实现Web程序对数据库的增、删、改等操作
  2. rsync同步操作 、 发布rsync共享 、 inotify实时同步 、 Split分离解析
  3. tensorflow的tf.transpose()简单使用
  4. 21、java中的反射机制
  5. 解决Mac上“文本编码Unicode(UTF-8)“不适用的方法
  6. 电脑数据丢失,如何才能够快速将被删的数据文件恢复找回?
  7. 名编辑电子杂志大师教程 | 文本复制按钮
  8. 数据库期末知识点汇总
  9. py3使用py3Fdfs
  10. yunu.php,1.1 本地安装云优
  11. 可以免费领取卡巴斯基激活码的活动
  12. WPF QQ群发助手
  13. 设计师常用的10种平面设计风格,你知道几个?
  14. 在GPT分区的磁盘上创建ESP分区图文教程
  15. C语言与C++与JAVA的区别
  16. SQL之ignore关键字
  17. 对话MVP | 柳贵:在FISCO BCOS,我体会到了开源社区的精神
  18. Magicka 局域网 联机
  19. 双目视觉集合框架详解
  20. 去哪儿霸面题目——泪

热门文章

  1. 面向火炮火控系统的嵌入式软件测试平台
  2. Android Studio设置颜色拾色器工具Color Picker
  3. msn其他邮箱注册地址
  4. 大白话讲解Promise(一)
  5. 基于 ANFIS 的非线性回归(Matlab代码实现)
  6. winform连接blynk 控制开发板
  7. Java项目:SSH的自动排课系统-遗传算法
  8. 在一段英文字母中找出每个字母重复数量的方法(Java)
  9. Python:元组和字典简述
  10. 天津计算机比赛,国际传媒学院学生在“‘中科曙光’杯第六届中国大学生计算机设计大赛天津市级赛”中屡创佳绩...