iPhoneアプリ開発:AR 目次

 

 バージョンは2.79から2.80への0.01のステップアップなのに…

 とんでもねぇ変更かけて来やがりましたよBlender。

 

https://www.blender.org/2-8/

 

 

 あんのさ〜

 3、だよね。どーみても、バージョン3だよね。3でいいじゃん。

 なんでAppleみたいなことやってんの?

 AppleがmacOSのバージョンをVer.10から、11にするのをかたくなに拒み続けて、はや18年。今やVer.10.14.1ですよ。メジャーバージョン番号の意味とは何なのか…

 

 しかし、もはやこの流れは止められない。

 乗り遅れるな、このビッグ…、また言っちゃった。

 ということでベータ版だけど2.80使います。

 

ええぃ、いったれぇええ

 

 3Dは仕事じゃなく趣味なんでね。後先考えずにバージョンアップだ、ベータ版使ってエラーレポートして開発支援だ!

注意)β版はちょっと〜、な人はダウンロードしたベータ版のフォルダを、2.79版アプリの入ってるフォルダと別名にしてアプリケーションフォルダに置けばよくってよ。別にアプリケーションフォルダに入れなくてもいい。

 

 ちなみに今回、ベータ版なのが原因か、アプリケーションフォルダに入れずに起動したのが悪かったのか知らんけど、ダウンロード直後にBlenderをダブルクリックしても「知らないアプリだから無理」って言われます。

 こういう時は、アプリのアイコンを右クリック(controlキー+クリックとか)してコンテキストメニューから「開く」を選びましょう。これで1度だけ「ダウンロードしたやつだけど開いて大丈夫?」て聞いてくるので許可を与えて開きます。以後はダブルクリックで開く。

 

アプリアイコン右クリックだ!

 

 初起動時のスプラッシュビューにだけ、2.79の設定読み込むボタンが出るから読み込むといいっすよ。

 

 もっとも、2.79の設定読み込むボタン押しても、起動した画面には反映されません。

もはや、原型をとどめていないというか、あんた誰?的な…

 

 設定読み込みを反映させるには、一度アプリを終了して再立ち上げしましょう。

 

私が2.79で設定した状態になった。でもあんた誰?

 

 ま、これで日本語化設定や、3ボタンマウス再現や10キーを模倣も引き継がれます。

 ただし、今回、私は2.80の方針に従って、マウスクリックの主動作を右ボタンから左ボタンに変更します。いよいよヘンテコ仕様とおさらばですわ。

 以後は、これまでの右クリックが左クリックでの作業になります。

 ちなみに、2.80のUIについて今すぐ知りたい人は以下のページを読みましょう。

 

↓だが英語

https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/UI

 

 上のページで、左ボタンクリックに関しては

  • 選択・非選択に使うようにするよ〜
  • 右ボタンクリックはコンテキストメニュー表示にするよ〜
  • 左クリックからのドラッグでボックス選択使えるようにするよ〜
  • 3Dカーソルの移動はshiftキー+右ボタンにするよ〜

なんてことが書かれてます。

 あとでも触れるけど、操作感が他のグラフィックアプリに近くなって、個人的には大歓迎。

 

 

 初期設定画面を出すメニューは、これまでの情報ビューのファイル>ユーザー設定…じゃなく、編集>Preferences…です。出てくる画面はデザイン違うけど、基本的な分類は同じ。

 左に移動したタブから入力を選んで、マウスボタンの設定を「左」に変更だ〜

注意)多分ベータ版だからだろうけど、いろいろなところで英語表記が残ってる

 

 あと「ミックミックシテヤンヨ」で紹介したMMDのアドオンだけど2.80では動きません。まあ、そもそも無いって言われるわけですが…

 

 

 んじゃあって、2.79からmmd_toolsフォルダ持って来ても動きません。

 スクリプトのバージョンが古いって言われます。

 あら〜、どうしようと思って、github見に行ったらdev_testブランチに2.80用が置いてました。

 

↓仕事早いな〜

https://github.com/powroupi/blender_mmd_tools

 

 

注意)ブランチ(branch:枝分かれ)ってのは、文字通り枝分かれで、master(マスタ:主)て呼ばれる大元から枝分かれさせたもの。内容はmasterに変更を加えたものになる。一般的にgitみたいなバージョン管理システムを使った開発では、こんな感じで、一旦安定したものをリリースした後、何か変更を加えて機能アップさせたりするときはブランチさせてmasterを安全圏に残したまま実験します。で、無事branch(branch側は、目的別にいくつも作られる可能性があるので、目的に合わせ、それぞれに名前をつける)で正常に動くのを確認して、関係各位の合意を取り付けた上でmasterにマージ(merge:併合)するのが社会人プログラマのマナー。iOSアプリ作る人で、ここらへんに暗い人はとりあえずgithubに加わって、ネットで「xcode git 使い方」なんかで検索して色々実践して勉強してみるといいです。

 

 ちなみにmmd_toolsを入れる場所ですが、「ミックミックシテヤンヨ」ではBlenderのバンドル内だよって説明したけど、以下のドキュメント読むと、そのほかに以下のLOCAL、USER、SYSTEMの計3箇所、有効な場所があるようです。

 ちょっとだけドキュメント読んだ。

 

↓2.79版ね

https://docs.blender.org/manual/en/latest/getting_started/installing/configuration/directories.html

 

LOCAL
 ./2.79/
 注意)実行ファイルと同階層という意味らしいので、Macだとblender.app/Contents/MacOS/2.79/という意味になるのかと思われ
 
USER
 /Users/$USER/Library/Application Support/Blender/2.79/
 
SYSTEM
 /Library/Application Support/Blender/2.79/

 いずれもBlenderが見つけ出せる「2.79」フォルダまでのファイルパス。2.80だと、これが「2.80」になるわけだ。

 ファイルパスがわからん人は「ダンスダンスダンス後編」を読みましょう。上に出てくる$USERてのは自分のユーザー名です。

 ターミナルで

cd ~/Library ; pwd

て打ち込んでenterキー打てば、「/Users/$USER/Library/」の$USER部分が自分のユーザー名で画面に表示されます。ターミナルわからん人は「ダンスダンスダンス後編」ね。

 といっても、ターミナル上での操作知ってる人に、この説明は不要だろうし、知らない人に、その後ターミナル上でコマンド使って操作しろっていうのもなんなんで…、これは知識として知っておく程度でいいです。なんかで$USERとか出た時にでも思い出しましょう。

 実際はFinderでoptionキー押しならが移動メニュー表示させると「ライブラリ」って項目が出るんで、それを選べば/Users/$USER/Library/の中身を見ることができるっす。

 その中にあるApplication Supportフォルダの中のBlenderフォルダの中の2.79フォルダ内にmmd_toolsフォルダを置いても、Blenderのバンドル内に置いたのと同じように機能するみたい。いずれにせよ、2.79フォルダの下にscripts/addonsという階層でフォルダを用意して、その中に入れることになる。

 ただ、USER、SYSTEMてのは、追加アドオン自身が、カスタマイズされた自分の設定なんかを書き出すために内部的に利用するのが基本でしょう。この時、ユーザー別に保存したい場合にはUSER、全てのユーザーの場合にSYSTEMを使うわけだ。というわけで、これは主に追加アドオン開発者に向けた説明じゃないかと思われ。

 一人のユーザーとして追加アドオン本体を置く場所は、やっぱりLOCALでいいんじゃないかと思う。

 そうしとけばBlenderの入ってるフォルダをコピーすれば追加アドオンも一緒にコピーできるからね。MacだとBlenderのバンドル内ってことになって、その場合LOCALで示される場所でもいいんだけど、macOSのバンドルの仕様的には「ミックミックシテヤンヨ」で書いたContents/Resourcesフォルダ側ってことになるんでしょう。そもそもBlender組み込みアドオン自体、そこに入ってるわけだし。

 他人に使用させたくないアドオンの場合に限ってUSERに置くってことになるかな。

 

 まいいや、準備ができたら、前回の課題、頂点の整列行ってみよ〜。Blender 2.80起動して、直方体の上面を二分割したとこまで進めてください。

 編集モードの位置とか微妙に変わってるから面くらわんようにね。

 

 

 それと、あとで説明するけど、頂点や辺、面の選択操作は3Dビュー左側に見えてるツールシェルフで「Select Box」てのが選ばれてる前提っす。

 

 

 そこらへん気にかけつつ、とにかく、前回の二等分、もしくはナイフを使って斜めに入れちゃった線をなんとかしたいんですよ。

 


 斜めの線の両端の頂点2つを選んで、一直線に並ばせたいんだけど…

 3次元空間内で傾いた平面でやるとなると、なかなかめんどくさい。

 

 

 なんだけど、今回の場合に限っては、y軸と平行な線にすれば、きれいに並ぶことになるわけで、その場合、2つの頂点のx軸の値だけを同じできればいいわけです。

 

 

 もちろん、頂点1つ1つを選んで座標を指定すれば、それ以上正確な並ばせ方は無いわけだけど、めんどくさいんでね。例えば100個の頂点並ばせたい時に、それをやるのかと言われると遠慮したい。

頂点の整列

 こういった、3軸のどれかの値を一致させて整列させるのには、スケーリングが応用できるんすよ。

 揃えたい頂点群を選んでおいて、x、y、zのうち揃えたい軸だけの制約スケーリングにして、値を0にすればいい。

 というのもスケーリングてのは、どっか適当な場所を基準点(スケーリング原点)として、そこから現在の位置までの距離を1倍として、それを何倍にするかを指定する機能だから。

 例えば2倍ならこんな感じ(z軸は省略ね)。

 

 

 なので、特定軸のみの制約スケーリング0倍というのは、例えばx軸だけ0倍(他の軸要素は1倍)だとこんな感じで、x軸要素だけスケーリング原点に移動しちゃうんですな。

 

 

 んじゃあ、このスケーリング原点てのはどこなのかというと、Blenderでは、何種類か指定できるようになってまして、バウンディングボックスの中心とか、3Dカーソルのある場所とか、選択した頂点群の中心位置とか指定できるようになってます。

 それが3Dビューのボトムバーにあるピボットポイント選択メニュー。

ピボットポイント

 ピボットポイントは、スケーリング原点の他に回転中心の指定でもあります。

 

 このうち「バウンディングボックスの中心」てのは、編集中のオブジェクトのAABBの中心ですな。AABBわからん人は「数値で解決」ね。

 「3Dカーソル」は、そのものズバリだし。

 わかりにくいのは「それぞれの中点」だけど、これは頂点間が辺で繋がってる範囲を1つの塊として、その塊ごとの中心点みたいっす。「インツーザ3D後編」でやったリンク選択で選択される範囲で、そのうちの選択されている部分てことになるんでしょう。

 「中点」は選択された部分を一つの塊とした時の中心。

 「アクティブ要素」は、最後に選択された部分(頂点選択ツール選択してるなら頂点、辺選択ツール選択してるなら辺、面選択ツールなら面)てことになるのかな?オブジェクトモードだと「インツーザ3D前編」で複数のオブジェクトを選択状態にした時に、唯一オレンジ枠になったやつです。編集モードだと白色になってるのがアクティブ要素。

 

 

 ピボットポイントがどう影響するかは、選択物を回転をさせれば一目瞭然なんで、皆さん各自で試してみるといいです。

 とりあえず、今回使うなら「中点」か「アクティブ要素」でしょう。

 「中点」だと2頂点のちょうど中間で揃うだろうし「アクティブ」だと最後に選択した頂点側に揃うはず。

 

 てなわけで、今回はピボットポイントに「中点」を選びます。

 

今風のフラット デザインですな

 

 んで、並ばせたい頂点をshift+左クリックで選択しておく。これからは左ね。

 並べたい2頂点の選択ができたらsキー打ちでスケーリング開始。

 で、並ばせたい軸で制約をかけます。今回ならx軸。なのでxキー打ち

 あとはマウスを動かして倍率が0になるように3Dビューのボトムバーの倍率表示を確認しながら〜

 動かせるかーい

 ま、マウス動かしている時にcontrolキー押すと0.1単位で倍率が変わるようになってるんで、やれないことはないんだけどね。

 普通はワンチャン側で数値指定すればいいっす。

 ちなみにワンチャン画面はこんな感じになりました。ワンチャンがわからん人は「数値で解決」を読みましょう。

 

 

 ただし、もっと簡単なのがあって、スケーリング中に数字キーを打ち込むって方法がある。

マウス操作中の数値入力

 数字キーを打ち込むとボトムバーの倍率表示のところが次のように [ ] に変わって、数値を入力待ち状態になります。例えば0キー打ちすると〜

 

 

 で、この数値入力状態になるとマウスでの倍率コントロールはできなくなって、数字キー打ちで指定した数値倍になります。数値入力状態では矢印キー打ちで好きな入力位置まで移動もできるし、deleteキー打ちで文字削除も可能。

 deleteキー打ちで入力した数値を消していって最終的に [ ] 内を空にし、もう一回deleteキー打ちするとマウスでコントロール可能な状態に戻ります。

 

 なので、スケーリング中に0キーを打ち込むと一気に並ぶわけですよ。

 ぶっちゃけ

 

 sキー打ち:スケーリングモード

 xキー打ち:x軸で拘束(x成分だけスケール対象になる)

 0キー打ち:スケール値を直接指定(0倍)

 

と3連打しましょう。x軸で綺麗に揃うはず。

 これでOKならenterキー打ちか左クリックで確定っす。

 以上が頂点の整列。

 

 ま〜その、ここまで説明して何だけど、2分割したい面を選んでおいて正面図に戻して、ツールシェルフから二等分選んで、切れ込み指定すりゃy軸に平行な線になるんですけどね。

 それが一番簡単。

 

 で、ツールシェルフの話題が出たんで軽く説明すると、2.80からツールシェルフじゃなくツールバーって名前になりました。

ツールバー

 プロパティ側もサイドバーって名前になります。

 そして、これがまた、すんげ〜変更なんだけど、2.80からは各ツールが選択状態にできるようになったっす。

 例えば、辺の二等分だと、これまでは

 

 1)右クリックで辺選択

 2)ツールシェルフの二等分ボタンクリック

 3)二等分にする位置を左クリックで指定

 

とやって、3)が終わった時点で1)ができる状態に戻ったわけだけど、2.80からは

 

 1)左クリックで辺選択

 2)ツールバーの二等分ツール選択

 3)二等分にする位置を左クリックで指定

 

とやっても、1)ができる状態に戻りません。ユーザーが自分で

 

 4)ツールバーの選択ツール選択

 

とやって、1)ができる状態に戻す必要があります。

 一般的なグラフィックアプリの操作感ですな。

 

 ツールバーの右端をドラッグして幅を細くすると、なお、それっぽくなります。

 おや、フォトショかな?って言ってもフォトショのツールアイコンとは似ても似つかないけどね。印象としてね。

 

確かにツールバー

 

 あと、ナイフと二等分ツールは項目長押しでポップするので、そこで切り替えて使います。

 

 

 項目の右下に三角がついてるやつは、長押しで何か出てきます。

 

おや、フォトショかな?

 

 選択ツールも、いろいろ選べる。

 2.79での右ボタンの操作と同じやつは一番上の「選択」ってやつですな。なんだけど、「Select Box」の方が使いやすそうな…

 

 

 レイヤー選択がアウトライナービューに移動してたり、とにかく色々変わってます。

 ちなみに選択ツール状態で、例えばナイフツールみたいにショートカット(kキー打ち)がある場合、キー打ちでのショートカットは一時的な切り替えとみなされて、2.79と同じように最後に選択ツールに戻ってくれました。

 なので、ショートカット多用のヘビーユーザーはそれほど違和感なしに使えるんじゃないかと思われ。

 全体的にかなり整理された感があって好感触なんだけど…

 3でいいじゃん

 何で、これが2.80なんだよ。意味わからんわ。

 形整えて、面取りするところまで行くつもりが全然進まない。

 ということでまた次回。