【Unity3D】枪战游戏—弹孔设置

  以子弹为原点,发射射线,如果射线检测到障碍物,则返回射线与障碍物的碰撞点

  在该点处实例化出弹孔贴图

 1 void Update () {
 2         transform.Translate (Vector3.forward * Speed * Time.deltaTime);
 3         //用射线检测,子弹的碰撞,当物体在两点之间产生的射线内时,算作发生碰撞
 4         //1.获得射线的起点(原点)
 5         //2.获得射线的方向
 6         //3.获得射线的距离
 7         Vector3 oriPos = transform.position;//1.射线的起点
 8         Vector3 direction = transform.position - oriPos;//2.方向
 9         float ength = (transform.position - oriPos).magnitude;//3.射线的距离,取向量的大小
10         //光线投射碰撞
11         RaycastHit hitinfo;//存储碰撞信息
12         //光线投射,检测是否发生碰撞
13         bool isCillider = Physics.Raycast (oriPos,direction,out hitinfo,ength);
14
15
16         //在碰撞点生成弹孔贴图
17         if (isCillider) {
18             //射线检测到物体,执行以下动作
19             int index = Random.Range(0,2);//随机生成0||1
20             GameObject bulletHolePrefab = bulletHoles[index];
21             Vector3 pos = hitinfo.point;//撞击点
22             pos.y += 0.5f;//向上移动,防止与物体平面重叠
23             GameObject go = GameObject.Instantiate(bulletHolePrefab,pos,Quaternion.identity) as GameObject;
24             //调整贴图的方向
25             //使弹孔贴图,贴于物体平面,与平面平行
26             go.transform.LookAt(hitinfo.point - hitinfo.normal);
27         }
28     }
时间: 2024-08-30 07:40:26

【Unity3D】枪战游戏—弹孔设置的相关文章

unity3d 赛车游戏——复位点检测

一直没有时间写博客 昨天我的CarWaypoints插件也告一段落了 今年没回家,过年就我一个人 挺无聊的,那就休息一天写几篇博客吧 我的代码可能很少,但是思路很重要 希望不懂的朋友别只copy代码 赛车游戏的话赛车难免会冲出跑道.掉入水坑.卡在障碍物上....等情况 那么问题来了,遇到这些情况怎么办呢? 玩家玩得好好的,难道就因为遇到这些情况要退出游戏重新进入吗? 那当然是不现实的,要是我的话果断卸载游戏 还要骂一句做游戏的人是脑残啊 我想你不希望玩家骂你是脑残吧,哈哈哈 新技能,赶快GET起

《Unity3D/2D游戏开发从0到1》正式出版发行啦

书籍信息:   书籍的名称: <Unity3D/2D 游戏开发从0到1>   书号(ISBN): 978-7-121-26239-5    出版社: 电子工业出版社   发行时间:2015年7月1日 写作背景:    2015年6月30日我收到电子工业出版社张迪老师寄来,正式发行的<Unity3D/2D游戏开发从0到1>书籍.这本凝结着大半年心血的作品让我感慨万千.   本人从事游戏.软件与教学十多年,一直梦想可以进一步服务于全国广大的游戏与软件从业开发人员.14年下半年电子工业出

unity3d 给游戏添加音源 Unity3d adds a sound source to the game

unity3d 给游戏添加音源 Unity3d adds a sound source to the game 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:[email protected] E-mail: 313134555 @qq.com 视频目录及链接: 16 创建游戏工程和游戏场景,添加游戏对象  9:00  17 创建游戏脚本,脚本与对象绑定  5:43  18 游戏发布与运行   | 6:15  19 常用的四种外部资源导入方法  4:10  20 采用包和

《Unity3D/2D游戏开发从0到1》正式出版发行

去年个人编写的Unity书籍正式在2015年7月正式发行,现在补充介绍一下个人著作.书籍信息: 书籍的名称: <Unity3D/2D 游戏开发从0到1> 书号(ISBN): 978-7-121-26239-5 出版社: 电子工业出版社 发行时间:2015年7月1日 写作背景: 2015年6月30日我收到电子工业出版社张迪老师寄来,正式发行的<Unity3D/2D游戏开发从0到1>书籍.这本凝结着大半年心血的作品让我感慨万千. 本人从事游戏.软件与教学十多年,一直梦想可以进一步服务于

Unity3D ARPG游戏开发《最初的幻想》之强化敌人AI,折腾的GUI

 昨天搞了死亡的完善与提示栏的工作.今天的话,首先再升级一下敌人的Ai吧.毕竟在玩家在敌人身后使劲攻击的话,这敌人也都不会有反应的,太不合理了. 打开Enemy脚本,在最前面"变量"标签中,先定义一个计数器,因为必须考虑到被同类"误伤"的情况: private int m_attackMeCount=0;//被一个同类对象攻击的次数 然后再在最下面的WaitForAttack函数中将自己的对象传入自己的攻击对象,以作判断: m_damageTarget.m_ch

Unity3D ARPG游戏开发《最初的幻想》之GUI背包系统实现

昨天做了角色暴击…GUI浮动提示栏.现在的话,终于该继续前天被残忍打断的物品栏之类的GUI界面了! 首先还是把“属性”.“物品”.“技能”.“系统设置”几个按钮放上去罢. 我是这样设计的: 美工方面确实不是俺的长处,资源也都是用的DaikonGUI自带的. 新建一个Panel,用于盛放这几个按钮,Anchor设置为Right和Bottom即可. 然后再将这个Panel命名为“MyBottomBar”,在这个Panel中新建四个按钮,放上相应的图标即可.如果为了好看点,还可以设置Havor状态的显

Unity3D RPG游戏制作 随堂笔记(2)

大家好,我是冰糖咖啡,来自山东的一名大三的Unity3D学习者,最近在通过泰课在线学习<Unity3D RPG游戏开发>,写下一些学到的东西: Water(Basic) 为场景中的河流添加水面,这里需要提醒一下,在Unity3D 5.0版本以前可以直接在菜单栏中找到Asset,单击它asset,再单击import package ,最后单击water(basic).弹出对话框,直接单击import,导入资源包. 而在Unity3D 5.x版本中,将水资源包挪到Environment中,所以需要

关于《Unity3D/2D游戏开发从0到1》书籍再版说明

关于<Unity3D/2D游戏开发从0到1>第一版本在2015年7月1日全国发行,累计得到不少国内高校教师.培训机构的好评.但是由于Unity官方对于技术不断的升级与版本的快速迭代,基于Unity4.6版本的教学知识体系,则略显滞后.    随着2017年7月份,Unity2017.1正式版本的推出,<Unity3D/2D游戏开发从0到1>书籍的再版,则正式提上日程. 目前2017年8月份再版工作已经进行过半,现在给各位小伙伴汇报一下工作,希望得到更好的建议.现在说说第二版本的总体

Unity3D 入门 游戏开发 Unity3D portal game development

Unity3D 入门 游戏开发 Unity3D portal game development 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:[email protected] E-mail: 313134555 @qq.com 视频学习链接:Video learning link: [教学视频]深入浅出Unity3D--第一篇-何韬-CSDN学院-在线学习教程 u3d 4.6 c#  性能上 比 java脚本 好一些 C # is better than a Java