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. linux llseek 实现

    llseek 方法实现了 lseek 和 llseek 系统调用. 我们已经说了如果 llseek 方法从设备 的操作中缺失, 内核中的缺省的实现进行移位通过修改 filp->f_pos, 这是 ...

  2. ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(9)之系统登录

    前面我们已经做好了一个文章管理功能模块,接下来,我们回头来做登录窗口,登录不仅涉及到登录验证还涉及到登录日志还有缓存时长等. 对于缓存的相关设置,我们已经写好封装在Bobo.Utilities.dll ...

  3. Activiti工作流引擎学习(一)

    1.部署对象和流程定义相关表:RepositoryService act_re_deployment: 部署对象表:一次部署的多个文件的信息,对于不需要的流程可以删除和修改 act_re_procde ...

  4. oracle 包 简单使用

    理解PL/SQL包 简介 包(package)的主要作用是用于逻辑组合相关的PL/SQL类型 比如记录类型或者集合类型,PL/SQL游标或游标声明以及PL/SQL子程序 还可以包含任何可以在块的声明区 ...

  5. CodeForces 1204 (#581 div 2)

    传送门 A.BowWow and the Timetable •题意 给你一个二进制数,让你求小于这个数的所有4的幂的个数 •思路 第一反应是二进制与四进制转换 (其实不用真正的转换 QwQ) 由于二 ...

  6. 解决netcore在docker容器中连接oracle报错(timezone region not found)

    错误提示: timezone region not found错误原因:docker 容器内时区不是 CST 导致解决办法:1.在dockerfile 中增加一下命令ENV TZ=Asia/Shang ...

  7. k8s故障总结

    1.run pod的时候提示"Back-off pulling image \"registry.access.redhat.com/rhel7/pod-infrastructur ...

  8. 激励函数 (Activation)

    softplus是有关概率的巴拉巴拉? Torch 中的激励函数有很多, 不过我们平时要用到的就这几个. relu, sigmoid, tanh, softplus. 那我们就看看他们各自长什么样啦. ...

  9. css3新增属性有哪些?css3中常用的新增属性总结

    css3新增属性有哪些?来提问这个问题的人都应该知道css3是css的升级版本,那么,css3既然是升级版本,自然是会新增一些属性,接下来本篇文章将给大家介绍关于css3中常用的新增属性. 一.css ...

  10. 0001 认识WEB( 标准)

    认识WEB 1. 认识网页 网页主要由文字.图像和超链接等元素构成.当然,除了这些元素,网页中还可以包含音频.视频以及Flash等. 思考: 网页是如何形成的呢? 总结 网页有图片.链接.文字等元素组 ...