Unity3D游戏开发培训
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游戏开发培训的更多相关文章
- 用户输入- Unity3D游戏开发培训
用户输入- Unity3D游戏开发培训 作者:Jesai 时间:2018-02-12 14:28:45 用户输入Input 鼠标按键: -方法:GetMouseButton(); -方法:GetM ...
- 投影方式- Unity3D游戏开发培训
投影方式- Unity3D游戏开发培训 作者:Jesai 2018-02-12 20:33:13 摘 要 透视投影是3D渲染的基本概念,也是3D程序设计的基础.掌握透视投影的原理对于深入理解其他 ...
- 内置3D对象-Unity3D游戏开发培训
内置3D对象-Unity3D游戏开发培训 作者:Jesai 2018-02-12 19:21:58 五大面板: -Hierachy:当前场景中的物体 图 1-1 -Project:项目中的所有资源 图 ...
- Unity3D游戏开发初探—2.初步了解3D模型基础
一.什么是3D模型? 1.1 3D模型概述 简而言之,3D模型就是三维的.立体的模型,D是英文Dimensions的缩写. 3D模型也可以说是用3Ds MAX建造的立体模型,包括各种建筑.人物.植被. ...
- 从一点儿不会开始——Unity3D游戏开发学习(一)
一些废话 我是一个windows phone.windows 8的忠实粉丝,也是一个开发者,开发数个windows phone应用和两个windows 8应用.对开发游戏一直抱有强烈兴趣和愿望,但奈何 ...
- Unity3D游戏开发之连续滚动背景
Unity3D游戏开发之连续滚动背景 原文 http://blog.csdn.net/qinyuanpei/article/details/22983421 在诸如天天跑酷等2D游戏中,因为游戏须要 ...
- Unity3D游戏开发从零单排(四) - 制作一个iOS游戏
提要 此篇是一个国外教程的翻译,尽管有点老,可是适合新手入门. 自己去写代码.debug,布置场景,能够收获到非常多.游戏邦上已经有前面两部分的译文,这里翻译的是游戏的最后一个部分. 欢迎回来 在第一 ...
- [Unity3D]Unity3D游戏开发之飞机大战项目解说
大家好,我是秦元培,欢迎大家继续关注我的博客,我的博客地址是blog.csdn.net/qinyuanpei. 首先感谢大家对我博客的关注,今天我想和大家分享的是一个飞机大战的项目.这是一个比較综合的 ...
- [Unity3D]Unity3D游戏开发《反对》说到游戏(上)——目标跟踪
朋友,大家好.我是秦培,欢迎关注我的博客.我的博客地址blog.csdn.net/qinyuanpei. 首先博主要自我反省,过了这么久才来更新博客,这段时间主要是在忙着写期末的作业,所以博主基本上没 ...
随机推荐
- element-ui—dialog使用过程中的坑
场景一:我们将dialog写成一个可复用的公共组件用于显示不同内容(如表格操作中的修改或添加的弹窗),之后发现dialog的遮罩将弹出层(点击修改或添加后理应由一个弹窗显示出来)都盖住了,而我想要的效 ...
- P1016 高精度除法
题目描述 给你两个很大的正整数A和B,你需要计算A除以B的商和余数. 输入格式 输入一行包含两个正整数A和B,以一个空格分隔(A和B的位数都不超过 \(10^5\)) 输出格式 输出一行包含两个整数, ...
- jquery监听输入框只能输入数字
$('#mm').bind('input propertychange',function(){ var val= $(this).val(); if(val!=''&& isNaN( ...
- Linux 内核链表头数据结构
链表头必须在使用前用 INIT_LIST_HEAD 宏来初始化. 一个"要做的事情"的链表头可能声 明并且初始化用: struct list_head todo_list; INI ...
- json文件生成
// import Translate from 'translate-components' /* * 匹配所有汉字RegExp: [\u4e00-\u9fa5] [\u4E00-\u9FA5]|[ ...
- java_学生成绩管理系统
//信1805-2 20183670 王云鹏 package student; import java.util.Scanner; public class ScoreManagement { sta ...
- poj - 3585(二次扫描与换根法)
周末牛客挂了个更难的,这个简单一些 #include<iostream> #include<cstring> #include<cstdio> #include&l ...
- k8s集群———etcd-ssl自签名证书
etcd集群master节点安装 ,自签名SSL证书 ##安装工具cfssl $ cat cfssl.sh curl -L https://pkg.cfssl.org/R1.2/cfssl_linux ...
- 20191031-6beta week 1/2 Scrum立会报告+燃尽图 04
此作业要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/9914 git地址:https://e.coding.net/Eustia/ ...
- 【python小随笔】celery异步任务与调用返回值
s1.py(配置任务文件) from celery import Celery import time my_task = Celery("tasks", broker=" ...