找回密码
 立即注册
查看: 8164|回复: 96

[实例] Unity3D跑酷游戏开发-无尽的道路

  [复制链接]
发表于 2014-7-3 00:23 | 显示全部楼层 |阅读模式
资源信息 Tutorial Information
教程名称: Unity3D跑酷游戏开发-无尽的道路(发帖教程)
适用引擎:   (适用引擎,为空默认为Unity)
教程语种: 中文
教程等级: 1
教程格式: 图文(请用IE9以上浏览器访问本版块)
教程作者: subsystemp (如有问题请短消息联系作者或发表回复)
下载地址: (兑换积分)
点击查看原图
美丽分割线
本帖最后由 subsystemp 于 2014-7-10 11:32 编辑

学习unity已有一个月了,现在想想有点太冲动了,啧啧。
一个月前不小心看到unity那么强大后直接辞职回家自学......
客套话神马的多说无益,马上开启我们的Unity奇幻之旅吧。
游戏开发环境: win7+unity4.5+vs2013
学习完本系列教程,你将获取如下成果:




还等啥子呦,愉悦的打开unity,新建一个project,纯净状态导入NGUI 3.6.0/自带的Scripts,一切正常你的画面将和我一样。

新建一个plane和Directional Light


plane 的大小z轴 设置为10,并且调整摄像机角度,这个平面看上去像跑道。
我为此添加一个正方体
看的更清楚。



选中plane 按ctrl+D 复制一个平面,现在有2个平面了,分别改名 bg1和 bg2,
bg1 position 的Z 为50
bg2  position 的Z 为150
这样他们就连成一条大道。

接下来实现主角向前移动
把立方体改名为player,  Project栏目里新建文件夹Scripts=>新建c#脚本 playControl

playControl代码如下,临时测试用。(后期将被Mecanim、Root Motion、Blend tree、阿凡达等好玩的东东取缔)
[csharp] view plaincopyprint?



  • using UnityEngine;  
  • using System.Collections;  
  •   
  • public class playControl : MonoBehaviour  
  • {  
  •     public float movespeed =10f;  
  •     void Update()  
  •     {  
  •         if (Input.GetKey(KeyCode.UpArrow))  
  •             transform.Translate(Vector3.forward * movespeed*Time.deltaTime);  
  •   
  •         if (Input.GetKey(KeyCode.DownArrow))  
  •             transform.Translate(Vector3.back * movespeed * Time.deltaTime);  
  •   
  •         if (Input.GetKey(KeyCode.LeftArrow))  
  •             transform.Translate(Vector3.left * movespeed * Time.deltaTime);  
  •   
  •         if (Input.GetKey(KeyCode.RightArrow))  
  •             transform.Translate(Vector3.right * movespeed * Time.deltaTime);  
  •     }  
  • }  



playControl脚本绑定给立方体player,
摄像机(Main Camera以后统称摄像机)绑定unity自带的Script脚本--SmoothFollow并且指定Target为
player,
并且设置相关数值。


新建文件夹Materials和Textures(游戏相关所有素材由我激情提供)
在Materials文件夹 新建一个Material指定Textures里的贴图后帮bg1和bg2换个容貌,按照工业规则相关文件放在相关文件夹,以后将不再特意说明。一切就绪后你将和我一样。


这时候按键盘上下左右键,可以控制player了,如果一直按向上键player将很快将走完这条和谐之路,而我想得到一条无尽循环的路。
加油,接下来一鼓作气实现这条“不归路”。
Unity菜单- GameObject-Create Empty
改名为trag1,
坐标设置为 0  3.5  15
缩放设置为  1  1  0.2
为其添加 Box Collider
Size 设置为 10  7  1
Is Trigger 打上勾
所有一切就是为了player经过这个触发器时响应bg1 bg2 动态自我复制而实现循环。

同理bg2也要有一个触发器
坐标设置为 0  3.5  115
这样我们得到了2个触发器。



为了符合工业流程把2个触发器分别作为bg1 bg2 的子项。


那么现在将实现这2个触发器的作用了,加油!
新建c#脚本  bgtrigger,代码如下
[csharp] view plaincopyprint?



  •   


[csharp] view plaincopyprint?



  • using UnityEngine;  
  • using System.Collections;  
  •   
  • public class bgtrigger : MonoBehaviour  
  • {  
  •     GameObject bg;  
  •   
  •     void Start()  
  •     {  
  •         bg = new GameObject();  
  •     }  
  •   
  •     void OnTriggerEnter(Collider e)  
  •     {  
  •         if (e.CompareTag("Player"))  
  •         {  
  •             if (gameObject.transform.parent.CompareTag("bg2"))//父类  
  •             {  
  •                 bg = GameObject.FindGameObjectWithTag("bg1");  
  •                 bg.transform.position = new Vector3(0, 0, bg.transform.position.z + 200);  
  •             }  
  •             else  
  •             {  
  •                 bg = GameObject.FindGameObjectWithTag("bg2");  
  •                 bg.transform.position = new Vector3(0, 0, bg.transform.position.z + 200);  
  •             }  
  •         }  
  •     }  
  •   
  •   
  •   
  •   
  •   
  • }  




为立方体player 添加名为“Player”的tag,并且添加刚体。


新增两个Tag,  为平面bg1和平面bg2分别添加名为bg1、bg2的Tag



最后关键的一步,把上面新添加的c#脚本bgtrigger分别给trag1和trag2


把player立方体坐标设置为 0 0.5 20
运行起来,美好的事情悄然发生。
player一直前进,结果触发器后,上一个平面将复制到前面,
无限循环的马赛克路出现了!


下一课将复杂粗暴的实现人物模型导入,关卡制作心得,悟空降临、Mecanim大哥哥调研、阿凡达、动画片段循环设置、Root Motion脚本处理、复合Blend Tree、动画状态机过度设置神马等等。
名称听起来都很酷,比这课好玩是理所当然的存在。
啧啧,敬请期待,啊,我的大脑已饥渴难耐了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 2鲜花 +2 收起 理由
1287537617aa + 1
aa1287537617 + 1

查看全部评分

发表于 2014-7-5 11:19 | 显示全部楼层
{:5_424:}{:5_424:}{:5_424:}{:5_424:}  支持...
发表于 2014-7-31 11:06 | 显示全部楼层
吊...................................
发表于 2014-8-16 09:10 | 显示全部楼层
我想要做游戏赚钱赚钱买房子
发表于 2014-8-29 13:17 | 显示全部楼层
老大  有素材共享吗? 哈~
发表于 2014-8-31 18:27 | 显示全部楼层

不错 不错 不错{:soso__3922851084632044791_6:}
发表于 2014-10-1 19:36 | 显示全部楼层

不错 不错 不错{:soso__3922851084632044791_6:}
发表于 2014-10-7 01:20 | 显示全部楼层
{:5_435:}{:5_435:}
发表于 2014-10-7 11:59 | 显示全部楼层
下一篇在哪
发表于 2015-1-1 23:29 | 显示全部楼层
好厉害  然后呢  之后的内容在哪
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-22 01:09 , Processed in 0.118404 second(s), 34 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表