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入门—五分钟制作一个理论上的游戏的更多相关文章

  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. 《Machine Learning in Action》—— 剖析支持向量机,优化SMO

    <Machine Learning in Action>-- 剖析支持向量机,优化SMO 薄雾浓云愁永昼,瑞脑销金兽. 愁的很,上次不是更新了一篇关于支持向量机的文章嘛,<Machi ...

  2. Python中的matplotlib xticks

    文章来自 Claroja的CSDN博客,仅做搬运.原文链接 在matplotlib中ticks表示的是刻度,而刻度有两层意思,一个是刻标(locs),一个是刻度标签(tick labels).在作图时 ...

  3. linux 内核并发同步 2

    信号量semaphore 信号量是一种允许进程进入睡眠的同步机制,信号量是一个计数器,支持两种原语即P 和V操作,也就是down 和up 操作, /* Please don't access any ...

  4. C++如何实现多态

    1.   什么是多态多态是C++中的一个重要的基础,面向对象编程语言中,接口的多种不同的实现方式即为多态.2.   多态带来的好处多态带来两个明显的好处:一是不用记大量的函数名了,二是它会依据调用时的 ...

  5. Python_多进程_pool进程池

    多进程典型案例: 1.将子进程的进程名作为列表中的元素,在父进程中遍历(异步)执行 #coding: utf-8 from multiprocessing import Pool import os, ...

  6. 用JavaScript做精灵图

    用JavaScript做精灵图 精灵图可以不用在给每一个小块一 一的修改位置.主要原理是找到整张的背景图与li的下标的数学关系. 这是一大张背景图,这个背景图的位置其实是有规律的,每两张之间间隔一个固 ...

  7. LeetCode-Python-删除链表解题思路

    给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点.   image.png 解题思路: 使用双指针,快指针与慢指针的间隔为n: 涉及到最后要删除慢指针的节点,为了方便,先开辟一个nod ...

  8. 面试老被问LinkedList源码?看看阿里技术官是怎么深度剖析的吧!

    前言 LinkedList底层是基于双向链表,链表在内存中不是连续的,而是通过引用来关联所有的元素,所以链表的优点在于添加和删除元素比较快,因为只是移动指针,并且不需要判断是否需要扩容,缺点是查询和遍 ...

  9. 如何使用iMazing编辑iOS设备的备份

    乍一看,编辑iPhone或iPad的备份似乎是一个奇怪的命题,但实际上这样做的原因有很多,例如在备份数据损坏时进行修复,又如合并来自不同设备的数据. iMazing对备份文件编辑的支持非常全面,即使备 ...

  10. 关于GoldWave为Vegas制作音频交叉淡化特效的教程分享

    在Vegas里对音频交叉淡化的处理,是通过将两段音频交叠.调整交叠部分的音量.选取交叉淡化类型这三步来实现的,许多步骤是在音频轨道拖动音量线来实现的,操作上不够灵敏精细.其实,单就音频的交叉淡化处理, ...