読者です 読者をやめる 読者になる 読者になる

いんでぃーづ

個人でゲーム開発してる上で吸収したモノたち紹介。UnityからGIMPまでなんでも。デザインとかゲーム論まで語っちゃうよ的なアレ。

MENU
{スポンサーリンク}

Unityで使用できる3Dモデルファイル

Tips Unity

Unityではいろいろな形式の3Dモデルファイルに対応していて、そのほとんどが ドラッグ&ドロップ のみでインポートできます。

  • ソフトウェアに依存するファイル形式
    • .mb .ma
    • .blend
    • .3ds .max
    • .c4d
  • ソフトウェアに依存しないファイル形式
    • .fbx
    • .obj
  • 番外:MMD
続きを読む

記事一覧・Unity使い方

記事一覧

ライトマップ

これやっとけばライトマップは焼ける!Unity設定7項目 - いんでぃーづ

Unity5の Lighting ウインドウの見かた ~基本編~ - いんでぃーづ

Unity5の Lighting ウインドウの見かた ~GI編~ - いんでぃーづ

uGUI

uGUIのレイアウトを理解する 〜 Rect Transform編(1) - いんでぃーづ

uGUIのレイアウトを理解する 〜 Rect Transform編(2) - いんでぃーづ

uGUIのレイアウトを理解する 〜 Rect Transform編(3) - いんでぃーづ

uGUIのレイアウトを理解する 〜 多種解像度対応 : Canvas Scaler - いんでぃーづ

Unity : uGUIのImageなどのタップイベントを検出 - いんでぃーづ

コンポーネント

Unity : Clothコンポーネントでユニティーちゃんのスカートをひらひらさせる - いんでぃーづ

Unity : Image と RawImage は何が違うのか - いんでぃーづ

NavMeshObstacleを避けて移動してくれない場合 - いんでぃーづ

Unity : レイヤーマスク値のつくりかた - いんでぃーづ

Unityで使用できる3Dモデルファイル - いんでぃーづ

アニメーション

Unity上で3Dアニメーションを編集する - Animationウインドウ - いんでぃーづ

Unity : アニメーションとGameObjectの位置を同期させたい時に気をつけること - いんでぃーづ

Unity : アセットのAnimationClipを編集する - いんでぃーづ

Unity : AnimationClipに合わせて処理をしたいなら - いんでぃーづ

各種ウインドウ

Unity : 3Dシーン内のCanvasが邪魔 - いんでぃーづ

Unity : 不要なアセットを削除して、プロジェクトをスリムに保とう - いんでぃーづ

Unity : インスペクタで独自UIを使う - PropertyDrawer の下準備 - いんでぃーづ

Unity : Property Drawer の OnGUIの書き方 - いんでぃーづ

Unity : PropertyDrawerで変更した変数の保存 - いんでぃーづ

Unity : プロジェクトに埋もれたアセットを一瞬で探し出す方法 - いんでぃーづ

アセット

Unity Asset : プレハブを入れ子にできる Prefab Evolution - いんでぃーづ

Unity : ゲーム画面にAdmobを表示

iOS Tips Unity Android

Admob表示させるだけなら、アセットなんて買わなくたってできます

なにせ本元GoogleさんからUnity用のプラグインが出ているのである。

github.com

なお、すでにAdmobのアカウントは取得済みで、広告も作成済みとします。

Unityプラグインを導入してみる

まずは上記サイトから、GoogleMobileAds.unitypackage をダウンロードしましょう。

Unityを開いた状態で、ダウンロードしたファイルをダブルクリックすると、自動でプロジェクトへのインポートが行われます。

ソースの先頭に以下の一行を加えたら、準備完了です。

using GoogleMobileAds.Api;

バナー広告を表示する

バナー広告というのは画面に常に出ているタイプの小さな広告です。
以下のようなコードで表示できます。

BannerView ShowBannerView = new BannerView("AdmobのユニットID", AdSize.Banner, AdPosition.Bottom);

AdRequest.Builder builder = new AdRequest.Builder();
AdRequest request = builder.Build();

// 表示する
ShowBannerView.LoadAd(request);

インタースティシャル広告を表示する

インタースティシャル広告とは、全画面に表示される 収益性の高い広告 です。

こちらは表示させる前に初期化が必要です。

// 広告を初期化する
InterstitialAd interstitial = new InterstitialAd(Globals.ADMOB_INTERSTITIAL_UNIT_ID); 
AdRequest.Builder builder = new AdRequest.Builder();
AdRequest request = builder.Build();

// 広告が表示可能になったときのコールバック
interstitial.OnAdLoaded += (handler, EventArgs) =>
        {
              // 広告を表示する
              interstitial.Show();
        };

// 広告が閉じられたときのコールバック
interstitial.OnAdClosed += (handler, EventArgs) =>
        {
              // 後処理
              interstitial.Destroy();
        };

// 広告がエラーになったときのコールバック
interstitial.OnAdFailedToLoad += (handler, EventArgs) =>
        {
              // エラー処理
              Debug.Log("err!");
              interstitial.Destroy();
        };

// インタースティシャル広告のロード
interstitial.LoadAd(request);

テストデバイスを追加する

バイスごとに固有のIDを使うと、そのデバイスのみ、収益が発生しないテスト用の広告を表示させることができます。

// テストデバイスのリスト
string[] TestDeviceList = new string[] {
       "xxxxxxxxxxxxxx", "yyyyyyyyyyyyy"
};

foreach (var deviceId in TestDeviceList)
{
       builder.AddTestDevice(deviceId);
}
AdRequest request = builder.Build();

バイスIDは、デバイス上で本番用の広告を表示させたときに、ログに出力されます。
Androidならadb, iOSならXcode上で確認することができます。

iOSビルド時に必要なこと

AppStoreにアップロードするとき、Info.plist に以下のプロパティを含める必要があります。

NSCalendarsUsageDescription - Advertisement would like to create a calendar event.
NSBluetoothPeripheralUsageDescription - Advertisement would like to use bluetooth.
NSCameraUsageDescription - Advertisement would like to use Camera.

これを入れないとアップロードに失敗するので注意。
こちらのサイトを参考にしました。

本家サイト

Game Developers: Ads Best Practices  |  AdMob by Google  |  Firebase

Applivさんにレビューしていただきました! [3Dまちがいさがし - ひまから脱出!]

アプリ iOS

先日リリースしたiPhoneアプリをApplivさんにてレビューしていただきました。

app-liv.jp

iPhone, iPadお持ちの方はぜひダウンロードおねがいします

3Dまちがいさがし

Unity : Android向けビルド時にエラーダイアログが出たらJDKのバージョンかも

Android Tips Unity

Androidビルド時に下のようなダイアログが出たら、

f:id:sugar_affordance:20161102111920p:plain

Unable to convert classes into dex format. See the Console for details.

と出た場合はまずコンソールのエラーログを見ます。

f:id:sugar_affordance:20161102111520p:plain

対象のエラーをタップすると、その下に詳細エラーが出ます。

この欄に

Unsupported major.minor version 52.0

と出ている場合、JDKのバージョンが合っていないことがエラーの原因です。

52.0と出ている場合はJDK8を、51の場合はJDK7を使う必要があります。

Oracleのサイトからダウンロードしましょう。

JDK8のインストール

JDK7のインストール

参考サイト

blog.ch3cooh.jp

Amazon.co.jpアソシエイト