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,添加代码

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4.  
  5. public class HelloWorld : MonoBehaviour
  6. {
  7. // Start is called before the first frame update
  8. //在这里初始化
  9. void Start()
  10. {
  11.  
  12. }
  13.  
  14. // Update is called once per frame
  15. //在这里更新逻辑(每帧)
  16. void Update()
  17. {
  18.  
  19. }
  20.  
  21. private void OnGUI()
  22. {
  23. //改变字符大小
  24. GUI.skin.label.fontSize = 100;
  25. //输出文字、如果文字是中文,脚本文字编码必须保存为UTF-8
  26. GUI.Label(new Rect(10, 10, Screen.width, Screen.height),"Hello World");
  27. }
  28.  
  29. }

这里一定要注意脚本的类名与文件名一致,就是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入门—五分钟制作一个理论上的游戏的更多相关文章

  1. 制作一个塔防游戏 Cocos2d-x 2.1.4 (一)

    在这篇文章,将会学习到怎样制作一个塔防游戏.在这其中,学习怎样在设定的时间内出现一波波的敌人,使这些敌人沿着指定的路点前进.怎样在地图上指定的位置创建炮塔.怎样使炮塔射击敌人,怎样可视化调试路点和炮塔 ...

  2. 【URLOS应用开发基础】10分钟制作一个nginx静态网站环境应用

    URLOS开发者功能已上线有一段时间了,目前通过部分开发者的使用体验来看,不得不说URLOS在服务器软件开发效率方面确实有着得天独厚的优势,凭借docker容器技术与其良好的应用生态环境,URLOS必 ...

  3. python scrapy 入门,10分钟完成一个爬虫

    在TensorFlow热起来之前,很多人学习python的原因是因为想写爬虫.的确,有着丰富第三方库的python很适合干这种工作. Scrapy是一个易学易用的爬虫框架,尽管因为互联网多变的复杂性仍 ...

  4. 五分钟搭建一个基于BERT的NER模型

    BERT 简介 BERT是2018年google 提出来的预训练的语言模型,并且它打破很多NLP领域的任务记录,其提出在nlp的领域具有重要意义.预训练的(pre-train)的语言模型通过无监督的学 ...

  5. 怎样用HTML5 Canvas制作一个简单的游戏

    原文连接: How To Make A Simple HTML5 Canvas Game 自从我制作了一些HTML5游戏(例如Crypt Run)后,我收到了很多建议,要求我写一篇关于怎样利用HTML ...

  6. [译]怎样用HTML5 Canvas制作一个简单的游戏

    这是我翻译自LostDecadeGames主页的一篇文章,原文地址:How To Make A Simple HTML5 Canvas Game. 下面是正文: 自从我制作了一些HTML5游戏(例如C ...

  7. 制作一个 JavaScript 小游戏

    简评: 作者学习了编程两个月,边学边做了一个 JavaScript 小游戏,在文中总结了自己在这个过程中的一些体会,希望能给其他初学者一些帮助. 对于很多想学编程但一直没下定决心的同学来说,最大的问题 ...

  8. 使用pygame制作一个简单的游戏

    翻译自Will McGugan的<Beginning Game Development with Python and Pygame –From Novice to Professional&g ...

  9. 用cocos2d 2.1制作一个过河小游戏(4): 游戏主逻辑BaseLayer设计

    前段时间一直在忙.没有时间更新博客.今天还是抽点时间把最后一小部分游戏的实现放上来吧. BaseLayer.h: #import <GameKit/GameKit.h> #import & ...

随机推荐

  1. 【JVM第五篇--运行时数据区】方法区

    写在前面的话:本文是在观看尚硅谷JVM教程后,整理的学习笔记.其观看地址如下:尚硅谷2020最新版宋红康JVM教程 一.栈.堆.方法区的关系 虚拟机运行时的数据区如下所示: 即方法区是属于线程共享的内 ...

  2. 极客mysql13

    1:为啥删除了表的一半数8据,表文文件大小没变化?因为delete 命令其实只是把记录的位置,或者数据页标记为了"可复用",但磁盘文件的大小是不会变的.也可以认为是一种逻辑删除,所 ...

  3. Innodb自增主键与sql_mode

    1.自增主键 1.设置自增主键 建表设置自增主键,设置自增主键需要唯一约束,否则会报错.(即指定列数据唯一) mysql> create table test_zz(id int auto_in ...

  4. linux帮助手册(help/man/info)

    linux本身有数据库(数据库名whatis)--man实际是从whatis数据库里查找信息. makewhatis 刚装系统,若man不能用,用makewhatis命令.整理whatis数据库. 当 ...

  5. ipmi常用的命令行命令

    前言 记录一些常用的命令行操作 命令 查询机器的电源状态 ipmitool -I lanplus -U admin -P admin -H 172.16.21.215 power status 硬重启 ...

  6. 面试官:连Spring AOP都说不明白,自己走还是我送你?

    前言 因为假期原因,有一段时间没给大家更新了!和大家说个事吧,放假的时候一位粉丝和我说了下自己的被虐经历,在假期前他去某互联网公司面试,结果直接被人家面试官Spring AOP三连问给问的一脸懵逼!其 ...

  7. 新鲜出炉!2020年最新java面试题大全,面试突击必备!

    前言 发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了一套Java面试题,希望对大家有帮助哈~ 打算这几天每天更新15~20题.(这样有助于你们阅读和理解!)我们先从简单的开始 1 ...

  8. 如何在Mac上安全彻底的卸载软件?

    Mac如何卸载软件呢?通常我们的做法都是将应用程序图标移动到废纸篓中,这样就算是将mac软件卸载了,但是这样真的将软件卸载干净了吗?当然没有,一个软件并不是只有应用程序包,他还会包含很多的偏好文件等等 ...

  9. L-Rui

    <!DOCTYPE html> <head> <meta charset="UTF-8"> <link rel="shortcu ...

  10. Codeforces Round #661 (Div. 3) D、E1 题解

    D. Binary String To Subsequences #贪心 #构造 题目链接 题意 给定一个\(01\)串\(s\),完全分割成若干子序列(注意,不要混淆子串与子序列的概念),其中的子序 ...