直播带货源码,附近的人功能是如何实现的
直播带货源码,附近的人功能是如何实现的
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>} |
以上就是 直播带货源码,附近的人功能是如何实现的,更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现