FC2ブログ
 
■プロフィール

クリエイトウェーブ

Author:クリエイトウェーブ
開発における、諸々を書いていきたいなと思っています。
mail : info@createwave.jp

■最近の記事
■カテゴリー
■最近のコメント
■月別アーカイブ

■最近のトラックバック
■ブログ内検索

■RSSフィード
■リンク
uGUIドラッグを座標に変換
Unityでアプリを作るときに、uGUIでドラッグ実装をすることは良くあると思います。
IBeginDragHandler, IDragHandler, IEndDragHandler3つのインターフェースを継承するもので、検索するといっぱいでてきます。

ドラッグ中に
public void OnEndDrag(PointerEventData eventData)
{
   Debug.Log(eventData.delta);
}

等でeventData.deltaを使ってるとおもいますが、eventData.deltaから座標を取得したいときってあると思います。
把握したのでここに載せておきます。


uGUI(Canvas)内のIBeginDragHandler, IDragHandler, IEndDragHandlerを継承したMonoBehaviourのLocalPosition

そのLocalPositionをCanvas上のPositionへ変更し
MainCameraに対してWorld座標へ変換しています。

これでuGUI上でドラッグして座標を広いuGUI外のUnity2D(Sprite)や、3DのGameObjectに対して使える座標を使うことができます。


カテゴリー:Unity | TM(0) | CM(0)
UnityのAndroidビルドでVulkanエラー
Unityで色々仕事を受けてると、色々なAssetを使う事になります。
ゲームであれば、3Dモデルやモーション、音やUIなども良くAssetStoreから買いますし、ブルートゥースとかのAssetとか、その他諸々。

さてあるAssetを入れたら、アンドロイドのビルドが通らなくなりました。

BuildFailedException: Unsupported graphics API: OpenGLES3 or OpenGLES2 for this platform, but the selected graphics API is Vulkan. Please go to Player Settings and set "Graphics APIs" to OpenGLES3 or OpenGLES2.
とか
Error building Player: BuildFailedException: Unsupported graphics API: OpenGLES3 or OpenGLES2 for this platform, but the selected graphics API is Vulkan. Please go to Player Settings and set "Graphics APIs" to OpenGLES3 or OpenGLES2.

とか出てる。。。。

なんじゃこりゃ!?

しばらく格闘してやっと解決。忘れないうちにメモっておきます。
Project Settings の Androdの Graphics APIsの設定を修正したらビルドが通るようになりました。
デフォルトだとVulkanが上の方にあってOpenGLES3が下にあります。
この順番を入れ替えます。
VALKAN

Vulkanってなんだ?と思ったら、OpenGLに対して次世代のグラフィックAPIなんですね。
導入したAssetが新しいグラフィックAPIに対応してないって事のようです。

疲れた・・・



カテゴリー:Unity | TM(0) | CM(0)
FireBaseでソーシャルエンジン(ガチャゲー)を作る。どこまでコストを落とせるか
noteに今までのノウハウで
FireBaseでソーシャルエンジン(ガチャゲー)を作る。どこまでコストを落とせるか
を書いてみました。

ブログとNoteを使いわけるか、Noteに移行するか迷ってます。。
まあ、仕事に追われて書けない日も多いのですが、ちょっとした事とかはブログに残しておくと結構後で役に立つ事も多いので、メモ書きとかブログで、ガッツリした内容はnoteがいいのかもしれないですね。

カテゴリー:FireBase | TM(0) | CM(0)
あけましておめでとうございます。
2021年、あけましておめでとうございます。
CWの仕事始めは、1月5日からになります。

去年はコロナで大変な年でしたが、数年ぶりに社員も増えCW再活動開始の年でもありました。
社員増えても、ずっとテレワークなので、Zoom越しにしか顔をあわせてないのですが。。
今年は、更に飛躍を目指します。
新生CWとしてロゴも一新しました。
今年もどうぞ、よろしくお願いします。

logo縦Small



カテゴリー:雑記 | TM(0) | CM(0)
CoCoaPodのUpdateで四苦八苦
アプリに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

実行でうまくいったあぁぁ。
ちゃんとメッセージは読まないと駄目ですね。。
とりあえず、数時間の戦いでした。

カテゴリー:Unity | TM(0) | CM(0)
次のページ