ofxBox2dをWindows環境で使う

Box2dxという物理エンジンがあるのですが、openFrmaeworksのaddonが用意されているようです。

Processingの時にお世話になった楽しいライブラリなので、openFrameworksでも試してみました。

[ 環境 ]
・Windows 10
・Visual Studio 2015
・openFramewoks 0.9.8

Box2D
https://ja.wikipedia.org/wiki/Box2D

とりあえず、通常のaddonと同じようにGitHubからデータを引っ張ってきます。
openFrameworksのバージョン0.9.8はstableを使うように書いてあるのでそちらのブランチから持ってきましょう。

ofxBox2d
https://github.com/vanderlin/ofxBox2d

そのままでは使えなかったのですが、2点程対応して使えるようにしました。

OSX/linuxユーザが多いためか、Windows環境だと手を加える必要があったり、色々なソフトを導入しないと使えないaddonとか良くあります。

C++なのでプログラミングできれば、SDKを直接呼んだ方が早い場合もありますね。OpenCVやKinectはそうしています。

1.追加のインクルードディレクトリに「[openFrameworks_dir]\addons\ofxBox2d\libs」を追記

openframerowks/addonsフォルダに配置して、プロジェクトを新規作成、使用するを選択する画面でofxBox2があることを確認して、チェック。そのままビルドするとエラーが数件発生しました。

headerファイルがないといわれますがフォルダを覗くと実体は存在しているようだったので、Pathが通じるようにしてあげましょう。


32bit,64bitのそれぞれあるので、注意しましょう

2.「ofxBox2dPolygonUtils.h」の「simplifyContour」関数を一部修正する

「式には定数値が必要です」というエラーが出ます。私もC#からC++に移行した身なので、始めの頃はやろうとしてエラーにしてましたね。

変数の値で配列を作ろうとしているので、怒られます。
ネットで調べながら下記のように修正しました。

普段だと動的な配列はvectorとかのコンテナを使ってしまうので、こういうC言語由来の書き方は苦手ですね。自信は無いですが、大丈夫のはず…(危険なコードだったら誰か教えて)

とゆーか、stableにこのコードがあるってことは、コンパイラによってはOKのものもあるのかな。C/C++は奥が深すぎて毎日勉強ですね。

[ほしいものリスト]
Amazon

[ Sponsor Link ]

503 Error

今朝、サイトの設定をイジっていたのですが、作業中に

Service Temporarily Unavailable

の文字が…

Webサーバのアクセス負荷などが大きくなり、サーバ側がアクセス制限をした際に表示されるエラーページですね。

はて?そんなに閲覧者数も多くないはずなのに?と首をかしげていたのですが、調べてみると転送データ量も関係してくるようですね(言われてみれば当たり前か…

動画ファイル(mp4)を直接Webサーバに入れて、videoタグを使って再生するようにしていたのですが、おそらくこの部分のデータ転送量が大きくなっていたと思われます。

トップページに最新の投稿が並ぶので、投稿数分の動画が読み込まれるようですしユーザにも優しい仕様ではなかったですね。

とゆーことで、動画をYouTubeに投稿して埋め込むスタイルにしました。
これで、しばらく様子見しよう。そうしよう。

[ 追記 2017/10/18 ]

埋め込みYoutubeの解像度を720×720にしていたんですが、Androidのブラウザで見るとレイアウトが変になっていました。

Android自体の解像度は上がってきてるからセーフかと思ったんですが、ブラウザ側で制御されている事情もあるのか…

320×320にサイズダウンしてみました。

[ 追記 2017/12/05 ]

ログアクセスを眺めているとPCからのアクセスが主になってきたので、見やすいように512×512にあげてました。
スマートフォンだと少し帯入ってしまいますが、様子見。

[ほしいものリスト]
Amazon

[ Sponsor Link ]