studio卡玛苏特拉里面的姿势能不能自定义姿势用于游戏

&>&&>&&>&&>&正文
《全境封锁》再曝细节 完美自定义游戏角色拒绝撞衫
14:37:09 来源:游民星空[编译] 作者:泡面 编辑:泡面 浏览:loading
  育碧近日公开了最新的Q&A内容,为玩家解答了更多有关于《全境封锁》的游戏细节,包括游戏战利品,角色自定义以及过长动画等情报。
  首席设计师Andrada Greciuc表示,游戏中最极品的装备将会被标上大大的橙色标签,是游戏中最稀有的资源,橙色战利品在游戏中虽然稀有,但非常显眼,玩家绝对不会错过。
  “当然了,游戏中级别低的物品也会明显标注玩家可以找到它们,只是没有橙色那么浮夸罢了。当然,并不是每次击杀都有战利品掉落。”
  高级美术设计师Emil Mujanovic则为大家介绍了游戏的角色自定义系统。
  “《全境封锁》中有着非常完善的自定义系统,例如胸部配件就有三个区域可以改变,外层、中间层和底层,这样一来你在游戏中很难和其他玩家撞衫,玩家个性化将得到进一步放大。”
  最后高级技术动画师Matthew Lee为大家介绍了游戏中开门效果动画的制作。
  “我们的团队拥有一群专家级人员,我们会耗费整天的时间就为了游戏的一个片段进行制作加工,你要知道,游戏中可不止一扇门。”
  “门开启关闭效果需要深入了解才能做到最好,我们用动作捕捉混合方式,逐帧分解开门动作,利用人力运动学反推开门效果,从手放在门上,开门关门一系列动作都将获得最佳的展现。
  《全境封锁》预定2016年早期登陆PC/PS4/Xbox One,敬请期待。
更多相关资讯请关注:
相关新闻:
游戏制作:Ubisoft Massive
游戏发行:Ubisoft
游戏平台:PC/XboxOne/PS4
上市时间:
游戏特色:
--游民指数
IGN的评测编辑认为《地下世界》的体验和本体相比,要精简流畅了许多,但是有些障碍的设计显得过于繁琐又没有必要。
《全境封锁》地下世界DLC带领玩家进入了末世纽约的地下世界,地铁,下水道等等向来脏乱差的地方成为了玩家的战场。
Ubisoft今日宣布,《汤姆克兰西:全境封锁》首款资料片「地下世界」现已在PC与Xbox One平台登场,拥有Season Pass资格的玩家可免费下载游玩、亦提供单独零售,PS4版稍晚将于8月2日推出。
在E3 2016大展上,育碧公布了《全境封锁》生存扩展包,并且发布了一段预告片。
《全境封锁》带来了最新的预告片和游戏DLC内容,随机生成的任务,残酷的城市地牢。玩家将探索纽约未知的地下世界,支持最多三人组队模式。
2016 年5月25日,《汤姆克兰西:全境封锁》第二部额外追加内容「冲突」现已在Xbox One、PS4与PC平台上推出,带来全新RAID 团队副本「净空天际」。
日——《全境封锁》第二部免费更新DLC“冲突”已于5月24日上线,这款DLC包含了一个全新的突袭行动,并针对高等级玩家增加了多项改变。
今日,援引外媒消息,《全境封锁》下一部DLC“冲突”将于5月24日更新后上线,同时,“冲突”的新预告也已经公布。
《全境封锁》展现末世格局的任务均被暗区所占据,不过育碧准备了1年量的季票内容加强战役内容,其中即包括最新公布的“入侵”DLC宣传片
玩家对《全境封锁》有诸多槽点,下面这部“诚实预告片”或许正好道出了你的心声。
《全境封锁》的国区PC版本于今(19)日晚间开启公开测试,玩家MR.L.HL_91为我们带来了游戏的最高画质游戏截图。
在Arekkz的《全境封锁》视频中,可以使用两把高级别武器:“assault rifle”和“Pakhan light machine gun”。
《全境封锁》beta测试目前正在全平台进行中。在几小时前上传到网上的一个视频中,视频展示了PS4版《全境封锁》的游戏画面。
《全境封锁》的beta封测正在进行之中,外媒发布了一些不同设置下的游戏画面的对比图,游戏画质看起来非常不错。
《全境封锁》已经火热登陆了全部主机平台,Xbox One和PS4的画面对比也已经出炉,究竟谁的画面更胜一筹呢?
《全境封锁》PC平台的BETA测试已经正式开启,外媒DSOG第一时间进入游戏进行了测试,他们将画面选项调至最高,同时将目标细节调整到了100%,为了更好的画面效果,HBAO+和PCSS阴影效果都全部开启。
《全境封锁》在开始官方正式beta测试之前,正在进行一场密闭内部测试,用来最终测试游戏运行的稳定性。外媒近日获取了一些泄露出的PS4版《全境封锁》游戏画面。
本次《全境封锁》的视频中,玩家可以以团队合作的形式在地图的任意地点合作完成任务,但是基地行动却是个例外。在基地中玩家并不会脱离队伍,但是基地中考察更多的将是个人实力。
育碧近日终于给出了《全境封锁》的beta测试时间:1月29到31日。本次测试为密闭测试,所以参与测试的玩家都是受到邀请的玩家。
《全境封锁》的Xbox One测试已经在近期小规模开启,在这期间不断有视频和截图泄露出来,但是遭到的命运基本都是被“秒删”。好在有幸运的玩家留下来了一些截图。
综合热点资讯
单机游戏下载
| 热心市民刘先生
游民星空联运游戏Unity3D(11)
Unity升级到5以后,好多以前使用的插件都用不了了,比如,以前利用Kinect来辨别姿势的话,直接可以使用Kinect with MS-SDK (),就可以利用这个package里面的函数就可以完成一些动作的捕获,是不是,自从使用Unity5之后,这个包导入就会报编译错误了?嗯,既然,别人的库不能用了,那我们就自己建立一个自己的分类器,这样的话,不仅可以完成一些基本的姿势识别,我们还可以定义任意多的姿势!
说到分类器,或许有人会说,那不是机器学习训练样本之后制造的东西嘛?没错,的确是利用机器学习的方式来建立分类器。机器学习的算法太复杂了,我不会怎么办?那么,我介绍的方法刚好适合你!因为微软已经给我们做好了对应的应用程序,我们只要训练样本就好啦!
好的,来介绍一下我们的工具,Kinect
和 Visual Gesture Builder,这两个程序应该在我们下载 Kinect v2 的SDK的时候就已经下载下来了。
一 Kinect Studio 收集视频样本
首先,打开Kinect Studio,先点击File进入设置界面,这里我们可以设置我们的视频片段存储位置。
录制视频样本,先转到Record界面,连接Kinect
成功之后,我们的Kinect的三个红外灯应该是亮了,然后点击那个红色的icon开始录制视频。
我们这里以挥手这个动作来作为例子,我们站在一个合适的位置,做挥手的动作,一开始慢慢的,多做几组),然后录制完毕,点击停止录制。
这时候,Kinect Studio 的界面会自动跳转到Play的界面。我们先Disconnect Kinect之后,可以点击play的icon来查看这个视频例子,注意,我用红色方框框起来的部分,这个就是保存的文件名,注意,只要我们点击了录制,Kinect Studio都会给我们自动保存的。保存的位置就是我们刚才设置的文件夹,如果,你没有设置的话,可以去File
的Setting里面看看它的默认文件夹的位置。
同样的操作,我们在做几遍,当然你的视频样本越多,我们生成的分类器就更准确啊。
二 Visual Gesture Builder制作正负样本
打开软件,File -& New Solution, 自己随便命个名,我这里叫做DemoWave。
现在的面板李应该出现了你刚才project,右键这个工程,选择Create New Project With Wizard。
出现VGB Gesture Wizard 的界面,点击 Next
给我们的姿势命个名,我这里叫做demowave。
这里是判断我们的姿势是否包含下半身的骨骼,因为我们只是挥手,腿部做什么动作都可以,所以,选择不包含。
这里是判断我们的姿势是否需要判断特定的手势。因为我们挥手主要是看胳膊的动作,所以,不关心手部的动作,这里也选择不包含。
这里是让我们来选择需要判断的骨骼的部分,每个图旁边都有一定的注解说它忽略了什么,我这里就不一一翻译了,因为我们判断的是挥手,所以,左右手都是需要判断的,但是不需要判断下半身的状态,所以,我们选择第一个joint mask就好。
这里是问我们的动作判断是否是区分左右的?那我们的挥手动作为例,如果我们选择NO,那么Kinect判断挥手的时候,就不区分是左胳膊懂还是右胳膊动;如果我们选择YES的话,那么Visual Gesture Builder就会给我们建立两个Project一个叫做demowave_Right,另外一个叫做demowave_Left,就相当于建立两个分类标准,用于区分左右手。
这个界面主要是来判断我们的动作是否是连续性的还是离散的。所谓离散性质,就是判断这个我们动作“发生了“还是“没有发生“,就是一个1还是0的判断,如果连续性质的话呢,就是判断Kinect检测到的姿势和我们分类器的姿势的吻合度有多少,它不是一个是否的判断而是一系列的数字来表示当前的姿势和分类器姿势的重合度,而且,这个数字越高,表示当前检测的动作和分类器的标志动作越像。而我们这里指向判断用户是否挥动了左手还是右手,是一个是否的判断,所以我们这里选择NO。
这里就是说,下面会有这两个gesture会被创建。因为我们在之前选择了左右的判断,所以这里会出现两个getures如果刚才我们没有选择左右的判断,那么这里只会出现一个gesture。
点击confirm,就会生成对应的工程,现在我们的工程如下图所示。
这里简单的说一下,一共是两个工程有四个文件生成,所以呢,就是每个gesture右两个文件,这两个文件名字都是一样的,只不过一个是.a结尾的,一个不是,那么.a结尾的文件呢,其实是测试gesture的一个文件,而那个不带.a的才是我们拿来训练的样本。基本上呢,我们是那样本数目的2/3用来训练样本,1/3就是放在那个.a 文件下,用来测试分类器的。
好的,下面,我们来利用刚才收集到的视频片段来创建正负样本。右键,demowave_Left,选择Add Chip,把我们刚才录的视频片段加入进去。(建议大家录完视频片段之后给它们改个名字,这样便于管理,当然,我说是视频片段,这里的视频片段其实是包含了Kinect的骨骼等数据的)
我们把视频片段(也就是Chips)加入进去之后,然后告诉训练器哪些帧时正样本,哪些帧时负样本。其中正样本被蓝色的线标志出来了,这里需要手动判别正负样本,当然,对一段视频操作当然是少不了快捷键啊。尴尬的是,默认打开的窗口(也就是你们现在展示的窗口)是看不到快捷键提示的。那么我们只要把下面的Gesture Tags的区域拉大一点,是不是看见下面的快捷键提示啦?(为了避免出现误判的情况,除了收集足够多的正样本之外,我们还需要各种各样的负样本,如图,我们在做一个挥手的样本收集,我在录制视频的时候还跳动几下,用作负样本)
然后,我们依次把每个Chips的政府样本都设置好之后。我们可以选择总的工程文件,右键Build,当然,你已经迫不及待的想看看当前姿势的训练情况,你也可以选择某一个Gesture文件右键Build。然后就是等待的过程,这个时间取决于样本的多少,因为我这里只有6个视频片段,所以训练时间很短。
当你发现下面的Output栏中出现build完成的提示,并且没有错误的话,那么恭喜你,你自定义姿势的分类器已经训练完成了。
还记得那个.a文件嘛?如果你还有没有训练的视频片段的话,可以把那个视频片段加入你的.a文件下,来测试分类器。当然,你也可以右键工程选择Live Preview,这样的话,Visual Gesture Builder就会打开Kinect,就会捕捉你的动作,实时的判断当前的动作是否符合条件。旁边的那个方框里面的数值(类似直方图)越高,说明你的动作越符合分类器。
训练完成之后,我们会得到一个.gba的文件,这个就是我们训练出来的分类器!
三 Unity5 中调用分类器
首先创建一个Unity的工程,导入Kinect Unity的开发包。
什么?不知道怎么使用Unity5 +Kinect v2,好吧,这又一个step by step的教程
在我们的工程文件(Assets)下面创建一个文件夹叫做StreamingAssets,然后把我们刚才生成的分类器文件(.gba文件/.gbd文件)放进去。
创建一个脚本GestureSourceManger.cs里面的代码如下:
using UnityE
using System.C
using System.Collections.G
using Windows.K
using Microsoft.Kinect.VisualGestureB
public class GestureSourceManager : MonoBehaviour {
public BodySourceManager _BodyS
public string databaseP
private KinectSensor _S
private VisualGestureBuilderFrameSource _S
private VisualGestureBuilderFrameReader _R
private VisualGestureBuilderDatabase _D
public event GestureEvent OnG
private static GestureSourceManager instance = null;
public static GestureSourceManager Instance{
void Start() {
_Sensor = KinectSensor.GetDefault();
if (_Sensor != null) {
if (!_Sensor.IsOpen) {
_Sensor.Open();
_Source = VisualGestureBuilderFrameSource.Create(_Sensor, 0);
_Reader = _Source.OpenReader();
if (_Reader != null) {
_Reader.IsPaused = true;
_Reader.FrameArrived += GestureFrameA
string path = System.bine(Application.streamingAssetsPath, databasePath);
Debug.Log ("database path is "+path);
_Database = VisualGestureBuilderDatabase.Create(path);
IList&Gesture& gesturesList = _Database.AvailableG
for (int g = 0; g & gesturesList.C g++) {
Gesture gesture = gesturesList[g];
Debug.Log ("database name is "+ gesture.Name);
_Source.AddGesture(gesture);
instance = this;
public void SetBody(ulong id) {
if (id & 0) {
_Source.TrackingId =
_Reader.IsPaused = false;
Debug.Log ("id is "+id);
_Source.TrackingId = 0;
_Reader.IsPaused = true;
gameObject.GetComponent&GestureController& ().AddGesture ();
void Update() {
if (!_Source.IsTrackingIdValid) {
FindValidBody();
void FindValidBody() {
if (_BodySource != null) {
Body[] bodies = _BodySource.GetData();
if (bodies != null) {
foreach (Body body in bodies) {
if (body.IsTracked) {
SetBody(body.TrackingId);
Handles gesture detection results arriving from the sensor for the associated body tracking Id
private void GestureFrameArrived(object sender, VisualGestureBuilderFrameArrivedEventArgs e) {
VisualGestureBuilderFrameReference frameReference = e.FrameR
using (VisualGestureBuilderFrame frame = frameReference.AcquireFrame()) {
if (frame != null) {
IDictionary&Gesture, DiscreteGestureResult& discreteResults = frame.DiscreteGestureR
if (discreteResults != null) {
foreach (Gesture gesture in _Source.Gestures) {
if (gesture.GestureType == GestureType.Discrete) {
DiscreteGestureResult result = null;
discreteResults.TryGetValue(gesture, out result);
if (result.Confidence & 0.05) {
if(OnGesture!=null){
Debug.Log("Detected Gesture " + gesture.Name + " with Confidence " + result.Confidence);
OnGesture(this,new KinectGestureEvent(gesture.Name, result.Confidence));
然后在外部调用这个代码,注意:这个脚本是必须传入一个BodyManager对象的,还要写一下我们的分类器的名称(当然,这个你在脚本里面hardcode也可以)。
现在,点击运行,挥一下手,你就会发现,控制栏有输出啦!
我这里又一个KinectMLTest的工程,感兴趣的朋友,可以下载看看~
参考链接:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:44072次
排名:千里之外
原创:32篇
转载:14篇
评论:12条
(2)(4)(4)(3)(2)(7)(7)(1)(3)(10)(4)}

我要回帖

更多关于 playclub自定义姿势 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信