关于Kinect结合Unity3D引擎开发体感游戏 代码菜鸟的疑问

发布于 2021-11-27 05:21:13 字数 7652 浏览 889 评论 9

@地瓜儿 你好,想跟你请教个问题:

在体感博文(二)中,截图的那段代码是放在哪个脚本里面么?还是自己另外写一个新的脚本拿去绑定?HIP_CENTER是我的人体骨骼的名字?“setHeroState添加 到Updata函数”我不太理解,如果是用一个新脚本,Start是否只需要获取游戏对象即可,像GetJointPos这些包里的函数该如何使包含?

state 未定义,应该在哪里定义,怎么定义?

GetJointPos 也未定义,这个是那个包里的?要怎么包含?

flg 是你的模型对象?(那么Start 里是不是flg=GameObject.Find("ren"); )

Start 和 Update 应该怎么写?(原谅我问这种问题··我是十分之九的代码文盲QAQ,剩下十分之一是勉强能看得懂)

还有就是最后自己定义的简单动作是不是可以不用要?或者有了这个,人物的动作会好看些?



using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour {

    // Use this for initialization
    void Start () {
    
    }
    
    // Update is called once per frame
    void Update () {


    
    }

    public void setHeroState(int newState)
    {
        //According to figures of the current direction and the direction of the last backup to calculate the angle of rotation
        int rotateValue = (newState - state) * 90;
        Vector3 transformValue = new Vector3();
        
        //Displacement of the numerical model to move
        switch(newState)
        {
            
        case 0:
            transformValue = Vector3.forward*Time.deltaTime;
            break;
        case 1:
            transformValue = -Vector3.forward*Time.deltatime;
            break;
        case 2:
            transformValue = Vector3.left*Time.deltaTime;
            break;
        case 3:
            transformValue = -Vector3.left*Time.deltaTime;
            break;
            
        }
        
        //Model rotation
        transform.Rotate(Vector3.up,rotateValue);
        
        //Mobile People
        transform.Translate(transformValue*moveSpeed,Space.World);
        
        state = newState;
        
    }

    private void DoActions()
    {
        Vector3 hip = GetJointPos (KinectWrapper.Jionts.Hip_Center);
        Vector3 handRight = GetJointPos (KinectWrapper.Jionts.Hand_Right);
        Vector3 handLeft = GetJointPos (KinectWrapper.Jionts.Hand_Left);
        Vector3 spine= GetJointPos (KinectWrapper.Joints.Spine);
        Vector3 head= GetJointPos (KinectWrapper.Joints.Head);
        bool flg;
        //Raised his hands to his chest
        if(handLeft.y>spine.y-0.1&&handRight.y>spine.y-0.1)
            flg=true;
        
        flg=false;
        
        
        //The following definitions are four relatively simple body movements, are forward Left Right back

        if(flg)
        {
            if(head.x<spine.x-0.2){
                //print("left............................");
                //hs=Time.deltaTime*LSpeed;
                //test.KeyVertical = 4;
                setHeroState(0);
                Debug.Log("left............................");
            }
            if(head.x>spine.x+0.2){
                //print("right............................");
                //hs=Time.deltaTime*RSpeed;
                //test.KeyVertical = 5;
                setHeroState(1);
                Debug.Log("right............................");
            }
            if(head.z<hip.z-0.1){
                //print("front............................");
                //vs=Time.deltaTime*FSpeed;
                //test.KeyHorizontal = 6;
                setHeroState(2);
                Debug.Log("front............................");
            }
            
            if(head.z>hip.z+0.1){
                //print("back............................");
                //vs=Time.deltaTime*BSpeed;
                //test.KeyHorizontal = 7;
                setHeroState(3);
                Debug.Log("back............................");
            }
        }





    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

一人独醉 2021-11-30 04:56:37

引用来自“地瓜儿”的评论

这个可以的,骨骼与人物模型绑定一起  如果你只是在原地运动的话 不需要在场景里面运动,可以不用管。但是个你需要场景里面   你就需要如我上面所说 看看游戏人物运行一些例子  

路还长,别太狂 2021-11-30 04:55:25

这个可以的,骨骼与人物模型绑定一起  如果你只是在原地运动的话 不需要在场景里面运动,可以不用管。但是个你需要场景里面   你就需要如我上面所说 看看游戏人物运行一些例子  

尐偏执 2021-11-30 04:55:02

引用来自“地瓜儿”的评论

这个怎么说了  ,你需要自己封装一个,然后再写一个脚本绑定即可!预期你不会封装 还不如用我第一篇的那个用 一样的

永不分离 2021-11-30 04:54:24

引用来自“地瓜儿”的评论

这个怎么说了  ,你需要自己封装一个,然后再写一个脚本绑定即可!预期你不会封装 还不如用我第一篇的那个用 一样的

檐上三寸雪 2021-11-30 04:46:59

引用来自“地瓜儿”的评论

这个怎么说了  ,你需要自己封装一个,然后再写一个脚本绑定即可!预期你不会封装 还不如用我第一篇的那个用 一样的

谁的新欢旧爱 2021-11-30 04:45:45

引用来自“地瓜儿”的评论

这个怎么说了  ,你需要自己封装一个,然后再写一个脚本绑定即可!预期你不会封装 还不如用我第一篇的那个用 一样的

小瓶盖 2021-11-30 04:45:25

引用来自“地瓜儿”的评论

这个怎么说了  ,你需要自己封装一个,然后再写一个脚本绑定即可!预期你不会封装 还不如用我第一篇的那个用 一样的

执手闯天涯 2021-11-29 05:12:28

引用来自“地瓜儿”的评论

这个怎么说了  ,你需要自己封装一个,然后再写一个脚本绑定即可!预期你不会封装 还不如用我第一篇的那个用 一样的

南汐寒笙箫 2021-11-28 23:09:25

这个怎么说了  ,你需要自己封装一个,然后再写一个脚本绑定即可!预期你不会封装 还不如用我第一篇的那个用 一样的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文