【Unity 3D】VR飞机起飞喷火游戏案例实战(附源码和演示视频 超详细)

简介: 【Unity 3D】VR飞机起飞喷火游戏案例实战(附源码和演示视频 超详细)

需要源码和资源包请点赞关注收藏后评论区留言私信~~~

下面我们用Unity 3D搭建一个飞机在跑道上喷火起飞的3D游戏案例,效果如下面的图片和视频所示

一、效果演示

视频如下

VR飞机

二、实现步骤

打开Unity Hub 选择新建项目 选择3D模块

导入资源 将资源包Aircaft.unitypackage导入,里面包含所有的资源文件

导入资源后 场景目录结构如下

然后就开始搭建场景

我们点击Scenes文件夹,在Level1中进行场景的搭建

找到Models目录下的GroundRunway.FBX地面跑道模型,将其拖入场景,然后对其进行美化

1:调整摄像机 从顶部进行俯视

2:调整灯光的参数

3:设置天空球  防止飞机飞出界外

4:制作材质球

5:调整材质球的参数

然后开始制作火焰喷射特效,不过通常粒子特效由专门的特效师进行制作,所以如果不想学习的小伙伴可以跳过这个步骤,直接使用Project视图中的Prefabs文件夹内的Afterburner.prefab文件即可

接下来实现飞机飞行功能

首先整理一下对象,在Hierarchy视图中右击,选择Create Empty命令,新建一个空对象,命名为Aircraft 将position和rotation参数都设置为全0

新建一个脚本文件命名为AircraftMove 编辑代码如下

using UnityEngine;
public class AircraftMove : MonoBehaviour
{
    private float forwardSpeed = 50;          //前进的速度
    private float backwardSpeed = 25;         //后退的速度
    private float rotateSpeed = 2;           //旋转速度
    private GameObject MainCamera;
    private Vector3 TargetOffset;
    private void Start()
    {
        MainCamera = GameObject.Find("Main Camera");
        TargetOffset = MainCamera.transform.position - transform.position;
    }
    private void FixedUpdate()
    {
        //获取到横轴 前后 的输入 也就是键盘W 和S的输入
        float h = Input.GetAxis("Horizontal");
        //获取到纵轴 左右 的输入 也就是键盘A 和D的输入
        float v = Input.GetAxis("Vertical");
        //从上下键的输入,获取到Z轴的输入量
        Vector3 velocity = new Vector3(0, 0, v);
        //将世界坐标转化为本地坐标
        velocity = transform.TransformDirection(velocity);
        //判断是前进还是后退
        if (v > 0.1)
        {
            velocity *= forwardSpeed;
        }
        else
        {
            velocity *= backwardSpeed;
        }
        //前进或者后退
        transform.localPosition += velocity * Time.fixedDeltaTime;
        //旋转机身
        if (v == 0)
        {
            transform.Rotate(0, h * rotateSpeed, 0);
        }
        //空格起飞
        if (Input.GetKey(KeyCode.Space) && v != 0)
        {
            float value = 0;
            transform.Rotate(Mathf.Clamp(value, -2, -1), 0, 0);
        }
        //主摄像机跟随
        MainCamera.transform.localPosition = transform.position + TargetOffset;
    }
}

将脚本拖到Aircraft身上作为Aircraft组件,运行程序,使用键盘就可以控制飞机移动了 按住空格键前进,飞机就能抬头起飞了

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
7月前
|
机器学习/深度学习 人工智能 图形学
卓伊凡的第一款独立游戏-详细介绍游戏开发引擎unity-以及详细介绍windows和mac的安装步骤【01】
卓伊凡的第一款独立游戏-详细介绍游戏开发引擎unity-以及详细介绍windows和mac的安装步骤【01】
606 9
|
7月前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
11月前
|
传感器 机器学习/深度学习 人工智能
VR硬件进化史:从“晕3D”到沉浸式未来
VR硬件进化史:从“晕3D”到沉浸式未来
538 4
|
图形学
Unity 获取鼠标位置下的UGUI或3D物体
本文总结了两种检测方法,分别用于UGUI和3D物体的检测。第一种方法`GetOverUIobj`专门用于检测鼠标悬停的UGUI元素,通过`GraphicRaycaster`实现。第二种方法`GetOverWordGameObject`则同时适用于UI和3D物体检测,利用`PhysicsRaycaster`进行射线检测。两者均返回悬停对象或null。
|
前端开发 图形学
unity UGUI跟随3D物体的坐标转换
在 Unity 中实现 UGUI 元素跟随 3D 物体,关键是将 3D 物体的世界坐标转换为屏幕或画布坐标。通过 Camera.WorldToScreenPoint 方法,可将 3D 物体位置映射到屏幕上,再更新 UGUI 元素的位置。代码示例展示了如何使用该方法,使 UGUI 图像跟随 3D 模型,并提供文字显示、图像和线条的显示/隐藏功能。
|
Go vr&ar 图形学
重塑体验:AR/VR技术在游戏与娱乐行业的创新应用
【10月更文挑战第29天】本文探讨了AR/VR技术如何改变游戏与娱乐行业,介绍了AR和VR的基本概念及其在游戏和娱乐中的应用实例,包括《精灵宝可梦GO》的AR开发和VR视频播放器的实现代码,并展望了未来的发展趋势。
1019 2
|
测试技术 C# 图形学
掌握Unity调试与测试的终极指南:从内置调试工具到自动化测试框架,全方位保障游戏品质不踩坑,打造流畅游戏体验的必备技能大揭秘!
【9月更文挑战第1天】在开发游戏时,Unity 引擎让创意变为现实。但软件开发中难免遇到 Bug,若不解决,将严重影响用户体验。调试与测试成为确保游戏质量的最后一道防线。本文介绍如何利用 Unity 的调试工具高效排查问题,并通过 Profiler 分析性能瓶颈。此外,Unity Test Framework 支持自动化测试,提高开发效率。结合单元测试与集成测试,确保游戏逻辑正确无误。对于在线游戏,还需进行压力测试以验证服务器稳定性。总之,调试与测试贯穿游戏开发全流程,确保最终作品既好玩又稳定。
1217 4
|
前端开发 图形学 开发者
【独家揭秘】那些让你的游戏瞬间鲜活起来的Unity UI动画技巧:从零开始打造动态按钮,提升玩家交互体验的绝招大公开!
【9月更文挑战第1天】在游戏开发领域,Unity 是最受欢迎的游戏引擎之一,其强大的跨平台发布能力和丰富的功能集让开发者能够迅速打造出高质量的游戏。优秀的 UI 设计对于游戏至关重要,尤其是在手游市场,出色的 UI 能给玩家留下深刻的第一印象。Unity 的 UGUI 系统提供了一整套解决方案,包括 Canvas、Image 和 Button 等组件,支持添加各种动画效果。
1220 3
|
设计模式 存储 人工智能
深度解析Unity游戏开发:从零构建可扩展与可维护的游戏架构,让你的游戏项目在模块化设计、脚本对象运用及状态模式处理中焕发新生,实现高效迭代与团队协作的完美平衡之路
【9月更文挑战第1天】游戏开发中的架构设计是项目成功的关键。良好的架构能提升开发效率并确保项目的长期可维护性和可扩展性。在使用Unity引擎时,合理的架构尤为重要。本文探讨了如何在Unity中实现可扩展且易维护的游戏架构,包括模块化设计、使用脚本对象管理数据、应用设计模式(如状态模式)及采用MVC/MVVM架构模式。通过这些方法,可以显著提高开发效率和游戏质量。例如,模块化设计将游戏拆分为独立模块。
1073 3
|
vr&ar 图形学 API
Unity与VR控制器交互全解:从基础配置到力反馈应用,多角度提升虚拟现实游戏的真实感与沉浸体验大揭秘
【8月更文挑战第31天】虚拟现实(VR)技术迅猛发展,Unity作为主流游戏开发引擎,支持多种VR硬件并提供丰富的API,尤其在VR控制器交互设计上具备高度灵活性。本文详细介绍了如何在Unity中配置VR支持、设置控制器、实现按钮交互及力反馈,结合碰撞检测和物理引擎提升真实感,助力开发者创造沉浸式体验。
1101 1

热门文章

最新文章

下一篇
开通oss服务