编写初衷:

1、网上没有现成的好用的waypoints插件

2、自己在做一个赛车游戏,如果没有这款插件的话在制作游戏的过程中会被累成狗

3、从来没有接触过插件方面的东西,所以想自己尝试一下

插件用途:

1、顾名思义,赛车游戏专用的插件(本人目前还是个初学菜鸟,等以后接触的游戏类型多了会增强)

2、提供了现成的方法可直接copy传入参数即可做出你想要的酷炫效果。这些方法没写入到插件中,而是单独的写出来让大家可自由延伸扩展

3、圈数检测:一个waypoints data文件通通搞定!绝对不会误判圈数

4、复位点检测:当撞墙、掉水坑里、冲出赛道、卡在近到里……,这个时候通过计算复位点可以获得正确的位置

5、反向检测:想想如果刘翔在比赛的时候跑反赛道了,那是多么悲剧的事!精确检测反向让它往南,绝不往北

6、计算赛道总长度:这个不用解释了。。。

7、插件用途暂且举例这么多,我提供的这些方法基本的赛车游戏已经够用了,总不能让我帮你做一个游戏出来是吧,那样就没有意义了,自己继续扩展

插件优点:

1、快速精确设置路标点

2、可视化编辑

3、Xml储存路标点数据

4、完美结合子物体路标点和数据路标点

5、可扩展性强

6、多平台支持

7、自动对齐地面

8、支持路径读取和数据读取两种方式

9、支持单圈和多圈编辑

......

同样的功能,不用插件之前一个简单的地图我最快也要半个小时

而且路标点不是很精确

用了插件一个地图五分钟搞定,且精确

我这里有一百多个地图,如果不用插件的话我真要累成狗了

插件缺点:

1、一大堆,我都不好意思说,丢人!好歹第一次写插件,不足的地方还望告知

插件截图:

使用说明:

1、创建路标点

菜单栏——CarWaypoints——CreateWaypoints(快捷键:Alt + C)

2、新建路标点数据文件

Project面板右键——Create——Waypoints Data

3、设置参数

选择Hierarchy面板中的Waypoints,拖动新创建的New Waypoints Data到Waypoint Message脚本的第一个参数

Refresh button:刷新路标点

当前路标点被编辑得乱七八糟的时候可以刷新路标点恢复数据库中的路标点

Max Waypoint Dis:两点间最大距离

两个路标点距离太远会影响玩家体验。建议使用默认设置

Line Color:线颜色

设置路标点连线和方向线的颜色

Line Width:线宽度

设置路标点方向线与路标点的距离

Show Waypoint:显示隐藏路标点连接线

如果感觉看花眼了,可以选择隐藏此项

Show Waypoint Dir:显示隐藏路标点方向线

如果感觉看花眼了,可以选择隐藏此项。可更精确的预览设置好的路标点

Align Ground:对齐地面

路标点是否与地面保持一定高度,取消选择则Dis Ground项无意义

Dis Ground:路标点离地面距离

每个路标点距离地面的高度,决定赛车复位后从多高的位置下落!根据所需调整。建议使用默认

Is Around Circle:是否绕圈

地图是单圈还是多圈,如果是单圈则不勾选,如果是多圈则编辑完路标点后在勾选,不然线会看起来非常乱。切记!!!

4、开始编辑路标点

首先,我们把地面碰撞的tag改为:Map_ground。这一步一定要设置,很重要

将编辑器视角移动到赛道起点,然后选择菜单栏——CarWaypoints——Add Waypoint(快捷键:Alt + A)

强烈建议使用快捷键添加,效率很高

添加以后你会看见一条蓝色的线,调整到赛道中央

然后旋转它将他蓝色的轴面对着赛车行驶的方向,如下图:

调整完成后Alt + A继续添加一个新的路标点,如果你上一步没有设置错的话,我们可以看见一个三角形

如果新添加的路标点被地面遮挡住了,那么就向上移动,保证他在地面之上即可

如法炮制继续添加路标点

在弯道处时,我们调整两点之间的距离,以缩短保证精确性

添加时注意方向箭头是不是对准赛道中央,且蓝色的轴对着正确的形式方向

蓝色轴是自动对齐的,你只需要注意当前添加的路标点蓝色轴即可

我们选中并放大一个路标点查看,可以看见路标点下有一条红线,如果你勾选了对齐地面的话,就可以看见

继续添加路标点,让他围地图一圈,添加完成后勾选Waypint Messages的Is Around Circle

这个时候就可以看见最后一个路标点和第一个路标点连接上了

5、保存路标点

路标点编辑完成了,当然要保存,不然我们怎么使用

菜单栏——CarWaypoints——Save Waypoints(快捷键Alt + S)

看见右下角调试输出保存成功的提示就说明保存成功了

6、路标点数据文件的使用

Waypoint Message只是编辑模式中使用的

编辑完成后可以直接删除创建的Waypoints

插件包中我提供了demo,那个demo是网上下载的Car Physics,一个赛车演示

因为我自己的模型涉及版权问题,所以就不能提供给大家,很抱歉

赛车部分的代码和CarWaypoints完全不冲突

我单独写了一个脚本CarController.cs,里面演示了一些基本CarWaypoints功能,这里我就不多解释了

那几个方法我打算抽时间在单独解释一下原理,如果看不懂的到时候看我博客就知道了

路标点数据文件是用XML储存的

解析我提供了路径读取和数据读取两种方式

拖动刚才保存的Waypoints Data文件到CarControl脚本的waypoints data参数上

运行游戏,就可以看见效果了

R键复位,反向行驶和圈数计算会以debug的形式输出

毕竟第一次写插件,插件帮助文档也是第一次写

不足的地方还请包涵指正

CarWaypoints插件演示视频:http://v.youku.com/v_show/id_XODk1NDQyOTg0.html

CarWaypoints插件演示视频下载地址:链接: http://pan.baidu.com/s/1dD9GwjJ 密码: mj4c

CarWaypoints v1.0插件下载地址(包含demo):链接:http://pan.baidu.com/s/1c0yTc0g 密码:v743

本文链接:http://www.cnblogs.com/shenggege/p/4295616.html

unity3d CarWaypoints插件的更多相关文章

  1. unity3d 游戏插件 溶解特效插件 - Dissolve Shader

    unity3d 游戏插件 溶解特效插件 - Dissolve Shader   链接: https://pan.baidu.com/s/1hr7w39U 密码: 3ed2

  2. 出售 unity3d串口插件

    出售unity3d串口插件 利用C++编写,解决了mono库 serialport的bug. serialport串口的bug地方在于: 1.有一些数据无法收到. 2.会丢失第一个字节. 3.延迟 我 ...

  3. Unity3D框架插件uFrame实践记录(一)

    1.概览 uFrame是提供给Unity3D开发者使用的一个框架插件,它本身模仿了MVVM这种架构模式(事实上并不包含Model部分,且多出了Controller部分).因为用于Unity3D,所以它 ...

  4. Unity3D 常用插件

    1.FX Maker FX Maker是一款制作特效的工具,它专为移动操作系统做了优化.FX Maker包括300种Prefab特效,300种纹理结构.100种网格.100种曲线效果.支持英文和韩文, ...

  5. Unity3D 集合插件目录

    http://unity3d.9ria.com/?p=2171 这个基本上很全 下面自己觉的还不错的,当然那些大众的就不列出来了 一.KGFMapSystem Quick Start : http:/ ...

  6. Unity3D TouchScript 插件教程一

    只是个人学习小记,谈不上教程,但是为了命中搜索引擎关键词,只好装逼了:),可能对于大家来说太简单了吧,网上中文教程没搜到 ,只好自己摸索了. 插件资源下载地址:https://www.assetsto ...

  7. [Unity]Unity3D编辑器插件扩展和组件扩展

    1. 插件扩展 1.1. 命名空间 using UnityEditor; using UnityEngine; //非必需,常用到 1.2. 使用语法 [MenuItem("Assets/M ...

  8. 【狼】unity3d iTween插件的学习

    之前在一个三消游戏项目中接触到iTween,最近又要用到,发现iTween真的是一个很好用,省事的插件,有很多函数里包括 Hashtable的他都用一个函数很简单的完成了, 举几个例子 void Lo ...

  9. 反混淆、反编译unity3d动画插件DFTweenLite得到源代码

    出处:http://blog.csdn.net/u010019717 author:孙广东      时间:2015.3.17   23:00 我为什么要得到这个源代码.由于有洁癖! 对于Itween ...

随机推荐

  1. Spring源码阅读系列总结

    最近一段时间,粗略的查看了一下Spring源码,对Spring的两大核心和Spring的组件有了更深入的了解.同时在学习Spring源码时,得了解一些设计模式,不然阅读源码还是有一定难度的,所以一些重 ...

  2. CPU卡与M1卡的区别

    简单来讲CPU卡比M1卡更加安全.扩展性更好.支持更多应用   CPU卡 M1 操作系统 带有COS系统 无COS系统 硬件加密模块 硬件DES运算模块 无实现算法的硬件加密模块 算法支持 标准DES ...

  3. 今天简单说一下cdc 的使用

    从08开始,sql server 提供了一种叫做 变更数据捕获 cdc(Change Data Capture) 的功能,可以通过启用这个功能,来实现查看数据库中的表对象的数据的变化情况.(我感觉就是 ...

  4. 记一次MongoDB Map&Reduce入门操作

    需求说明 用Map&Reduce计算几个班级中,每个班级10岁和20岁之间学生的数量: 需求分析 学生表的字段: db.students.insert({classid:1, age:14, ...

  5. 关于SUID、SGID、Sticky

    SUID属性 passwd命令可以用于更改用户的密码,一般用户可以使用这个命令修改自己的密码.但是保存用户密码的/etc/shadow文件的权限是400,也就是说只有文件的所有者root用户可以写入, ...

  6. A coroutine example: Streaming XML parsing using xml_parser

    <?php error_reporting(E_ALL); /* Data can be send to coroutines using `$coroutine->send($data) ...

  7. 地图编辑器V3

    V3.2.4 (2014-07-03) ---------------------------1. 保存地图的锁定与可视状态:2. 地图单独存为map格式结尾的文件与导出的XML文件区别:3. 修正瓷 ...

  8. 支付宝APP支付开发- IOException : DER input, Integer tag error

    支付宝APP支付Java开发报错: 1 java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: I ...

  9. 让CKEditor支持FLV视频播放

    平时都是做C/S开发,最近需要维护一个协会门户网站. 文章编辑使用CKEditor 3.3.2 + ckfinder 2.0的方案.可是这种方案居然不支持FLV视频播放,度娘说以前的老版本是支持的,这 ...

  10. 景瑞地产商业智能BI整体实施过程

    1.1行业背景 1.1.1景瑞地产 景瑞地产成立于1993年,专注于房地产开发,并一直秉持“永远诚信.恪守专业.锐意进取.共赢未来”的核心价值观和“舒适之道”的企业使命. 景瑞地产,源自上海.通过多年 ...