tps(第三人称射击游戏) 4.角色射击
2017-11-19 22:39
274 查看
人物射击第一时间想到的方法是往前发射一条射线
初始化LineRenderer;
鼠标左键按下射击
通过第一个射线r得到屏幕中心射线触碰的点,再绘制射线从人物到射中点。
但只是一个取巧的方法,而且如果r没有碰到物体就无法绘制射线。
LineRenderer line; Ray r; Ray bullet; RaycastHit hit; line = this.gameObject.AddComponent<LineRenderer>(); line.SetVertexCount(2); line.material = new Material(Shader.Find("Particles/Additive")); line.SetColors(Color.red, Color.red); line.SetWidth(0.05f, 0.05f);
初始化LineRenderer;
if(Input.GetMouseButtonDown(0)) { Shooting(); }
鼠标左键按下射击
void Shooting() { r.origin = mcamera.transform.position; r.direction = mcamera.transform.forward;//设定r射线 if(Physics.Raycast(r, out hit, 1000f)) { GameObject gameObj = hit.collider.gameObject; if (gameObj.tag == "zombie") { gameObj.transform.position += this.transform.forward * shootback_dis; gameObj.SendMessage("ApplyDamage",30); } }//通过tag判断是否为敌人 如果射中的是敌人,调用其伤害函数,并将其击退 bullet.origin = transform.position; bullet.direction = hit.point - transform.position;//子弹的弹道为人物到射中的物体 line.enabled = true; line.SetPosition(0, transform.position); line.SetPosition(1, hit.point); //绘制射线 sound.clip = weaponList[(int)weaponIndex.ak].sound_shoot; //播放枪声 this.sound.Play(); Invoke("detroyline", 0.05f);//消除弹道 }
通过第一个射线r得到屏幕中心射线触碰的点,再绘制射线从人物到射中点。
但只是一个取巧的方法,而且如果r没有碰到物体就无法绘制射线。
相关文章推荐
- tps(第三人称射击游戏) 1.相机
- tps(第三人称射击游戏) 2.人物基础运动
- tps(第三人称射击游戏) 3.敌人&简单AI
- Unity3D 第三人称的游戏角色的单选和移动
- 使用C语言和DX库编写东方风格的STG射击游戏--------第一章--------创建基本界面以及可以移动的角色
- UE4第三人称射击游戏总结三
- UE4第三人称射击游戏总结二
- Unity3D游戏开发-模仿项目一 第一人称角色射击(有源代码)
- 慕课英雄第三人称射击游戏创作笔记
- ios射击类游戏简单代码射击
- 韩国手机游戏Elf Defense角色场景
- 地址栏射击游戏!对,你没看错,就是在地址栏上玩的游戏,有图有真相!
- 基于C#弹幕类射击游戏的实现——(二)渲染
- Unity3D第一人称第三人称角色控制组件修改C#版
- DirectX游戏开发之3D角色动起(下)
- 第六周项目2-带武器的游戏角色
- 角色扮演游戏引擎的设计原理
- 原创射击游戏《重组3D Ⅱ:无限》(附代码)
- unity3d-游戏实战突出重围,第四天 添加角色
- 第五周项目二 游戏中的角色类(2)