Mac日記
前書き
化け猫おちゃっこのMacの日記です。
プログラマ寄りの日記になると思います。
勉強したこととか、スクリーンショットとかのページにします。
新しい記事の方が上に来るように書いていきます。
https://github.com/Ochakko
にて公開中
TestARSwiftSceneKit001
という名前です。
(GitHubのレポジトリの説明文の最後に . を付けようとしたのですがエンターキーを押してしまいました。)
1,2,3,4のボタンを押したときに素早くモーションが切り替わるようにするところに苦労しました。
実際に動かしている様子としては前回も報告した動画があります。
動画リンク(2020/09/23)
【iOSで】iOSで いちにさんし☆ は出来るか【swiftで】
Swift自体はオープンソースなのでWindowsでも動くようになるそうです。
最近、窓の杜の記事がありました。
https://twitter.com/madonomori/status/1308619366833905665
まずはやってみないと分からないという工学部っぽい考え方で
iOSで いちにさんし☆ は出来るかどうか
試してみました
動画リンク(2020/09/23)
【iOSで】iOSで いちにさんし☆ は出来るか【swiftで】
上記リンクの動画のところまで作った感じで
出来ると思いました
プログラム自体はswiftというオープンソースの中間言語(スクリプト言語)なので
みた感じかなりすっきり書けます
行数も少なくて済みます
問題はデータ変換でした
今回は動画にあるようにRokDeBone2(Windows用のソフト)の形状とモーションをiOSで再生しました
結論から言いいますと
RokDeBone2---> FBX---> daeのように変換するのが一番楽です
なぜFBXを途中に挟むかというと
変換時に
分岐ボーンを作らないといけないからです
RokDeBone2のFBX出力には
既に分岐ボーンを作成するオプションが付いています
この分岐ボーンオプション作成はかなり面倒でした
dae出力にまたはじめから分岐ボーンオプションを付けるのは
ただでは出来ないくらいの面倒くささです
だから既にある分岐ボーンオプションを使うために
まずはRokDeBone2でFBXにします
このとき
モーション1つにつき1つのFBXを出力するのが良い方法です。
出力したいモーション以外を
RokDeBone2のモーションメニューの編集中のモーションの削除メニューで削除して
1つのモデルと1つのモーションだけを読み込んでいる状態にして
モーション1つずつに対してFBXを1つずつ出力します
さて次はFBXをdaeにするのですが
ここまでくればOpenRDBのdae出力はオープンソースなので各自自力でプログラムしても良いと思います
しかし面倒なので
Maya2013のプラグインを使います
OpenColladaのColladaExporterを使うのが楽でした
テクスチャーがddsファイルの場合には
テクスチャーを自分で修正する必要がありました
テクスチャーのUVのオフセットのような機能があるみたいですが
それが効かないようなので手作業でテクスチャファイルを修正しました
Mayaは高価なソフトですが
つい1ヶ月ほど前に
日本人にもインディー契約(売上制限付契約)が認められたようなAutodeskのニュースがありました
安いサブスクリプション制のようです
ごちゃごちゃ書きましたがまとめます
RokDeBone2で分岐ボーンオプション付きFBX-->MayaのColladaExporterでdaeに変換
iOSでいちにさんし☆は出来る!!
P.S.
最近PS4でシュタインズ・ゲートELITEをプレイ中
バイト戦士の失敗メモと自〇を取り消すことが出来てちょっとほっとしたところ
動画リンク(2020/09/14)
出掛けて帰ってきても居るんです。
ライセンスを更新して
XCode11をインストールして
2019/01/02の記事のプログラムをビルドしたら動きました!!
ちなみにこのSSと動画を撮った後
部屋に掃除機をかけましたw
え?足の曲げ方??
ももを内側にねじってひざを曲げるという女の子としてよくあるポーズなんですが、、、
2020/09/01
あけましておめでとうござます。
いろいろやっていこうということで、久しぶりにMacとiPhoneでプログラミングをしてみました。
そのときに分かったことのメモを残します。
◯OpneRDB(Windows用のオープンソース)でエクスポートしたdaeファイルは
SceneKitで読み込むことが出来た。
◯swiftでdaeを使ったARのプログラミングが出来た。
◯ARはエミュでは動かなかった、実機が必要。
◯証明書を持っているのにも関わらずキーチェインのエラーが出たら、
キーチェインアプリでロックとアンロックをしてから再試行するとうまくいった。
◯xcrunのエラーが出た場合には次の3つのコマンドをシェルから実行したらうまくいった。
xcode-select --install
xcode-select --switch /Applications/Xcode.app
xcode-select --switch /Library/Developer/CommandLineTools
◯OpenRDBでエクスポートしたdaeはそのままではテクスチャのマッピングモード?がおかしいことがあった。
次のコマンドでオプティマイズするとうまくいった。
/Applications/Xcode.app/Contents/Developer/usr/bin/copySceneKitAssets
./ -o ./optimized
◯XCodeのEditorメニューの中にdaeをscnファイルにコンバートするためのメニューがあった。
◯ARでdaeやscnのモデルを表示するときに、モデルがカメラの位置についてこないようにするためには、
(カメラを動かしたときにモデルの横や後ろがみえるようにするためには)
プログラムでノードを作成してそこにカメラとモデルをaddしたらうまくいった。
◯OpenRDBはメタセコイアのmqoファイルを読み込めますがver3にしか対応していなかったかもしれません。
OpenRDBはオープンソース(おちゃっこLABに置いてあります)なので、
ソースをいじってバージョンチェック部分をスキップするだけで
ver4のファイルも読み込めるかもしれません。(うまくいくかも)
iPhoneのARについて、今のところソース全部をアップする予定はありませんが
上記のように何かしらメモを残そうと思います。
追記:
注意点追加。
daeはart.scnassetsに入れる必要があって、オプションはプロジェクトパスにする。
ついでに過去の大変な事態を踏まえつつちょっとおもいついちゃったやること候補リストの写真を
貼り付けておく。
ちなみにちょっと思いついちゃっただけです。
追記:2019/01/03
リアルとARの区別の強制をするってのは
全ジェネレーションの邪魔になる説が勃発
そういうものなんだってさ。
もともと世界には幻がいて
ぼくたちが幻を開発できる順番が回ってきたっていうことらしい?
上の写真の「リアルと区別が出来ること」ってのは強制するものではありませんのでー。
MacのgamekitでMayaのColladaファイルが読み込めた話[2018/02/24]
Macにはgamekitのプロジェクト作成機能があります。
gamekitはColladaつまりdaeファイルを読み込むことが可能です。
gamekitで読み込めるdaeファイルをMayaで出力するには
COLLADAMayaというOpenCollada製のプラグインを利用します。
この日記を書いている現在、COLLADAMayaのプラグインはMaya2017までのものしかなかったです。
しかし、COLLADAMayaはオープンソースです。
ちょっといじったらMaya2018で動くものがビルドできました。
いつものキャラクターをdaeで出力してgamekitで読み込ませ、アニメーション再生しているときのスクリーンショットを載せます。
これ、ほとんどモデルの名前を指定して読み込むソースを足しただけとも言えます。
最近のライブラリは便利なものです。
gamekitには物理機能もあります。
(bullet physicsと組み合わせることも可能だと思われます)
今後どう展開していくか考えていきます。
あ、そうだ!
MacのgamekitでOpenRDBのdaeファイルを読み込むこともできました。
(OpenRDBのdaeはMayaで読み込むと形が崩れました)
Maya2018 + Macのgamekitで
何か作りたいです。
MacでRokDeBone3を作ろうか!?とかも考えたんですけれど(笑)
新しいことをやるのが流れみたいだし
Maya + Macでやってみましょうか!?