直播带货源码,附近的人功能是如何实现的

直播带货源码,附近的人功能是如何实现的

 

1
using UnityEngine;<br>using System.Collections;<br>using UnityEngine.Video;<br>using System.Collections.Generic;<br>public class     DisScript : MonoBehaviour<br>{<br>    [Tooltip ("Index of the player, tracked by this component. 0 means the 1st player, 1 - the 2nd one, 2 - the 3rd one, etc.")]<br>    public int playerIndex = 0;<br>    // The singleton instance of KinectManager<br>    public  static KinectVideoScript instance = null;<br>    //播放器<br>    VideoPlayer _videoPlayer;<br>    void Start ()<br>    {<br>        instance = this;<br>        _videoPlayer = transform.gameObject.GetComponent<VideoPlayer> ();<br>    }<br>    //默认的人与设备之间的距离<br>    float DefaultDistance = 2f;<br>    void Update ()<br>    {<br>        DefaultDistance = zDisMethod ();<br>        VideoCTL (DefaultDistance, _videoPlayer);<br>    <br>    <br>    <br>    }<br>    /// <summary><br>    /// 返回人们与Kinect设备最近的距离值<br>    /// </summary><br>    /// <returns>ZDis.</returns><br>    public float  zDisMethod ()<br>    {<br>        KinectManager manager = KinectManager.Instance;<br>        float zDis = 0f;<br>        if (manager && manager.IsInitialized () && manager.IsUserDetected ()) {<br>            List<long> longlong = manager.GetAllUserIds ();<br>            long temp = longlong [0]; <br>            if (longlong.Count > 0) {<br>                for (int i = 0; i < longlong.Count - 1; i++) {<br>                    if (manager.GetUserPosition (longlong [i]).z > manager.GetUserPosition (longlong [i + 1]).z) { <br>                        temp = longlong [i + 1]; <br>                    } else {<br>                        temp = longlong [i];<br>                    }<br>                }<br>                Vector3 posUser = manager.GetUserPosition (temp);<br>                zDis = posUser.z;       <br>            } else {<br>                zDis = 2f;<br>            }<br>        <br>        }<br>        return zDis;              <br>    }<br>    /// <summary><br>    /// 视频控制<br>    /// </summary><br>    /// <param name="Dis">Dis.</param><br>    /// <param name="vPlayer">V player.</param><br>    public void  VideoCTL (float Dis, VideoPlayer vPlayer)<br>    {<br>        <br>        if ((float)vPlayer.time > 60f) {<br>            print ("可以控制了");<br>            vPlayer.playbackSpeed = Dis - 1f;<br>        } else {<br>            vPlayer.playbackSpeed = 1f;<br>        }<br>//        if (Mathf.Abs ((int)vPlayer.time - (int)(float)vPlayer.clip.length) == 0) {<br>//            vPlayer.frame = (long)vPlayer.frameCount;<br>//            vPlayer.playbackSpeed = 1;<br>//            vPlayer.Play ();<br>//        }<br>    }<br>}

以上就是 直播带货源码,附近的人功能是如何实现的,更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(190)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示