投稿日:2020-12-09 Wed
アプリにAdmobを入れようとしたのですが、いつのまにかGoogleMobileAds-v5.3.0.unitypackageから
GoogleMobileAds-v5.4.0.unitypackage
にバージョンがあがってました。
まあ新バージョンがいいだろうと、最新のを入れて組込んでIOSのビルドをかけたら、Unityが書き出したXcodeプロジェクの中にCocoaPodでSDKを自動でXcodeに入れてくれる「xcworkspace」ファイルがないじゃありませんか・・・
もちろん通常の「xcodeproj」ファイルはあるんだけど、AdmobのSDKを入れて「xcworkspace」が出来てないとかあり得るのか?と嫌な予感がして、もう一回Unityで出してみました。
そしたら、Xcodeプロジェクトは出来上がるけど、Unityのコンソールには赤文字エラーで、CoCoaPodで追加できないみたいなエラーが起きてる。。。
なんてこったい・・・CoCoaPod使わなくても、昔のようにXcodeの中にFrameWork追加したり設定かえたりしたら動くんだろうけど、相当な時間コストをかけた苦労が待っているのは容易に想像が・・・・CoCoaPodは捨てられない。なんとかせねば!!と
ターミナルで、書き出されたXcodeプロジェクトのフォルダで
$ pod update
コマンドを打ってみました。
案の定GoogleMobileAdsが追加できないエラーが出てますが、内容をみると
CocoaPodのバージョンが1.8.4だよ 1.9.0にあげてみたいな メッセージが見える。
なるほど、GoogleMobileAdsの最新バージョンは、新しいバージョンのCoCoaPodじゃないと駄目なのだろうと想像できました。
とりあえずCoCoaPodのバージョンあげる方法しらべてターミナルでコマンド実行・・・
$ sudo gem update cocoapods
うまくいかない。エラーが起きます。
CoCoaPodがおかしくなった時の対処法は、ググれば結構みつかるのですが
CoCoaPodアンインストールしたりCoCoaPodの設定ファイルをいじったり・・・
そして再びCoCoaPodインストール
$ sudo gem install cocoapods
コマンド実行
そしたら
ERROR: Error installing cocoapods:
ERROR: Failed to build gem native extension.
エラーじゃあ!!
これはヤバいぞ!! ヤバすぎる!!
CoCoaPodアンインストールしてしまったのに、インストールできない。
FireBaseもよく使ってるのに、このままじゃIOSのビルドが出来ないぞ!!と青ざめる結果に。
そして色々ググって調べたら、同じ症状の人ばかり・・・
解決法は何人か書いてあるのですが、結局CoCoaPodの1.9をあきらめて、1.8.4を指定してインストールしたよというものばかりでした。
つまり、1.9.0からうまく入らないみたいです。
ここで、CoCoaPod1.8.4を入れて、AdmobのSDKも一つ前の5.3.0を入れるか
AdmobのSDKを5.4.0にして、なんとかCoCoaPodのバージョンをあげるか、
の2択を迫られてしまいました。
最新のが使えないの色々まずい気もするので、もう少し上げる努力をしようかと思ったのですが、ここからも一筋縄でいきませんでした。
CoCoaPodは、MacOS上で動いてるRubyでインストールする方法がよくみつかるのですがRubyじゃなく
$ brew instal cocoapods
でインストールしましょう
というのを見つけて、これならいけるのでは?とやってみたら
インストールはされるのですが、途中でエラーが発生してる。
とりあえず、今はCoCoaPod1.10.0なのは、わかりましたが、これは大丈夫なのか? と思ったらやっぱり駄目でした。
海外サイトでRubyのバージョンをあげればうまくいく可能性があるよ!というのをみつ方ので
$ brew uninstal cocoapods
を実行しRubyのUpdateへ
Rubyは2.6.5だったので、2.7にあげました。
これでうまくいくかと思いきや結果は同じ。
このあたりで、下げるか迷いましたが、CoCoaPod1.10.0はBrewなら成功してる人はいる。
もう一回Brewで挑戦。
やはり途中でエラーでうまくいかないのですが
----------------------------
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/xcodeproj
Target /usr/local/bin/xcodeproj
already exists. You may want to remove it:
rm '/usr/local/bin/xcodeproj'
To force the link and overwrite all conflicting files:
brew link --overwrite cocoapods
----------------------------
とエラーメッセージが出ている。Google先生にかけてみたら
----------------------------
リンクを強制し、競合するすべてのファイルを上書きするには:
brew link --overwrite cocoapods
----------------------------
を実行しなさいと書いてあるじゃないですか・・
$ brew link --overwrite cocoapods
$ brew uninstall cocoapods
$ brew install cocoapods
実行でうまくいったあぁぁ。
ちゃんとメッセージは読まないと駄目ですね。。
とりあえず、数時間の戦いでした。
投稿日:2019-01-12 Sat
去年のUnityのAssetStore半額セールで買った「Flash Animation Toolset」C#でgotoAndPlayやStopも出来るしマスクも使える、期待通りの優れものAssetでしたので紹介したいと思います。
これは使えそう!!ただ日本では情報が少ない(マニュアルの英語ページもわかりやすいのですけど、やっぱり敷居がありますよね・・)
サンプルに使うAnimateファイル(FlashProファイル)は、ボーンを使ったFlashアニメ
ボーン素材なのでパーツが分解されている。

それをボーンを使ってタイムラインを起こしてあります。

素材は、クリエータ「りんこ」さんにに作成して頂きました。
こういう動きをします。こういうのをすぐ作っちゃうのはクリエータさんって凄いですよね・・・
[広告] VPS
さて本題、これを「Flash Animation Toolset」を使ってUnityに取り込んでみます。
当然ですが、「Flash Animation Toolset」をUnityにインポートする必要があります。自分は購入しましたが無料の試用版もあります。
Flashファイルは、Assetフォルダ以下の適当なところに置きます。今回はAssets/Scenesに置きました。

まず、Unityで使うアニメは、ルートシーンのタイムラインではなく、ムービークリップ単位になってる必要があります。
そして、このムービークリップにリンケージをつけます。今回は「test_anime」とリンケージをつけました。
後でラベル名で、gotoAndPlayやStopで制御したい場合は、ムービークリップのタイムラインにラベル名をつけておきましょう。

次にAnimate上の「コマンド」メニューから「コマンドの実行」を行います。

コマンドファイルを聞いてきますので、Unityにインポートされてるコマンドファイルを指定してあげましょう。
「Flash Animation Toolset」を普通にインポートしていれば
Asset/FlashTools/FlashExport/FlashExport.jsfl がコマンドファイルになります。
コマンドの実行が終了するとFlaファイルの隣に「Flaファイル名_export」フォルダが出来上がり、中にUnity用のファイルが出来上がります。

フォルダの中には、Unity用のムービークリップアニメファイルがあります。

出来上がったファイルの中のPrefabファイル(青い立方体マーク)をHierarchyに投げ込みましょう。

見事にムービークリップがUnityに・・・

再生すると、ちゃんと動きます。
ついでに、ちょっとC#で制御してみましょう。
以下のような「SwfTest.cs」を作ります。
MainカメラなりCreateEmptyなりを実行して作るかなりで、「SwfTest.cs」を適当なGameObjectにはりつけます。
public SwfClip SwfClip;
public SwfClipController SwfClipController;
は、Hierarchyから先程投げ込んだPrefabを登録します。

実行すると、C#から制御できるのが確認できます。
※追記2019年1月20日
Unity2018.3で動かないという事なので調べてみました。
自分はUnityのEditorはJetBrainのRiderを使っているのですが、
Assets/FlashTools/Scripts\Editor/FTEditorフォルダの中のSwfEditorUtils.csの217行目のZlibStreamメソッドの第3引数の指定の所が赤くなっている・・・・

調べてみると、
Assets/FlashTools/Plugins\Editorフォルダの中のIonic.Zip.Unity.dllファイルからCompressionLevelプロパティの値をとりそこなってるように見える。。。Ionic.Zip.Unity.dllがうまく読み込めていないって事なんでしょうか
ZlibStreamメソッドの第3引数はなんだろうとしらべたら、ブーリアン値だったので、とりあえずtrue入れてみました。

そしたら動いた。問題ないように見えるけどfalseにしたらどうなるんだろう・・・・
超優秀なAssetですし、そのうち修正されると思いますが、とりあえずこれで対処・・・・
UniSwfとかは、無理やりFlashを使ってる感があったし、結局あまり使わなかったのですが、こちらは自然とUnityのプレファブとして使える感があって抵抗がない。。。 のでいいんですよね。
投稿日:2018-11-12 Mon
11月11日のみの1日限定半額セールでPlayMakerとFlash Animation Toolset買ってみました。
PlayMakerは有名ですが、ビジュアルスクリプトってホントに便利なんですかね?
手伝いのプロジェクトでも使われてるのがいくつかあったので気になってたのでいい機会なので・・・
UnityとFlashの連携は前はUinSWF購入して使ってたのですが、取扱中止になってるしAnimation Toolsetなんとなく凄そうだったので・・・
UniSWFのときもそうですが、結局あまり使わない&Unity2018の新アニメツール(未だPreView版ですが)に慣れてきたのもあり、やっぱりあまり使わない気も・・・
ただ外にアニメ発注するときは、未だフラッシャーの方のほうが圧倒的に多いですし・・・連携できるなら
私自身はプログラマーなので、あまりアニメをいじるのは得意ではありません。
投稿日:2018-11-04 Sun
AdobeからAnimateCCで作ったアニメを取り組む方法がAnimateCCのアニメをUnityに取り込む
掲載されているんですが、上記の「テクスチャアトラスの作成」の項目以下になります。
テクスチャーアトラスとJsonのデータになるのですが、使うのにちょっと癖があるので、個人的なまとめです。
①1つのアニメしか組み込めない?(方法あるのかな?)
②マスクは使えない(マスク使った部分は無視されちゃうようです)
③WebGL書き出しには使えない(Shaderとかの関係の気はしますが。。。、まあWebに書き出すことはないからいいのですが、そのうち対応するのかな?)
Animateでアニメ作る人は多いと思うので(いわゆるフラッシャーですが)、もっと組み込みが簡単に使いやすくなってくれるとありがたい。。。
投稿日:2018-09-16 Sun
UnityにFireBaseSDKいれたりすると、iOS書き出しのXcodeプロジェクト上でCocoaPodが必要になるのですが(これで前に引っかかった)、Unityで書き出したXcodeにないなあ。。。どうやっていれるんだっけと格闘してしまったので備忘録・・・結局アンインストールしていれなおしたりしたのですが、Macのターミナル上で
gem install -n /usr/local/bin cocoapods
のあと
pod setup
がなにをどうやってもエラーがおきる。
You cannnot run CocoaPod as root
これはいったいなんだ・・・・ と
そしたら、ターミナルでRootではいっていたのが原因でした・・・
Macのターミナルで、つい
sudo su -
でRootにしてしまっていたんですが、root権限ないまま
sudo gem install -n /usr/local/bin cocoapods
pod setup
で実行すれば終わった・・・・ root権限で実行したら駄目ってメッセージだったのですね・・・こんなので時間くって無念です。
△ PAGE UP