Away3D Forum http://away3d.com/forum/ Away3D Forum en Copyright 2013 2013-04-16T14:16:24+00:00 Hello, I encountered a problem in awayphysics1.0alpha http://away3d.com/forum/viewthread/4370/ http://away3d.com/forum/viewthread/4370/#When:14:16:24Z <p>i set collisionCallbackOn is true than rigidBody.addEventListener(AWPEvent.COLLISION_ADDED, collision);<br /> when the collision occurred error</p> <blockquote><p>TypeError: Error #1009: Cannot access a property or method of a null object reference.<br /> at global/AWPC_Run::physicsStepInC()<br /> at awayphysics.dynamics::AWPDynamicsWorld/step()[E:\ActionScript3\FProject\Maze\src\awayphysics\dynamics\AWPDynamicsWorld.as:334]<br /> at Maze/enterFrame()[E:\ActionScript3\FProject\Maze\src\Maze.as:86]<br /> thank…</p> </blockquote> <p><br /> thank…</p> <p><br /> this is my all code</p> <div class="codeblock"><code><span style="color: #000000"> <span style="color: #007700">private&nbsp;var&nbsp;</span><span style="color: #0000BB">_view</span><span style="color: #007700">:</span><span style="color: #0000BB">View3D</span><span style="color: #007700">;<br />&nbsp;&nbsp;private&nbsp;var&nbsp;</span><span style="color: #0000BB">_physics</span><span style="color: #007700">:</span><span style="color: #0000BB">AWPDynamicsWorld</span><span style="color: #007700">;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">Maze</span><span style="color: #007700">()<br />&nbsp;&nbsp;</span><span style="color: #0000BB">{<br />&nbsp;&nbsp;&nbsp;_view&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">View3D</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">this</span><span style="color: #007700">.</span><span style="color: #0000BB">addChild</span><span style="color: #007700">(</span><span style="color: #0000BB">_view</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">_physics&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">AWPDynamicsWorld</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">_physics</span><span style="color: #007700">.</span><span style="color: #0000BB">initWithDbvtBroadphase</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">_physics</span><span style="color: #007700">.</span><span style="color: #0000BB">collisionCallbackOn&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">_physics</span><span style="color: #007700">.</span><span style="color: #0000BB">gravity&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">Vector3D</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;-</span><span style="color: #0000BB">10</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;var&nbsp;</span><span style="color: #0000BB">floor</span><span style="color: #007700">:</span><span style="color: #0000BB">Mesh&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">Mesh</span><span style="color: #007700">(new&nbsp;</span><span style="color: #0000BB">CubeGeometry</span><span style="color: #007700">(</span><span style="color: #0000BB">1000</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">100</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1000</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">_view</span><span style="color: #007700">.</span><span style="color: #0000BB">scene</span><span style="color: #007700">.</span><span style="color: #0000BB">addChild</span><span style="color: #007700">(</span><span style="color: #0000BB">floor</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;var&nbsp;</span><span style="color: #0000BB">awpBox</span><span style="color: #007700">:</span><span style="color: #0000BB">AWPBvhTriangleMeshShape&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">AWPBvhTriangleMeshShape</span><span style="color: #007700">(</span><span style="color: #0000BB">floor</span><span style="color: #007700">.</span><span style="color: #0000BB">geometry</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;var&nbsp;</span><span style="color: #0000BB">rigidBody</span><span style="color: #007700">:</span><span style="color: #0000BB">AWPRigidBody&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">AWPRigidBody</span><span style="color: #007700">(</span><span style="color: #0000BB">awpBox</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">floor</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">rigidBody</span><span style="color: #007700">.</span><span style="color: #0000BB">addEventListener</span><span style="color: #007700">(</span><span style="color: #0000BB">AWPEvent</span><span style="color: #007700">.</span><span style="color: #0000BB">COLLISION_ADDED</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">collision</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">_physics</span><span style="color: #007700">.</span><span style="color: #0000BB">addRigidBody</span><span style="color: #007700">(</span><span style="color: #0000BB">rigidBody</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;var&nbsp;</span><span style="color: #0000BB">box</span><span style="color: #007700">:</span><span style="color: #0000BB">Mesh&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">Mesh</span><span style="color: #007700">(new&nbsp;</span><span style="color: #0000BB">CubeGeometry</span><span style="color: #007700">(</span><span style="color: #0000BB">100</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">100</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">100</span><span style="color: #007700">),&nbsp;new&nbsp;</span><span style="color: #0000BB">ColorMaterial</span><span style="color: #007700">(</span><span style="color: #0000BB">0xff0000</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">box</span><span style="color: #007700">.</span><span style="color: #0000BB">y&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">900</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">_view</span><span style="color: #007700">.</span><span style="color: #0000BB">scene</span><span style="color: #007700">.</span><span style="color: #0000BB">addChild</span><span style="color: #007700">(</span><span style="color: #0000BB">box</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;var&nbsp;</span><span style="color: #0000BB">awpBox1</span><span style="color: #007700">:</span><span style="color: #0000BB">AWPBoxShape&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">AWPBoxShape</span><span style="color: #007700">(</span><span style="color: #0000BB">100</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">100</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">100</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;var&nbsp;</span><span style="color: #0000BB">rigidBody</span><span style="color: #007700">:</span><span style="color: #0000BB">AWPRigidBody&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">AWPRigidBody</span><span style="color: #007700">(</span><span style="color: #0000BB">awpBox1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">box</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">rigidBody</span><span style="color: #007700">.</span><span style="color: #0000BB">y&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">900</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">_physics</span><span style="color: #007700">.</span><span style="color: #0000BB">addRigidBody</span><span style="color: #007700">(</span><span style="color: #0000BB">rigidBody</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">_view</span><span style="color: #007700">.</span><span style="color: #0000BB">camera</span><span style="color: #007700">.</span><span style="color: #0000BB">y&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">500</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">_view</span><span style="color: #007700">.</span><span style="color: #0000BB">camera</span><span style="color: #007700">.</span><span style="color: #0000BB">z&nbsp;</span><span style="color: #007700">=&nbsp;-</span><span style="color: #0000BB">1200</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">this</span><span style="color: #007700">.</span><span style="color: #0000BB">addEventListener</span><span style="color: #007700">(</span><span style="color: #0000BB">Event</span><span style="color: #007700">.</span><span style="color: #0000BB">ENTER_FRAME</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">enterFrame</span><span style="color: #007700">);<br />&nbsp;&nbsp;</span><span style="color: #0000BB">}<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;</span><span style="color: #FF8000">//============================private&nbsp;function=============<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;//============================protected&nbsp;function=============<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;//============================event========================<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;</span><span style="color: #007700">private&nbsp;function&nbsp;</span><span style="color: #0000BB">collision</span><span style="color: #007700">(</span><span style="color: #0000BB">e</span><span style="color: #007700">:</span><span style="color: #0000BB">AWPEvent</span><span style="color: #007700">):</span><span style="color: #0000BB">void<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;</span><span style="color: #007700">private&nbsp;function&nbsp;</span><span style="color: #0000BB">enterFrame</span><span style="color: #007700">(</span><span style="color: #0000BB">e</span><span style="color: #007700">:</span><span style="color: #0000BB">Event</span><span style="color: #007700">):</span><span style="color: #0000BB">void<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;_view</span><span style="color: #007700">.</span><span style="color: #0000BB">render</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">_physics</span><span style="color: #007700">.</span><span style="color: #0000BB">step</span><span style="color: #007700">(</span><span style="color: #0000BB">60</span><span style="color: #007700">/</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;</span><span style="color: #0000BB">}&nbsp;</span> </span> </code></div> <p>&nbsp;</p> 2013-04-16T14:16:24+00:00 generic6Dof.getRotationalLimitMotor(1).targetVelocity apparently capped at 8, on pinball flipper usage http://away3d.com/forum/viewthread/3383/ http://away3d.com/forum/viewthread/3383/#When:13:53:02Z <p>1.<br /> I need my pinball flippers, to turn faster. I had decided on using a <strong><span style="color:green;">generic6Dof</span></strong>, to use the <strong><span style="color:green;">rotationalLimitMotor</span></strong> to drive the flipping from its own guts, <em>instead of being passively impulsed</em>. In this way, on top I can easily link to limit the range of turning to 30 degrees.</p> <p>Though I perceive a rotational speed increment as I increase <span style="color:green;">targetVelocity</span>, from <span style="color:purple;">1 to 8</span>, higher numbers result in no apparent turning speed.</p> <p>In summary these two lines below yield the same physical result:<br /> <span style="color:green;">generic6Dof.getRotationalLimitMotor(1).targetVelocity =</span><span style="color:purple;">1</span>;//slow<br /> <span style="color:green;">generic6Dof.getRotationalLimitMotor(1).targetVelocity =</span><span style="color:purple;">7</span>;//faster<br /> <span style="color:green;">generic6Dof.getRotationalLimitMotor(1).targetVelocity =</span><span style="color:purple;">8</span>;//fastest<br /> <span style="color:green;">generic6Dof.getRotationalLimitMotor(1).targetVelocity =</span> <span style="color:purple;">1000;//=8</span></p> <p>I tried messing about with <span style="color:green;">damping, force</span>, etc…&nbsp; but these seem to be not-operative.</p> <p><span style="color:orange;">How do I increase the turning speed?</span></p> <p>2.<br /> Another thing I would like to improve, is the way the <em>flipper reaches its limits</em>, it does it <em>too softly</em>, I would like to feel the sudden impact. <em><span style="color:gray;">I am not sure but this could be related to the problem above, bullet thinking that if it wants a soft landing on the angular limit, going over 8 would be impossible</span></em>. I tried to affect this with the motor’s <span style="color:green;">limitSoftness</span>, <span style="color:green;">bounce</span> ... no perceivable effects that I could anchor on to infere a way into the model.</p> <p><span style="color:orange;">How do I make the flipper hit strongly its angular limit, without bouncing, in the spirit of real pinball machines?</span></p> <p> I am starting to question the use of this generic6Dof, for this use, with fears that may be is modelled for vehicles which have lower accelerations than a pinball flipper. :-( The C documentation is as dry as it can be.</p> 2012-10-17T13:53:02+00:00 obj - AWPBvhTriangleMeshShape terrain problem http://away3d.com/forum/viewthread/3930/ http://away3d.com/forum/viewthread/3930/#When:19:55:49Z <p>Hi guys,</p> <p>Someone can see and eventually correct this…<br /> Here the source:<br /> <a href="http://www.estiva2.altervista.org/Away3D/CarSampleMod1.7z">http://www.estiva2.altervista.org/Away3D/CarSampleMod1.7z</a></p> <p>( the source contains two version of library incuded in the 7z file )</p> <p>This is important for me… With version 4.1 i can load the right material or/and texture but the physics can’t work…</p> <p>Thanks in advance <img src="/images/smileys/smile.gif" width="19" height="19" alt="smile" style="border:0;" /></p> 2013-02-01T19:55:49+00:00 AWPDynamicsWorld deallocation http://away3d.com/forum/viewthread/3870/ http://away3d.com/forum/viewthread/3870/#When:08:08:24Z <p>AWPDynamicsWorld can not release memory.</p> <div class="codeblock"><code><span style="color: #000000"> <span style="color: #FF8000">//create<br /></span><span style="color: #0000BB">AWPWorld&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">AWPDynamicsWorld</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">AWPWorld</span><span style="color: #007700">.</span><span style="color: #0000BB">initWithDbvtBroadphase</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">AWPWorld</span><span style="color: #007700">.</span><span style="color: #0000BB">gravity&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">Vector3D</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;-</span><span style="color: #0000BB">10</span><span style="color: #007700">);<br /><br />.<br />.<br />.<br />.<br /></span><span style="color: #FF8000">//deallocate<br /></span><span style="color: #0000BB">AWPWorld</span><span style="color: #007700">.</span><span style="color: #0000BB">cleanWorld</span><span style="color: #007700">(</span><span style="color: #0000BB">true</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">AWPWorld</span><span style="color: #007700">.</span><span style="color: #0000BB">dispose</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">AWPWorld&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">null</span><span style="color: #007700">;&nbsp;</span> </span> </code></div> 2013-01-23T08:08:24+00:00 AWPKinematicCharacterController Error http://away3d.com/forum/viewthread/3106/ http://away3d.com/forum/viewthread/3106/#When:18:07:24Z <p>RangeError: Error #1125: Der Index 1181054049 liegt außerhalb des gültigen Bereichs 1182.<br /> at cmodule.AwayPhysics::FSM__ZN12gjkepa2_impl3GJK8EvaluateERKNS_13MinkowskiDiffERK9btVector3/work()<br /> at MethodInfo-4370()<br /> at MethodInfo-4013()<br /> at awayphysics.dynamics::AWPDynamicsWorld/step()<br /> at com.cs.shooter3d.physics::PhysicsController/updatePhysicsWorld()<br /> at com.cs.shooter3d.core::Core/render()</p> <p>This happens if I add my Character : </p> <p>var shape : AWPCylinderShape = new AWPCylinderShape(300, 500);<br /> var ghostObject : AWPGhostObject = new AWPGhostObject(shape, core.camera3D);<br /> ghostObject.collisionFlags = AWPCollisionFlags.CF_CHARACTER_OBJECT;</p> <p>_character = new AWPKinematicCharacterController(ghostObject, 1);</p> <p>Directly if I rotate my mouse. At the moment I only have this Character and the Terrain as Physic Objects. :(</p> 2012-08-24T18:07:24+00:00 AWPConvexHullShape error http://away3d.com/forum/viewthread/2945/ http://away3d.com/forum/viewthread/2945/#When:18:50:15Z <p>Hi,</p> <p>I’m getting an error while using more than 2 AWPConvexHullShapes.</p> <p>Here is the error details:</p> <p>RangeError: Error #1125: The index 1869182049 is out of range 1176.<br /> at cmodule.AwayPhysics::FSM__ZN12gjkepa2_impl3GJK8EvaluateERKNS_13MinkowskiDiffERK9btVector3/work()<br /> at Function/&lt;anonymous&gt;()<br /> at Function/&lt;anonymous&gt;()<br /> at awayphysics.dynamics::AWPDynamicsWorld/step()[F:expawdsrcawayphysicsdynamicsAWPDynamicsWorld.as:318]</p> <p>If any body knows this issue, please let me know the reason</p> <p>Thanks </p> <p>&nbsp;</p> <p>&nbsp;</p> 2012-07-28T18:50:15+00:00 AWPVehicle two wheels bug http://away3d.com/forum/viewthread/2804/ http://away3d.com/forum/viewthread/2804/#When:13:13:47Z <p>As an example…</p> <p>Take the BvhTriangleMeshCarTest and remove the back two wheels.<br /> <a href="https://raw.github.com/away3d/awayphysics-examples-fp11/master/src/BvhTriangleMeshCarTest.as">https://raw.github.com/away3d/awayphysics-examples-fp11/master/src/BvhTriangleMeshCarTest.as</a><br /> eg<br /> comment out<br /> 176 -177</p> <p>265-268</p> <p>and change camera so you can see<br /> 274<br /> _view.camera.position = car.getRigidBody().position.add(new Vector3D(500, 120, 100));</p> <p>The wheels constantly rotate even though the car is static.</p> 2012-07-16T13:13:47+00:00 DRIV: (no view) http://away3d.com/forum/viewthread/2821/ http://away3d.com/forum/viewthread/2821/#When:17:56:45Z <p>Hi Everyone, and thank you very much for being here to hopefully answer a question for me.</p> <p>Firstly I should note briefly that my goal is simply to get some type of relatively stable physics engine working with away3d.&nbsp; I had done this previously with jiglib and away3d but it has been a few years and things seem to be changing rapidly.</p> <p>After trying to mix-match every possible combination of jiglib with versions of away3d I started looking for alternatives, and so far awayphysics seemed easy enough to compile and the demos look promising.</p> <p>I am trying to compile an example file with the latest packages I have found here:</p> <p>Away3D<br /> <a href="http://away3d.com/download/">http://away3d.com/download/</a></p> <p>AwayPhysics<br /> <a href="https://github.com/away3d/awayphysics-core-fp11">https://github.com/away3d/awayphysics-core-fp11</a></p> <p>And I am using Flex4.6 compiler on LInux.&nbsp; </p> <p>This set up works fine when compiling pure Away3D, but seems to have a problem when getting into physics.&nbsp; However I can view the demos just fine, and everything else I’ve ever compiled with Flex 4.6 works just fine, so I’m hesitant to believe it is a problem with Linux or Flex.</p> <p>I managed to get BasicTest.as and another example to compile, but when I view them they just have a black screen with the usage monitor, and next to DRIV it says: n/a (no view).</p> <p>Do you know what might be wrong here?&nbsp; Am I missing something?</p> <p>Are there older more stable away3D + engine solutions that I could still find available somewhere?</p> 2012-07-17T17:56:45+00:00 removeRigidBody doesnt delete from memory http://away3d.com/forum/viewthread/2750/ http://away3d.com/forum/viewthread/2750/#When:17:54:16Z <p>A rigidbody or any collsionObject stays in memory after being removed from the physics world using either removeRigidBody or removeCollisionObject.</p> 2012-07-06T17:54:16+00:00 LinearVelocity = 0 on a moving object http://away3d.com/forum/viewthread/2706/ http://away3d.com/forum/viewthread/2706/#When:08:18:37Z <p>I was working on a dice game: I created a method that recorded the simulation of the launch, and later replayed it.</p> <p>When I was rendering the simulation always was ok, but when replaying the record sometimes happened that a dice stopped moving for a few frames, reappering later at the right sequence position.<br /> I recorded the frames saving the position and the rotation of the dices, setting a minimum threshold for the linearVelocity of the dices: if linearVelocty is lower than it, do not save the position to reduce the sequence weight. Later after a few tests I discovered that sometimes AwayPhysics gives a rigid body the correct position, but a linearVelocity vector equal to (0, 0, 0), even if the frame is in the middle of the sequence. This is why the simulation was correct, but not the replay.</p> <p>Is this a know bug? I haven’t got the code to show, as I had to hurry and replace that optimization with a different calculation, based on the previous frame to check the distance between two frames.</p> 2012-06-29T08:18:37+00:00