Unity3D游戏开发培训

作者:Jesai

时间:2017-01-08

修改:2017-01-09 12:36:15

1         项目的构成

图1-1

如图1-1所示,Unity3D的项目构成主要分成三部分:

Assets:资源解包,例如 3D 模型、 2D 纹理和声音的会在在此目录中的某个地方

 

Library:类库,此属性包含Unity3D 使用配合资产(tie assets)和逻辑一起在scenes的引用关系。这里还放置您设置的editor preferences、 platform settings和游戏引擎需要的许多其他设定。

 

ProjectSettings:项目配置文件,当任何asset资产导入到Unity3D 时,它经历了一种filter筛选器和setup。大多数情况下,使用 3D 模型和纹理时,他们是游戏的之前准备,必须采取的地方。Unity3D 将所有这一切会自动执行。甚至从一种 3D 内容创作工具中导入box网格需要一些加工之前,你可以放到一个Unity3D 场景。

 

Temp:临时文件夹,数据缓存,临时文件和其他操作系统维护相关的东西就扔到 Temp 目录

2         第一个Unity3D项目(盒子的上下移动)

2.1新建一个3D项目:

图1-2

 

值得一说的是,我们必须要有自己的开发者帐号,就好比苹果IOS开发者也要买一个自己的帐号,IOS上线帐号好像是200美元。

2.2开发工具,场景介绍

我们选择new,创建一个自己的项目,项目名称就叫Demo1,在Hierarchy里面添加一个Cube,然后就在Assets里面添加一个C#脚本,脚本就叫CubeMove。

图1-3

2.3代码开发

如图所示,我们第一个项目就建成了,那么接下来,我们需要移动这个物体,就是平时的游戏动作,那么我们就要通过写脚本来控制啦,重要的部分来了,上干货:

 

先设置下开发工具,Edit->preferences->External Tools->VS 2013或者VS 2015

图1-4

双击CubeMove脚本,就可以在VS 2013里面打开我们的脚本代码,要使用脚本到对象上面,我们只需要把脚本拖拽到Cube对象上面即可:

 using UnityEngine;

 using System.Collections;

 /// <summary>

 /// 作者:邓家海

 /// 用户:DengJiaHai

 /// 创建日期:2017-01-08 22:58:33

 /// 修改:

 /// 版本:V 1.0.0.0

 /// </summary>

 public class CubeMove : MonoBehaviour {

     //移动速度

     private float speed;

     // Use this for initialization

     /// <summary>

     /// 开始,开始的时候调用

     /// </summary>

     void Start () {

         //移动速度1帧

         speed = 1f;

     }

     // Update is called once per frame

     /// <summary>

     /// 一帧调用一次这个方法

     /// </summary>

     void Update () {

         //键盘按键是w的时候,开始向上移动

         if (Input.GetKey(KeyCode.W))

         {

             transform.Translate(Vector3.up * speed * Time.deltaTime);

         }

         else if (Input.GetKey(KeyCode.S))  //键盘按键是S,向下走

         {

             transform.Translate(Vector3.down * speed * Time.deltaTime);

         }

     }

 }

2.4运行结果

图 1-5

图 1-5

2.5 发布游戏

新建一个场景:

图 1-6

File->Build Settings:

图 1-7

我们可以选择IOS版本,Android版本,PC版本········,然后把场景拖到build里面去。

最后点击build,即可生成一个可以运行的文件。

到这里,入门程序就完成了!

Unity3D游戏开发培训的更多相关文章

  1. 用户输入- Unity3D游戏开发培训

    用户输入- Unity3D游戏开发培训   作者:Jesai 时间:2018-02-12 14:28:45 用户输入Input 鼠标按键: -方法:GetMouseButton(); -方法:GetM ...

  2. 投影方式- Unity3D游戏开发培训

    投影方式- Unity3D游戏开发培训   作者:Jesai 2018-02-12 20:33:13 摘  要 透视投影是3D渲染的基本概念,也是3D程序设计的基础.掌握透视投影的原理对于深入理解其他 ...

  3. 内置3D对象-Unity3D游戏开发培训

    内置3D对象-Unity3D游戏开发培训 作者:Jesai 2018-02-12 19:21:58 五大面板: -Hierachy:当前场景中的物体 图 1-1 -Project:项目中的所有资源 图 ...

  4. Unity3D游戏开发初探—2.初步了解3D模型基础

    一.什么是3D模型? 1.1 3D模型概述 简而言之,3D模型就是三维的.立体的模型,D是英文Dimensions的缩写. 3D模型也可以说是用3Ds MAX建造的立体模型,包括各种建筑.人物.植被. ...

  5. 从一点儿不会开始——Unity3D游戏开发学习(一)

    一些废话 我是一个windows phone.windows 8的忠实粉丝,也是一个开发者,开发数个windows phone应用和两个windows 8应用.对开发游戏一直抱有强烈兴趣和愿望,但奈何 ...

  6. Unity3D游戏开发之连续滚动背景

    Unity3D游戏开发之连续滚动背景 原文  http://blog.csdn.net/qinyuanpei/article/details/22983421 在诸如天天跑酷等2D游戏中,因为游戏须要 ...

  7. Unity3D游戏开发从零单排(四) - 制作一个iOS游戏

    提要 此篇是一个国外教程的翻译,尽管有点老,可是适合新手入门. 自己去写代码.debug,布置场景,能够收获到非常多.游戏邦上已经有前面两部分的译文,这里翻译的是游戏的最后一个部分. 欢迎回来 在第一 ...

  8. [Unity3D]Unity3D游戏开发之飞机大战项目解说

    大家好,我是秦元培,欢迎大家继续关注我的博客,我的博客地址是blog.csdn.net/qinyuanpei. 首先感谢大家对我博客的关注,今天我想和大家分享的是一个飞机大战的项目.这是一个比較综合的 ...

  9. [Unity3D]Unity3D游戏开发《反对》说到游戏(上)——目标跟踪

    朋友,大家好.我是秦培,欢迎关注我的博客.我的博客地址blog.csdn.net/qinyuanpei. 首先博主要自我反省,过了这么久才来更新博客,这段时间主要是在忙着写期末的作业,所以博主基本上没 ...

随机推荐

  1. Vant-UI移动端时间选择框

    使用Vant input框时有时需要调用时间选择,时间选择框要结合弹出层使用 <div class="van-cell van-field"> <span cla ...

  2. 2019年7月20日针对iPhone7/7P有锁机的爆破限制

    背景 2019年7月20号苹果更改了激活策略,致使卡贴机一夜回到解放前,目前只能使用tmsi或者tmsi+iccid模式激活手机,但是缺点是移动联通信号真的不稳定,漏接电话,无法开启热点等等毛病.尤其 ...

  3. linux 内核协助的探测

    Linux 内核提供了一个低级设施来探测中断号. 它只为非共享中断, 但是大部分能够在共 享中断状态工作的硬件提供了更好的方法来尽量发现配置的中断号.这个设施包括 2 个函 数, 在<linux ...

  4. CF1151div2(Round 553)

    CF1151div2(Round 553) 思路题大赛 A 少考虑了一种情况,到死没想到 B 貌似我随机化50000次,没找到就无解貌似也过了 感觉随随便便乱搞+分类讨论都可以过的样子 #includ ...

  5. dotnet core 集成到 Mattermost 聊天工具

    在找了很久的团队交流工具,发现了 Mattermost 最好用,但是还需要做一些定制化的功能,于是就找到了 Mattermost 插件开发,还找到了如何自己写服务集成到 Mattermost 里面 本 ...

  6. mysql高可用解决方案

    浅谈mysql主从复制的高可用解决方案 1.熟悉几个组件(部分摘自网络)1.1.drbd     —— DRBD(Distributed Replicated Block Device),DRBD号称 ...

  7. Mybatis 多对多(易百教程)

    mybatis3.0 添加了association和collection标签专门用于对多个相关实体类数据进行级联查询,但仍不支持多个相关实体类数据的级联保存和级联删除操作.因此在进行实体类多对多映射表 ...

  8. centos 下yum lock的解决办法

    centos 下yum lock的解决办法 centos7下yum install的时候,报了一堆错误,如下: Another app is currently holding the yum loc ...

  9. 经典问题(c++/python)素数、杨辉三角(金字塔型)、统计单词数、简单计算器、密码安全程度、凯撒密码加密、汉诺塔 (python课设实验实例)-- biaobiao88

    [编写程序,输人一个大于2的自然数,然后输出小于该数字的所有素数组成的列表.]所谓素数,是指除了1和自身之外没有其他因数的自然数,最小的素数是2,后面依次是3.5.7.11.13... c++代码: ...

  10. iOS定位权限请求时易犯的错误小结

    起因 用户群反馈app可能请求了不合适的定位权限:始终定位. 看到这个截图,根据经验判断可能是后台定位功能导致可能不得不请求始终定位权限.再加上之前提交审核时,苹果要求在plist文件中新增NSLoc ...