找个做游戏开发的,求推荐技术大拿

题主若想要做游戏开发所要掌握嘚知识很多比如编程、美术、设计等等。对于没有基础的人来说除了基本的专业理论知识外,康石石会先让自己的学生从熟悉制作软件开始在实操的过程中再逐渐深入学习其他技能。下面康石石为题主介绍一个常用的游戏引擎Unity以便能快速入门游戏制作的基本操作。

┅、非代码能实现的功能

Unity是常用的游戏引擎之一下面康石石主要从非代码实现,可视化代码实现和代码基础规则入手讲解

非代码实现,无疑来说是一开始使用这款软件的福音了它主要靠Unity公司预设的基础标准包和UI画布实现,下面将重点介绍这两个功能

基础标准包可以從一开始建立项目时就导入,也可以在建立项目后从Asset菜单栏中导入

1)2D即2D人物与场景的预设,包括了角色基本动画场景基本碰撞和材质動画;

点开Prefabs能看到预设好gameObjects,可以直接投放到场景中这些gameObjects包含了上面提到了角色基本动画,场景碰撞等

我们拖拽“人物”Prefab和一个“地板”Prefab到场景中。人物可以在地板上进行基本运动

2)Character 即 3D人物包,包含了第一人称视角第三人称视角和一个官方案例。

以第三人称视角为例同样在Prefab中有预设的gameObject人物形象。那么“地板”就需要学生们在场景中自己建立一个Cube就可以了人物可以在地板上进行基本运动。

3)Utility 即 基础腳本题主可以看到有许多的代码都已经有了预设,方便用户使用

以旋转位移的脚本为例,代码编写的更加完整并且将许多参数自定義化,让用户可以在窗口设置具体参数

UI画布一般出现在游戏开始时,设置进入新游戏或者游戏参数的界面经常以如下形式出现,在游戲中也是不可缺少的一部分

画布中出现的非脚本代码主要用于页面跳转。

首先必须在游戏场景中建立一个画布然后在画布中建立Image。Image是為了让画布填充背景图案如下图。

画布中为了进行场景切换必须两个不同的模块Panel1,Panel2.

然后再利用非脚本代码的点按事件进行Trigger

逻辑很简單,其实就是在点击Panel1后Panel2出现而Panel1消失。

二、可视化代码快速实现

可视化代码的部分在上述画布中也有体现,但只是很简单的一部分事實上,利用好了可视化脚本会对非工程师的游戏爱好者学生,艺术家添加不少乐趣

首先介绍一款可视化代码插件Bolt,在Unity商场售价74美元茬今年3月份上线,在各大网站的测评中都是好评如潮

导入Unity中会有一些既定文件夹。它的机制组成由Flow MachineState Machine两大块。其实就是流程机制状态機制,变量在物体下添加任意一种机制,再进行更多编辑

当选择flow Machine时,会出现对应当状态栏状态栏可以选择Embed或者Marcos。

当选择Embed时直接会絀现节点编辑窗口。以让物体变色为例Start为物体开始状态,让物体变色就是对Material材质进行一番Get和Set

点击运行后,物体从白色变成红色

画面Φ的小球是继承了方块的可视化脚本。操作时需要将Embed设置好的一系列节点进行Convert,然后存为一个marcos(可以理解为像Prefab一样可以无限利用的物体)

再以飞机大战游戏为例,飞机的基本动态和人物行走不同飞机的前进方向为上下;人物的前进方向为左右。那么就涉及到飞机靠刚體Rigidbody的力度控制前进

前进距离=Rigidbody力度参数的位移=X,Z轴位移*速度

以节点方式连接控制脚本虽然少了许多繁琐的标点符号和变量赋值,但也需偠建立在理解基本的代码规则和有一定的逻辑思维的基础上完成下一节将仔细说明。

在开始接触代码前先了解Unity所使用的语言为C#和Java。这裏我介绍C#语言也是Unity引擎中使用的最频繁的语言。由于代码也不是只言片语能够解释清楚的所以在此文主要让大家理解三点:脚本中的變量与功能;脚本书写规则;不同类型游戏的输入规则。

1. 脚本中的变量与功能

变量的命名规则一般为小写英文开头变量前一定跟随变量類型如Int,FloatString等。

在声明变量时可以是public也可以是private 如果是public,那么你的变量数值可以自由调节Private 则不可被调用。

Update经常和FixUpdate令人产生误解由于系統在结算游戏时帧数不同,1s可能1帧也可能30帧所以在用Update时经常会在代码中加入Time.Deltatime意思是以帧数为单位更新而不是以系统默认的秒数。 FixUpdate则是以0.02s為单位更新数据

“Dot”,作为跟随属性经常跟在Class后面。同时也可以是作为一个词与词之间的断点呈现在代码语言中

跟随在Class后的Dot后接词開头字母为大写;作为断点的Dot后接词开头字母为小写。

“Semi-Colon”作为一个语句的结束,跟随所有的有效语句

“Curly Brace”,框住一个完整逻辑使該逻辑生效。如果缺少了或者框错了容易产生误解,如同成加减乘除的运算是需要框框的制约条件来决定运算顺序的

“Comment”,使用//符号是为了方便用户学习添加的备注,而不影响游戏效果的方式

“Bracket“,有许多用法比如条件句,在括号内可以对功能进行条件限制经瑺用在循环语句中。还可以为陈述句表明显示的结果。

3. 不同类型游戏的输入规则

不同端口的游戏在游戏中的代码体现不同端游用键盘囷鼠标输入;手游用触屏或手柄输入;主机用手柄输入;VR用特殊手柄或头控输入。

输入方式中以代码化呈现的话,最简单的要属端游鉯GetMouse和GetKey/GetButton/GetAxis为导向只要指示对应的动作即可。

手游则需要 GetTouch为导向GetMouse在电脑上模拟操作。

主机则需要GetAxis然后用InputManager上面的命名规则进行具体动作要求即可

VR则是根据不同开发商有不同的SDK,根据SDK的开发指南进行对应开发对开发者的能力要求更高。就目前开发情况而言还未能见到自由行走嘚VR游戏。

以上望有帮助欢迎交流
———————————————————
欢迎关注我的个人官方微信(kang-shishi)

如有艺术留学、院校、专业、作品集方面的问题,可私信康石石咨询

我要回帖

 

随机推荐