找回密码
 立即注册
查看: 5581|回复: 75

[常见问题] unity 射线(Fps)的一些浅谈

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

/**
蛮牛教育
By__Robin
*/
public class rayy : MonoBehaviour {

  // Use this for initialization
  void Start () {
  
  }
  
  // Update is called once per frame
  void Update () {
        //生成一道射线
        Ray ray = camera.ScreenPointToRay(Input.mousePosition);
        //射线碰撞
        RaycastHit hit;
        //打印这条射线
        Debug.DrawRay(ray.origin, ray.direction * 10, Color.yellow);
        //当按下鼠标左键的时候
        if (Input.GetMouseButtonDown(0))
        {
            //如果射线碰到物体的话
            if (Physics.Raycast(ray, out hit, 100))
            {
                //如果碰到物体的tag等于cu的时候
                if (hit.collider.tag == "cu")
                {
                    Debug.Log("蛮牛教育/www.unitytrain.com.cn");
                }
            }
        }
  }
}
[/code]
发表于 2017-4-7 14:18 | 显示全部楼层
很不错
发表于 2017-4-7 14:18 | 显示全部楼层
楼主是超人
发表于 2017-4-7 14:02 | 显示全部楼层
顶顶多好
发表于 2017-4-7 14:05 | 显示全部楼层
真心顶
发表于 2017-4-7 14:00 | 显示全部楼层
难得一见的好帖
发表于 2017-6-4 20:31 | 显示全部楼层
很不错
发表于 2017-6-4 19:59 | 显示全部楼层
好帖就是要顶
发表于 2017-6-4 20:09 | 显示全部楼层
真心顶
发表于 2017-6-4 20:08 | 显示全部楼层
很好哦
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-4-30 11:57 , Processed in 0.153802 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表