Unityで作ったアプリでExperiaでのみAdMobのバナーがちょっと上に出る問題

ExperiaでのみAdMobのバナーがちょっと上に出るという問題が以前からちょこちょこと報告が上がっていたんですが、一体どうしてExperiaでのみそんなことになるのか分からず途方にくれていました。こんなふうに表示されてしまう↓ ただしくはこう↓ 場合によって…

UnityでiOSとかでよくあるトグルスイッチを作りたい。

iOSとかである、こーいうトグルスイッチを作りたい!っと思って作ってみました。まず画から。こーいう緑色で楕円のONの画像に、 こーいう灰色で楕円のOFFの画像を被せ、 さらに白い丸いボタン画像を載せます。 Scriptで、タッチするとボタンが右に行って、OFF…

UnityでBGMのイントロ付きループに挑戦

最初に試したのはループ終端まで来たのを確認してAudioSource.timeをループ開始地点に飛ばす方法 www.shibuya24.info 次に試したのが、イントロ用とループ用でAudioSourceを2つ用意してループ用のAudioSourceをPlayScheduledでイントロ長分ずらして再生する…

UnityでビルドしたiOS版アプリがcompute_class_bitmap: Invalid type 13 for fieldと言われて落ちる

UnityでビルドしたiOS版アプリでcompute_class_bitmap: Invalid type 13 for fieldと言われて落ちる事案が発生しました。IL2CPPでビルドすれば大丈夫。けどMonoだとアウト。Monoのほうがビルドが爆速なので、私、実機で動作確認する際は結構Monoでビルドする…

Mac OS Sierraで「ろ」のキーにbackslashを割り当てる

Mac

今までKarabiner-Elementsでなんとかしようとしてたけどうまくいかなくて鬱屈とした日々を送っていたのですが、今日ひさしぶりにトライしてみようとググってみたら、こんな記事を見つけました。ubutun.blogspot.jp「英かな」というアプリを使うといけると。⌘…

数字が徐々に変わって目的の数値に行くスクリプト

ゲームのUIで、こんな感じの演出ってよくあると思います。スクリプトを書きました。以下のスクリプトをTextコンポーネントを持ったオブジェクトに貼り付けて、SlideToNumber( from_number, to_number, duration )を呼べば、from_numberからto_numberへdurati…

Unityでビルドした後、XCode上でSiginingのTeamを指定するのがめんどくさかったけどUnity側で設定できた。

だいぶ前から使っていて、前回の記事でもすでに使っていたのですが、ブログにメモしていなかったので書いておきます。以前からUnityでiOS用にビルドした後にXCode上でSiginingのTeamの部分を設定するのがめんどくさいなぁと思っていました。ここ↓ Unity5.6に…

UnityアプリのiOS版にアドフリくんを導入する際にXCode上での操作をしたくないので頑張ってみた。

アドフリくんとは アドフリくんとは、俗に言うSSPというものです。SSPとはSupply Side Platform(サプライ サイド プラットフォーム)の略語で、簡単に言うといくつかあるアドネットワークから適したものを自動で選んでくれて収益を最大化してくれるツールで…

【unity】プログラマーがデザイナーとコンポーザーと協力してゲームを作った話【 #Economicity 】

新作ゲーム「街づくりパズル エコノミシティ – ECONOMICITY -」をリリースしました!Economicityのせいで電車を乗り過ごしたというご意見もあり、業が深いゲームを作ってしまったなと反省しております。ダウンロードリンクはこの記事の最下部にまとめてあり…

uGUIで2色補完する(黒を○色、白を○色にする)

こういう3種類の絵を出したい時に、色違いのテクスチャーを用意するのってめんどくさいですよね?見た目の色違いだけなのに、テクスチャに色を乗算するだけではどうにもならないし... けどなんとか、左端の白黒のテクスチャ1枚で済ませたい。黒色の部分を○○…

Unityで作ったアプリのAndroid版で set_interactable can only be called in main thread などというエラーが出て困った話

Unityで作ったアプリのAndroid版で set_interactable can only be called in main thread などというエラーが出て困っておりました。メインスレッド以外でset_interactable呼ぶなや!ってことみたいです。どうもAdMobのinterstitialがCloseした時のCallbackで…

AOTコンパイルってなんぞ?

C#などの.Net言語はCILという中間言語にコンパイルして、それをVM上で動かすようにできています。しかし、実際にVM上で走らせなければどんなコードが動くか分からないってのはセキュリティ上よくないので、iOSではそれを許していません。UnityはVMからJITコ…

UniRxを使ってて気になったこと

AddToしているのものをIDisposable.Dispose()して、そのあとオブジェクトを廃棄したら二重解放になる? 結論、ならないので気にしなくて大丈夫な模様。下記のコードでは、Disposeした後、AddToしたgameObjectを破棄しているが、特にエラーは発生しなかった。…

vimで日本語をsortしたらうまく並び替えられなかった(解決済み)

vim

えんこ あやつ うんちん おすぷれい いんしつこういう文字列を、あいうえお順に並び替えたかったのですが、いつものようにVisualモードで範囲選択した後 :'<,'>!sortっとすると あやつ えんこ いんしつ うんちん おすぷれいというように、意図しない順番にな…

UniRxを1日勉強してみた感想

結論 まず最初に結論を。ゲーム開発がメインの私的にはObserveEveryValueChanged, Timer, AddTo(安全のため必須)あたりを使えれば十分かなぁという感想。実は、気づいていないすごい便利な使い方とかあるかもしれないので、オススメの使い方がありましたら教…

Unityで作ったアンドロイドアプリが吐くログを確認する方法

Android SDKへのパス/platform-tools にあるadbというコマンドを使うことでログを見ることができます。 Android SDKへのパスは、Android Studioを立ち上げて、「Android Studio」->「Preference」->「Android SDK」として、上の方にあるAndroid SDK Location…

typeface animatorとoutlineの併用で、ちょっとハマった

Typeface Animatorという超絶簡単にオシャレにテキストを動かせるAssetがあります。https://www.assetstore.unity3d.com/en/#!/content/37445先日、こちらのアセットとOutlineコンポーネントと一緒に使ってたらうまく動かなくてハマったのでメモ。どういうふ…

CosやSinをテーブル引きにする効果

- 追記 2017/2/8 23:20各所からツッコミを受けました。 テーブル引きの恩恵を受けるようなコードは、現在の実践環境ではあまりなく、普通に関数を使ったほうが有利というのが説が多いです。 以下のテストはキャッシュが効きやすい状態のテストなので一応、テ…

UnityException: Unable to install APK! Installation failed. See the Console for details

UnityでAndroid版をBuild And Run しようとした時に、突如として表題の例外が発生するようになって困った。answers.unity3d.comこちらに解決策が↑Player Settings -> Other Settingsで、Bundle Version Codeをあげたらインストールできた。たまにUnityが落ち…

use of undeclared identifier 'Unity' とか 'UI' のエラー

UnityでiOS版のビルド時に、Scripting BackendをMono2xにしてStriping Levelを何某かにしていると、以下のようにXCode側でエラーが出ることがあるもよう。とりあえずstripping levelをdisabledにすれば、一応回避できる。Mono2xでのビルドは、基本デバッグ用…

XCodeでビルドした時に「Appの有効なaps-environmentエンタイトルメント文字列が見つかりません」というエラーが出る

XCodeでビルドした時に「Appの有効なaps-environmentエンタイトルメント文字列が見つかりません」というエラーが出た。これは証明書にPush Notificationが無いかららしい。最近のXCodeは「Automatically manage signing」にチェックを入れておくと証明書を勝…

2017年、Vim周り見直し

Vim

半年に1回は見直しています。今回は結局大して変えませんでした。世間では、Neovimに乗り換えましたとか、プラグイン管理をdein.vimに乗り換えましたという人が多いようですが、自分はNeovimは、まだ不安があるのと、そんなにメリットが分かっていないので…

AndroidManifest.xml:20: error: Error: No resource found that matches the given name (at 'theme' with value '@style/Theme.IAPTheme のエラー対応

UnityでAdMobを入れ直したからか、Android版をビルドするときに以下のようなエラーが出るようになっちゃいました。 CommandInvokationFailure: Failed to re-package resources. /Users/wakepon/Library/Android/sdk/build-tools/23.0.2/aapt package --auto…

ゲーム中にバンドルバージョンを表示する

バグ報告を受けたときに「えっ、それどのバージョンのロムで発生したの?」って聞きたいときにタイトル画面などでバンドルバージョンを表示するようにしておくと便利だったりします。バンドルバージョン自体はUnityEditor.PlayerSettings.bundleVersionで取…

OnTriggerEnter2DとOnCollisionEnter2Dの違い

OnTriggerEnter2DとOnCollisionEnter2Dの違いが分からん!更に言うと、OnCollisionExit2DとOnTriggerExit2Dの違い、OnCollisionStay2DとOnTriggerStay2Dの違いも分からん!っとなったので調べました。2Dについて書いていますが、基本3Dも一緒だと思います。 …

【Unity道場】Unity 5.4 & 5.5 新機能キャッチアップ講座に行ってきた。

「Unity 5.4 & 5.5 新機能キャッチアップ講座」に行ってきました。このような回を無料かつ軽食付きで開催してくれるUnity Japan様には頭が上がりません。ありがとうございます。個人的に気になったポイントと所感をメモ。 Unity5.4 GPU Instancing ライトプ…

Unityで transform.localPosition.x = 1.0f; ができないわけ

C#初心者の私がUnityで最初戸惑ったのはtransform.localPosition.x = 1.0f;というようなことができないことです。これをやろうとすると、 error CS1612: Cannot modify a value type return value of `UnityEngine.Transform.localPosition'. Consider stori…

UnityでUnit Testを行う

先日、勉強会でUnity Tests Runnerというのものがあることを知りました。もともと、Unity Test Toolsというものの一部だったのが、Unity5.3から組み込みになったらしいです。docs.unity3d.comというわけで使ってみました。使い方は簡単で、図のように「creat…

AudioSourceの再生が終わったかどうかを取得する方法(が見つからない...)

表題の件ですが、結局いまのところ解決していません。AudioSourceクラスにはisPlayingというプロパティがあります。一番最初に思いつくのは、これがfalseになったら再生が終わったと判断するという手です。しかし、これには落とし穴があって、Pause()を呼ぶ…

C#のlock構文

FruitsNinjaのCloneのソースコードを見ていてc#にlock構文があることを知りました。https://www.assetstore.unity3d.com/jp/#!/content/65879 マルチスレッドのプログラムでは、ちゃんと排他制御をしないと問題がおきます。その代表格がsingletonクラスで、…

全てのシーンに存在し、一つしか存在してはいけないマネージャー的存在の実装

kan-kikuchi.hatenablog.comこの記事を読んで、最近読んだFruitsNinjaをCloneしたアセットのことを思い出したので記事にします。https://www.assetstore.unity3d.com/jp/#!/content/65879ところで、このアセット、凄いです!画像変えるだけで、vegetable nin…

個人ゲーム開発者が送ってみた無料でレビューしてくれる海外サイト30個

まず最初に"無料で"と書きましたが、無料の場合はレビューをしてもらえるかどうかの保証はありません。そもそも無料のレビューは受け付けていないところもあります。基本的には以下の記事を参考にしています。 www.find-job.net上記の記事の中にはサイトが閉…

Unity Remote 5を使ってみた

先日、実機確認のためのビルド時間に悩んでいるという話をしたら、Unity Remoteというのを教えてもらったので、使ってみました。Unity Remoteとは、ゲームの実行はUnity Editor上で行われるのですが入力はUSBで繋いだデバイス側から行えるというものです。ま…

UnityのAsset「Android Native Plugin」でエラー(AdMobとの相性が悪いようでした)

UnityのAsset「Android Native Plugin」でビルドエラー(最新版だけ?)UnityでGoogleのGame Service系を簡単に使えるようにすることで有名なアセット「Android Native Plugin」を導入したのですが、ビルドしようとすると下記のようなエラーが出ていました。 C…

Unityのシェーダーを書くときに確認しそうなページメモ

ビルトインのシェーダー変数 docs.unity3d.com 定義済みシェーダープリプロセッサーマクロ docs.unity3d.com Shaderのプロパティについて docs.unity3d.com "UnityCG.cginc"内の便利関数 docs.unity3d.com サーフェスシェーダーの使用例たくさん docs.unity3…

Unityのレンダリング順について

Unityの、ShaderLabにはQueueというレンダリング順をコントロールするためのタグがあります。詳しくは、以下のページに書かれていますが、自分でも自分の言葉でまとめてみます。 タグ名 内部インデックス 説明 Background 1000 他より前にレンダリングされま…

Unityで、Editorではシェーダーがちゃんと実行されているのに実機ではシェーダーがちゃんと実行されなくてハマった件

まず第一に、 Shader.Find( シェーダー名 )としていたのですが、これが失敗していました。初歩的ですいません。これはシーンから直接参照されていないリソースは、Resourcesフォルダに入れておかないとアプリに組み込まれないからです。というわけで、Resour…

トイカメラ風のフィルター

トイカメラ風フィルターです。上下を暈すだけという、ちゃっちいテクニックです。Shaderの練習のために作ってみました。ぼかし画像を作る部分は標準アセットのBlurのほぼコピペです。ぼかし画像を一枚しか作っていないこともあり、イマイチですね。本当は複…

Unityで自作ポストエフェクトを試してみた。

fspace.hatenablog.com上記のサイトを参考にしてUnityで初めてシェーダーを触ってみました。UnityのシェーダーはShaderLabと言って、頭の部分にシェーダーに値を渡すための記述を書き、下の方にCgかHLSLでシェーダーを書くみたいです。一応GLSLでも書けるみ…

GooglePlayGameServicesとGameCenterとAdMobを同時に利用しようとしてハマった件

GooglePlayGameServicesとGameCenterの導入に際しては、こちらが詳しいです。 yasuaki-ohama.hatenablog.com導入の仕方の説明は他の方の説明に譲って、GooglePlayGameServicesとGameCenterとAdMobを同時に使う際の注意。というか、たぶん同時利用は難しいと…

ちょこっとベターなSingletonMonoBehaviour

tsubakit1.hateblo.jpこちらの記事を参考にしたSingletonMonoBehaviourを利用していたのですが、SingletonMonoBehaviourの絡むバグが発生し、それを発生しにくくできないかと思って、ちょこっと変えてみました。上記のSingletonMonoBehaviourでは、Instance…

以前作ったSoundManagerの改良

効果音を鳴らした後にスクリプトからFadeOutしたり、FadeInとかしたくなったので、以前作ったSoundManagerを改良しました。qiita.com (この時はqiita使ってた...) Handleを返すようにして、Handle経由でFadeIn, FadeOutができるように それにともない。同じ…

Unityの単位系メモ

今日は本当はUnity Remoteの話を書こうと思ったのですが、ちょっと後日に回します。Unityのグリッドサイズとか、Cubeのサイズとか、ちょいちょい忘れるのでメモ。 項目 単位 主グリッド 1m*1m 副グリッド 10cm*10cm Cubeのサイズ 10cm*10cm Sphereのサイズ …

UnityでiOS向けのビルドを短時間で終わらせる簡単な方法

この記事の環境:Unity version 5.4.0f3 Unityで開発していると、どうしても実機でテストしなくちゃならないことがあります。例えば、加速度センサを使ったゲームとかはPC上ではテストできません。そこでiOS用にビルドしなくちゃいけないんですが、これがめち…

BlenderからUnityへ出力する際のメモ

Blenderで作ったモデルをFBXに出力する際のスケールや回転が、出力設定によって色々変わって混乱したのでメモ。 BlenderでApply Transformにチェックを入れないで出力した場合 Blenderで出したモデルは頂点座標は 1.0/100.0 されて、スケールに100倍掛けられ…

transformは遅い説の検証

qiita.comこちらの記事によるとtransformは内部でGetComponentをしているので遅いらしいです。気になったので自分でも試してみました。テスト環境 Unity5.4.0f3 MacBook Pro (Retina, Mid 2012) iPhone se まずは以下の様なコードで。 using UnityEngine; us…

Editorで編集中に気づくと何故かNullReferenceExceptionのエラーが出ている件

Editorで編集中に気づくと、たまに、 NullReferenceException: Object reference not set to an instance of an object というエラーが出ていて、編集中に?何故?Editor拡張周りに何かバグが?って思っていたのですが、違いました。理由は、Reset関数のせい…

MonoBehaviourのAwake、Start、Updateという関数が呼ばれる仕組み

MonoBehaviourを継承してAwake、Start、Update等という関数を作るとUnity側で勝手に呼んでくれますが、これがいったいどういう仕組で動いているのかが謎でした。最初、MonoBehaviour側にvirtualな関数、もしくはabstractな関数で定義されているのかとも思っ…

Unity+iOSでitunes connectにアップロードする際にERROR ITMS-90086が出た時の対処

先日、itunes connectにアプリをアップロードしようとしたら以下の様なエラーが出ました。 ERROR ITMS-90086: "Missing 64-bit support. iOS apps submitted to the App Store must include 64-bit support and be built with the iOS 8 SDK or later. We re…

ゲームビューでの見え方を確認しつつシーンビューでパラメータ調整する方法3つ

1, シーンビューとゲームビューを並列に並べて作業する 一番シンプルな方法。編集画面が狭くなりがちなのが難点です。 2, シーンビューの見え方をゲームビューと同じにする Cameraを選択する 「GameObject」->「Align View to Selected」を選択する こちらは…