百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Unity3D三分钟实现简单的赛车漂移

haoteby 2025-01-31 13:09 10 浏览

提到赛车游戏,大家最关心的应该就是漂移吧?!

从学Unity开始,我就一直在断断续续的研究赛车,因为自己技术太烂、悟性太差等原因,我走了不少弯路。也许你会说,网上那么多资料,你不会查啊?是啊!网上一搜一大把Unity赛车例程,还有好几篇被转发了很多次的赛车漂移实现思路!

wheelcollider:自己技术太烂搞不定

赛车例程几乎都是用wheelcollider来实现的,我一直以为wheelcollider的参数简直就不是人能调的,直到上个星期我才听我好朋友阿亮说wheelcollider的参数不是随便调的,它是按照真实赛车来实现的,所以参数也要按照真实赛车来调

比如赛车车轮的间距、赛车重量、悬挂高度......

就好比小轿车使用了大货车的悬挂参数、大货车使用了小轿车的车轮参数。好吧,我承认我自己也是听得迷迷糊糊!

反正总而言之一句话:wheelcollider的参数的确是非常难调,但是懂的人还是能一下子就调好的(好像说的是废话,我是不懂的- -)

实现思路的文章:自己悟性太差搞不定

然后是关于赛车漂移实现思路的文章,有几篇被转发了很多次的文章,被转发了那么多次,那么漂移应该就是这个实现思路吧?可是大家的实现方式都不一样。我根本不知道漂移的实现是否有一个唯一的标准,如果有,那这个标准又是什么呢?

看了这些文章,漂移我还是没有研究出来,还是一点思路都没有,后来我偶然得到了一份商业赛车游戏的代码,然后漂移就实现出来了~

听我说起来好像挺容易的!其实研究那份代码的过程特别煎熬!唉,不说了,都是泪啊!!!

声明:下文中我要实现出来的漂移仅仅是个简单的漂移,非常简单!!!一个思路而已,并没有用到那份商业赛车游戏中的任何一句代码!

注意:请使用Unity4.X版本,5.X版本的wheelcollider参数又变了,要哭了...

准备工作:

1、下载CarWaypoint插件,使用插件中的demo。点击原文链接查看下载地址~

2、easytouch插件。

导入CarWaypoint插件和easytouch插件,打开CarWaypoints/demo/Car Physics 场景,可以看到一辆车。

Hierarchy面板除了前四项其余全部隐藏,运行起来跑一下,还是挺有漂移的感觉的,这是调wheelcollider参数调出来的。我们现在需要做的是用摇杆操作赛车,用另外一个思路让赛车转弯时会漂移。

创建一个虚拟摇杆取名为:MoveJoystick,InteractionType选择Event Notification

新建一个C#脚本:RockerController,复制以下代码~





RockerController挂到MoveJoystick上。

新建一个脚本:FollowCamera并复制以下代码~



将MainCamera上的SmoothFollowA脚本删除,替换为刚才新建的FollowCamera脚本

打开CarController脚本,添加几个变量

在Start中设置赛车质量中心(越低越不容易翻车)和摇杆回调。

最后,在FixedUpdate中加入三句代码。

看到这里,是不是吓了一跳,这漂移也太简单了吧!一句代码搞定漂移、一句代码搞定动力。

原理是根据摇杆旋转的角度车身也相对应的旋转,加上动力有惯性,就产生圆弧形的漂移了。

思路就是这么简单,也许你认为这实在是太简单得离谱了,可我却花费了一年多的时间才明白。

现在,你只需要花几分钟看看这篇没什么高深技术的文章,就能知道漂移实现的思路。

运行跑一下,有漂移效果,但是似乎不怎么明显,不够顺是不是?

解决方法很简单,在后面两个车轮处加一个向前推的力,在加一个目标方向侧推的力,就能每次都画出完美的漂移弧度。

文章标题叫“三分钟实现简单的赛车漂移”,写的过程中才发现三分钟更本做不完,因为我自己在做的时候,很多代码都是之前写好了的,直接实现漂移部分的代码就可以了,所以感觉三分钟应该够了,就几句代码~

相关推荐

如何随时清理浏览器缓存_清理浏览器缓存怎么弄

想随时清理浏览器缓存吗?Cookieformac版是Macos上一款浏览器缓存清理工具,所有的浏览器Cookie,本地存储数据,HTML5数据库,FlashCookie,Silverlight,...

Luminati代理动态IP教程指南配置代理VMLogin中文版反指纹浏览器

介绍如何使用在VMLogin中文版设置Luminati代理。首先下载VMLogin中文版反指纹浏览器(https://cn.vmlogin.com)对于刚接触Luminati动态ip的朋友,是不是不懂...

mac清除工具分享,解除您在安全方面的后顾之忧

想要永久的安全的处理掉重要数据,删除是之一,使用今天小编分享的mac清除工具,为您的操作再增一层“保护”,小伙伴慎用哟,一旦使用就不可以恢复咯,来吧一起看看吧~mac清除工具分享,解除您在安全方面的后...

取代cookie的网站追踪技术:”帆布指纹识别”

【前言】一般情况下,网站或者广告联盟都会非常想要一种技术方式可以在网络上精确定位到每一个个体,这样可以通过收集这些个体的数据,通过分析后更加精准的去推送广告(精准化营销)或其他有针对性的一些活动。Co...

辅助上网为啥会被抛弃 曲奇(Cookie)虽甜但有毒

近期有个小新闻,大概很多小伙伴都没有注意到,那就是谷歌Chrome浏览器要弃用Cookie了!说到Cookie功能,很多小伙伴大概觉得不怎么熟悉,有可能还不如前一段时间被弃用的Flash“出名”,但它...

浏览器指纹是什么?浏览器指纹包括哪些信息

本文关键词:浏览器指纹、指纹浏览器、浏览器指纹信息、指纹浏览器原理什么是浏览器指纹?浏览器指纹是指浏览器的各种信息,当我们访问其他网站时,即使是在匿名的模式下,这些信息也可以帮助网站识别我们的身份。...

那些通用清除软件不曾注意的秘密_清理不常用的应用软件

系统清理就像卫生检查前的大扫除,即使你使出吃奶的劲儿把一切可能的地方都打扫过,还会留下边边角角的遗漏。随着大家电脑安全意识的提高,越来越多的朋友开始关注自己的电脑安全,也知道安装360系列软件来"武装...

「网络安全宣传周」这些安全上网小知识你要知道!

小布说:互联网改变了人们的衣食住行,但与之伴生的网络安全威胁也不容忽视。近些年来,风靡全球的勒索病毒、时有发生的电信诈骗、防不胜防的个人信息泄露时时刻刻都威胁着我们的生活。9月18日-24日是第四届...

TypeScript 终极初学者指南_typescript 进阶

在过去的几年里TypeScript变得越来越流行,现在许多工作都要求开发人员了解TypeScript...

jQuery知识一览_jquery的认识和使用

一、概览jQuery官网:https://jquery.com/jQuery是一个高效、轻量并且功能丰富的js库。核心在于查询query。...

我的第一个Electron应用_electronmy

hello,好久不见,最近笔者花了几天时间入门Electron,然后做了一个非常简单的应用,本文就来给各位分享一下过程,Electron大佬请随意~笔者开源了一个Web思维导图,虽然借助showSav...

HTML5 之拖放(Drag 和 Drop)_html拖放api

简介拖放是一种常见的特性,即抓取对象以后拖到另一个位置。在HTML5中,拖放是标准的一部分,任何元素都能够拖放。先点击一个小例子:在用户开始拖动<p>元素时执行JavaScrip...

如何用JavaScript判断输入值是数字还是字母?

在日常开发中,我们有时候需要判断用户输入的是数字还是字母。本文将介绍如何用JavaScript实现这一功能。检查输入值是否是数字或字母...

图形编辑器开发:快捷键的管理_图形编辑工具

大家好,我是前端西瓜哥。...

浏览器原生剪贴板:原来它能这样读取用户截图!

当我们使用GitHub时,会发现Ctrl+V就能直接读取用户剪贴板图片进行粘贴,那么它是如何工作的?安全性如何?...