いつものBlenderで

BlenderとUnityなどを書いていくところ。

[Unity] グーグルプレイ連携で詰まった話

詰まったのでメモ

環境 Unity2017.1 android 4.1以上

詰まったところ

なぜかグーグルプレイにログイン出来なかった。
接続していますから音信不通でログイン失敗する。

結論、playstoreから落とせばログインできた。

なんか釈然としないが、うーん。

以下備忘録

セットアップ

https://github.com/playgameservices/play-games-plugin-for-unity

から pluginをunityに入れる (zipの中にunityパッケージがある

window>google play (ry > android > setup から設定をする

Directory to save (ry, Constants class name はデフォでおk

Web App Client ID も なしで

Resources Definitionにパラメータ貼り付けるわけだけど、これはdev consoleから持ってくる

DevConsole

前提として、devにアプリを登録&公開していること(α版でおk

ゲームサービスから新しいゲームを追加でゲームを追加し、公開にチェックが付くようによしなに設定する

リーダーボードを設定しておくとリーダーボードページにリソースを取得が出現する

リソース取得からxmlをコピる(これをさっきの Resources Definitionに貼り付ける

Script

ログイン

using GooglePlayGames;
using GooglePlayGames.BasicApi;
using UnityEngine.SocialPlatforms;
 
public class GPGSLogin : MonoBehaviour

{

    void Start ()

    { 

 
    PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder ().Build (); 

    PlayGamesPlatform.InitializeInstance (config);

    PlayGamesPlatform.Activate ();

    Social.localUser.Authenticate ((bool success) => {});                                                

    }
}

リーダーボードにスコアを送る

Social.ReportScore ((long)score, GPGSIds.leaderboard_hogehoge, null);

リーダーボード表示

Social.ShowLeaderboardUI();

unity1weekのゲームリリース [ローリングスタック]

 

 


f:id:elight:20170723173741g:plain


↑こんなんです。
ブロックに潰されないように積んでく、タップだけの超シンプルゲーム。

あんまし、unity1weekのころと変わってないです。
パフォチュンと広告周り、グーグルプレイ連携で結構時間取られました。
iosは気力があったら申請するかも。

ゲーム開発自体は好きなんですがいつもなんだかんだ完成しなかったり、リリースできなかったりしていたので、unity1weekには感謝感謝です^ ^

 

play.google.com

ローリングスタック | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう

Unity5.4bにしたらoculusDK2動かなくなった(解決済み

タイトルまま,最新のUnityのver5.4bに上げたらoculusDK2反応しない……
oculusSDK 0.8抜いて1.3入れたら動いた
5.4からsdk0.8はサポート外になったぽい

UnityでHPバー等を斜めに表現する方法

f:id:elight:20160322122303g:plain
よくあるこういうやつ

何も考えずに斜めにした画像バー用意してやっても期待したとおり動かない.
BaseMeshEffectクラスを拡張して描画させるとよい.
コードは以下.

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;

/// <summary>
/// 四角形を平行四辺形に変更します
/// </summary>
public class ChangeUIToParallelogram : BaseMeshEffect {

	/// <summary>左側か右側か向きを決めます</summary>
	public bool isLeft;

	/// <summary>水平線とのなす角</summary>
	[Range (0, 75)]
	public int angle = 30;

	public override void ModifyMesh (Mesh in_mesh)
	{
		if (!this.IsActive ()) return;

		List<UIVertex> list = new List<UIVertex> ();
		using (VertexHelper vertexHelper = new VertexHelper (in_mesh)) 
		{
			vertexHelper.GetUIVertexStream (list);
		}

		this.ModifyVertices (list);

		using (VertexHelper vertexHelper2 = new VertexHelper ()) 
		{
			vertexHelper2.AddUIVertexTriangleStream (list);
			vertexHelper2.FillMesh (in_mesh);
		}
			
	}

	public override void ModifyMesh(VertexHelper in_vh)
	{
		if (!this.IsActive())
			return;

		List<UIVertex> vertexList = new List<UIVertex>();
		in_vh.GetUIVertexStream(vertexList);

		ModifyVertices(vertexList);

		in_vh.Clear();
		in_vh.AddUIVertexTriangleStream(vertexList);
	}

	public void ModifyVertices (List<UIVertex> in_vList) 
	{
		if (this.IsActive() == false || in_vList == null || in_vList.Count == 0 ) return;

		Vector3 vec = in_vList[1].position - in_vList[0].position;
		float h = vec.y;
		float fac = h * Mathf.Tan (Mathf.Deg2Rad * this.angle);
		float left = (this.isLeft)? fac : 0f;
		float right = (this.isLeft)? 0f : fac;

		List<Vector3> v = new List<Vector3> ();
		v.Add (new Vector3 (left,0f,0f));
		v.Add (new Vector3 (right,0f,0f));
		v.Add (new Vector3 (right,0f,0f));
		v.Add (new Vector3 (right,0f,0f));
		v.Add (new Vector3 (left,0f,0f));
		v.Add (new Vector3 (left,0f,0f));

		for (int i=0; i<in_vList.Count; i++) {
			UIVertex tmpV = in_vList[i];
			tmpV.position += v[i];
			in_vList[i] = tmpV;
		}
	}

}

このスクリプトをuGUIのImageオブジェクトに適用させるといいかんじに斜めバーが作れる

unityのversionは5.2.2f

わりとイケてる会社で開発リリースしたゲームがDL数10ちょっとだった話

去年10月から3月までインターンの学生メンバ主導でとある会社さんとゲームアプリ開発していました.

といっても個人名義での実績のないアカウント+広告等の宣伝なしでリリースしたところ,DLがほとんど身内で済んでしまったという.

色々なんだろうね,僕としては仕様の範囲内外でやれることはやったが,もっと根幹のほうでやれることはあったかなと.

作ったゲームは3d脳トレ?みたいなアクションゲームでメインのプログラムを担当してました.

app先のリンク

play.google.com

最近思うこと

何事にも結果は
結果 = 実力 * 運 * 打席数 みたいなところあると思ってる.
例えば,50%でヒット作を出せる超人がいたとしても50%なら8回連続滑るなんてことは普通に有り得る.それでも,過去に成功した経験,立脚点があるならそれを糧にして自分を信じられると思う.しかし,今まで成功してきていない人が特定分野で何回も失敗しまくると,実力あるいは才能があったとしても自分には向いていない,才能がないと思って止めてしまう.

失敗はたまたまなのに,あとからこじつけてダメなところを探してそれを理由に止めてしまう.向いているのか,才能があるのか,実力があるのかというのはある程度の数をこなさないと見えてこない.

過去の体験を引きずりすぎだと思うわけですよ.超人がへっぽこに負けてしまうこともあり得るようなことでたった数回の思考に一喜一憂しているなーと.


友人が何回も失敗してから成功していくの見ていくと自分ちっちゃいなーてと思って.

2期のハルヒとか

ちょい前に作ったハルヒ

Freestyleでの描画色をマテリアル色よりちょい暗めにして乗算するといい感じになりました.

近々,ちゃんとした記録を残したいですね.

f:id:elight:20150726191949p:plain

f:id:elight:20150726191954p:plain

f:id:elight:20150726191939p:plain

 

ボーンはこんな感じ.顔潰れちゃってるけど正面からのレンダリングではわからないようになってる.

表情をボーン使って細かく調整するため,かなーりボーン入れてます.

これ,unity日和ていうBlenderとUnityとの連携について書かれた素晴らしい本(たぶん)があるんですが,それちらっと立ち読みでパラパラ見た時,けっこう顔にボーン入れまくってたので真似てみました.

ただ,これ少ないボーンよりは細かく調整できるんですが作業効率性は皆無ですね.