﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>YuYuYouEr工作室 &#187; Unity3D</title>
	<atom:link href="http://www.yuyuyouer.cn/blog/?cat=24&#038;feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.yuyuyouer.cn/blog</link>
	<description>AREA OF 雨雨油儿 ~~ 承接体感互动软件、游戏定制开发 ~~</description>
	<lastBuildDate>Sat, 30 Mar 2024 16:41:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>YuYuYouEr Kinect SDK Wrapper v2.0.0.8版本发布</title>
		<link>http://www.yuyuyouer.cn/blog/?p=655</link>
		<comments>http://www.yuyuyouer.cn/blog/?p=655#comments</comments>
		<pubDate>Mon, 19 Sep 2016 19:55:19 +0000</pubDate>
		<dc:creator>rabbit5455</dc:creator>
				<category><![CDATA[kinect]]></category>
		<category><![CDATA[Unity3D]]></category>

		<guid isPermaLink="false">http://www.yuyuyouer.cn/blog/?p=655</guid>
		<description><![CDATA[YuYuYouEr Kinect SDK Wrapper 发布了新的v2.0.0.8版本，下载地址： http://www.yuyuyouer.cn/blog/?page_id=369 本次新增特性如下： 本版增加与彩色RGB图像对应的平面骨骼节点，方便大家做AR互动类开发； 角色模型和小点骨骼，支持面对面视角，像照镜子一样动作同步； 非面对面视角为第三人称背后视角，左右侧动作同步； 增加一代二代SDK切换脚本，详见Assets\YuYuYouEr_Kinect_SDK_Wrapper\Plugins\目录； &#160; 插件对Kinect V2硬件设备提供支持，封装了Kinect for windows SDK v2.0-1409版本； 并提供与Kinect V1设备完全兼容的DLL插件接口，大家可以根据自己需要切换硬件设备，无需修改应用代码； 使用本插件开发的应用直接替换DLL即可切换Kinect V1/V2硬件设备； &#160;]]></description>
			<content:encoded><![CDATA[<p>YuYuYouEr Kinect SDK Wrapper 发布了新的v2.0.0.8版本，下载地址：</p>
<blockquote><p><a href="http://www.yuyuyouer.cn/blog/?page_id=369" target="_blank">http://www.yuyuyouer.cn/blog/?page_id=369</a></p></blockquote>
<p>本次新增特性如下：</p>
<blockquote><p>本版增加与彩色RGB图像对应的平面骨骼节点，方便大家做AR互动类开发；</p>
<p>角色模型和小点骨骼，支持面对面视角，像照镜子一样动作同步；</p>
<p>非面对面视角为第三人称背后视角，左右侧动作同步；</p>
<p>增加一代二代SDK切换脚本，详见Assets\YuYuYouEr_Kinect_SDK_Wrapper\Plugins\目录；</p>
<p>&nbsp;</p></blockquote>
<p>插件对Kinect V2硬件设备提供支持，封装了Kinect for windows SDK v2.0-1409版本；</p>
<p>并提供与Kinect V1设备完全兼容的DLL插件接口，大家可以根据自己需要切换硬件设备，无需修改应用代码；</p>
<p>使用本插件开发的应用直接替换DLL即可切换Kinect V1/V2硬件设备；</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yuyuyouer.cn/blog/?feed=rss2&#038;p=655</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YuYuYouEr Kinect SDK Wrapper v0.2版发布 for Unity3D</title>
		<link>http://www.yuyuyouer.cn/blog/?p=385</link>
		<comments>http://www.yuyuyouer.cn/blog/?p=385#comments</comments>
		<pubDate>Tue, 30 Jul 2013 20:26:47 +0000</pubDate>
		<dc:creator>rabbit5455</dc:creator>
				<category><![CDATA[kinect]]></category>
		<category><![CDATA[Unity3D]]></category>
		<category><![CDATA[kinectsdk]]></category>
		<category><![CDATA[skeleton]]></category>
		<category><![CDATA[unity]]></category>
		<category><![CDATA[unity3d]]></category>
		<category><![CDATA[YuYuYouEr]]></category>
		<category><![CDATA[体感]]></category>

		<guid isPermaLink="false">http://www.yuyuyouer.cn/blog/?p=385</guid>
		<description><![CDATA[关于YuYuYouEr Kinect SDK Wrapper最新信息，请点击： http://www.yuyuyouer.cn/blog/?page_id=369 新的v0.2版本增加Unity3D插件支持，这份Wrapper代码会长期维护，并不断增加新特性，将来也会提供对其他体感硬件、体感平台的支持。 目前已经开始着手Android平台体感插件设计，我们会尽最大努力保证应用层接口的一致性，方便大家应用层代码移植。 此外qfFSM状态机类库支持多种语言，对于体感通用的UI交互组件算法，我们也会以状态机设计图或源码的方式发布，请大家关注本站更新。 功能说明： 提供Unity3D插件（移植自CMU Kinect Wrapper，修复bug，增加特性） 对Kinect for windows SDK v1.7进行封装 支持深度图、彩色视频、单人骨骼数据 支持Kinect Interaction握拳手势 支持语音识别 提供OpenCV图像处理函数：改变图像大小，水平、垂直翻转图像 Wrapper以Win32 DLL方式提供，可以被任何支持DLL调用的语言使用。 目前已经测试过C++、C#、Unity3D、Flash Air（ANE方式）、Java。 Unity3D插件移植自CMU Kinect Wrapper Package，替换原始版本底层实现，增加语音、握拳手势检测特性。 &#160;]]></description>
			<content:encoded><![CDATA[<p>关于YuYuYouEr Kinect SDK Wrapper最新信息，请点击：</p>
<blockquote><p><a href="http://www.yuyuyouer.cn/blog/?page_id=369">http://www.yuyuyouer.cn/blog/?page_id=369</a></p></blockquote>
<p><strong>新的v0.2版本增加Unity3D插件支持，这份Wrapper代码会长期维护，并不断增加新特性，将来也会提供对其他体感硬件、体感平台的支持。</strong></p>
<p><strong>目前已经开始着手Android平台体感插件设计，我们会尽最大努力保证应用层接口的一致性，方便大家应用层代码移植。</strong></p>
<p>此外qfFSM状态机类库支持多种语言，对于体感通用的UI交互组件算法，我们也会以状态机设计图或源码的方式发布，请大家关注本站更新。</p>
<p><strong>功能说明：</strong></p>
<blockquote><p>提供Unity3D插件（移植自CMU Kinect Wrapper，修复bug，增加特性）</p>
<p>对Kinect for windows SDK v1.7进行封装</p>
<p>支持深度图、彩色视频、单人骨骼数据</p>
<p>支持Kinect Interaction握拳手势</p>
<p>支持语音识别</p>
<p>提供OpenCV图像处理函数：改变图像大小，水平、垂直翻转图像</p></blockquote>
<p>Wrapper以Win32 DLL方式提供，可以被任何支持DLL调用的语言使用。</p>
<p>目前已经测试过C++、C#、Unity3D、Flash Air（ANE方式）、Java。</p>
<p>Unity3D插件移植自CMU Kinect Wrapper Package，替换原始版本底层实现，增加语音、握拳手势检测特性。</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yuyuyouer.cn/blog/?feed=rss2&#038;p=385</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>有限状态自动机类库 &#8211; qfFSM</title>
		<link>http://www.yuyuyouer.cn/blog/?p=290</link>
		<comments>http://www.yuyuyouer.cn/blog/?p=290#comments</comments>
		<pubDate>Mon, 29 Apr 2013 15:18:44 +0000</pubDate>
		<dc:creator>rabbit5455</dc:creator>
				<category><![CDATA[qfFSM有限自动机]]></category>
		<category><![CDATA[Unity3D]]></category>
		<category><![CDATA[fsm]]></category>
		<category><![CDATA[有限状态自动机]]></category>
		<category><![CDATA[有限自动机]]></category>
		<category><![CDATA[状态机]]></category>

		<guid isPermaLink="false">http://www.yuyuyouer.cn/blog/?p=290</guid>
		<description><![CDATA[给自己开发了一套有限状态自动机类库，满足基本的状态转移需求，有需要的朋友拿去玩吧。 boost库中自动机还是比较强大的，不过确实比较大，而且我的项目要求可在运行时修改状态机的配置。 &#160; 源码下载地址： qfFSM 百度网盘 C++版本：qfFSM_for_cpp_v1.2.zip Java版本：qfFSM_for_java_v1.2.zip JavaScript版本：qfFSM_for_javascript_v1.2.zip C#版本：qfFSM_for_csharp_v1.2.zip Unity3D(C#)版本：qfFSM_for_unity3d_csharp_v1.2.zip 压缩包内含有一个简单的 StopWatch例程，UML状态图如下： 类库非常小，文件列表及说明如下： qfState.h/.cpp：状态 qfStateMachine.h/.cpp：状态机，由状态、事件、转移规则组成，继承自qfState，可作为另一个状态机的子状态 qfEvent.h：事件，状态机的激励 PropertyBag.h：属性包，每个qfEvent都有一个属性包 qfFSM.h/.cpp：qfFsmLogic类，对qfStateMachine进行封装，提供一个大粒度状态机基类，状态机开始、停止、重置，状态机子状态管理。 ================================ qfState状态有四个响应函数： entryAction：进入状态 doAction：执行本状态操作，目前的设计中，doAction会在entryAction执行后立即执行 exitAction：退出状态 onNotify：通知，如果本状态没有针对当前事件的转移规则，将会收到一个onNotify通知，完成一些特殊的事件处理需求 ================================ qfStateMachine状态机内可以设置状态转移规则、绑定状态实现、处理外部事件 状态机内的转移规则配置由源状态名称、事件名称、目标状态名称组成，支持自动转移规则，可选择性的为一个状态绑定自定义的qfState对象实例，完成相应功能，运行时可随时修改这些绑定，切换另一个qfState实现，改变状态行为，当然转移规则也是可以运行时修改的。 状态机还支持设置环境变量，状态机嵌套时，父子状态机环境变量相互独立。 setTransfer(srcStateName, eventName, destStateName)：设置转移规则 setAutoTransfer(srcStateName, destStateName)：设置一条自动转移规则 setState(stateName, qfState*)：绑定状态实现。 getRootENV()：得到根状态机环境变量，多层状态机嵌套时很有用。 processAllEvent(qfEvent&#38;)：处理事件堆栈中的事件，阻塞方式，直到队列为空，将一个外部事件传入，状态机将查找转移规则，如果当前状态没有设置此事件转移，将会收到onNotify通知调用，此事件将冒泡给上层状态处理。 postEvent(qfEvent&#38;)：将事件放入事件堆栈。 processSingleEvent（qfEvent&#38;)：处理单个事件。 关于事件堆栈：postEvent()将事件压栈，processAllEvent()每次从栈顶取出事件，交由processSingleEvent()处理。 ================================ qfEvent事件拥有事件名称、属性集合（由qfPropertyBag实现） qfPropertyBag继承自std::map，用于存放&#60;key, value&#62;，可通过定义SUPPORT_BOOST_ANY_PROPERTY宏使用boost::any来作为value，否则使用void *作为value。 ================================ qfFsmLogic是对状态机的封装，用于方便实现独立逻辑组件，提供start/stop/reset实现，qfState状态对象自动析构 setupStateMachine()：一般只需要重写这个函数，完成环境变量配置、转移规则配置、状态对象绑定。 start()：调用此函数后，状态机被初始化，可以执行processAllEvent()。 ================================ 发布历史： 2014年10月23日 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; 更新所有版本到v1.2； [...]]]></description>
			<content:encoded><![CDATA[<p>给自己开发了一套有限状态自动机类库，满足基本的状态转移需求，有需要的朋友拿去玩吧。</p>
<p>boost库中自动机还是比较强大的，不过确实比较大，而且我的项目要求可在运行时修改状态机的配置。</p>
<p>&nbsp;</p>
<p>源码下载地址：</p>
<p><a href="https://pan.baidu.com/s/1Oo1dudhuziljvJ6vkpHLfQ?pwd=vihb" target="_blank">qfFSM 百度网盘</a></p>
<p>C++版本：qfFSM_for_cpp_v1.2.zip</p>
<p>Java版本：qfFSM_for_java_v1.2.zip</p>
<p>JavaScript版本：qfFSM_for_javascript_v1.2.zip</p>
<p>C#版本：qfFSM_for_csharp_v1.2.zip</p>
<p>Unity3D(C#)版本：qfFSM_for_unity3d_csharp_v1.2.zip</p>
<p>压缩包内含有一个简单的 StopWatch例程，UML状态图如下：</p>
<p><a href="http://www.yuyuyouer.cn/blog/wp-content/uploads/2013/04/StopWatch_StatechartDiagram.jpg" target="_blank"><img class="alignnone size-full wp-image-293" title="StopWatch_StatechartDiagram" src="http://www.yuyuyouer.cn/blog/wp-content/uploads/2013/04/StopWatch_StatechartDiagram.jpg" alt="" width="476" height="209" /></a></p>
<p>类库非常小，文件列表及说明如下：</p>
<p>qfState.h/.cpp：状态</p>
<p>qfStateMachine.h/.cpp：状态机，由状态、事件、转移规则组成，继承自qfState，可作为另一个状态机的子状态</p>
<p>qfEvent.h：事件，状态机的激励</p>
<p>PropertyBag.h：属性包，每个qfEvent都有一个属性包</p>
<p>qfFSM.h/.cpp：qfFsmLogic类，对qfStateMachine进行封装，提供一个大粒度状态机基类，状态机开始、停止、重置，状态机子状态管理。</p>
<p>================================</p>
<p><span id="more-290"></span></p>
<p><strong>qfState状态有四个响应函数</strong>：</p>
<p>entryAction：进入状态<br />
doAction：执行本状态操作，目前的设计中，doAction会在entryAction执行后立即执行<br />
exitAction：退出状态<br />
onNotify：通知，如果本状态没有针对当前事件的转移规则，将会收到一个onNotify通知，完成一些特殊的事件处理需求</p>
<p>================================</p>
<p><strong>qfStateMachine状态机内可以设置状态转移规则、绑定状态实现、处理外部事件</strong></p>
<p>状态机内的转移规则配置由源状态名称、事件名称、目标状态名称组成，支持自动转移规则，可选择性的为一个状态绑定自定义的qfState对象实例，完成相应功能，运行时可随时修改这些绑定，切换另一个qfState实现，改变状态行为，当然转移规则也是可以运行时修改的。</p>
<p>状态机还支持设置环境变量，状态机嵌套时，父子状态机环境变量相互独立。</p>
<p>setTransfer(srcStateName, eventName, destStateName)：设置转移规则</p>
<p>setAutoTransfer(srcStateName, destStateName)：设置一条自动转移规则</p>
<p>setState(stateName, qfState*)：绑定状态实现。</p>
<p>getRootENV()：得到根状态机环境变量，多层状态机嵌套时很有用。</p>
<p>processAllEvent(qfEvent&amp;)：处理事件堆栈中的事件，阻塞方式，直到队列为空，将一个外部事件传入，状态机将查找转移规则，如果当前状态没有设置此事件转移，将会收到onNotify通知调用，此事件将冒泡给上层状态处理。</p>
<p>postEvent(qfEvent&amp;)：将事件放入事件堆栈。</p>
<p>processSingleEvent（qfEvent&amp;)：处理单个事件。</p>
<p>关于事件堆栈：postEvent()将事件压栈，processAllEvent()每次从栈顶取出事件，交由processSingleEvent()处理。</p>
<p>================================</p>
<p><strong>qfEvent事件拥有事件名称、属性集合（由qfPropertyBag实现）</strong></p>
<p>qfPropertyBag继承自std::map，用于存放&lt;key, value&gt;，可通过定义SUPPORT_BOOST_ANY_PROPERTY宏使用boost::any来作为value，否则使用void *作为value。</p>
<p>================================</p>
<p><strong>qfFsmLogic是对状态机的封装，用于方便实现独立逻辑组件，提供start/stop/reset实现，qfState状态对象自动析构</strong></p>
<p>setupStateMachine()：一般只需要重写这个函数，完成环境变量配置、转移规则配置、状态对象绑定。</p>
<p>start()：调用此函数后，状态机被初始化，可以执行processAllEvent()。</p>
<p>================================</p>
<p>发布历史：</p>
<p><strong>2014年10月23日</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
更新所有版本到v1.2；<br />
允许bind一个qfFSMLogic示例给一个状态；<br />
在qfStateMachine中增加reset()成员；<br />
修复qfEvent中m_PropertyBag未实例化的bug；</p>
<p><strong>2013年07月27日</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
更新C#版本，含WinForm示例；<br />
版本号定为v1.1；</p>
<p><strong>2013年06月06日<br />
</strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
更新所有版本；<br />
版本号定为v0.1；<br />
状态机中增加事件堆栈，避免用递归来处理循环事件；</p>
<p><strong>2013年05月19日</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
发布qfFSM_for_unity3d_csharp版本；</p>
<p><strong>2013年05月09日</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
发布qfFSM_for_javascript版本；</p>
<p><strong>2013年05月07日</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
发布qfFSM_for_java版本；</p>
<p><strong>2013年05月05日</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
发布qfFSM_for_cpp版本；</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yuyuyouer.cn/blog/?feed=rss2&#038;p=290</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
