zoukankan      html  css  js  c++  java
  • 【Unity 3D】碰撞检测

    unity3d中,能检测碰撞发生的方式有两种,

    • 碰撞器
    • 触发器

    概念:
        (一)碰撞器是一群组件,它包含了很多种类,比如:Box Collider,Capsule Collider等,这些碰撞器应用的场合不同,但都必须加到GameObjecet身上。
        (二)所谓触发器,只需要在检视面板中的碰撞器组件中勾选IsTrigger属性选择框。
        (三)在Unity3d中,主要有以下接口函数来处理这两种碰撞检测:


    触发信息检测:
    1.MonoBehaviour.OnTriggerEnter( Collider other )当进入触发器
    2.MonoBehaviour.OnTriggerExit( Collider other )当退出触发器
    3.MonoBehaviour.OnTriggerStay( Collider other )当逗留触发器

    碰撞信息检测:
    1.MonoBehaviour.OnCollisionEnter( Collision collisionInfo ) 当进入碰撞器
    2.MonoBehaviour.OnCollisionExit( Collision collisionInfo ) 当退出碰撞器
    3.MonoBehaviour.OnCollisionStay( Collision collisionInfo )  当逗留碰撞器

    (来自网络)
    -------------分割线-------------

    我们来做一个东西,试一下

    在场景中添加2个物体,都设置刚体,取消重力,并且锁定xyz


    给其中一个绑定脚本,重写OnCollisionEnter()
    	void OnTriggerEnter(Collider collider)
    	{
    		Debug.Log("OnTriggerEnter = " + collider.gameObject.name);
    	}

    运行场景,然后直接在场景窗口中拖动 物体,碰撞另一个,在控制台就会看到输出了。










  • 相关阅读:
    微信小程序 checkbox 组件
    微信小程序 button 组件
    h5视频标签 video
    h5离线缓存
    ECharts插件介绍(图表库)
    rich-text 副文本组件 text文本组件
    progress组件(进度条)
    icon组件
    movable-view组件
    android 双击图片变大,缩放功能
  • 原文地址:https://www.cnblogs.com/snake-hand/p/3212328.html
Copyright © 2011-2022 走看看