﻿<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=Dev%3ASource%2FPhysics%2FRigid_Body</id>
	<title>Dev:Source/Physics/Rigid Body - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=Dev%3ASource%2FPhysics%2FRigid_Body"/>
	<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:Source/Physics/Rigid_Body&amp;action=history"/>
	<updated>2026-05-24T00:06:19Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=Dev:Source/Physics/Rigid_Body&amp;diff=47112&amp;oldid=prev</id>
		<title>Yamyam: 1版 をインポートしました</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:Source/Physics/Rigid_Body&amp;diff=47112&amp;oldid=prev"/>
		<updated>2018-06-28T17:47:37Z</updated>

		<summary type="html">&lt;p&gt;1版 をインポートしました&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;2018年6月28日 (木) 17:47時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ja&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(相違点なし)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Yamyam</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=Dev:Source/Physics/Rigid_Body&amp;diff=47111&amp;oldid=prev</id>
		<title>2014年8月19日 (火) 00:38にwiki&gt;Britaによる</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:Source/Physics/Rigid_Body&amp;diff=47111&amp;oldid=prev"/>
		<updated>2014-08-19T00:38:17Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{NiceTip&lt;br /&gt;
|This page is *severely outdated*&lt;br /&gt;
|This is meant to be a developer overview of rigid body physics, however it is very outdated.&amp;lt;br/&amp;gt;&lt;br /&gt;
If you have questions, email Sergej Reich or ask in #blendercoders at IRC}}&lt;br /&gt;
&lt;br /&gt;
== Rigid Body Physics in Blender ==&lt;br /&gt;
&lt;br /&gt;
=== New Rigid Body features in Blender 2.43 ===&lt;br /&gt;
&lt;br /&gt;
* Rigid Body Constaint editing is in CVS, ready for 2.43&lt;br /&gt;
::done by RCRuiz&lt;br /&gt;
::[[Image:constraint_gui.png]]&lt;br /&gt;
::Illusoft will try to get COLLADA 1.4 export/import support for rigid body constraints&lt;br /&gt;
* Compound Rigid Bodies&lt;br /&gt;
::Children directly connected to Parent can be used as compound object, so they behave properly in collision. No deeper nested children supported yet. Also you need to 'clear parent inverse' (&amp;lt;ALT&amp;gt;P) for this to work.&lt;br /&gt;
::[[Image:rigidbody_compound_gui.jpg]]&lt;br /&gt;
* Updated to use latest Bullet 2.x version. This adds some improvement, but the migration has a few issues (mostly not hooked up features).&lt;br /&gt;
* Baking of rigid body simulation into animation IPO's can be done in two ways&lt;br /&gt;
::Through Game Engine menu &lt;br /&gt;
::using &amp;lt;LEFT ALT&amp;gt;+&amp;lt;LEFT SHIFT&amp;gt;+&amp;lt;LEFT CTRL&amp;gt; + P-Key.&lt;br /&gt;
* Better user interface for Baking, and integration with other simulations (cloth, particle, fluids) planned for next year, after 2.43 release. This includes Bullet C-API&lt;br /&gt;
&lt;br /&gt;
See a preview of Blender 2.43 with demos on this webpage:&lt;br /&gt;
http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=752&lt;br /&gt;
&lt;br /&gt;
=== Blender 2.42 Status ===&lt;br /&gt;
&lt;br /&gt;
* Basic support for COLLADA 1.4 physics import / export is available in Blender 2.42&lt;br /&gt;
:: Illusoft is developing the [http://colladablender.illusoft.com/downloads.html  ColladaBlender] plugin supporting COLLADA 1.4 Physics&lt;br /&gt;
:: COLLADA import/export of Collision Detection Shapes: box, sphere, cylinder, cone, convex hull, concave mesh&lt;br /&gt;
:: COLLADA import/export of Rigid Body information: mass, dynamic/static (non-moving)&lt;br /&gt;
:: Planned constraints and material (friction/restitution) import/export for Blender 2.43&lt;br /&gt;
* Bullet Physics has most features implemented in Blender 2.42 game engine&lt;br /&gt;
:: Replaced Sumo/SOLID as default physics engine&lt;br /&gt;
* Introduction of Bullet Physics in regular modeling planned for in Blender 2.43&lt;br /&gt;
&lt;br /&gt;
== Older plans for Rigid Body Physics in Blender (needs updating) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Discussion ===&lt;br /&gt;
&lt;br /&gt;
We invite you to share your opinions and suggestions for this project:&lt;br /&gt;
&lt;br /&gt;
*[[BlenderDev/RigidBodyPhysics/GeneralDiscussion|General]]&lt;br /&gt;
*[[BlenderDev/RigidBodyPhysics/CodingDiscussion|Coding]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
==== Quick background ====&lt;br /&gt;
&lt;br /&gt;
Rigid body physics (also referred to as rigid body dynamics or mechanics) deals with the motion of ''solid'' bodies subject to external forces (ex: pushes and pulls) caused by gravity, friction and collisions between these bodies. By &amp;quot;solid&amp;quot; it's meant that, as the name indicates, in rigid body dynamics deformations are negleted -- the bodies are idealized as undeformable entities.&lt;br /&gt;
&lt;br /&gt;
Basically we have a system composed of a container &amp;quot;world&amp;quot; populated by objects with physical dimensions. The evolution of this system as time passes is defined by a well known set of rules (in this case equations): Newtonian mechanics.&lt;br /&gt;
&lt;br /&gt;
This simulation can be done by computers, of course. The programs that do so are known as &amp;quot;Physics Engines&amp;quot;. Once we have defined the world with its objects and have set all parameters (*), these engines will calculate at each time step the evolution of the system. After that we can update the rigid bodies in our program with their new positions and orientations for the current frame.&lt;br /&gt;
&lt;br /&gt;
(*) '''global''': gravity force; params related to precision, stability and computation speed; etc. and '''per object''': positions, orientations, initial velocities and material properties, etc.&lt;br /&gt;
&lt;br /&gt;
Naturally, there is a lot more to know about rigid body dynamics, for that we indicate the links at the bottom of this page as a good starting point.&lt;br /&gt;
&lt;br /&gt;
==== In Blender ====&lt;br /&gt;
&lt;br /&gt;
This idealized system can mimic well a lot of what happens in our macroscopic world and that is what it's useful for in many applications, today's games and animation software included.&lt;br /&gt;
&lt;br /&gt;
In Blender we can use rigid bodies functionality to animate the dynamics of objects moving, rotating and colliding with each other. This is much easier, faster, more realistic and funner than trying to recreate it manually, of course. Even for simple cases, not to mention scenes where we can have hundreds or thousands of objects falling and colliding against each other and static obstacles.&lt;br /&gt;
&lt;br /&gt;
Right now rigid body dynamics is already available in the Game Engine (the results can be &amp;quot;baked&amp;quot; to be used in animations). This project aims to bring the functionality to the animation system itself. With this it will be much easier to create and control rigid bodies, without having to bake the animation (so saving up space).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Project Goals ===&lt;br /&gt;
&lt;br /&gt;
# Integrate rigid body dynamics in Blender's animation system.&lt;br /&gt;
# Discuss and plan the integration of the various physics systems in Blender (soft bodies, fluids, particles, rigid bodies, cloth).&lt;br /&gt;
&lt;br /&gt;
[[Image:rigidbody_baking.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Rigid Body Dynamics ====&lt;br /&gt;
&lt;br /&gt;
# Basic integration&lt;br /&gt;
## Researching and discussion to decide specific implementation issues:&lt;br /&gt;
##* where to put rigid body data;&lt;br /&gt;
##* where to calculate a new simulation step for each frame in relation to the evaluation of already existing functionality (Blender constraints, Ipos, etc.);&lt;br /&gt;
##* GUI.&lt;br /&gt;
## Define an abstract layer (C API) to hook Blender and an external physics engine.&lt;br /&gt;
## Implement access to an specific engine: the [http://www.continuousphysics.com/Bullet/ Bullet] Continuous Collision Detection and Physics Library:&lt;br /&gt;
### rigid body dynamics&lt;br /&gt;
### constraints (joints)&lt;br /&gt;
## Support COLLADA 1.4 physics import / export.&lt;br /&gt;
## Implement Blender Ipo's &amp;lt;-&amp;gt; rigid bodies connection to allow for the mixing of baked animation and dynamics. From here on interesting possibilities are opened for new features in Blender using the coded structure.&lt;br /&gt;
## Add support for other engine(s) if desired or needed, using the implemented abstract API.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Why Bullet:&lt;br /&gt;
'''All in all''', lib A vs. lib B is not a real issue in this case, since the plan is to implement an abstract C API layer between Blender and the physics engine. With this, [http://www.ode.org ODE], and other solutions (maybe something like [http://physx.ageia.com PhysX] ?) can be added later. That said, having ODE implemented in Blender has been in the plans for a long time, already, even before we knew about Bullet.&lt;br /&gt;
&lt;br /&gt;
In favor of ODE: it's basically the standard open source physics engine, well known and with features still not present in Bullet (motors, joint limits) and many users. Its development seems to have suffered since the last official release, around the middle of 2004, but a group of developers is working to bring a new release with bug-fixes, new features and updated documentation.&lt;br /&gt;
&lt;br /&gt;
In favor of Bullet: Bullet has better convex collision detection, better contact management (persistent contacts with warm starting), swept collision tests, and all collision shape interactions are implemented (ODE doesn't have all combinations between convex, box and cylinder implemented). Erwin Coumans, Bullet's author, is also an active Blender developer. He recently integrated and now maintains and improves Bullet support in Blender's game engine. To promote his library, he has direct interest in its implementation in Blender's animation system and has offered to work on this. He will start by providing a C wrapper for Bullet and the abstraction layer to hook it to Blender. About his involvement in this field: Erwin is the original author of Blender's game engine and after that worked for Havok and now Sony, participating in the ellaboration of the COLLADA physics API specs. He is also committed to continue improving and expanding Bullet, naturally.&lt;br /&gt;
&lt;br /&gt;
==== Integration of the various Physics-related functionalities ====&lt;br /&gt;
&lt;br /&gt;
;Future discussions:&lt;br /&gt;
Once we have rigid bodies implemented in Blender we can analyse the whole situation and discuss with the authors / maintainers of the other tools and interested developers and users.&lt;br /&gt;
;Collision detection:&lt;br /&gt;
An interesting possibility is to promote Bullet's collision detection library for general use within Blender. For that Erwin might provide a C API to access this library, like he'll provide for dynamics in the first part of this project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
&lt;br /&gt;
Those interested in the current state of Bullet in Blender's game engine are invited to download Blender 2.42 and a package with demo .blend files:&lt;br /&gt;
&lt;br /&gt;
;Blender 2.42 Download&lt;br /&gt;
http://download.blender.org/release/Blender2.42/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Bullet physics demos for the Blender 2.42:&lt;br /&gt;
http://www.continuousphysics.com/ftp/pub/test/index.php?dir=blender/&amp;amp;file=physics_demos-2.42-preview33.zip&lt;br /&gt;
&lt;br /&gt;
=== Older Projects ===&lt;br /&gt;
This project should encapsulate/replace previous projects:&lt;br /&gt;
*[[Dev:Source/Physics/OdeIntegration|ODE integration (old)]] -- [[User:ianwill|Willian]] - 12 Jun 2005&lt;br /&gt;
*[[Dev:2.4/Source/Python/PyOde Integration|BlendODE]] -- RCRuiz - 20 Feb 2006&lt;br /&gt;
&lt;br /&gt;
=== For more information ===&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Rigid_body Rigid bodies]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Rigid_body_dynamics Rigid body dynamics]&lt;br /&gt;
* [http://www.d6.com/users/checker/dynamics.htm Chris Hecker's famous web page about rigid body dynamics]&lt;br /&gt;
* [http://www.continuousphysics.com/Bullet/phpBB2/index.php Physics Simulation Forum]&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Physics_engine Physics engines]:&lt;br /&gt;
** Open source:&lt;br /&gt;
*** [http://www.continuousphysics.com/Bullet/ Bullet]&lt;br /&gt;
*** [http://www.ode.org ODE]&lt;br /&gt;
&lt;br /&gt;
[[Category:Physics]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>wiki&gt;Brita</name></author>
		
	</entry>
</feed>