2015年6月24日水曜日

RPG用のフリー素材サイト 商用可著作権表示不要

RPG用のフリー素材サイトを探してみました。

条件


  • 商用利用可能
  • 著作権表示不要
  • 加工改変可能

欲しい素材

キャラクターの歩行
モンスター
エフェクト
マップチップ

条件に当てはまる素材サイト

ぴぽや倉庫 http://piposozai.wiki.fc2.com/
キャラクターからエフェクト、アイコンまで一通り手に入ります。個人で2Dゲームを作るには十分な素材数です。

キーワード;無料ゲーム素材

2015年6月18日木曜日

UnityアプリにAdMob広告を表示するサンプル

AndroidとiOSの両方でAdMob広告を表示する手順とサンプルソースです。
2015年6月最新のplug-inを使用。64ビット対応。iosシュミレーター使用は不可。

1.GoogleMobileAds.unitypackageをダウンロードしてプロジェクトにインポートする

https://github.com/googleads/googleads-mobile-plugins
今回はv2.2.1を使用しました。
64ビットアーキテクチャ互換とiOS_SDK7に対応済みです。

2.GooglePlayServiceをダウンロードしてインポートする

android SDKのtoolsにあるandroidからsdkmanagerを開いてダウンロードできます。
android_sdk/extras/google/google_play_services/libproject/google-play-services_libをunityプロジェクトのasset/plugin/androidにコピペ
admob入りのプロジェクト
インポート後のプロジェクト

3.以下の広告表示クラスを作成してカメラに貼り付ける

using UnityEngine;
using System.Collections;
using GoogleMobileAds.Api;
//このクラスをメインカメラに貼り付ける
public class AdMobScript : MonoBehaviour {
//AdMobのIDをinspectorから入力する ca-app-pub-XXXXXX
public string iOS_Banner_ID;
public string iOS_Interstitial_ID;
public string iOS_Banner_ID;
public string iOS_Interstitial_ID;

private InterstitialAd interstitial;
private AdRequest request;

bool isInterstitial = false; 

// Use this for initialization
void Awake () {
//テストモード
//TestDevice ();
// インタースティシャル広告をロード
RequestInterstitial ();

// バナー広告を表示
RequestBanner ();
}

//任意のタイミングでインタースティシャル広告を表示 OnClickなど
void InterAdView () {
if (interstitial.IsLoaded()) {
interstitial.Show();
}
}

//テストモードを使用
void TestDeviceMode () {
AdRequest request = new AdRequest.Builder()
.AddTestDevice(AdRequest.TestDeviceSimulator)       // Simulator.
.AddTestDevice("テストデバイスID")  // DEV.
.Build();
}

//カメラ下側にバナーを表示
public void RequestBanner()
{
#if UNITY_ANDROID
string adUnitId = Android_Banner_ID;
#elif UNITY_IPHONE
string adUnitId = iOS_Banner_ID;
#else
string adUnitId = "iOSでもAndroidでもない端末の場合";
#endif

BannerView bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Bottom);
AdRequest request = new AdRequest.Builder().Build();
bannerView.LoadAd(request);
}

//広告をダウンロードする
public void RequestInterstitial()
{
#if UNITY_ANDROID
string adUnitId = Android_Interstitial_ID;
#elif UNITY_IPHONE
string adUnitId = iOS_Interstitial_ID;
#else
string adUnitId = "iOSでもAndroidでもない端末の場合";
#endif

if (isInterstitial == true) {
interstitial.Destroy ();
}

interstitial = new InterstitialAd (adUnitId);
request = new AdRequest.Builder ().Build ();
interstitial.LoadAd (request);
interstitial.AdClosed += HandleAdClosed;
isInterstitial = false;
}

// インタースティシャルを閉じた
void HandleAdClosed (object sender, System.EventArgs e)
{
isInterstitial = true;
}
}

インスペクタから広告のidを入力します。

Android版は以上です。以下はiOS版の追加設定です。
iOS版のビルドの際はunityのbuild settingsのscripting backend をIL2CPPにする

4.Xcodeにフレームワークを追加(iOS)

GoogleMobileAdsSdkiOSをダウンロードする。
今回は7.3.1を使用。
linkd Framework and Librariesに以下を追加する

  • AdSupport
  • CoreTelephony
  • EventKit
  • EventKitUI
  • MessageUI
  • StoreKit
  • GoogleMobileAds(ダウンロードしたGoogleMobileAdsSdkiOS内にある)

BiludeSettinsのEnable ModulesをYESに設定する

2015年6月6日土曜日

Google Play reject 注意 - 削除または不承認となったアプリがあります

GooglePlayでアプリの公開に初めて失敗しました。

注意 - 削除または不承認となったアプリがあります  アプリが Google Play ポリシーに違反しているため不承認となりました。問題を解決したうえでアプリを再送信することができます。

>この通知は、アップロードされたアプリが不承認となったことをお知らせするものです。
下記の問題を解決し、修正したバージョンを公開してください。

削除の理由: コンテンツ ポリシーの知的財産権条項となりすましまたは虚偽の振る舞い条項への違反。

Google Play ストアに掲載されている情報(タイトル、説明、ロゴ、プロモーション用スクリーンショットなど)で、第三者に帰属する保護対象の著作物を不正に使用してはなりません。アプリのアイコンやプロモーション用スクリーンショットに、既存のサービスに類似した紛らわしい画像を使用してはなりません。
保護対象の著作物には一般に、商品名、ブランド、画像、ロゴ、音楽などの作品が含まれます。

 コンテンツを利用する許可を得ている場合は、Google Play ヘルプセンターからご連絡いただき、許可内容が確認できる正式な証明書をお送りください。

原因はフリー素材をアプリに使ったためです。
Googleはプログラムでファイルを解析し、過去に登録されたアプリと比較しています。
そのため過去に同じフリー素材を使用したアプリがある場合はそちらに著作権があるものと判断されます。
特にアイコンはオリジナルのものでないとなりすまし扱いされてしまいます。
対策するにもフリー素材に正式な許可証明なんて存在しないので原因と思われるファイルを別のものに置き換えるしかありません。
リジェクト回数が増えるとアカウント停止される可能性があるのでフリー素材を扱う場合は注意ください。

2015年6月4日木曜日

Error building Player: UnityException: Unable to install APK!

unityで実機動作確認のためにbuild and runを行った際に以下のエラーが発生。
Installation failed with the following output:
pkg: /data/local/tmp/Package.apk
Failure [INSTALL_FAILED_CONTAINER_ERROR]
4161 KB/s (63566398 bytes in 14.915s)

Error building Player: UnityException:jpgUnityEditor.BuildPlayerWindow:BuildPlayerAndRun()

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

apkのサイズが大きい時によく発生します。

解決方法


  1. 実機をスリープにならないようにする
  2. 転送ケーブルを良いものにする
  3. ファイルサイズを小さくする

2015年5月17日日曜日

WIMAXの帯域が三分の一に削除される

2015年の春頃からWIMAXの帯域が三分の一に減らされます。
順次変更されていくようですが、今のところ高崎では影響がありません。利用者が減って速度が上がっているくらいです。
2017年の停波までには代わりの回線を見つけたいところです。
WIMAXのような制限のない広域無線の代わりがあるといいのですが。。

2015年5月7日木曜日

UNITYでネットワーク上のファイルを取得して保存するサンプル

wwwクラスを使用して、インターネット経由で取得したデータをassetに保存します。
保存先はプロジェクト名/assetになります。
2パターンのソースがありますがバイト処理だけでも良いかも。
using System.IO;
using System;

・・     void Start () {
//htmlの取得と保存        
StartCoroutine ("WWWText");
//画像ファイルの保存        
StartCoroutine ("WWWGazo");
    }
    
    
    IEnumerator WWWText () {
        WWWForm form = new WWWForm ();
        WWW www = new WWW ("http://XXX.html");
        yield return www;
        FileSaveText ("/test02.text",www.text);
    }
    
    
    [SerializeField]
    protected Material material;
    
    // GAZO HTTP
    IEnumerator WWWGazo () {
        WWW www = new WWW("http://XXX.jpg");
        yield return www;
        material.mainTexture = www.texture;
        FileSaveGazo ("test.jpg",www.bytes);
    }
    
    
    public void FileSaveText(string fileName,String fileData){
        StreamWriter sw;
        FileInfo fi;
        fi = new FileInfo(Application.dataPath + fileName);
        sw = fi.AppendText();
        sw.WriteLine(fileData);
        sw.Flush();
        sw.Close();
    }
    public void FileSaveGazo(string fileName,Byte[] fileData){
//以下の方法でパスをくぎれる
        string path = string.Format("{0}/{1}"Application.dataPath , fileName);

// 画像ファイル保存.
        File.WriteAllBytes(pathfileData);

    }

2015年4月26日日曜日

サポートはこちら

アプリのサポートは以下のメールアドレスへお願いします。

passepied7@gmail.com

その他、アプリの追加機能などの要望を承っております。
※無料アプリの場合は返信が無いかもしれません。