unity3D rigidibody / collision /检测用户输入

来源:互联网 发布:元数据描述的对象分类 编辑:程序博客网 时间:2024/06/05 08:26

物体受重力下落:

1、创建一个正方体/球体。。。。,

2、创建一个floor

3、  点击 Component->physics->Rigidibody

4、在Hierarchy 控制 版面下点击创建的cube,在Inspector控制版面下,点击Box Collider, 点击Material 右边的圆圈。。这时弹出一个界面,

但你会发现不管是Assets下还是scene下,都是空的

5,这时,你需要自己建立一个physical Material .点击Assets ->create->Physical Material....这时你可以自己设置Physical Material 

的参数,通常可以设置Bounciness 从0到1,Friction Combine :Average, Bounce Combine:Average........

6,现在你重复操作4,在弹出的选择框里你可就可以选择你刚创建的Physical Material 了

碰撞:

1、像上面创建一个floor、cube、sphere

2、像上面一样,让cube 做冈田运动

3、点击Progect界面,create->javascript...把JS文件名改为“boxdrop",

4、双击boxdrop ,写入JS代码,

function OnCollisionEnter (theCollision:Collision) {
    if(theCollision.gameObject.name=="Plane"){
    Debug.Log("hit the floor");
    }
    else if(theCollision.gameObject.name=="Sphere"){
    Debug.Log("hit the Sphere");
    }
    
}

检测用户输入:

1、创建一个empty GameObject : 点击 GameObejcet->Empty GameObject.

2.创建一个keyPress的JS 文件,在JS文件中写入以下代码:

function OnCollisionEnter (theCollision:Collision) {
    if(theCollision.gameObject.name=="Plane"){
    Debug.Log("hit the floor");
    }
    else if(theCollision.gameObject.name=="Sphere"){
    Debug.Log("hit the Sphere");
    }
    
}