《SteamVR2.2.0之Skeleton_Poser》 |
版本 |
作者 |
参与者 |
完成日期 |
备注 |
SteamVR2.2.0_Skeleton_V01_1.0 |
严立钻 |
|
2019.05.07 |
|
|
|
|
|
|
++++“SteamVR2.2.0之Skeleton_Poser”:是对“SteamVR2.2.0”的官方教程(Tutorials)梳理总结;(2019年度的重点技术突破点确立为:“SteamVR”)(前面已经有了一个“V2.0”和“V2.2.0”开发指南了:https://blog.csdn.net/VRunSoftYanlz/article/details/86618187,https://blog.csdn.net/VRunSoftYanlz/article/details/88784527;快速入门:https://blog.csdn.net/VRunSoftYanlz/article/details/88833579;交互系统:https://blog.csdn.net/VRunSoftYanlz/article/details/89199778;官方教程:https://blog.csdn.net/VRunSoftYanlz/article/details/89324067、https://blog.csdn.net/VRunSoftYanlz/article/details/89894097;这个“官方教程”是基于前面几篇操作指南和快速入门的一个拓展,所以可以先粗略查阅一下这几篇博文;这里重点说明一下:实战是关键,所以官方教程是重中之重,后期还会基于熟悉官方示例的基础上拓展应用到现实应用中,敬请期待!
++++“SteamVR2.2.0之Skeleton_Poser”:定位在熟悉SteamVR框架;
++++SteamVR的Github:https://github.com/ValveSoftware/steamvr_unity_plugin
++++SteamVR的QuickStart:https://valvesoftware.github.io/steamvr_unity_plugin/
++++SteamVR的Releases:https://github.com/ValveSoftware/steamvr_unity_plugin/releases
++++SteamVR2.0开发指南:https://blog.csdn.net/VRunSoftYanlz/article/details/86618187
++++SteamVR2.2.0开发指南:https://blog.csdn.net/VRunSoftYanlz/article/details/88784527
++++SteamVR2.2.0快速入门:https://blog.csdn.net/VRunSoftYanlz/article/details/88833579
++++SteamVR2.2.0交互系统:https://blog.csdn.net/VRunSoftYanlz/article/details/89199778
++++SteamVR2.2.0传送机制:https://blog.csdn.net/VRunSoftYanlz/article/details/89390866
++++SteamVR2.2.0教程(一):https://blog.csdn.net/VRunSoftYanlz/article/details/89324067
++++SteamVR2.2.0教程(二):https://blog.csdn.net/VRunSoftYanlz/article/details/89894097
++++SteamVR_Skeleton_Poser:https://blog.csdn.net/VRunSoftYanlz/article/details/89931725
++++SteamVR实战之PMCore:https://blog.csdn.net/VRunSoftYanlz/article/details/89463658
#第一篇:Skeleton_Poser杂谈
#第二篇:Skeleton_Poser官方教程
#第三篇:Skeleton_Poser案例分析
#第四篇:Skeleton_Poser性能优化
#第五篇:立钻哥哥对Skeleton_Poser的拓展
#第一篇:Skeleton_Poser杂谈 |
#第一篇:Skeleton_Poser杂谈
++++立钻哥哥:“杂谈”是一种信仰,这是一种探索精神(对未知的探索)!
++++SteamVR的“v2.2RC1”版本中增加了“SteamVR_Skeleton_Poser”组件,简化了创建姿态,很容易与“SteamVR骨骼系统”兼容,例如,检查“交互系统”场景中的对象,或者将组件添加到“Interactable”中;(Feature: Added “SteamVR_Skeleton_Poser” component that simplifies creating poses that are easily compatible with the “SteamVR Skeletal System”. Check the objects in the “Interaction System” scene for examples or add the component to an interactable.)
++++A.1、如何找到“Skeleton_Poser”官方教程
++++A.2、“Skeleton_Poser”的钻哥百科
++++A.3、“Skeleton_Poser”的简单案例
++++A.4、立钻哥哥对“Skeleton_Poser”的简单拓展
##A.1、如何找到“Skeleton_Poser”官方教程 |
++++立钻哥哥:如何找到资源,可以百度或者“Google”,这里我们来看一下官网教程;
++++SteamVR的Github:https://github.com/ValveSoftware/steamvr_unity_plugin
++++SteamVR分类:https://blog.csdn.net/vrunsoftyanlz/article/category/8582642
++++立钻哥哥:SteamVR在Github有开源代码和版本说明,这是一个比较好的渠道来学习SteamVR;不过都是英文的,立钻哥哥也推出了几篇快速入门和教程,可查阅“SteamVR”分类;
++++SteamVR的Github:https://github.com/ValveSoftware/steamvr_unity_plugin
++++立钻哥哥:Valve maintains a Unity plugin to smoothly interface “SteamVR” with Unity. With “SteamVR” developers can target one API that all the popular VR headsets can connect to. The modern “SteamVR Unity Plugin” manages three main things for developers: loading 3d models for VR controllers, handling input from those controllers, and estimating what your hand looks like while using those controllers. On top of managing those things we have an “Interaction System” example to help get your VR application off the ground. Providing concrete examples of interacting with the virtual world and our APIs.(Valve维护了一个Unity插件,可以顺利地与Unity接口“SteamVR”。使用“SteamVR”,开发者可以将所有流行的VR头盔连接到一个API上。现代的“SteamVR Unity插件”为开发者管理了三件主要的事情:为VR控制器加载3d模型,处理来自这些控制器的输入,以及在使用这些控制器时估计你的手的样子。在管理这些事情之上,我们有一个“交互系统”的例子来帮助您的VR应用程序起步。提供与虚拟世界和我们的api交互的具体示例)
++++2003年09月12日,Valve发布电子游戏整合平台Steam,它用于游戏的出版、网上对战、玩家互动、游戏内容组织和更新;(PC游戏解决方案:说到VALVE,不得不提到STEAM,这个现今世界上最流行的PC游戏解决方案;Steam最初只是作为CS、HL2等Valve旗下游戏更新用,后发展为方便迅速的综合性下载平台;Steam使用了BT软件之父“Bram.Cohen”的代码和技术,来自全球各地的玩家只用10秒钟即可用VisaMaster等国际信用卡购买游戏并以BT般的速度下载!Steam购买的游戏与您的账号关联,而不是计算机;)
++++立钻哥哥:Documentation can be found online here:(文件资料可以在这里在线找到:)
++++https://valvesoftware.github.io/steamvr_unity_plugin/
++++立钻哥哥:These tutorials cover subjects specifically related to the “SteamVR Unity Plugin”. We have some basic tutorials now but if these’s a specific component of the system you’d like more information on please create an Issue on the github Issues page of the “SteamVR Unity Plugin”.(这些教程涵盖了与“SteamVR Unity插件”相关的主题。我们现在有一些基本的教程,但如果这些是一个特定的组成部分的系统,你想要更多的信息,请创建一个github问题页面的“SteamVR Unity插件”)
++++https://valvesoftware.github.io/steamvr_unity_plugin/tutorials/intro.html
++++立钻哥哥:The “Skeleton Poser” system has a straightforward purpose: when picking up physical objects, you in-game hands should morph to poses holding the objects. These rock solid poses can be authored and tweaked right in the “Unity editor”, for quick iteration as your game progresses. You can apply fancy effects on top of the poses such as additive per-finger animation and dynamic grips, and multi-pose blending.(“骨骼手势”系统有一个简单的目的:当你拿起实物时,你在游戏中的手应该变形成拿着实物的姿势。这些僵硬的姿势可以在“Unity编辑器”中编写和调整,方便我们游戏的快速迭代。我们可以在姿态的顶部应用一些奇特的效果,比如添加每个手指的动画和动态握把,以及多姿态混合。)
++++https://valvesoftware.github.io/steamvr_unity_plugin/tutorials/Skeleton-Poser.html
++++立钻哥哥:The value of this system comes from the simplified workflow. Instead of dealing with imported animations and nightmarish animation graphs, poses are stored as compact assets and animations are applied automatically based on the pose associated with whatever you’re holding. This allows more complex hand behaviour on a smaller time budget.(该系统的价值来自于简化的工作流。与处理导入的动画和噩梦般的动画图形不同,pose存储为压缩资源,并根据与您所持有的任何内容相关联的姿势自动应用动画。这使得在时间预算有限的情况下可以使用到更复杂的手行为。)
++++https://valvesoftware.github.io/steamvr_unity_plugin/tutorials/Skeleton-Poser.html
##A.2、“Skeleton_Poser”的钻哥百科 |
+++A.2、“Skeleton_Poser”的钻哥百科
++++立钻哥哥:做为一个传统的项目“钻哥百科”,就是以“Skeleton_Poser”关键字搜索整理;
++++立钻哥哥:这个“Skeleton_Poser”的有效资料比较少,因为这是SteamVR2.2新增加的功能,所以网上介绍不是很多,那我们通过一组图片来大致了解一下什么是“Skeleton_Poser”吧:
#第二篇:Skeleton_Poser官方教程 |
#第二篇:Skeleton_Poser官方教程
++++立钻哥哥:这一篇我们就围绕官网上的教程展开学习,对相关知识点进行拓展;
++++https://valvesoftware.github.io/steamvr_unity_plugin/tutorials/Skeleton-Poser.html
++++B.1、Skeleton_Poser相关知识储备
++++B.2、Skeleton_Poser官方教程
++++B.3、SteamVR_Skeleton_Poser组件的源码剖析
++++B.4、Skeleton_Poser项目实战
++++B.5、立钻哥哥对Skeleton_Poser的拓展
##B.1、Skeleton_Poser相关知识储备 |
++B.1、Skeleton_Poser相关知识储备
++++立钻哥哥:由于网上关于“Skeleton_Poser”的相关资料还是比较少的,那立钻哥哥就自由发挥了,尽可能多整理汇总一些相关的知识点吧。
++++立钻哥哥:[Pose]类型的动作表示三维空间中的位置和旋转,一般用于跟踪VR控制器;
++++在Unity中对应的类为:SteamVR_Action_Pose.cs;
++++\Assets\SteamVR\Input\SteamVR_Action_Pose.cs
using UnityEngine; using System.Collections; using System; using Valve.VR; using System.Runtime.InteropServices; using System.Collections.Generic;
namespace Valve.VR{ [Serializable] //Pose actions represent a position, rotation, and velocities inside the tracked space. SteamVR keeps a log of past poses so you can retrieve old poses with GetPoseAtTimeOffset or GetVelocitiesAtTimeOffset. You can also pass in times in the future to these methods for SteamVR’s best prediction of where the pose will be at that time.(立钻哥哥:姿态动作表示跟踪空间内的位置、旋转和速度。SteamVR会记录下过去的姿势,所以你可以使用GetPoseAtTimeOffset或GetVelocitiesAtTimeOffset来检索旧的姿势。你也可以通过这些方法在未来的时间,预测SteamVR最佳的位置.) public class SteamVR_Action_Pose : SteamVR_Action_Pose_Base<SteamVR_Action_Pose_Source_Map<SteamVR_Action_Pose_Source>, SteamVR_Action_Pose_Source>, ISerializationCallbackReceiver{ public delegate void ActiveChangeHandler(...); public delegate void ChangeHandler(...); public delegate void UpdateHandler(...); public delegate void TrackingChangeHandler(...); public delegate void ValidPoseChangeHandler(...); public delegate void DeviceConnectedChangeHandler(...); ... ... } //立钻哥哥:public class SteamVR_Action_Pose{} } //立钻哥哥:namespace Valve.VR{} |
++++立钻哥哥:[Skeleton]类型的动作能够获取用户在持握手柄控制器时的手指关节数据,通过返回数据,结合手部渲染模型,能够更加真实的呈现手部在虚拟世界的姿态,虽然不及像“Leap Motion”等设备获取手指输入那样精确,但是足以获得良好的沉浸感;
++++在Unity中对应的类为:SteamVR_Action_Skeleton.cs;
++++\Assets\SteamVR\Input\SteamVR_Action_Skeleton.cs
using UnityEngine; using System.Collections; using System; using System.Runtime.InteropServices; using System.Collections.Generic; using System.Text;
namespace Valve.VR{ [Serializable] //Skeleton Actions are our best approximation of where your hands are while holding vr controllers and pressing buttons. We give you 31 bones to help you animate hand models.(立钻哥哥:骨架动作是我们最好的近似你的手在哪里,而持有vr控制器和按下按钮。我们给你31块骨头来帮助你制作动画手模型) public class SteamVR_Action_Skeleton : SteamVR_Action_Pose_Base<SteamVR_Action_Skeleton_Source_Map, SteamVR_Action_Skeleton_Source>, ISteamVR_Action_Skeleton_Source, ISerializationCallbackReceiver{ public const int numBones = 31; public delegate void ActiveChangeHandler(...); public delegate void ChangeHandler(..); public delegate void UpdateHandler(...); public delegate void TrackingChangeHandler(...); public delegate void ValidPoseChangeHandler(...); public delegate void DeviceConnectedChangeHandler(...); } //立钻哥哥:public class SteamVR_Action_Skeleton{} } //立钻哥哥:namespace Valve.VR{} |
【XR游戏开发QQ群:784477094】
++立钻哥哥推荐的拓展学习链接(Link_Url):
立钻哥哥推荐的拓展学习链接(Link_Url) |
++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/
++++虚拟现实VR资讯: https://blog.csdn.net/VRunSoftYanlz/article/details/89165846
++++HTC_VIVE开发基础:https://blog.csdn.net/VRunSoftYanlz/article/details/81989970
++++Oculus杂谈:https://blog.csdn.net/VRunSoftYanlz/article/details/82469850
++++Oculus安装使用:https://blog.csdn.net/VRunSoftYanlz/article/details/82718982
++++Unity+SteamVR=>VR:https://blog.csdn.net/VRunSoftYanlz/article/details/88809370
++++Unity减少VR晕眩症:https://blog.csdn.net/VRunSoftYanlz/article/details/89115518
++++SteamVR简介:https://blog.csdn.net/VRunSoftYanlz/article/details/86484254
++++SteamVR脚本功能分析:https://blog.csdn.net/VRunSoftYanlz/article/details/86531480
++++SteamVR2.0开发指南:https://blog.csdn.net/VRunSoftYanlz/article/details/86618187
++++SteamVR2.2.0开发指南:https://blog.csdn.net/VRunSoftYanlz/article/details/88784527
++++SteamVR2.2.0快速入门:https://blog.csdn.net/VRunSoftYanlz/article/details/88833579
++++SteamVR2.2.0交互系统:https://blog.csdn.net/VRunSoftYanlz/article/details/89199778
++++SteamVR2.2.0传送机制:https://blog.csdn.net/VRunSoftYanlz/article/details/89390866
++++SteamVR2.2.0教程(一):https://blog.csdn.net/VRunSoftYanlz/article/details/89324067
++++SteamVR2.2.0教程(二):https://blog.csdn.net/VRunSoftYanlz/article/details/89894097
++++SteamVR_Skeleton_Poser:https://blog.csdn.net/VRunSoftYanlz/article/details/89931725
++++SteamVR实战之PMCore:https://blog.csdn.net/VRunSoftYanlz/article/details/89463658
++++SteamVR/Extras:https://blog.csdn.net/VRunSoftYanlz/article/details/86584108
++++SteamVR/Input:https://blog.csdn.net/VRunSoftYanlz/article/details/86601950
++++OpenXR简介:https://blog.csdn.net/VRunSoftYanlz/article/details/85726365
++++VRTK杂谈:https://blog.csdn.net/VRunSoftYanlz/article/details/82562993
++++VRTK快速入门(杂谈):https://blog.csdn.net/VRunSoftYanlz/article/details/82955267
++++VRTK官方示例(目录):https://blog.csdn.net/VRunSoftYanlz/article/details/82955410
++++VRTK代码结构(目录):https://blog.csdn.net/VRunSoftYanlz/article/details/82780085
++++VRTK(SceneResources):https://blog.csdn.net/VRunSoftYanlz/article/details/82795400
++++VRTK_ControllerEvents:https://blog.csdn.net/VRunSoftYanlz/article/details/83099512
++++VRTK_InteractTouch:https://blog.csdn.net/VRunSoftYanlz/article/details/83120220
++++虚拟现实行业应用:https://blog.csdn.net/VRunSoftYanlz/article/details/88360157
++++Steam平台上的VR:https://blog.csdn.net/VRunSoftYanlz/article/details/88960085
++++Steam平台热销VR:https://blog.csdn.net/VRunSoftYanlz/article/details/89007741
++++VR实验:以太网帧的构成:https://blog.csdn.net/VRunSoftYanlz/article/details/82598140
++++实验四:存储器扩展实验:https://blog.csdn.net/VRunSoftYanlz/article/details/87834434
++++FrameVR示例V0913:https://blog.csdn.net/VRunSoftYanlz/article/details/82808498
++++FrameVR示例V1003:https://blog.csdn.net/VRunSoftYanlz/article/details/83066516
++++SwitchMachineV1022:https://blog.csdn.net/VRunSoftYanlz/article/details/83280886
++++PlaySceneManagerV1022:https://blog.csdn.net/VRunSoftYanlz/article/details/83280886
++++Unity5.x用户手册:https://blog.csdn.net/VRunSoftYanlz/article/details/81712741
++++Unity面试题ABC:https://blog.csdn.net/vrunsoftyanlz/article/details/78630687
++++Unity面试题D:https://blog.csdn.net/VRunSoftYanlz/article/details/78630838
++++Unity面试题E:https://blog.csdn.net/vrunsoftyanlz/article/details/78630913
++++Unity面试题F:https://blog.csdn.net/VRunSoftYanlz/article/details/78630945
++++Cocos2dx面试题:https://blog.csdn.net/VRunSoftYanlz/article/details/78630967
++++禅道[zentao]:https://blog.csdn.net/VRunSoftYanlz/article/details/83964057
++++Lua快速入门篇(Xlua拓展):https://blog.csdn.net/VRunSoftYanlz/article/details/81173818
++++Lua快速入门篇(XLua教程):https://blog.csdn.net/VRunSoftYanlz/article/details/81141502
++++Lua快速入门篇(基础概述):https://blog.csdn.net/VRunSoftYanlz/article/details/81041359
++++框架知识点:https://blog.csdn.net/VRunSoftYanlz/article/details/80862879
++++游戏框架(UI框架夯实篇):https://blog.csdn.net/vrunsoftyanlz/article/details/80781140
++++游戏框架(初探篇):https://blog.csdn.net/VRunSoftYanlz/article/details/80630325
++++.Net框架设计:https://blog.csdn.net/VRunSoftYanlz/article/details/87401225
++++从零开始学架构:https://blog.csdn.net/VRunSoftYanlz/article/details/88095895
++++设计模式简单整理:https://blog.csdn.net/vrunsoftyanlz/article/details/79839641
++++专题:设计模式(精华篇):https://blog.csdn.net/VRunSoftYanlz/article/details/81322678
++++U3D小项目参考:https://blog.csdn.net/vrunsoftyanlz/article/details/80141811
++++Unity小游戏算法分析:https://blog.csdn.net/VRunSoftYanlz/article/details/87908365
++++Unity案例(Vehicle):https://blog.csdn.net/VRunSoftYanlz/article/details/82355876
++++UML类图:https://blog.csdn.net/vrunsoftyanlz/article/details/80289461
++++PowerDesigner简介:https://blog.csdn.net/VRunSoftYanlz/article/details/86500084
++++Unity知识点0001:https://blog.csdn.net/vrunsoftyanlz/article/details/80302012
++++Unity知识点0008:https://blog.csdn.net/VRunSoftYanlz/article/details/81153606
++++U3D_Shader编程(第一篇:快速入门篇):https://blog.csdn.net/vrunsoftyanlz/article/details/80372071
++++U3D_Shader编程(第二篇:基础夯实篇):https://blog.csdn.net/vrunsoftyanlz/article/details/80372628
++++Unity引擎基础:https://blog.csdn.net/vrunsoftyanlz/article/details/78881685
++++Unity面向组件开发:https://blog.csdn.net/vrunsoftyanlz/article/details/78881752
++++Unity物理系统:https://blog.csdn.net/vrunsoftyanlz/article/details/78881879
++++Unity2D平台开发:https://blog.csdn.net/vrunsoftyanlz/article/details/78882034
++++UGUI基础:https://blog.csdn.net/vrunsoftyanlz/article/details/78884693
++++UGUI进阶:https://blog.csdn.net/vrunsoftyanlz/article/details/78884882
++++UGUI综合:https://blog.csdn.net/vrunsoftyanlz/article/details/78885013
++++Unity动画系统基础:https://blog.csdn.net/vrunsoftyanlz/article/details/78886068
++++Unity动画系统进阶:https://blog.csdn.net/vrunsoftyanlz/article/details/78886198
++++Navigation导航系统:https://blog.csdn.net/vrunsoftyanlz/article/details/78886281
++++Unity特效渲染:https://blog.csdn.net/vrunsoftyanlz/article/details/78886403
++++Unity数据存储:https://blog.csdn.net/vrunsoftyanlz/article/details/79251273
++++Unity中Sqlite数据库:https://blog.csdn.net/vrunsoftyanlz/article/details/79254162
++++WWW类和协程:https://blog.csdn.net/vrunsoftyanlz/article/details/79254559
++++Unity网络:https://blog.csdn.net/vrunsoftyanlz/article/details/79254902
++++Unity资源加密:https://blog.csdn.net/VRunSoftYanlz/article/details/87644514
++++PhotonServer简介:https://blog.csdn.net/VRunSoftYanlz/article/details/86652770
++++编写Photon游戏服务器:https://blog.csdn.net/VRunSoftYanlz/article/details/86682935
++++C#事件:https://blog.csdn.net/vrunsoftyanlz/article/details/78631267
++++C#委托:https://blog.csdn.net/vrunsoftyanlz/article/details/78631183
++++C#集合:https://blog.csdn.net/vrunsoftyanlz/article/details/78631175
++++C#泛型:https://blog.csdn.net/vrunsoftyanlz/article/details/78631141
++++C#接口:https://blog.csdn.net/vrunsoftyanlz/article/details/78631122
++++C#静态类:https://blog.csdn.net/vrunsoftyanlz/article/details/78630979
++++C#中System.String类:https://blog.csdn.net/vrunsoftyanlz/article/details/78630945
++++C#数据类型:https://blog.csdn.net/vrunsoftyanlz/article/details/78630913
++++Unity3D默认的快捷键:https://blog.csdn.net/vrunsoftyanlz/article/details/78630838
++++游戏相关缩写:https://blog.csdn.net/vrunsoftyanlz/article/details/78630687
++++UnityAPI.Rigidbody刚体:https://blog.csdn.net/VRunSoftYanlz/article/details/81784053
++++UnityAPI.Material材质:https://blog.csdn.net/VRunSoftYanlz/article/details/81814303
++++UnityAPI.Android安卓:https://blog.csdn.net/VRunSoftYanlz/article/details/81843193
++++UnityAPI.AndroidJNI安卓JNI:https://blog.csdn.net/VRunSoftYanlz/article/details/81879345
++++UnityAPI.Transform变换:https://blog.csdn.net/VRunSoftYanlz/article/details/81916293
++++UnityAPI.WheelCollider轮碰撞器:https://blog.csdn.net/VRunSoftYanlz/article/details/82356217
++++UnityAPI.Resources资源:https://blog.csdn.net/VRunSoftYanlz/article/details/83155518
++++JSON数据结构:https://blog.csdn.net/VRunSoftYanlz/article/details/82026644
++++CocosStudio快速入门:https://blog.csdn.net/VRunSoftYanlz/article/details/82356839
++++Unity企业内训(目录):https://blog.csdn.net/VRunSoftYanlz/article/details/82634668
++++Unity企业内训(第1讲):https://blog.csdn.net/VRunSoftYanlz/article/details/82634733
++++Unity企业内训(第2讲):https://blog.csdn.net/VRunSoftYanlz/article/details/82861180
++++Unity企业内训(第3讲):https://blog.csdn.net/VRunSoftYanlz/article/details/82927699
++++Unity企业内训(第4讲):https://blog.csdn.net/VRunSoftYanlz/article/details/83479776
++++Unity企业内训(第5讲):https://blog.csdn.net/VRunSoftYanlz/article/details/83963811
++++Unity企业内训(第6讲):https://blog.csdn.net/VRunSoftYanlz/article/details/84207696
++++钻哥带您了解产品原型:https://blog.csdn.net/VRunSoftYanlz/article/details/87303828
++++插件
++++计算机组成原理(教材篇):https://blog.csdn.net/VRunSoftYanlz/article/details/82719129
++++5G接入:云计算和雾计算:https://blog.csdn.net/VRunSoftYanlz/article/details/88372718
++++云计算通俗讲义:https://blog.csdn.net/VRunSoftYanlz/article/details/88652803
++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/
--_--VRunSoft:lovezuanzuan--_--ww4ww--_--