Unity3D入门(一) : 第一个Unity3D项目,实现矩形自动旋转,并导出到Android运行

1. Unity3D介绍

Unity3D是虚拟现实行业中,使用率较高的一款软件。

它有着强大的功能,是让玩家轻松创建三维视频游戏、建筑可视化、实时三维动画等互动内容的多平台、综合型 虚拟现实开发工具。是一个全面整合的专业引擎

2. Unity安装

官网 : Unity - 实时内容开发平台 | 3D、2D、VR & AR可视化

选择下载Unity,如果没登录会弹出登录框,需要先注册登录下。

在这里插入图片描述

登录成功后,会进入到Unity版本下载的页面。

在这里插入图片描述

这里选择,从Unity Hub下载。

Unity Hub是Unity最新推出的,用于简化工作流程的,桌面端应用程序。

它提供了一个用于管理Unity项目、简化下载、查找、卸载,以及安装管理多个Unity版本的工具。

而且通过社区、学习、UPR、游戏云,我们可以更多的了解Unity和Unity项目。

在UnityHub的最下方,有一个信息提示,“您没有有效的许可证”。

在这里插入图片描述

Unity许可证,是作为软件的,版权管理的重要信息。

我们点击管理许可证,需要去激活许可证,选择个人版当中的不以专业身份使用Unity即可。

2.1 Unity安装

这是我安装的版本,安装时勾选了Android和WebGL、Windows,如果我们想增加其他的平台,可以修改配置。

在这里插入图片描述

2.2 新建项目

我们选择3D(Built-In Render Pipeline)选项,在Project Name中可以修改项目名称,点击Create project即可创建项目。

在这里插入图片描述

2.3 Unity界面介绍

在这里插入图片描述

2.3.1 场景视图

在这里插入图片描述

  • Alt键 + 鼠标左键拖拽 : 对场景进行旋转查看
  • Alt键 + 鼠标右键拖拽 : 对场景进行缩放查看
  • 点击鼠标左键 ,可以选中物体,结合工具类当中的在这里插入图片描述
    旋转、缩放等工具,对物体进行具体的操作。
  • 场景手柄工具 在这里插入图片描述
    ,用于改变场景的不同视角,而我们点击图标下方的小文字,可以实现场景从透视到正交之间的切换。
2.3.2 游戏视图

在这里插入图片描述

  • 游戏视图是Unity开发的预览视图,可以更便捷地调试游戏程序,去检测我们游戏当中存在的问题。
    • 当然,游戏视图只能查看和测试,而不能进行任何的操作。
2.3.3 Hierarchy面板

在这里插入图片描述

  • 包含本场景中所有的素材信息
  • 右击空白处可以创建新的物体

3. Visual Studio安装

Visual Studio可以用来编写Unity3D的脚本,我们可以提前先安装一下,下载Community (社区版,是免费的) 即可。

下载地址 : Visual Studio 2022 IDE - 适用于软件开发人员的编程工具 (microsoft.com)

安装方式具体看Visual Studio官方文档 : 安装并配置 Visual Studio Tools for Unity | Microsoft Learn

4. 让视角围着立方体旋转

4.1 创建Plane地面

首先我们要创建一个地面

在这里插入图片描述

效果如下所示

在这里插入图片描述

4.2 创建立方体

在这里插入图片描述

拖动箭头可以调整位置

在这里插入图片描述

调整位置后,效果如下所示

在这里插入图片描述

4.3 创建脚本

创建Script文件夹

在这里插入图片描述

Script文件夹里面,创建CameraController脚本

在这里插入图片描述

双击这个脚本,就会跳转打开Visual Studio

在这里插入图片描述

修改脚本为如下内容

using UnityEngine;public class CameraController : MonoBehaviour
{public Transform cube;public float rotationSpeed = 2f;void Update(){transform.RotateAround(cube.position, Vector3.up, rotationSpeed * Time.deltaTime);}
}

接着将这个脚本拖到Main Camera

在这里插入图片描述

这个时候,可以看到Main CameraInspector面板上多了一个Camera Controller的脚本组件

在这里插入图片描述

接着,我们将立方体拖到Main CameraInspector面板的Camera Controller脚本的Cube中,从而绑定脚本中的public Transform cube;

在这里插入图片描述

接着点击在这里插入图片描述
按钮运行项目,在Game视图在这里插入图片描述
中发现相机视角已经围绕立方体旋转了。

在这里插入图片描述

5. 导出到Android

接着我们可以将项目打包成apk,从而可以在Android中运行。 (需要注意,2.1 Unity安装步骤中Unity Hub需要安装Android平台)

我们点击File>Build Settings

在这里插入图片描述

这里我们还可以点击Player Settings,选择Landscape Left,这样我们生成的apk,默认情况下就会以横屏运行了。

在这里插入图片描述

导出Android,设置横屏 : unity在打包时设置手机屏幕横屏竖屏的方法_unity打包默认横屏-CSDN博客

接着点击BuildBuild And Run(构建并安装到手机里运行)

在这里插入图片描述

可以发现构建完成后,在项目目录下生成了一个apk文件

在这里插入图片描述

我们将这个apk安装到手机上

可以发现如下效果

在这里插入图片描述

6. Unity3D入门系列文章

Unity3D入门(一) : 第一个Unity3D项目,实现矩形自动旋转,并导出到Android运行
Unity3D入门(二) :Unity3D过渡切换视角
Unity3D入门(三) : Android和Unity3D交互 - Android调用Unity
Unity3D入门(四) : Android和Unity3D交互 - Unity调用Android

参考
Unity3D应用开发_中国大学MOOC(慕课) (icourse163.org)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/54728.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

苹果macOS 15.0 Sequoia正式版发布:iPhone应用镜像玩、手机消息电脑知

9月17日苹果向 Mac 电脑用户推送了 macOS 15 更新(内部版本号:24A335),除了引入数个 iOS 18 的新功能外,macOS 15 Sequoia 还带来了全新的 Continuity 功能 ——iPhone 镜像。 iPhone 镜像功能可以让用户直接在 Mac 上…

Ubuntu 安装和使用 Fcitx 中文输入法;截图软件flameshot

一、Ubuntu 安装和使用 Fcitx 中文输入法 在 Ubuntu 上安装和使用 Fcitx 输入法框架是一个常见的选择,特别是对于需要中文输入的用户。以下是详细的步骤来安装和配置 Fcitx 输入法: 1. 安装 Fcitx 和相关输入法 首先,更新你的包列表并安装…

单词搜索问题(涉及递归等)

目录 一题目: 二思路解释: 三解答代码: 一题目: newcode题目链接: 单词搜索_牛客题霸_牛客网 二思路解释: 思路:个人理解是找到word中的第一个元素,然后去递归的上下左右查找&am…

跳跃列表(Skip List)详解

什么是跳跃列表? 跳跃列表是一种概率性的数据结构,旨在提高链表的搜索、插入和删除效率。它通过在普通链表的基础上增加多个层次,以实现更快的访问速度。跳跃列表的设计灵感来源于跳跃图(Skip Graph)和多层索引的概念…

手把手搞定VMware 的CentOS硬盘扩容

1.背景 用VMware虚拟机创建Centos系统时,选了40GB硬盘,用着用着发现硬盘不够用了。于是,我为了给硬盘扩容,实操了下centos的硬盘扩容。本文是记录下整个操作过程,方便后面查询和使用。 2.操作 2.1 VMware操作 2.2 Ce…

基于51单片机的两路电压检测(ADC0808)

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机,通过ADC0808获取两路电压,通过LCD1602显示 二、硬件资源 基于KEIL5编写C代码,PROTEUS8.15进行仿真,全部资源在页尾,提供…

mysql优化之sql语句优化、以及mysql一些高频面试题

文章目录 一、索引1、什么是索引2、添加索引的原则3、索引的优缺点4、索引分类5、mysql存储过程(方法) 二、MySQL的逻辑架构1、逻辑架构2、MyISAM 和 InnoDB的区别 三、mysql的索引数据结构1、B Tree2、B Tree 四、缓冲池 Buffer Pool1、预读机制2、预读…

Qt中多语言的操作(以QtCreator为例)

1、首先,我们在代码中与文本相关的且需要支持多语言的地方,用tr来包含多语言key(多语言key是我们自己定义的),如下 //举例 QPushButton* btnnew QPushButton(this); btn->move(20,20); btn->resize(100,50); //…

Selenium with Python学习笔记整理(网课+网站持续更新)

本篇是根据学习网站和网课结合自己做的学习笔记,后续会一边学习一边补齐和整理笔记 学习网站: selenium 实战二_PO代码重构 Selenium自动化测试python篇 看云 https://selenium-python.readthedocs.io/getting-started.html#simple-usage WEB UI自…

erlang学习:Linux命令学习4

顺序控制语句学习 if,else对文件操作 判断一个文件夹是否存在,如果存在则进行删除,如果不存在则创建该文件夹,并复制一份该脚本后,删除该脚本 if [ -d "/erlangtest/testdir"]; then echo "删除文件夹…

【路径规划】绘制算术和几何布朗运动- 绘制布朗桥、2D 和 3D 布朗运动- 绘制一些随机路径

摘要 本文演示了如何生成和绘制布朗运动、几何布朗运动和布朗桥的随机路径。这些随机路径广泛应用于金融、物理和工程领域,用于模拟随机过程。实验结果包括了多条随机路径的示例,展示了不同类型的布朗运动的特征。 理论 1. 布朗运动 (Brownian Motion…

构建高效房屋租赁系统:Spring Boot应用

1 绪论 1.1 研究背景 中国的科技的不断进步,计算机发展也慢慢的越来越成熟,人们对计算机也是越来越更加的依赖,科研、教育慢慢用于计算机进行管理。从第一台计算机的产生,到现在计算机已经发展到我们无法想象。给我们的生活改变很…

如何在NXP源码基础上适配ELF 1开发板的UART功能

UART即通用异步收发器,是一种支持全双工串行通信协议的接口。在i.MX6ULL处理器平台上,该处理器原生支持多达8路的UART接口,提供了丰富的串行通信能力。 针对ELF 1开发板,实际引出了4路UART接口供开发者使用,具体包括U…

Node-RED-L2-Node-RED在Linux系统启动时自动运行

Node-RED在Linux系统启动时自动运行 目的步骤1创建服务文件:2重新加载服务:3启用服务:4启动Node-RED服务:5检查服务状态:6其他说明7如果没启动正确的Node-RED执行路径:确保使用绝对路径: 检查用…

Flutter 约束布局

配置插件依赖 设置组件大小 通过属性 childConstraints 实现 分别设置 约束布局一 和 约束布局二 大大小为:160 和 200 点击查看代码文件 class SummaryPageState extends State<SummaryPage1> {ConstraintId constraintId_1 = ConstraintId(ConstraintId_1);Constrain…

易航网址导航系统V2.45完美去授权版

简介 易航网址导航系统V2.45完美去授权版 界面

Spring(看这一篇就够了)

Spring 概述 Spring 是最受欢迎的企业级 Java 应用程序开发框架&#xff0c;数以百万的来自世界各地的开发人员使用 Spring 框架来创建性能好、易于测试、可重用的代码。 Spring 框架是一个开源的 Java 平台&#xff0c;它最初是由 Rod Johnson 编写的&#xff0c;并且…

SFUD库移植

1.源码 GitHub - armink/SFUD: An using JEDECs SFDP standard serial (SPI) flash universal driver library | 一款使用 JEDEC SFDP 标准的串行 (SPI) Flash 通用驱动库 2.介绍 这个通用驱动库,实际就是帮你封装好了读写spiflash的函数, 我们只需要对接以下底层,就可以轻松…

【个人笔记】线程和线程池的状态以及转换方式

线程和线程池的状态是不一样的&#xff01;&#xff01; 线程有 6 种状态&#xff0c;查看Thread的State枚举类&#xff1a; NEW&#xff1a;创建后没启动的线程就处于这种状态RUNNABLE&#xff1a;正在java虚拟机中执行的线程就处于这种状态BLOCKED&#xff1a;受阻塞并等待…

Observability:构建下一代托管接入服务

作者&#xff1a;来自 Elastic Vishal Raj, Marc Lopez Rubio 随着无服务器&#xff08;serverless&#xff09;的引入&#xff0c;向 Elastic Cloud 发送可观察性数据变得越来越容易。你可以在 Elastic Cloud Serverless 中创建一个可观察性无服务器项目&#xff0c;并将可观察…