2017年11月5日日曜日

Akeytsuを使いたい

Akeytsuはなんかフランスの3Dモーション作成ツールです。
Akeytusは秋津虫のあきつかな?
(トンボのマークだし)

これから使用感などを書いていくようにします。

2016年11月26日土曜日

[Unity5.3] Unity Ads SDK 2.0の導入手順






Unity AdsはUnity向けの動画広告SDKです。
アプリ内の好きな場所・タイミングで動画広告を掲載して収入源にできます。
Unityにお金を払えば自分のアプリ広告をUnityAds経由で配信してもらうこともできます。
公式製なので非常に導入しやすいSDKで、課金や計測周りも安心して使えるのがいいですね。
というわけで今日はこのUnityAdsをアプリに組み込む手順を書いていきたいと思います。

UnityAds管理画面にログイン

まずはUnityアカウントを使用して、下記のUnityAdsの管理画面にログインしましょう。
https://unityads.unity3d.com/admin/#signup


「UDNログイン、または登録」を選択

プロジェクトの作成

ログインしたら、まずは「プロジェクト」を作ります。
プロジェクト=Unityのプロジェクト単位ではない点に注意。
ひとつのUnityAdsプロジェクトにつき、Android、iOSのアプリ内広告を併せて管理できます。






・既にプロジェクト作成済みの場合は、「既存のプロジェクトでUnity Adsを有効」を選択します。
・プラットフォームを選択してください。
COPPA遵守の明示にチェックを入れます。
・「続ける」をクリックします。

ゲームの登録

作成したプロジェクトを開き、ゲーム情報を登録します。
この時点でアプリをリリースしていない場合は未入力でも問題ありません。
(広告表示の動作確認までは可能。)



登録が完了すると次のようなダッシュボード画面が表示されます。
ここで日々のレポートグラフを確認する感じですね。


プロジェクト名のリンク部分をクリックすると、プラットフォーム別の設定画面に遷移します。この画面に表示されている「アプリID」は自動的に発行されたIDになります。
これをアプリ内でSDKを呼び出す際のパラメータとして使用します。

余談ですが必要なIDが一種類だけというのは素晴らしくシンプルな設計ですね〜
導入する側の実装コストが全然違いますからね。他社のSDKサービスだと何種類ものIDを管理させられたりするので、これは嬉しい限りでした。

Unityに「Unity Ads SDK」Pluginをインストール

管理画面側の作業は完了したので、いよいよUnityを起動してプロジェクトに組み込んでいきます。

まずはUnity Ads SDKをAssetStoreからインストールします。
https://www.assetstore.unity3d.com/jp/#!/content/21027


ちなみに中身はというと、Androidの場合はjarファイルがSDK本体で、それを呼び出すラッパー用のファイルがいくつか付属してます。iOS版の本体は.frameworkファイルですね。

インポートを実行



SDK呼び出しコードの実装

実装方法については、ぶっちゃけどこに仕掛けられるので、やり方はいろいろあるかと思いますが、今回は画面起動時にSDK起動をして何らかのボタンクリックで広告を表示するパターンで実装します。

まずは適当なスクリプトを作成し、宣言の追加をします。

using UnityEngine.Advertisements; // Using the Unity Ads namespace.


Start()内でSDKのInitialize()を呼び出します。第一引数に、さきほどの管理画面で表示されていた「アプリID」を渡します。
第二引数はテストモードで起動するかどうかのフラグです。trueの場合、テスト広告が配信され、falseの場合は運用広告が表示されます。

    IEnumerator Start ()
    {
        // ここから
        #if !UNITY_ADS
        if (Advertisement.isSupported) { 
        Advertisement.Initialize(
"1190905"  , false);
        }
        #endif

    
       while (!Advertisement.isInitialized || !Advertisement.IsReady()) {
            yield return new WaitForSeconds(0.5f);
        }
        // ここまで
    }

※Initializeが正常に完了してから出ないと広告表示はできない点に注意。

ボタンのOnClick()イベント内で表示命令を入れます。

    public void OnClick() {
        Advertisement.Show();
    }

広告の表示テスト

以上で準備が完了したので、さっそくテストしてみます。
表示命令を入れたボタンを押して、広告が表示されれば成功です。
シミュレーターでテストした場合、次のような画面が表示されます。


スムーズに行けば30分くらいで導入できるので、これだけ手軽に広告を入れられるのは素晴らしいですね。

2016年10月3日月曜日

【Spine】2Dスプライト用の肘関節について

ゲーム用 2D アニメーション ソフトウェアであるSpineを導入したので、
使用するなかでこうした方がいいのではないか?
という内容をメモしていきます。

今回は2Dキャラにおける肘関節です。


上のようなキャラがいて肘を曲げる場合、どのようにパーツ分けすべきかですが、
自分は下のように分けるとよいのではないかと考えます。


つまり
■全体の作成ポイント
①元の絵は横に伸ばした状態で作成する。
(体に被らない、斜めだと線がギザギザになる)

■手のひら側の腕の作成ポイント
①根本は境界線無しで平らにする。

■肩側の腕の作成ポイント
①根本は境界線無しで丸くする。
②先端部分にも影を描く。
③先端は境界線有りで丸くする。
(その時下図のように腕の太さを直径とした円の輪郭に合わせる)

そして作成した画像を回したらどのようになるかがイカです。










まあ悪くないような気がします。

2016年5月31日火曜日

【Unity】現状

突然ですが、問題です。

Q:下の画像はなんの画像でしょう



正解は


「2016年5月31日にgoogle playでunityを検索した検索結果」です。


「Unity Remote 4」が一番上にくるのはまあ順当なのですが、
他がなんとも言えない状況です。

幾つかはすごく作りこんでいるものもあるのですが、そもそもゲームが全然ヒットしていない。。。

ユニティちゃんって人気ないのかな。。。
ユニティちゃんを使ったゲームをたくさん作って多くの人にユニティちゃんを知ってもらいたいです。
がんばりましょう!


当ブログはユニティちゃんを応援しています!


2015年3月26日木曜日

【unity4】5分で出来る廃墟を駆けるユニティちゃん

またまたみんながやりたい基本シリーズです。

①unityで新しいプロジェクトを作成し以下2つのアセットをインポートします。

1・Destroyed City FREE

 
2・"Unity-chan!" model



②インポートが完了したらDestroyed City FREEでインポートされたシーンファイルを開きます。

 Don't Saveを選択。

こんな感じで開けます。




③First Person Controllerを無効にします。

Destroyed City FREEのサンプルではFirst Person Controllerを使用して散策出来るようになっています。
First Person Controller:一人称視点、十字キーで移動とか出来るやつ

今回はユニティちゃんに動きまわって欲しいので無効にしておきます。削除でもいいですよ。



④MainCameraとunitychanをD&DでHierachyに配置します。


配置するとこんな感じ。


⑤unityちゃんの位置を変更。
このままだとunityちゃんが街からはなれたところにいるので位置を移動させます。


⑥実行してみましょう。
こんな感じになります。
操作方法などが画面に表示されていてわかりやすいですね。
十字キーなどで移動してみて廃墟を散策してみましょう。
表情も変更出来るようです。



以上となります。

ユニティちゃんにセットされているUnityChanLocomotionsには走ったりジャンプしたりが既にくみこまれているため、これだけで簡単なゲームが出来てしまいそうです。

基本的なことですが、まずは第一歩としてここから手をつける人が多いと思うのでまとめてみました。



2015年3月10日火曜日

【unity4】3rd Person Controllerをアンドロイド端末の仮想ジョイスティックで動かす

基本ではあるのですが、、誰もが最初にやりたいことだと思うのでメモ。


①プロジェクトを作成し、必要なアセットをインポートする。

unityのプロジェクトを作成します。
ちなみにunityのバージョンは4.6.2を使用しています。


プロジェクトを作成したらアセットを読み込みます。
今回は以下の2つを使用したいので
・3rd Person Controller
・Dual Joysticks

以下の2つのアセットをインポートします。
・Charactor Controller
・Standard Assets(Mobile)

メニューのAssets→import Package→該当のアセットを選択



Importを選択しインポート。


Charactor Controller、Standard Assets(Mobile)をそれぞれインポートし、
Project上にアセットがインポートされていることを確認します。



②Hierarchy上に必要なプレハブを配置

以下2つのプレハブをHierarchyに配置します。
・ 3rd Person Controller
・Dual Joysticks

ついでに
・Cubeなどで地面を作成
・3rd Person Controllerを地面にめり込まないように上に移動(下画像だとめり込んでますね)



ちなみにPC画面上で実行しても仮想ジョイスティックは動きません。
(unityRemoteを使ってAndroid上で実行するとジョイスティックは動かせます。)
(もちろんまだスクリプトの修正ができていないのでキャラクターは動きません)


④スクリプトの変更

Third Person ControllerにセットされているThird Person Controller(Script)を開きます。





以下の通りスクリプトを編集します。
93行目あたり以下を追加
var inputX;
var inputY;

145行目あたりを以下に変更
var v = Input.GetAxisRaw("Vertical")+inputY;
var h = Input.GetAxisRaw("Horizontal")+inputX;

197行目あたりを以下に変更
// Pick speed modifier
if (Input.GetKey (KeyCode.LeftShift) || Input.GetKey (KeyCode.RightShift) || inputY == 1 || inputY == -1)
{


Dual Joysticks内のLeftJoystickとRightJoystickオブジェクトには同じJoystickスクリプトが設定されています。
Joystickスクリプトをコピーして
LeftJoystickオブジェクトにはJoystick_L
RightJoystickオブジェクトにはJoystick_R
としてセットします。



Joystick_Lを以下の通り編集します。
20行目あたりに以下を変更
class Boundary_L

45行目あたりを以下に変更
private var guiBoundary : Boundary_L = Boundary_L();   // Boundary for joystick graphic

247行目あたりに以下を追加
var controller = GameObject.FindObjectOfType( ThirdPersonController ) as ThirdPersonController;
controller.inputX = position.x;

Joystick_Rを以下の通り編集します。
20行目あたりに以下を変更
class Boundary_R

45行目あたりを以下に変更
private var guiBoundary : Boundary_R = Boundary_R();   // Boundary for joystick graphic

247行目あたりに以下を追加
var controller = GameObject.FindObjectOfType( ThirdPersonController ) as ThirdPersonController;
controller.inputY = position.y;


バグかもしれませんが、なぜかjoystickスクリプトのPosition.Yが未操作だと「-7.629394e-08」となってしまうため、Inspector上でDead Zoneを0.1に設定します。




また3rd Person ControllerオブジェクトのThird Person Controllerスクリプトに
Inspectorから以下の通り設定します。

Idle Animation →idle
Walk Animation →walk
Run Animation →run
Jump Pose Animation →jump_pose




設定は以上となります。
これをAndroid上のunityRemoteを使って実行すると仮想ジョイスティックでキャラクターを操作することが出来ます。
左の上スティックで方向、右の上位スティックで移動速度を操作出来ます



次回は仮想タッチパッドを追加する予定です。