2018年4月8日日曜日

bullet install

物理エンジンのbulletをinstallしてみることにしました。

以下を参照しました。

う~ん、そのままではダメか。
bulletの最新releaseは2.78→2.87になっていますね。

cmakeのhome pageは「resources」を押してもdownloadは出てこなくて、
本文中の「download latest release」から入り、
「cmake-3.11.0-win64-x64.msi」でinstallする必要がありました。
temporaryなので「cmake-3.11.0-win64-x64.zip」でもよいのかな。

cmakeして画面が真っ赤になったところまではよかったのですけど、
touch screenを不用意に触ってvalueのcheckのdefaultがわからなくなりました。
cmakeをcloseして開きなおしてもresetされないし...、どうしよう。
          file menuからdelete cashで消えました。ほっ。

debugもreleaseも、buildで2つskipされました。大丈夫だろうか?
ALL_BUILDはerrorなしですが、solution buildでskipされているようです。

installはとりあえず終了です。

続けてHelloWorldをtryしてみました。
stdに出力するprogramなのでconsole programで作成します。
projectのpropertyを編集。
VCC++ directoryは、
projectを作成したときに開いているHelloWorld.cppの、
buildに成功すると
ここまでで一応、動作確認は完了です。

上記でALL_BUILDをbuildしたときに、
すでに3D表示用のlibも含まれているのですね。

しかし、scratchで始めるのではなく、BULLET_PHYSICS.slnをbuildしたら、
ちょっと難航。躓いた点を記載しておきます。
 include folderはzipの解凍folderにあるsrc、
 lib folderはcmakeの出力folderのlib
でした。

linkerの入力の追加の依存fileは、lib下のdebugとreleaseの下の全fileをそれぞれ追加。
bullet 2.87は出力folderに25個のlib fileが作成されていました。
3がついている奴は何だろう? 3DでVR用?
手作業で入力するのは手間なので以下あたりを参照するとよいでしょう。
HelloWorldに対しては3 fileで問題無いようですけど。
http://www.atmarkit.co.jp/ait/articles/0412/04/news014.html
code生成のrun time libraryはDLLの付かないものでないとダメでした。

#include "stdafx.h"の下に、full sourceをpasteしてbuildします。

project folderの下のdebugかreleaseの下にexe fileができているので、
command consoleから
〜,exe > file.txt
などで結果をfileに出力し、適当なtoolでgraph化して確認します。

が、物理エンジンでsimulationしているという気分では無いです。

examples/exampleBroser/releaseの下にexe fileができているので、

wikiの、Installation から辿っても、Getting the Bullet SDKから辿っても、
行き着く先が同じです。
wikiのCreating a project from scratch using Visual Studioを読み進めてみると、
BULLET_PHYSICS.slnはbuildしなくてもよい、となっていて、
Bullet libraries: BulletCollision, BulletDynamics and LinearMathを別の方法で加えています。
全libを加えるなら前述の方法(こちらはbuildが必要)の方が楽かもです。

tutorialのUnderstanding the Bullet ExampleBrowser frameworkから進めて、
ExampleBrowserの下に必要なものを作って行くのが、更に楽だと思います。

因みにHelloWorldもBULLET_PHYSICS.slnに含まれています(中は少し異なります)。