﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-AstaTus-随笔分类-Ogre</title><link>http://www.cppblog.com/AstaTus/category/7919.html</link><description>       -- 夏天不热。。</description><language>zh-cn</language><lastBuildDate>Mon, 12 Apr 2010 11:17:36 GMT</lastBuildDate><pubDate>Mon, 12 Apr 2010 11:17:36 GMT</pubDate><ttl>60</ttl><item><title>火炬之光的模型资源获取...</title><link>http://www.cppblog.com/AstaTus/archive/2010/04/11/112271.html</link><dc:creator>AstaTus</dc:creator><author>AstaTus</author><pubDate>Sun, 11 Apr 2010 14:41:00 GMT</pubDate><guid>http://www.cppblog.com/AstaTus/archive/2010/04/11/112271.html</guid><wfw:comment>http://www.cppblog.com/AstaTus/comments/112271.html</wfw:comment><comments>http://www.cppblog.com/AstaTus/archive/2010/04/11/112271.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/AstaTus/comments/commentRss/112271.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/AstaTus/services/trackbacks/112271.html</trackback:ping><description><![CDATA[<span class="Apple-tab-span" style="white-space:pre">	</span><div><span class="Apple-tab-span" style="white-space:pre"></span><span class="Apple-tab-span" style="white-space:pre">	</span>火炬之光是用Ogre开发的一款单机游戏,所以他的资源是可以再度利用的.但是在加载模型时他的动画信息没有导入进来,所以要将他的Skeleton文件动下手脚，以火炬之光中 Model/Goust为例,先将Goust.Skeleton文件拖放到OgreXmlConverter.exe工具图标上,然后就会在Goust.Skeleton目录上生成一个Goust.Skeleton.XML文件,该在中间插入&lt;animationlinks&gt;标记,然后将所有的动画Skeleton文件Link进来.然后将xml文件拖到OgreXmlConverter.exe工具图标上,便自动又生成一个oust.Skeleton，该文件内就会link动画文件了</div><div><br></div><div><span  style="font-family: monospace; font-size: 13px; white-space: pre; "><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">skeleton</span><span style="color: rgb(0, 0, 255); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">bones</span><span style="color: rgb(0, 0, 255); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;/</span><span style="color: rgb(128, 0, 0); ">bones</span><span style="color: rgb(0, 0, 255); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">bonehierarchy</span><span style="color: rgb(0, 0, 255); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;/</span><span style="color: rgb(128, 0, 0); ">bonehierarchy</span><span style="color: rgb(0, 0, 255); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animations</span><span style="color: rgb(0, 0, 255); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;/</span><span style="color: rgb(128, 0, 0); ">animations</span><span style="color: rgb(0, 0, 255); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animationlinks</span><span style="color: rgb(0, 0, 255); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;/</span><span style="color: rgb(128, 0, 0); ">animationlinks</span><span style="color: rgb(0, 0, 255); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
</span><span style="color: rgb(0, 0, 255); ">&lt;/</span><span style="color: rgb(128, 0, 0); ">skeleton</span></span></div><div><span ><span><br></span></span></div><div><span ><span><table id="Table1" class="tb" cellspacing="0" cellpadding="3" border="0" style="font-size: 13px; "><tbody><tr><td><pre><div><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animationlinks</span><span style="color: rgb(0, 0, 255); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animationlink </span><span style="color: rgb(255, 0, 0); ">skeletonName</span><span style="color: rgb(0, 0, 255); ">="Attack1.SKELETON"</span><span style="color: rgb(255, 0, 0); "> scale</span><span style="color: rgb(0, 0, 255); ">="1"</span><span style="color: rgb(255, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">/&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animationlink </span><span style="color: rgb(255, 0, 0); ">skeletonName</span><span style="color: rgb(0, 0, 255); ">="Attack2.SKELETON"</span><span style="color: rgb(255, 0, 0); "> scale</span><span style="color: rgb(0, 0, 255); ">="1"</span><span style="color: rgb(255, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">/&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animationlink </span><span style="color: rgb(255, 0, 0); ">skeletonName</span><span style="color: rgb(0, 0, 255); ">="Die.SKELETON"</span><span style="color: rgb(255, 0, 0); "> scale</span><span style="color: rgb(0, 0, 255); ">="1"</span><span style="color: rgb(255, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">/&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animationlink </span><span style="color: rgb(255, 0, 0); ">skeletonName</span><span style="color: rgb(0, 0, 255); ">="Idle.SKELETON"</span><span style="color: rgb(255, 0, 0); "> scale</span><span style="color: rgb(0, 0, 255); ">="1"</span><span style="color: rgb(255, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">/&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animationlink </span><span style="color: rgb(255, 0, 0); ">skeletonName</span><span style="color: rgb(0, 0, 255); ">="Run.SKELETON"</span><span style="color: rgb(255, 0, 0); "> scale</span><span style="color: rgb(0, 0, 255); ">="1"</span><span style="color: rgb(255, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">/&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animationlink </span><span style="color: rgb(255, 0, 0); ">skeletonName</span><span style="color: rgb(0, 0, 255); ">="spawn.SKELETON"</span><span style="color: rgb(255, 0, 0); "> scale</span><span style="color: rgb(0, 0, 255); ">="1"</span><span style="color: rgb(255, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">/&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animationlink </span><span style="color: rgb(255, 0, 0); ">skeletonName</span><span style="color: rgb(0, 0, 255); ">="special_teleport.SKELETON"</span><span style="color: rgb(255, 0, 0); "> scale</span><span style="color: rgb(0, 0, 255); ">="1"</span><span style="color: rgb(255, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">/&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animationlink </span><span style="color: rgb(255, 0, 0); ">skeletonName</span><span style="color: rgb(0, 0, 255); ">="Special_Gen_AOE.SKELETON"</span><span style="color: rgb(255, 0, 0); "> scale</span><span style="color: rgb(0, 0, 255); ">="1"</span><span style="color: rgb(255, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">/&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animationlink </span><span style="color: rgb(255, 0, 0); ">skeletonName</span><span style="color: rgb(0, 0, 255); ">="Walk.SKELETON"</span><span style="color: rgb(255, 0, 0); "> scale</span><span style="color: rgb(0, 0, 255); ">="1"</span><span style="color: rgb(255, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">/&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animationlink </span><span style="color: rgb(255, 0, 0); ">skeletonName</span><span style="color: rgb(0, 0, 255); ">="Special_summon.SKELETON"</span><span style="color: rgb(255, 0, 0); "> scale</span><span style="color: rgb(0, 0, 255); ">="1"</span><span style="color: rgb(255, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">/&gt;</span><span style="color: rgb(0, 0, 0); ">
  </span><span style="color: rgb(0, 0, 255); ">&lt;/</span><span style="color: rgb(128, 0, 0); ">animationlinks</span><span style="color: rgb(0, 0, 255); ">&gt;</span></div></pre></td></tr></tbody></table></span></span></div><img src ="http://www.cppblog.com/AstaTus/aggbug/112271.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/AstaTus/" target="_blank">AstaTus</a> 2010-04-11 22:41 <a href="http://www.cppblog.com/AstaTus/archive/2010/04/11/112271.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ogre--源码研究--Demo_CameraTrack</title><link>http://www.cppblog.com/AstaTus/archive/2008/09/07/61248.html</link><dc:creator>AstaTus</dc:creator><author>AstaTus</author><pubDate>Sun, 07 Sep 2008 12:45:00 GMT</pubDate><guid>http://www.cppblog.com/AstaTus/archive/2008/09/07/61248.html</guid><wfw:comment>http://www.cppblog.com/AstaTus/comments/61248.html</wfw:comment><comments>http://www.cppblog.com/AstaTus/archive/2008/09/07/61248.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/AstaTus/comments/commentRss/61248.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/AstaTus/services/trackbacks/61248.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;这个是摄像机绕食人魔头的一个demo， <br>其中的关键就在于摄像机的自动绕行 和 摄像机一直朝向食人魔头，<br><br>ogre这引擎似乎什么都帮你想到了，很多的函数都已封装好，就怕你找不到<br><br>以下的是这个demo关键代码，都是在createscene里的，我给了下具体的解释：
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;Make&nbsp;sure&nbsp;the&nbsp;camera&nbsp;track&nbsp;this&nbsp;node</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mCamera</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">setAutoTracking(</span><span style="COLOR: #0000ff">true</span>,&nbsp;headNode);&nbsp;&nbsp;&nbsp; //<span style="COLOR: #008000">这里让摄像机总是朝着魔头<br></span><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;Create&nbsp;the&nbsp;camera&nbsp;node&nbsp;&amp;&nbsp;attach&nbsp;camera</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SceneNode</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;camNode&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;mSceneMgr</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">getRootSceneNode()</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">createChildSceneNode();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;camNode</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">attachObject(mCamera);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;set&nbsp;up&nbsp;spline&nbsp;animation&nbsp;of&nbsp;node</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Animation</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;anim&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;mSceneMgr</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">createAnimation(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">CameraTrack</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">这里的10指代这个摄像机绕一圈要花10秒钟，至于这10秒钟怎么分，在下面关键帧设置中会分配<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;Spline&nbsp;it&nbsp;for&nbsp;nice&nbsp;curves</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;anim</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">setInterpolationMode(Animation::IM_LINEAR);&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">设置两点间移动时的插值类型，有线型和弧线型两种，什么效果大家自个试吧<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;Create&nbsp;a&nbsp;track&nbsp;to&nbsp;animate&nbsp;the&nbsp;camera's&nbsp;node<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">以下就要设置相机绕行的轨迹了</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NodeAnimationTrack</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;track&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;anim</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">createNodeTrack(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,&nbsp;camNode);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;Setup&nbsp;keyframes<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">关键帧就10帧，这与动画的总时间10刚好对应</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TransformKeyFrame</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;key&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;track</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">createNodeKeyFrame(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;startposition</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;key&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;track</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">createNodeKeyFrame(</span><span style="COLOR: #000000">2.5</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;key</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">setTranslate(Vector3(</span><span style="COLOR: #000000">500</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">500</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1000</span><span style="COLOR: #000000">));<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;key&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;track</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">createNodeKeyFrame(</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;key</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">setTranslate(Vector3(</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1500</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">1000</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">600</span><span style="COLOR: #000000">));<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;key&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;track</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">createNodeKeyFrame(</span><span style="COLOR: #000000">7.5</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;key</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">setTranslate(Vector3(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">));<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;key&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;track</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">createNodeKeyFrame(</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;key</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">setTranslate(Vector3(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">));<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;Create&nbsp;a&nbsp;new&nbsp;animation&nbsp;state&nbsp;to&nbsp;track&nbsp;this</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mAnimState&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;mSceneMgr</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">createAnimationState(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">CameraTrack</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mAnimState</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">setEnabled(</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">);</span></div>
关键帧设置的那8行代码其实就是说从0~2.5秒 摄像机从起始点移动到（500， 500， -1000），后面几行同理<br><br><br>该demo中的createplane函数还是有点不明白<br>&nbsp;MeshPtr createPlane(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const String&amp; name, const String&amp; groupName, const Plane&amp; plane,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Real width, Real height,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int xsegments = 1, int ysegments = 1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bool normals = true, int numTexCoordSets = 1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Real uTile = 1.0f, Real vTile = 1.0f,&nbsp;&nbsp; //这个tile啥意思啦？？？？？？？？？？？？？？？？？？<br>&nbsp;const Vector3&amp; upVector = Vector3::UNIT_Y,<br>&nbsp;&nbsp;&nbsp;HardwareBuffer::Usage vertexBufferUsage = HardwareBuffer::HBU_STATIC_WRITE_ONLY, <br>&nbsp;&nbsp;&nbsp;HardwareBuffer::Usage indexBufferUsage = HardwareBuffer::HBU_STATIC_WRITE_ONLY,<br>&nbsp;&nbsp;&nbsp;bool vertexShadowBuffer = true, bool indexShadowBuffer = true);<br>
<img src ="http://www.cppblog.com/AstaTus/aggbug/61248.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/AstaTus/" target="_blank">AstaTus</a> 2008-09-07 20:45 <a href="http://www.cppblog.com/AstaTus/archive/2008/09/07/61248.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ogre 初探。。</title><link>http://www.cppblog.com/AstaTus/archive/2008/08/15/58975.html</link><dc:creator>AstaTus</dc:creator><author>AstaTus</author><pubDate>Fri, 15 Aug 2008 13:16:00 GMT</pubDate><guid>http://www.cppblog.com/AstaTus/archive/2008/08/15/58975.html</guid><wfw:comment>http://www.cppblog.com/AstaTus/comments/58975.html</wfw:comment><comments>http://www.cppblog.com/AstaTus/archive/2008/08/15/58975.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/AstaTus/comments/commentRss/58975.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/AstaTus/services/trackbacks/58975.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;发现3D这东西还是蛮好玩的，尤其是有了3D的ogre引擎以后。今天一口气看到了基础教程4.。。&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;到现在为止，就接触了一个Application&nbsp;类 和 frameListener类<br><br>Application类继承了 ExampleApplication，主要是一些场景的资源载入 和 资源的设置 还有最重要的渲染函数<br>frameListener类继承了ExampleFrameListener,&nbsp; OIS::MouseListener, OIS::KeyListener。 后两个是外部类，不属于ogre内部<br>这两个类主要用于键盘和鼠标的监听，虽然还没了解它内部的运行机制，不过感觉有点像 单片机里的中断，过几天基础<br>玩熟了，去研究下。^_^<br><br>除以上两个类外<br>目前遇到比较重要的几个类有：SceneManger,&nbsp; Root, Camera, ViewPort (现在还没弄清楚Camera, ViewPort 之间的关系)，Entity<br>Light, SceneNode。。。<br><br><br>场景节点在控制实体旋转的时候，它是以自己的局部坐标系为标准的<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">Entity&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">ent&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;mSceneMgr</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">createEntity(&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Robot</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">robot.mesh</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SceneNode&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">node&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;mSceneMgr</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">getRootSceneNode()</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">createChildSceneNode(&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">RobotNode</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;Vector3(&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;)&nbsp;&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">attachObject(&nbsp;ent&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">yaw(&nbsp;Degree(&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">90</span><span style="COLOR: #000000">&nbsp;)&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<br><br>这含代码的最后一行就是以ent实体中心为坐标原点的坐标系旋转的。。<br><br>如果要绕某一个轴旋转捏？嘎嘎<br><br><br><br>
<img src ="http://www.cppblog.com/AstaTus/aggbug/58975.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/AstaTus/" target="_blank">AstaTus</a> 2008-08-15 21:16 <a href="http://www.cppblog.com/AstaTus/archive/2008/08/15/58975.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>