位置: 编程技术 - 正文

Unity3d实现的十字路口的模拟(二)(unity3d功能介绍)

编辑:rootadmin

推荐整理分享Unity3d实现的十字路口的模拟(二)(unity3d功能介绍),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity unity3d,unity3d功能介绍,unity3d功能介绍,u3d unity3d,unity3d基本操作,unity3ds,unity3d功能介绍,unity3d总结,内容如对您有帮助,希望把文章链接给更多的朋友!

ok,下面就进入我们的讲解工作啦,我的这个的讲解应该是比较适合初学者的,所以会有一些啰嗦什么的就请大家见谅啦!

想必来看这个blog的,大家都已经知道了Unity3D的一些基本的操作了吧!这里我也就不一一赘述了,毕竟不是什么一个Unity的课程。ok,我这里用的是Unity3D5,然后下面来说一下关于这个小程序的小车的建立。

一开始的时候,我只是在网上找了一些相关的3d模型然后直接拉入Unity中(注意一定要是fbx&#;式的哦),我当时天真的不断地调节车速和轮子的转动当然就是在脚本里写一些平移和旋转的代码啦,虽然离近了看还是不真实,但是至少我们的车轮还是动了是吧~但是,当遇到拐弯的时候,我就遇到了瓶颈,如果一个正常的车,它的拐弯一定是车头引导的啊,但是我现在无论怎么变也只是看着车头和车尾一起平移过去的,于是我开始查找,找了很多资料(或许也是刚学,没有输入正确的关键词吧),终于让我发现了一个unity自带的一个函数库——WheelCollider,这个类真的是天生就是为赛车游戏开发而设立的啊!这里的运动完全是通关后轮的驱动还带动前轮(当然也可以四驱),而拐弯也就是前轮的带动,实在是完美的解决了我的问题,但是问题也就随之而来了,那就是怎么用这个?我找了好多的资料,都是说把这个库拖入轮子上就好,但是,我拖入后根本就是无法和预想的一样啊,后来我好不容易发现了一个教学视频真的是帮了我的大忙!我觉得文字还是不够直观,所以我觉得大家还是去看看这个视频,真的很有用,那位老师教的很好~这里给出一个链接,大家可以去看看(一共分为了五个你可以找一下车轮的设置在哪里)可以到这里学习: 下面就说一下具体的实现吧,话说让车子拐弯而又不脱离公路哪里我还真的是研究了好半天,怎么也找不到方法,终于想起了下载Unity自带的例子,于是我就去找,还真的找到了一个有关汽车ai的例子,也是千辛万苦的读下来,但是其中很多算法还是不明白,但是我发现我已经找到了一个方法了,而且是不需要ai的。受到例子的启示,我本来是想直接还是用Unity的一个WayPoint Circuit的但是这个是建立环路的,而我的想法是建立一条单向道路,所以我就防着这样的思路,建立了一个我的汽车行进的路线,如下图所示:

看到啦那个way_1那些标志了吗?这就是我们的路标点,其实就是一个个的Cube然后把他们保留Collider但是把形状渲染取消,所以就成了一个个透明的小盒子,给他们加入触发器,当校车碰到这个标志点的时候就让小车指向下一个标志点,到达最后一个标志点的时候把这个校车Destory,由于我们的路标点很少只有五个,如果让校车驶向一个个的路标点的话那么必然就会导致小车行驶的十分生硬,所以受到了Unity自带例子的启发我给没一个小车前面加入了一个透明的引导球这样的话让引导球驶向标志点,小车追着引导球(当然小车和引导球之间保持一样的速度),引导球就起到了一个缓冲的作用,保证了小车的圆滑的拐弯。下面是一个小车整体的组成:

Unity3d实现的十字路口的模拟(二)(unity3d功能介绍)

看到了左边的小球了吗?那个除了引导的作用还有探测前方是否有车的情况,如果它有碰撞的话那么就会出现一个汽车被它后面的另一个汽车离得好远撞飞了,所以不可能让它具有碰撞性,所以,我们就应该给他设置为触发器方式,但是再次运行的时候你就会发现,这个引导球不见了,小车也不按照既定的路线行驶了,我通过种种的实验发现需要把小球的重力取消就ok!

这个是小球的检视面板看那个IsTriger打了勾就代表这个小球无碰撞,是一种触发器模式,而那个Use Gravity没有打勾就是没有重力的影响。而那个ballmove就是我们要写的函数,小球有两个任务一个是引导,一个是检测车辆,下面给出代码:

这里都有相应额注释我相信大家应该都可以看懂,其实代码并不难,重要的是一个解决问题的方式,ok小球和路径的建立就说到这里~

对了,想必大家也都看到了我有很多需要确定字符串的地方例如:way_name=="left_right"其实这里的字符串是要和建立物体的命名取得一致的,如下图给一个例子:

ok,今天这一节就讲到这里啦~

【Unity】技巧集合 转载:

Unity3d实现的十字路口的模拟(四) ok,我们已经知道我们的预制物体都是怎么个结构了,下面我们就来说一下,具体的随机创造车辆的函数,我是把这个脚本放到了我的地形这个物体上,

Unity3d实现的十字路口的模拟(五) 这一节我们来说一下红绿灯的控制和总结一下经验。红绿灯的模型,本来也是想要在网上下载结果找来半天没有找到相应的资源,于是就自己用3dmax做了

标签: unity3d功能介绍

本文链接地址:https://www.jiuchutong.com/biancheng/380100.html 转载请保留说明!

上一篇:Unity3d实现的十字路口的模拟(一)(unity3d基本操作)

下一篇:【Unity】技巧集合(unity操作教程)

  • 工资出现负数怎么申报个税
  • 债权投资减值的账务处理
  • 没有纸质机票电子行程单电子版可以报销吗
  • 分公司是独立核算还是非独立核算
  • 应收票据贴现的含义
  • 特许权使用费怎样向海关申报
  • 可抵扣租赁费如何摊销做会计分录呢?
  • 资产负债表期末余额怎么算
  • 物业公司收取公摊水电费合理吗
  • 增值税税负多少算高
  • 不开票收入需要什么票据吗
  • 事业单位只能开具0税率的普票
  • 买入返售金融资产什么意思
  • 喷绘广告公司税率是多少
  • 出差补贴是否缴纳个人所得税 北京
  • 境内企业技术转让 增值税
  • 企业处理二手车增值税没交,有什么影响
  • 旧物品翻新
  • 跨年销项税红字发票会计处理?
  • macbookpro如何检测
  • PHP:mb_substitute_character()的用法_mbstring函数
  • php分页函数封装
  • 苹果电脑快速启动键是哪个
  • 下载的压缩文件打不开
  • 收到发票已入账,退回怎么做账
  • 电脑开机按f8出现please select
  • 出售报废边角料税率
  • 应收借方表示什么
  • 时点数和时期数 订单量 库存量点击量
  • php curl_multi_init
  • websocket tcpsocket
  • Java+JSP+Mysql+Tomcat实现Web图书管理系统
  • lua命令库
  • php7 数组
  • 绿化公司属于哪个行业
  • 法人名称是什么意思
  • 老板出差餐费费用怎么处理
  • python中的pandas
  • 银行手续费需要开发票吗
  • 建筑业工会经费计提比例
  • 上月未结账本月不能结账
  • 资产损失账务处理要求
  • 监理公司成本核算方法
  • 企业事业结余科目有哪些
  • 增值税期末留抵退税原因采集确认单
  • 总账与总账之间的核对
  • 企业尚未给予指定用途
  • 固定资产出售的收入属于收入吗
  • 本期预付的费用属于本期费用吗
  • 材料按计划成本计价下,外购材料结算
  • 土地作为无形资产需要计提折旧吗?
  • 开红字发票必须要收回原发票并作废吗?
  • 国内佣金如何入账
  • 从别的公司买承兑汇票
  • 新会计准则2019待摊费用
  • 企业未分配利润包括哪些
  • 删除windowsapp
  • 电脑删除ie后怎么恢复
  • linux中apt-get和yum
  • mac截图快捷键设置
  • os x10.11el capitan beta2下载地址
  • win8.1应用商店无法连接
  • opengl画矩形函数
  • opengl阴影平移
  • 举例说明什么是判断
  • js与css有什么区别
  • Android使用领域
  • shell linux命令详解
  • cocos2dx-js
  • 举例详解民法典第502条
  • jquery怎么实现单页面
  • js实现双击屏幕放大
  • js能实现的简单效果
  • js操作对象的方法
  • javascript的常用例子
  • javascript的push方法
  • 税务稽查时间最长多久?
  • 职称申报结束多久公示
  • 公司买社保公司倒闭了怎么办
  • 辽宁地方税务局招聘
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设