近期热门
粉丝5
关注 0
获赞 0
unity 射线(Fps)的一些浅谈

[U3D] unity 射线(Fps)的一些浅谈

[复制链接]
6539 3 0 0 9年前 举报
在蛮牛教育上看了一个噩梦射手的教程,在游戏中有一个大模块就是射击类游戏,不管是第一人称还是第三人称,既然谈到射击就离不开射线碰撞和射线检测,在我的理解中,事件就是要被触发的,触发不是碰撞就是通知,如果做一个射击类的游戏的话,是否子弹打到别人就是靠碰撞触发的,在你的枪口设置一条射线,去与敌人的collider检测,或者让发出的子弹检测是否与敌人碰撞,子弹可以用对象池来管理(在蛮牛教育的论坛上我有说过对象池技术,可以去指点一下),今天就先不谈子弹的事,我来给向我这样的小白普及一下射线碰撞,希望大家看完都能做出一个简单的射击游戏demo~~
  这段代码帮到你的枪口或者炮弹口,运行就可以看到效果了
  1. using UnityEngine;
  2. using System.Collections;

  3. /**
  4. 蛮牛教育
  5. By__Robin
  6. */
  7. public class rayy : MonoBehaviour {

  8.         // Use this for initialization
  9.         void Start () {
  10.        
  11.         }
  12.        
  13.         // Update is called once per frame
  14.         void Update () {
  15.         //生成一道射线
  16.         Ray ray = camera.ScreenPointToRay(Input.mousePosition);
  17.         //射线碰撞
  18.         RaycastHit hit;
  19.         //打印这条射线
  20.         Debug.DrawRay(ray.origin, ray.direction * 10, Color.yellow);
  21.         //当按下鼠标左键的时候
  22.         if (Input.GetMouseButtonDown(0))
  23.         {
  24.             //如果射线碰到物体的话
  25.             if (Physics.Raycast(ray, out hit, 100))
  26.             {
  27.                 //如果碰到物体的tag等于cu的时候
  28.                 if (hit.collider.tag == "cu")
  29.                 {
  30.                     Debug.Log("蛮牛教育/www.unitytrain.com.cn");
  31.                 }
  32.             }
  33.         }
  34.         }
  35. }
复制代码

0
点赞
0
打赏
0
添加到收藏夹

0

点击复制链接

使用微信扫码分享
一次扣10个券
全部评论3
您需要登录后才可以回帖 登录

感謝分享這麼好的資源!
9年前
回复

使用道具 举报

0.0
9年前
回复

使用道具 举报

不错不错,适合起步学习。
9年前
回复

使用道具 举报

您当前使用的浏览器IE内核版本过低会导致网站显示错误

请使用高速内核浏览器或其他浏览器