unity入门—五分钟制作一个理论上的游戏
unity入门
前言:这可不是标题党,虽然都是基础的操作,不过含括了基本的流程,比起脑海中的五花八门的画面,入门还是这个现实一点。
这里插两句,unity国外官网下载会推荐你看一个简短的视频,国内官网下载没有不过可以另外找到,推荐看一下,相当的好,当初的我刚看完就激动的不行,准备做个惊世之作时,被自己的基础不足问题泼冷水。
任务:使用unity完成一个Hello World程序,创建一个标准的Windows可执行程序。
1.外部工具设置
下载VS(我用的vs2017,用自带的也行,为了方便之后学习建议VS,挺好用的),下载VS(Visual Studio)中的unity组件,安装完成后,在unity编辑器的菜单栏中选择【Edit】-【首选项】打开设置窗口-【外部工具】
将外部脚本编辑器设置为VS(软件安装下载就不截图了,如果有什么问题的可以留言或者联系我,定尽力帮忙)
2.编写脚本
启动unity,创建一个新工程,在Project窗口选择Assets,右击并选择【创建】-【C#脚本】创建一个新的C#脚本,将脚本命名为HelloWorld.cs
双击打开HelloWorld,添加代码
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class HelloWorld : MonoBehaviour
- {
- // Start is called before the first frame update
- //在这里初始化
- void Start()
- {
- }
- // Update is called once per frame
- //在这里更新逻辑(每帧)
- void Update()
- {
- }
- private void OnGUI()
- {
- //改变字符大小
- GUI.skin.label.fontSize = 100;
- //输出文字、如果文字是中文,脚本文字编码必须保存为UTF-8
- GUI.Label(new Rect(10, 10, Screen.width, Screen.height),"Hello World");
- }
- }
这里一定要注意脚本的类名与文件名一致,就是public class后面那一串,我第一次创建名称为Hello World,就是两单词间有个空格,但是进入之后默认代码是没有空格的就导致了错误,一定要注意类名与脚本名。
HelloWorld.cs是一个unity的脚本文件,HelloWorld是类的名称,它继承自Unity的基类MonoBehaviour。注意,Unity没有Main函数程序入口,Unity脚本必须作为组件依附于Game Object(游戏体)运行,因此不能使用new创建Unity脚本实例,构造函数的功能也受到限制。
3.Main Camera
回到编辑器,在层级窗口中选择【Main Camera】,选中摄像机,在菜单栏中选择【Component】-【Scripts】-【HelloWorld】,将脚本指定给摄像机,也可以直接拖动脚本到main camera上
4.运行游戏
程序是搞定了,不过东西还没个谱呢,接着往下。
5.编译输出
【文件】-【save】-【文件】-【另存为】,保存前记得先退出播放模式,就是把那个播放键再点一下就行,将当前关卡保存在Assets目录,这是一个后缀名为.unity的场景文件。下面也是显示两个文件,一个脚本文件,一个关卡文件。
在确保关卡打开状态下,【文件】-【Build Settings】,打开窗口,点击【添加已打开场景】,也可将关卡文件直接拖入,在【玩家设置】中把产品名称改为Hello World。
然后就是大家熟悉的build and run ,建议单独开个文件夹存放,至此,一个理论上的游戏就完成了,打开画面就不截图留给各位刚入门的同学自己去欣赏了。虽然简陋不过基本流程齐全,最开始的我打开自己写的Hello World程序,就被开头那个固定的Made With Unity画面惊艳到了,虽然内容贫乏还没有退出功能,不过第一个程序的诞生也点燃了游戏制作的心,希望之后有一天也能制作出许多人认可的好游戏。
下一篇文章就会讲解unity编辑器中的一些基础知识,类似于脚本基础,内置函数含义,程序调试等。
2020-12-09
unity入门—五分钟制作一个理论上的游戏的更多相关文章
- 制作一个塔防游戏 Cocos2d-x 2.1.4 (一)
在这篇文章,将会学习到怎样制作一个塔防游戏.在这其中,学习怎样在设定的时间内出现一波波的敌人,使这些敌人沿着指定的路点前进.怎样在地图上指定的位置创建炮塔.怎样使炮塔射击敌人,怎样可视化调试路点和炮塔 ...
- 【URLOS应用开发基础】10分钟制作一个nginx静态网站环境应用
URLOS开发者功能已上线有一段时间了,目前通过部分开发者的使用体验来看,不得不说URLOS在服务器软件开发效率方面确实有着得天独厚的优势,凭借docker容器技术与其良好的应用生态环境,URLOS必 ...
- python scrapy 入门,10分钟完成一个爬虫
在TensorFlow热起来之前,很多人学习python的原因是因为想写爬虫.的确,有着丰富第三方库的python很适合干这种工作. Scrapy是一个易学易用的爬虫框架,尽管因为互联网多变的复杂性仍 ...
- 五分钟搭建一个基于BERT的NER模型
BERT 简介 BERT是2018年google 提出来的预训练的语言模型,并且它打破很多NLP领域的任务记录,其提出在nlp的领域具有重要意义.预训练的(pre-train)的语言模型通过无监督的学 ...
- 怎样用HTML5 Canvas制作一个简单的游戏
原文连接: How To Make A Simple HTML5 Canvas Game 自从我制作了一些HTML5游戏(例如Crypt Run)后,我收到了很多建议,要求我写一篇关于怎样利用HTML ...
- [译]怎样用HTML5 Canvas制作一个简单的游戏
这是我翻译自LostDecadeGames主页的一篇文章,原文地址:How To Make A Simple HTML5 Canvas Game. 下面是正文: 自从我制作了一些HTML5游戏(例如C ...
- 制作一个 JavaScript 小游戏
简评: 作者学习了编程两个月,边学边做了一个 JavaScript 小游戏,在文中总结了自己在这个过程中的一些体会,希望能给其他初学者一些帮助. 对于很多想学编程但一直没下定决心的同学来说,最大的问题 ...
- 使用pygame制作一个简单的游戏
翻译自Will McGugan的<Beginning Game Development with Python and Pygame –From Novice to Professional&g ...
- 用cocos2d 2.1制作一个过河小游戏(4): 游戏主逻辑BaseLayer设计
前段时间一直在忙.没有时间更新博客.今天还是抽点时间把最后一小部分游戏的实现放上来吧. BaseLayer.h: #import <GameKit/GameKit.h> #import & ...
随机推荐
- 【JVM第五篇--运行时数据区】方法区
写在前面的话:本文是在观看尚硅谷JVM教程后,整理的学习笔记.其观看地址如下:尚硅谷2020最新版宋红康JVM教程 一.栈.堆.方法区的关系 虚拟机运行时的数据区如下所示: 即方法区是属于线程共享的内 ...
- 极客mysql13
1:为啥删除了表的一半数8据,表文文件大小没变化?因为delete 命令其实只是把记录的位置,或者数据页标记为了"可复用",但磁盘文件的大小是不会变的.也可以认为是一种逻辑删除,所 ...
- Innodb自增主键与sql_mode
1.自增主键 1.设置自增主键 建表设置自增主键,设置自增主键需要唯一约束,否则会报错.(即指定列数据唯一) mysql> create table test_zz(id int auto_in ...
- linux帮助手册(help/man/info)
linux本身有数据库(数据库名whatis)--man实际是从whatis数据库里查找信息. makewhatis 刚装系统,若man不能用,用makewhatis命令.整理whatis数据库. 当 ...
- ipmi常用的命令行命令
前言 记录一些常用的命令行操作 命令 查询机器的电源状态 ipmitool -I lanplus -U admin -P admin -H 172.16.21.215 power status 硬重启 ...
- 面试官:连Spring AOP都说不明白,自己走还是我送你?
前言 因为假期原因,有一段时间没给大家更新了!和大家说个事吧,放假的时候一位粉丝和我说了下自己的被虐经历,在假期前他去某互联网公司面试,结果直接被人家面试官Spring AOP三连问给问的一脸懵逼!其 ...
- 新鲜出炉!2020年最新java面试题大全,面试突击必备!
前言 发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了一套Java面试题,希望对大家有帮助哈~ 打算这几天每天更新15~20题.(这样有助于你们阅读和理解!)我们先从简单的开始 1 ...
- 如何在Mac上安全彻底的卸载软件?
Mac如何卸载软件呢?通常我们的做法都是将应用程序图标移动到废纸篓中,这样就算是将mac软件卸载了,但是这样真的将软件卸载干净了吗?当然没有,一个软件并不是只有应用程序包,他还会包含很多的偏好文件等等 ...
- L-Rui
<!DOCTYPE html> <head> <meta charset="UTF-8"> <link rel="shortcu ...
- Codeforces Round #661 (Div. 3) D、E1 题解
D. Binary String To Subsequences #贪心 #构造 题目链接 题意 给定一个\(01\)串\(s\),完全分割成若干子序列(注意,不要混淆子串与子序列的概念),其中的子序 ...