Unityでペイント機能を付けようとコチラのプロジェクトをダウンロードしてみました。
がNGUIと相性が悪い点があってインポートするとNGUIの「UIWidgetContainerEditor」というスクリプトでエラーを吐いた。
仕方ないので一文をトグルしました。
メモがてらに書いておきます。
ゆにすた UNITYでゲーム製作
UNITYでSTARTするゲーム製作。略して「ゆにすた」。メモがてらにUNITYでゲームの作成模様を記録
2015年5月15日金曜日
UnityAdsの使い方とゲームへの組み込み方
UnityAds(ユニティアド)とは
15秒のアプリの広告動画をゲーム内で再生してインストールされれば広告収入を得るという仕組みのUnity公式の広告です。
クロッシロードはこのUnityAdsで2億円ほど売り上げたらしいです。(細かい数字は忘れました)
・UnityAdsを使うことのメリット
・Unityとの親和性が高い(Unityが出しているので当たり前ですが)
・iOS8からアイコン型の広告がリジェクトされ易くなっているのでリジェクト対策になる。
・誤クリックを狙ったアイコン型やバナー型広告等と比べてプレイヤーのストレスが非常に少ない。
・アイコン型やバナー型広告等と比べUIがすっきりする
・ゲームのシステムに組み込みやすい
例えば「クロッシーロードのゲームオーバーになっても動画を再生すれば復活できる等」
今回のゲームへの組み込みはこの仕組みを採用してみました。
UnityAdsの使い方
まずUntyAdsで登録します。
登録したら、広告を入れるゲームを登録します。
登録したゲームIDを以下のスクリプトの初期化の部分に入れてShowAd()関数を実行するだけです。
switch構文で条件分岐して再生を完了した場合のみSendMassageで関数を実行するようにしてあります。
using UnityEngine; using System.Collections; using UnityEngine.Advertisements; public class UnityAds : MonoBehaviour { public GameObject Gameover; // Use this for initialization void Start () { // ゲームIDを入力して、Unity Adsを初期化する Advertisement.Initialize (\"ゲームID\"); } // Update is called once per frame void ShowAd () { // Unity Adsを表示する準備ができているか確認する if (Advertisement.isReady ()) { Debug.Log(\"ShowAds\"); Advertisement.Show(\"rewardedVideoZone\", new ShowOptions { pause = true, resultCallback = result => { switch (result) { case ShowResult.Finished: Debug.Log(\"The ad was successfully shown.\"); // Unity Adsが無事に再生完了すれば復活の関数を実行 Gameover.SendMessage(\"ContinueAds\"); break; case ShowResult.Skipped: Debug.Log(\"The ad was skipped before reaching the end.\"); break; case ShowResult.Failed: Debug.LogError(\"The ad failed to be shown.\"); break; } } }); } } }上記のシステムをエルフギアソリッドに組み込んであるのでダウンロードして確認して頂けるとわかりやすいかと思います。
ゲームオーバーになっても動画を再生(UnityAdsを見る)すれば復活するシステムです。
一度この形式広告でゲームを遊んでみるとわかりますが、誤クリックを狙ったアイコン型やバナー型広告等と比べてストレスが非常に少ないです。
ゲームオーバーになってゲームがひと段落してから自分で選択して広告を見るのでダウンロード率も高いそうです。
UIもすっきりするので今後この形の広告(動画広告)が主流になっていきそうです。
エルフギアソリッド 〜本格3Dスパイアクション脱出ゲーム -
【iOS】https://appsto.re/i6LB6RY
【iOS】https://appsto.re/i6LB6RY
2015年1月18日日曜日
2015年1月12日月曜日
Unityで広告を入れるなら簡単なnend(ネンド)をおすすめします。
僕も迷ったUnityで広告を入れる会社選び。
nendoならアセットをダウンロードして広告プレハブをシーンに追加して自分のIDを入れるだけ。
xcodeでビルドする際もフレームワークを2つ追加するだけです。
かなり簡単に実装できます。
NENDをUnityで使うための設定方法を説明します。
まずNENDからUnityアセットをダウンロードし Pulginsに入れます。。
次にシーンに空のGame Objectを作り、そこにNend Ad Banner(もしくはNend Ad Icon)のスクリプトを追加し、Nendで設定した「apiKey」と「spotID」を入力するだけで終わりです。
実機でテストしないと広告の位置はわかりませんがとりあえず表示されるはずです。
かなり簡単なので広告会社に迷ったらNENDをおすすめします。
nendoならアセットをダウンロードして広告プレハブをシーンに追加して自分のIDを入れるだけ。
xcodeでビルドする際もフレームワークを2つ追加するだけです。
かなり簡単に実装できます。
NENDをUnityで使うための設定方法を説明します。
まずNENDからUnityアセットをダウンロードし Pulginsに入れます。。
次にシーンに空のGame Objectを作り、そこにNend Ad Banner(もしくはNend Ad Icon)のスクリプトを追加し、Nendで設定した「apiKey」と「spotID」を入力するだけで終わりです。
Xcodeでビルドする際は「ImageIO.framework」と「AdSupport.framework」を追加して下さい。
下の+ボタンをダブルクリックすると追加するフレームワーク一覧が出るので上記の2つを選んでビルド!
実機でテストしないと広告の位置はわかりませんがとりあえず表示されるはずです。
かなり簡単なので広告会社に迷ったらNENDをおすすめします。
2014年11月17日月曜日
2014年11月16日日曜日
[Unity]RayCastでプレイヤーと敵の間に壁があるか確かめるLincast
メタルギアのようなかくれんぼゲームを作ろうとすると敵に発見されるシステムと壁に隠れるシステムを作らなければなりません。
敵に発見されるシステムはコライダにOnTriggerEnterを使えばいいのですがそれだけではプレイヤーと敵の間に壁がある場合でも発見されてしまいます。
これでは壁で見えていないはずなのに敵に見つかってしまいます。
そこで敵とプレイヤーの間にRayCastを飛ばして壁があるか判定します。
RayCastでは2点間の距離を測りにくいのでLinecastを使います。
Physics.Linecast (pos, player.position,layerMaskWall)
posは敵自身のポジションでそこからプレイヤーのポジションまでの間にlayerMaskWallである設定したレイヤー(壁)があればtrueを返します。
これでTriggerの中に入っていても見つかっていない状態に出来ます。
敵に発見されるシステムはコライダにOnTriggerEnterを使えばいいのですがそれだけではプレイヤーと敵の間に壁がある場合でも発見されてしまいます。
これでは壁で見えていないはずなのに敵に見つかってしまいます。
そこで敵とプレイヤーの間にRayCastを飛ばして壁があるか判定します。
RayCastでは2点間の距離を測りにくいのでLinecastを使います。
Physics.Linecast (pos, player.position,layerMaskWall)
posは敵自身のポジションでそこからプレイヤーのポジションまでの間にlayerMaskWallである設定したレイヤー(壁)があればtrueを返します。
これでTriggerの中に入っていても見つかっていない状態に出来ます。
登録:
投稿 (Atom)