http://www.unitymanual.com/thread-31034-1-1.html

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

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

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

二、除了用GUILayout来构建图形面板,在ContrlRotation.cs类中还用到鼠标实现物体的360度旋转,也是通过最通过类的静态变量的判断,计算物体的坐标位置,通过鼠标单击旋转...
[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
using UnityEngine;
using System.Collections;
public class ContrlRotation : MonoBehaviour {
    public float m_fDeltaX;
    public float m_fDeltaY;
    public float m_fSpeed;
    public GameObject m_goRotateObject;
    public static bool m_bIsRotateObject;
// Use this for initialization
void Start () {
    m_fSpeed = 80;
        m_bIsRotateObject = false;
}
// Update is called once per frame
void Update () {
            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(new Vector3(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 = new Color(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(new Rect(10, 15, 90, 20), "环境光1");
 m_bIntensityIsOfMin = GUI.Toggle(new Rect(10, 35, 30, 30), m_bIntensityIsOfMin, "弱");
 m_bIntensityIsOfMax = GUI.Toggle(new Rect(240, 35, 30, 30), m_bIntensityIsOfMax, "强");
 m_lLight_1.intensity = GUI.HorizontalSlider(new Rect(40, 40, 200, 30), m_lLight_1.intensity, m_fIntensityMin, m_fIntensityMax);

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

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

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

    http://www.unitymanual.com/forum.php?mod=viewthread&tid=31034  原文出自游戏蛮牛 本文介绍虚拟现实项目开发流程,共大家参考与学习, ...

  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. Java多线程-synchronized关键字
  2. Python程序执行原理
  3. 【算法设计与分析】02 货郎问题与计算复杂性理论
  4. 欧几里得算法以及推论
  5. 解决Redis缓存雪崩、穿透、并发、预热、击穿、热点Key等问题
  6. 未来教育计算机二级第一套ppt解析,计算机二级未来教育PPT部分答案
  7. JsonHelper(Json帮助类)
  8. 实验室管理系统LIMS的作用和意义
  9. Python实现电子词典(web)
  10. 微星主板 B450 迫击炮 无线网卡 无法上网解决办法
  11. 如何使用Imperva Incapsula优化和加速您的网站
  12. 阿里云DataWorks介绍
  13. 多年锤炼,迈向Kata 3.0 !走进开箱即用的安全容器体验之旅| 龙蜥技术
  14. ExcelToOracle:批量导入Excel文件到Oracle数据库的自动化工具
  15. TreeView和数据库
  16. 深度神经网络和循环神经网络,深层循环神经网络
  17. php淘金农场源码_PHP欢乐农场源码 淘金农场源码 欢乐农场游戏源码
  18. 卡巴斯基遭攻击 Duqu 2.0 翻译
  19. Linux入门篇-文件管理
  20. 《我是歌手》网上报名评审

热门文章

  1. 如何使用cmd运行Java
  2. 杰理之OTA 升级【篇】
  3. 比较日期大小的js代码分享
  4. 关于csdn的VIP文章
  5. python-nmap使用方法(python3)
  6. 电竞数据行业繁荣发展的原因
  7. hdu1426一道很有意思的题目:数独
  8. 推荐7个高质量图片素材网站
  9. 计算机硬件图标准画法,机械制图培训中剖视图的画法详解
  10. python123测验9程序题_python函数题