虚拟现实技术与开发
打造沉浸式VR场景的核心要素
核心作用:VR美术素材品质高低直接影响VR应用的体验效果,素材越逼真,沉浸感越强
开发流程:需求分析 → 编导策划 → 美术素材创作 → 程序开发 → UI优化 → QA测试
| 参数 | 一级素材 | 二级素材 | 三级素材 |
|---|---|---|---|
| 面数 | 10000+三角面 | 5000-10000三角面 | <5000三角面 |
| 贴图大小 | 1024×1024+ | ≤1024×1024 | ≤256×256 |
| 骨骼数量 | 70根+ | 30-70根 | <30根 |
| 适用平台 | PC型VR眼镜 | 高端智能手机 | 2000元以下手机 |
| 特点 | 细节全部建模 | 细节通过贴图 | Q版卡通风格 |
地形作用:游戏场景中必不可少的元素,Unity提供功能强大的地形编辑器
菜单命令:GameObject → 3D Object → Terrain
窗口内自动产生一个平面,这是地形系统默认的基本原型
选中地形,在Inspector视图中找到Resolution属性面板
| 参数 | 含义 | 功能 |
|---|---|---|
| Terrain Width | 地形宽度 | 全局地形总宽度 |
| Terrain Length | 地形长度 | 全局地形总长度 |
| Terrain Height | 地形高度 | 全局地形允许的最大高度 |
| Heightmap Resolution | 高度图分辨率 | 生成的高度图分辨率 |
| Detail Resolution | 细节分辨率 | 细节贴图的分辨率 |
| Control Texture Resolution | 控制纹理分辨率 | 地形贴图绘制时的分辨率 |
提示:可用Photoshop滤镜功能制作高度图
地形菜单栏7个按钮,从左到右依次为:
| 按钮 | 功能 | 说明 |
|---|---|---|
| 1 | Raise/Lower Height | 抬升/降低地形高度 |
| 2 | Paint Height | 绘制特定高度(Flatten拉平) |
| 3 | Smooth Height | 平滑地形(模糊工具) |
| 4 | Paint Texture | 地形纹理绘制 |
| 5 | Place Trees | 添加树模型 |
| 6 | Paint Details | 添加草与网格模型 |
| 7 | Terrain Settings | 其他设置 |
作用:实现风吹树木效果,模拟爆炸时树木受到波及的效果
菜单命令:GameObject → 3D Object → Wind Zone
| 参数 | 含义 | 功能 |
|---|---|---|
| Mode | 风域模式 | Directional(全场景) / Spherical(球体范围) |
| Main | 主风 | 设置主要风力,产生风压柔和变化 |
| Turbulence | 湍流 | 产生瞬息万变的风压 |
| Pulse Magnitude | 波动幅度 | 定义风力随时间的变化 |
| Pulse Frequency | 波动频率 | 定义风向改变的频率 |
| 类型 | 路径 | 特点 |
|---|---|---|
| WaterPro | Water/Prefab | 功能丰富,反射折射,可修改波浪大小 |
| WaterBasic | Water/WaterBasic | 功能单一,仅波纹大小与颜色,适合移动平台 |
使用方法:直接将预制件拖拽到场景中
设置方法:Window → Lighting → Scene → Environment Lighting → Skybox
PBR (Physically Based Rendering) - 基于物理的渲染,遵循能量传递守恒定律
Prefab定义:存储在项目视图中的可反复使用的游戏对象
代码:Instantiate(original, position, rotation)
操作题:使用地形知识建立西北大漠戈壁地形,导入嘉峪关城墙模型,建立西北风貌旅游文化城,使用第一人称控制器实现漫游