unity的安装配置和第一个游戏-unity开学第一课
许多的小伙伴学编程语言其实是因为玩游戏,玩着玩着就想写游戏了,于是开始学习c++学习C#学习java,但相比之下C#的操作会更加容易,所以就开始学习unity来编游戏了。这里就就算是unity开学第一课啦-unity的安装配置和第一个游戏。
文章目录
- 一、unity的安装和配置
- 1、下载与注册
- (1)注册
- (2)下载
- 2、安装
- (1)unity editor安装
- (2)VS的安装
- 二、第一个游戏的建立
- 1、建立工程项目
- 2、界面介绍
- (1)每个游戏都必须有一个场景
- (2)建立一个最简单的游戏角色
- 3、编写游戏脚本让角色动起来
- (1)添加角色控件
- (2)编写脚本代码
- (3)运行效果
原文出处: https://blog.csdn.net/haigear/article/details/129368883
一、unity的安装和配置
unity相比我们前面说过的用easyx开发游戏那就完全不是一个起点高度,easyx属于小cookie,unity那就属于大餐盛宴。所以我们首先要知道如何安装配置它。
1、下载与注册
首先,我们直接来到官网下载页:https://unity.cn/releases,建议通过Hub来下载和安装,省却你后续配置的诸多麻烦,如红箭头所指。
(1)注册
如果你从来没有注册过账号,必须注册一个账号,可以通过邮件注册也可以通过电话,但无论你选择什么注册,最终都是需要你绑定一个电话的,所以呢,我感觉没有什么差别的。
记住,有的时候网络的反应不是很快,验证码不会那么快到达,不要着急反复去获取验证,否则会因为你操作频繁而暂时禁止你注册的。
个人建议最好是通过邮件注册(我是这么操作的,很顺利):
(2)下载
注册完成后(包括邮件验证后)我们就可以下载,你是什么操作系统就选择什么操作系统吧,安装后界面和操作各个操作系统都是没有什么差别的,这点不用担心。这个安装过于容易,每次都是下一步就搞定了,所以不在这里赘述了。
安装好Hub后,运行起来,在里面选择installs页面的右上角的installs Editor
2、安装
(1)unity editor安装
很明显,我们运行Hub之后的左边栏目中第二项就是installs,右上角的install Editor的按钮也是很显眼的
我们直接可以点击官方发布(Official releases)的推荐版本,选择一个安装,要注意的是后面标注了LTS字样的都是稳定版本。也可以到官网上的版本列表中直接选择一个,点击从hub下载,即可开始安装。
安装起来很容易,见到intall按钮就点击即可,基本不用特意去选择和配置,毕竟这是第一课。
(2)VS的安装
到这里有一点需要说明的是,Visual Studio Community 的安装,我相信大多数的同学是先学习了C#然后再学习unity的,所以,一定早就安装了VS,所以,这里就不必再安装了,即使默认给你打勾了,也是可以去掉的(为什么有的安装了还是默认打勾了呢?就是因为你的VS里面没有安装unity的支持包),如果不去掉,unity hub会给你再次安装一个(哪怕是相同的版本也会再给你安装一个)。
其实,我们只要启动Visual Studio Installer,点击对应版本的“修改”安装,进去后将“使用unity的游戏开发”勾选上,完成修改即可。如下图:
如果,你没有在VS中安装好Unity 游戏开发,即使你进入到VS中你的unity项目中的C#脚本也是不能正常编辑的,会提示你“你的项目需要迁移”!
二、第一个游戏的建立
1、建立工程项目
如果你上面的安装都准确无误的完成了,那么我们就可以在桌面上找到Unity Hub的图标,点击运行后,选择Project,然后点击右上角的new project我们就可以建立第一个游戏了。
这里我们假定游戏的名字就是firstGame.
需要注意的是,你最好选择一个非系统盘的位置来存储你的游戏项目,不要都放在C盘,否则系统盘爆满是迟早的事情。
点击Create project后,经过一段较长的时间(主要是准备游戏项目的一些资源包、模板、插件等,不用着急,大约1~3分钟),项目建立完成,并会自动进入unity editor,如下图:
正如我在上图标注的一样,开局一盏灯、一个摄像头,其余的啥都没有,我感觉即不像3D软件(如3dmax或者C4D,maya),又不像非线编的AE或者PR、Eduis,更不像一个代码编辑器。慢慢摸索吧!
2、界面介绍
既然是第一课,那么就要介绍详细一点点,这里对界面的布局进行了标注,但愿我说清楚了。左边栏,开局系统给了一个sampleScene,实际每个游戏都会有很多的场景,但至少必须有一个,所以系统给你安排了一个。
(1)每个游戏都必须有一个场景
sampleScene是默认的场景,每个游戏都必须有一个场景,因为一切对象的建立都必须有一个“舞台”,这个舞台就是场景Scene。只有拥有了场景,我们建立的对象(box ,sphere,cube,character)才能有地方容纳。
我们可以看到,系统给这个默认场景标配了一个主相机(Main Camera)和一个直线灯光(Directional Light)。
(2)建立一个最简单的游戏角色
我们在左边栏的默认场景中右键菜单,建立3D物体,我这里给场景添加了一个Plane和一个Capsule,分别重命名(按F2可以重命名)为Ground和Player1,同时我们打算让角色动起来,所以我在场景中添加了一个Move的C#脚本,如下图:
3、编写游戏脚本让角色动起来
(1)添加角色控件
要使我们的角色动起来,我们就必须给角色添加一个控件,这个控件的名字就叫做CharacterControl,在我们选择了角色Player1(这里的player1就是我们的capsule)的情况下,点击左下角的AddComponent,搜索并选择CharacterControl控件
点击CharacterController就可以给角色加载这个CharacterController控件。
(2)编写脚本代码
脚本的建立也是在Assets中建立的,通过右键菜单,即可完成:
双击建立好的脚本即可进入到VS中编写代码,代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Move : MonoBehaviour
{// Start is called before the first frame updateprivate CharacterController player1;void Start(){player1=GetComponent<CharacterController>();}// Update is called once per framevoid Update(){float x = Input.GetAxis("Horizontal");float y = Input.GetAxis("Vertical");Vector3 pos = new Vector3(x, y, 0);player1.transform.Translate(pos*1/100);}
}
上述代码,完成的功能主要是让我们的角色前后左右的动起来。完成上述代码后,将代码拖放到CharacterController上,你的代码就生效了。
你可能会遇到这样的错误:MissingComponentExceptlon: There is no ‘CharacterController’ attached to the"Player1" game object, but a script is trying to access it.
如果你遇到这样的错误,那就是你没有加载CharacterController,也就是上面的第二步没有完成,完成它即可。
(3)运行效果
下面我们将程序运行起来,通过键盘的左键和右键来控制角色的垂直方向位置和水平方向的位置,如下图演示:
到目前为止,应该说,我们已经顺利完成了第一课,如果大家感兴趣,我们可以留言,我将继续更新后续的课程。
转载注明出处,码字不易:https://blog.csdn.net/haigear/article/details/129368883
文章目录
- 一、unity的安装和配置
- 1、下载与注册
- (1)注册
- (2)下载
- 2、安装
- (1)unity editor安装
- (2)VS的安装
- 二、第一个游戏的建立
- 1、建立工程项目
- 2、界面介绍
- (1)每个游戏都必须有一个场景
- (2)建立一个最简单的游戏角色
- 3、编写游戏脚本让角色动起来
- (1)添加角色控件
- (2)编写脚本代码
- (3)运行效果
相关文章:
unity的安装配置和第一个游戏-unity开学第一课
许多的小伙伴学编程语言其实是因为玩游戏,玩着玩着就想写游戏了,于是开始学习c学习C#学习java,但相比之下C#的操作会更加容易,所以就开始学习unity来编游戏了。这里就就算是unity开学第一课啦-unity的安装配置和第一个游戏。 文章…...
Elsevier上传LaTeX 修改稿踩坑
背景 千辛万苦修改完论文,结果发现要求上传可编辑文件,tex上传真的太难了,一堆坑,尤其是编译错误,要等系统创建pdf后才能找到。中间还打了北京的客服电话,结果他们那边并不懂相关的东西。说latex是第三方公…...
秒懂算法 | 搜索基础
本篇介绍了BFS和DFS的概念、性质、模板代码。 01、搜索简介 搜索,就是查找解空间,它是“暴力法”算法思想的具体实现。 暴力法(Brute force,又译为蛮力法):把所有可能的情况都罗列出来,然后逐一检查,从中找到答案。这种方法简单、直接,不玩花样,利用了计算机强大的…...
Flutter 自定义今日头条版本的组件,及底部按钮切换静态样式
这里写目录标题1. 左右滑动实现标题切换,点击标题也可实现切换;2. 自定义KeepAliveWrapper 缓存页面;2.2 使用3. 底部导航切换;4. 自定义中间大导航;5.AppBar自定义顶部按钮图标、颜色6. Tabbar TabBarView实现类似头条…...
SpringBoot学习笔记(二)配置文件
1、配置文件SpringBoot使用一个全局的配置文件,配置文件名是固定的;application.propertiesapplication.yml配置文件的作用:修改SpringBoot自动配置的默认值;SpringBoot在底层都给我们自动配置好;YAML:以数…...
09说说乐观锁和悲观锁
乐观锁和悲观锁是在并发编程中经常用到的两种锁机制。悲观锁是指在访问共享资源之前,会先加锁,以防止其他线程修改该资源,从而保证数据的一致性和完整性。在使用悲观锁时,如果一个线程已经占用了该资源,那么其他线程只…...
【C++】vector的模拟实现
文章目录1.查看STL源码2.vector的模拟实现1. 构造函数无参构造构造n个 val迭代器模板2. reserve3. 迭代器4.pop_back 尾删5.resize6.push_back7.insert迭代器失效—— pos为野指针迭代器失效——修改迭代器位置8. erase对于VS和Linux环境测试3.深浅拷贝问题4. 整体代码实现1.查…...
THUPC-2023 游记
清华校赛,战火重燃 原文链接 宣传图 上周四同学在洛谷无意间看到了宣传图,当时很有感触。不知觉间,又是一年春,又是一场触动心弦的 THUPC 了。 周五的团建过于有趣,致使我完全将 THUPC 抛之脑后了。 周日上午被省选…...
Linux - 磁盘I/O性能评估
文章目录概述RAID文件系统与裸设备的对比磁盘I/O性能评判标准常用命令“sar –d”命令组合“iostat –d”命令组合“iostat –x”单独统计某个磁盘的I/O“vmstat –d”命令组合小结概述 RAID 可以根据应用的不同,选择不同的RAID方式 如果一个应用经常有大量的读操…...
计算机网络--网络基础
目录 一.互联网的组成 编辑 1.互联网的边缘部分 1.1客户-服务器方式 1.2对等连接方式 编辑 2.互联网的核心部分 2.1电路交换 2.2分组交换 2.3报文交换 二.计算机网络的类别 1.按网络的作用范围进行分类 2.按网络的使用者进行分类 3.用来把用户接入互联…...
Gin 接口超时控制
文章目录1.Gin 的 Middleware2.gin-contrib/timeout3.小结参考文献API 是现代应用程序中的重要组成部分,可以用于提供数据和功能,供客户端应用程序访问。由于网络不稳定、服务器负载、网络拥堵等因素,API 请求可能会花费较长时间。这可能导致…...
1.C#与.NET简介
目录 一、C#语言及其特点 二、C#与.NET Framework/.NET Core关系 三、C#应用开发 四、案例展示 五、学习环境 一、C#语言及其特点 C#是美国微软公司发布的一种面向对象的,运行于 .NET Framework 和 .NET Core (完全开源,跨平台ÿ…...
OpenAI CTO、吴恩达夫人……AI 领域值得关注的「她」力量,个个都是女强人
内容一览: 「她时代」来临,一些有着强大信念与热情的女性,纷纷投身至 AI 领域,成为不可或缺的存在与力量。值此国际妇女节到来之际,HyperAI超神经盘点了领域内令人印象深刻的杰出的女性代表。 关键词:国际妇…...
[ 网络 ] 应用层协议 —— HTTP协议
目录 1.HTTP协议 1.1URL urlencode和urldecode 2. HTTP协议格式 HTTP请求 HTTP响应 3.告知服务器意图的HTTP方法 GET:获取资源 POST:传输实体主体 GET和POST的区别 使用Cookie的状态管理 4.返回结果的HTTP状态码 状态码告知从服务器端返回的…...
Spring Boot 整合 Redisson 缓存性能客户端(2023-03-06)
Spring Boot 整合 Redisson 缓存 (官网) 介绍: Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。其中包括(BitSet, Set, Multimap, Sorte…...
【C和C++】输出100内能够被13整除的数,取模判断方法
目录 前言基础概念重温整除例子小知识点收尾前言 在软件行业已经有快十年,技术虽然一般般,但是足够应付和解决编程入门的相关问题! 都说十年磨一剑,积累到一定经验,是时候发挥自己的价值,给予入门的同行些许的帮助! 为什么要写收费专栏,其实原因很简单,时间就是金钱(…...
STC8单片机基于开源库读取DS18B20数据例程
STC8单片机基于开源库读取DS18B20数据例程 📍开源库FwLib_STC8 Github地址:https://github.com/IOsetting/FwLib_STC8📌STC官方STC8库函数资源:https://www.stcai.com/khs🎉本次利用FwLib_STC8库读取DS18B20,由于该开源库是基于VSCode编写,默认使用的是SDCC编译器,在…...
计算机专业毕业设计基于Spring Boot 学生在线考试系统
目录 一、学生端 1.1 登录 1.2 注册 1.3 学生首页 1.4 学生查看任务中心的试卷(已答卷/未答卷) 1.5 学生查看固定试卷以及开始做题 1.6 学生查看时段试卷以及开始做题 1.7 学生查看试卷中心 1.8 学生查看考试记录以及查看试卷 1.9 学生查看…...
【读书笔记】《深入浅出数据分析》第八章 启发法
目录一,什么是启发法?1,那什么是启发法?2,心理学上对启发法定义二,活动分析1,如何去分析活动效果呢?1.1 活动前期(活动前1-2周)1.2 活动中期1.3 活动结束一&a…...
英飞凌Tricore实战系列导读
本文框架 1.系列概述1.1 外设理论及应用介绍1.2 基于TC3xx的MCAL各外设配置开发1.3 基于TC3xx的Davinci工程开发1.4 项目中问题排查经验分享1.5 其他相关话题分享2. 目前已发布系列文章汇总1.系列概述 英飞凌TC3xx以其强大的性能,扩展性,存储及安全性能在汽车电子中扮演着越…...
做数据分析有前景吗?
当然有前景的。 每个行业都有发展前景,只是看你自身的技能情况或者关系人脉、软实力方面是否到位,不同的行业要求不一样。作为数据分析领域而言,属于IT行业,看的是你的专业技能;只要你技能过硬,就能在行业…...
Rust Web入门(六):服务器端web应用
本教程笔记来自 杨旭老师的 rust web 全栈教程,链接如下: https://www.bilibili.com/video/BV1RP4y1G7KF?p1&vd_source8595fbbf160cc11a0cc07cadacf22951 学习 Rust Web 需要学习 rust 的前置知识可以学习杨旭老师的另一门教程 https://www.bili…...
1.特定领域知识图谱知识融合方案(实体对齐):金融产业产业知识图谱-基于内容匹配和图模型的品牌知识链指
1 引言 供应链金融是一种围绕经营关系,以核心企业为依托,针对中小企业的新型金融服务。如何精准地还原企业间的经营关系,是供应链金融的关键所在。知识图谱是描绘实体间关系的网络结构,对于挖掘企业关系有重要意义。在真实场景中,仅有企业与用户的微观知识对于还原经营关系…...
前端基础语法合集
JS语法基础1-注释//单行注释/*......*/多行注释2-分号;用作分割javascript语句,可以省略。3-变量定义定义变量使用varvar a;//声明变量 var a100;//声明变量并赋值 var b,c;//声明多个变量 var d20;bd1;cb1;//一行多条语句要用;分割4-数据类型判断该变量…...
百亿补贴,京东的自卫反击战
“百亿补贴”这个词大家有没有很熟悉?大部分人应该是在看拼多多投放广告的时候,知道这个词的吧。而京东APP也于近日在升级11.6.2版本时,在更新日志中明确提到:“京东3.8节,百亿补贴上线”。至此,发酵数日的…...
融云入选中国信通院《高质量数字化转型产品及服务全景图》
企业数字化转型正在进入“深水区”。 3 月 3 日,“中国信息通信研究院(以下简称中国信通院)高质量数字化转型创新发展大会暨中国信通院‘铸基计划’年度峰会”在京召开,深度展示了中国信通院在数字化转型领域的工作成果ÿ…...
开源消息代理组件mosquitto
# ll total 556 -rw-r----- 1 sk sk 148417 Mar 6 14:59 libuv-1.44.2-1.el7.x86_64.rpm -rw-r----- 1 sk sk 120717 Mar 6 14:59 libwebsockets-3.0.1-2.el7.x86_64.rpm -rw-r----- 1 sk sk 293429 Mar 6 14:59 mosquitto-1.6.10-1.el7.x86_64.rpm 将用到的依赖上传到主机…...
vuex的五个属性及使用方法示例
一,Vuex简介 Vuex是Vue.js的状态管理库,它通过中心化的状态管理使得组件间的数据共享更加容易。 Vuex包含五个核心属性:state、getters、mutations、actions和modules。 Vuex是Vue.js的状态管理库,它提供了一种集中式存储管理应…...
9.SpringSecurity核心过滤器-SecurityContextPersistenceFilter
SpringSecurity核心过滤器-SecurityContextPersistenceFilter 一、SpringSecurity中的核心组件 在SpringSecurity中的jar分为4个,作用分别为 jar作用spring-security-coreSpringSecurity的核心jar包,认证和授权的核心代码都在这里面spring-security-co…...
23种设计模式-桥接模式
概念 桥接模式是一种结构型设计模式,它通过将抽象与其实现分离来解耦。它使用接口(抽象类)作为桥梁,将一个抽象类与其实现类的代码分别独立开来,从而使它们可以各自独立地变化。桥接模式的核心思想是“组合优于继承”…...
做网站个体户经营范围/百度知道网址
介绍: MongoDB是一个基于分布式文件存储的数据库。高性能,开源,无模式的文档型数据库,为WEB应用提供可扩展的高性能数据存储,是当前NoSql数据库中比较热门的一种,由C语言编写。 MongoDB是一个介于关系数据库…...
北京做网站源代码的/网上销售方法
多线程:适用于处理I/O密集型任务和并发执行的阻塞操作多进程:适用于处理计算密集型任务 # 多进程 import itertools from concurrent.futures import ProcessPoolExecutor result []# 回调函数,通过add_done_callback任务完成后调用 def whe…...
wordpress在线播放电影/短链接购买
这本书中我最感兴趣的一个章节是软件测试,因为寒假的时候我帮助我邻居测试他的软件运行情况,我用他设计的软件,然后提出问题,当我的问题提出后,然后提出应该怎样做用户会比较方便,感觉当时特别有成就感。曾…...
做慕斯蛋糕那个网站有视频/北京互联网公司
动态变量和静态变量的区别: 1、存储位置动态变量:存储在内存出栈数据区静态变量:存储在全局数据区(静态数据区) 2、生命期动态变量:根据你定义的位置确定,比如你在一个函数中定义的,…...
惠州做棋牌网站建设哪家公司收费合理/百度营销后台
文章目录**1. 概述****2. String类的特点****3. 常见操作方法****3.1 构造方法****3.2 判断功能****3.3 获取功能****3.4 转换功能****3.5 其他功能****4. String类练习**4.1 把数组中的数据按照指定个格式拼接成一个字符串**4.2 字符串反转****4.3 统计大串中小串出现的次数**…...
哪做网站/百度推广登录平台官网
程序分目录管理 szz_aip:工程目录bin:可执行文件 start.pyconfig:配置文件 setting.pylib:工具类、初始化服务类、接口类 interface.py 接口 tools.py 工具logs:日志readme.txt:说明 setting.p…...