スマゲ

スマートなゲームづくりを目指して日々精進

2016-01-01から1年間の記事一覧

Unityでソーシャルゲームの体力回復処理を実装する

Unityでソーシャルゲームによくある体力回復機能の処理を実装してみます■完成イメージ ■機能要件 ・時間で体力を回復する ・体力を回復できる ・体力を使用することができる■管理方法 ・最後に体力を回復した時間を保持し、その時間との差分から次に回復する…

UnityEditorでゲームシーンのスクリーンショットを撮るEditor拡張

UnityEditorでGameシーンのスクリーンショットを撮るためのEditor拡張を作成しました。github.com■使い方■動作要件 ・Unity4以上 ・Mac, Windows■導入 ・GitHubリポジトリのunitypackageフォルダ以下のUniEditorScreenshot.unitypackageを利用■機能 ・スクリ…

UnityでiOSのローカル通知を実装する

Unity5でiOSのローカル通知を利用する方法まとめてみます■環境 Mac OS X 10.11.5 Unity 5.4.0f3 Xcode 7.3.1■通知の許可を求める iOS8からはアプリがユーザーに対して通知の許可を求める必要があるため、ユーザーに確認用画面を表示する using UnityEngine; …

Unityのplayerprefsでbool(真偽値)を保存する

Unityでboolean(真偽値)を保存してみる■動機 UnityはPlayerPrefsを利用することで、int, float, stringの値を保存できるが、bool値は保存できない。 そのため、intやstringの値を保存するときと同様にbool値を保存するにはどのようにすれば良いか考えてみた…

Androidで使えるライブラリの種類まとめ

Androidで利用することのできるライブラリを軽くまとめました■アンドロイドライブラリについて その名の通り、アンドロイドで利用出来るライブラリのこと ・アンドロイドライブラリを作成、利用する主な目的 ┗ モジュール性 : コードを幾つかの論理的なユニ…

Unityでビルドわけを簡単に行うサンプル

Unityでビルドわけを簡単に行うサンプルを書いてみました■ビルドわけを行うメリット ・スクリプトを書き換えを行うことなく、実行環境を変えることができる ・BuildSettingsをビルドごとに設定し直さなくて済む ・出力ファイル名を指定できるため、出力後の…

Unityのエディタ拡張を利用して開発環境の切り替えを行う

Unityのエディタ拡張とシンボル定義を利用して開発環境の切り替えを簡単に行えるようにします■関連 Unityで条件付きコンパイルを行う - スマゲ Unityのエディタ拡張でPlayerPrefsを削除する - スマゲ■切り替え方法 1. シンボル定義を行い、開発環境と、本番…

Unityで条件付きコンパイルを行う

Unityでシンボル定義を利用して条件付きコンパイルを行います■条件付きコンパイル プログラムの特定のブロック、コードだけを選択してコンパイルすること。アプリケーションを混合言語で利用したり、プラットフォーム依存コンパイルを行ったりする時に利用す…

UnityでスクリプトからiOS,Androidのビルドを行う

UnityでスクリプトからiOS,Androidのビルドを行います■検証環境 Unity5.3.5f1 Mac OS X 10.11.5■利用する機能 ・エディタ拡張 ・ビルドパイプライン■実装 Assets/Editor以下にスクリプトを作成する MenuItemを利用してビルド用の設定を追加、呼び出すメソッ…

C#での定数利用について

C#の定数利用について、今更ながら確認を行いました■C#での定数 c/c++ では #define を利用して定数を定義できたがc#ではそのような利用はできなくなり、シンボル定義のみの扱いになった。 その代わり、constやreadonlyを利用する必要がある。ちなみにプロジ…

Unityで端末の加速度センサを利用する

Unityで端末の加速度センサを利用してみます。取得するのは端末の傾きです。■対象 iOS, Android端末■設定 利用OSのPlayer Settings を開いてConfigurationからAccelerometer Frequencyから取得する加速度のサンプリング回数を設定する 何かしら数値が入って…

Unityでbashを利用する

UnityのPostProcessBuildでbashを動かしてみます。 UnityはEditor以下にPostprocessBuildPlayerファイル(拡張子なし)を作成し、シバンを記述すれば様々な実行環境でコードを走らせることができますが、今回は PostProcessBuild + Process でbashを実行します…

UnityでXcodeの設定を自動化する方法まとめ

UnityでXcode出力後に必要な設定を自動化する方法です。 今回はよく利用しそうなものをサンプル形式でまとめました。■利用する機能 Unity5から標準利用できるようになったXcodeAPIを利用 Unity - Scripting API: PBXProject■自動化項目 ・ビルド設定の編集 …

UnityでのFPS設定まとめ

UnityでFPSがどのように設定されているのかをまとめます。■FPS(Frames Per Second)とは 1秒あたりの画面更新回数。この値が高いほど動画やゲームが滑らかに見える。■UnityでFPSを設定する方法 1. Quality Settingsから設定する 2. TargetFrameRateを設定する…

UnityでGameCenterのLeaderBoardを利用する

UnityでGameCenterのLeaderBoardを利用してみます■LeaderBoard GameCenterある機能の一つで、ユーザーが獲得したスコアを集計して順位付けを行う。いわゆるランキング機能■AppIdの設定 Member Centerにログインし、新規AppIdを設定する■iTunesConnectでの準…

Unityでアプリのバージョンを取得するプラグイン

UnityでiOS/Androidアプリのアプリバージョン、ビルドバージョンを取得するプラグインを作成しました■プラグイン github.com■利用用途 ・タイトル画面に現在のアプリのバージョンを表示する ・アプリ内でインストールされているバージョンが最新かどうか判断…

iOS, Androidアプリのバージョンを取得する

iOS, Androidアプリのバージョン、ビルドバージョンを取得します。■バージョン アプリのバージョンでユーザーの目に触れるもの、AppStoreやGooglePlayStore、アプリのタイトル画面などに表示される■ビルドバージョン アプリが内部で保持するバージョン、ユー…

iOSのストア用スクリーンショットの各サイズを一括で準備する

iOSアプリを申請するときに必要な画像群を一括で準備する■iOSアプリ申請に必要なサイズ iOSのアプリ申請には以下のサイズのスクリーンショットが必要であり、それぞれの画面サイズに対して最低1枚、最大5枚の画像を登録する必要がある。そこでimagemagickと…

Unityでアプリのストアページを開くプラグイン

Unityでアプリのストアページを開くプラグインを作成しましたgithub.com■概要 リリースされたアプリのApp StoreやGoogle Play Storeのアプリページを開く■インストール プロジェクトをZipでダウンロード、もしくはクローンする dist/uniStoreOpener.unitypac…

iOS/Androidでアプリのストアページを開く

アプリのストアページを開いてみます■用途 ・アプリのレビューをお願いする ・自社のアプリを紹介する■Android実装 AndroidMarketとGooglePlayStoreの両方に対応する。 final String appPackageName = activity.getPackageName(); try { activity.startActiv…

【iOS】Unityで通知許可のダイアログを出す

Unityで通知許可のダイアログを出します■ダイアログ ■ダイアログの必要性 iOS8から、ユーザーに対して上記のポップアップにより通知の許可を得る必要がある。許可を得ないままだと、通知を登録してもユーザーに届かなくなる■アラートを出すスクリプト Assets…

Unityで画面をタップした位置にオブジェクトを移動させる

Unityで画面をタップした位置にオブジェクトを移動させます■完成イメージ ■利用用途 スマホゲームでのタップエフェクトなど■カメラの設定 カメラのprojectionをorthographicにする ■オブジェクトの移動 Input.mousePositionで画面をタップした場所を取得、Sc…

Unityでゲームの停止時間を取得する

Unityで前回ゲームをプレイしてから次に起動するまでの時間を取得します■利用用途 放置系のゲームでゲームの放置時間に応じてアイテムを付与する■現在のUnix時間を取得する Unityで時間を扱う - スマゲよりDateTimeからUnix時間を求める関数を使う TimeUtil.…

Unityでタイマーを作る

Unityでタイマーを作ってみます■関連 Unityで時間を扱う - スマゲ■完成イメージ ■UIの準備 uGUIを使っていい感じにボタンを配置する ■タイマー機能の実装 Time.deltaTimeを利用して残り時間から直前のフレームに要した時間を引く 残り時間が0になったらタイ…

Unityで時間を扱う

Unityでゲームでよく使いそうな時間関連の情報を得る方法をいつくか挙げます・現在時刻 ・UnixTimeの変換 ・フレーム数の取得 ・経過時間の取得 ・1フレームごとの時間の取得■現在時刻 c#のDateTimeを利用 Systemの名前空間を追加 using System; 以下のスク…

UnityのuGUIでフレームのみのボタンを作る

UnityのuGUIでフレームのみのボタンを作ります■完成イメージ ■画像の用意 外枠のみが白で内側が透過されている画像を用意する 画像はサイズ32x32で縁幅がそれぞれ2ピクセル ■Unityの切り分け 画像をUnityへインポートしインスペクターからSprite2d(2D and UI…

UnityでRuntimePermissionを利用するプラグイン

UnityでRuntimePermissionを利用するプラグインを作成した■関連 Android6.0からのPermissionの仕様変更についてのまとめ - スマゲ AndroidのRuntime Permissionを実装する - スマゲ UnityでRuntimePermissionを実装する - スマゲ■動作環境 Unity 5.0以上■導…

UnityでRuntimePermissionを実装する

UnityでRuntimePermissionを実装します■関連 Android6.0からのPermissionの仕様変更についてのまとめ - スマゲ AndroidのRuntime Permissionを実装する - スマゲ■UnityでのRuntimePermissionに関して Android6.0では特定の権限を利用するアプリ(targetSdkVer…

AndroidのRuntime Permissionを実装する

AndroidをRuntime Permissionを実装してみます■関連 Android6.0からのPermissionの仕様変更についてのまとめ - スマゲ Requesting Permissions at Run Time | Android Developers■実装 ・AndroidManifest.xmlに利用したい権限を追加する <uses-permission android:name="android.permission.CAMERA" /> ・権限をリクエスト</uses-permission>…

Android6.0からのPermissionの仕様変更についてのまとめ

Android6.0(Marchmallow)から一部のPermissionについて仕様が変わりました■AndroidのSystem Permissionについて アプリケーション上で特定の動作を行いたい場合、その内容に応じてユーザーに対して許可を取る必要がある。たとえば電話機能を利用したアプリの…