03 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.» 05

ハルシオンシステムの気ままBlog

株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

 

【Unity】uGUI Textをテキスト内容に合わせたサイズにしたいときとかね。 

こんにちは。
大坂です。

4月なのに乾燥している日が多く、まだインフルエンザにかかっている人が結構いるようです。
皆様も体調にはお気を付けください。

さてはて、今週もry

まぁタイトルの通り。
Textオブジェクトのサイズをテキストの内容に合わせたサイズにしたい…ことがあるかもしれませんね。
そんな時に使える奴です。

// 幅を合わせる
text.rectTransform.sizeDelta = new Vector2(text.preferredWidth, text.rectTransform.sizeDelta.y);
// 高さを合わせる
text.rectTransform.sizeDelta = new Vector2(text.rectTransform.sizeDelta.x, text.preferredHeight);
// 両方合わせる
text.rectTransform.sizeDelta = new Vector2(text.preferredWidth, text.preferredHeight);


textにはサイズを合わせたいTextオブジェクトを設定してあげてくださいね。

半端なく短いけどこれで終わりですよ。
ノシ
スポンサーサイト

Category: 開発日記(Unity)

tb 0 : cm 0   

【Unity】PlayerPrefの保存先変わってたんすね?(Windows) そして、今年もBitsummitいきますよ! 

こんにちは、坂内っす。

もう4月も終わりそうな今日この頃。
5月になるとBitsummitがあります。
http://bitsummit.org/2017/ja/

去年は某●ーヤマさんというアプリ開発者じゃないけど、アプリ開発者にもっとも近い方の運転で車で京都まで行ってきました。

さて、今年はというと、●ーヤマさんという方とまた車で京都に行きますYO!
20日だYO!

まぁBitsummitやTGSなどいくものの、人見知りなのでなかなかブースにお邪魔してゲームを遊ぶといったことをしません。
今年は5ブース以上回れるように頑張ってみたいと思います。

さて、Unityの話題です。

PlayerPrefってみなさん使ってますか?
あの、データを保存したりするやつです。

うちは開発にWindowsを使っているんですが、いつからか、PlayerPrefの保存先が変わっていました。
いつでしょうか?たぶんUnity5.6からかな?(細かいところまでUnityのアップデート内容見てないのがバレバレ)

今まで:HKEY_CURRENT_USER\SOFTWARE\カンパニー名\アプリ名
今:HKEY_CURRENT_USER\SOFTWARE\Unity\UnityEditor\カンパニー名\アプリ名

今まで触ってたデータを消してみようと思ったのに、消しても変わらず、実行時にも今までのレジストリに作られなくて焦りました。

保存場所変わってたんですね。

あれ?ってハマった方はお気を付けくださいませ。

それでは今日はこの辺で。あでゅ~ノシ

Category: 開発日記(Unity)

tb 0 : cm 0   

【Unity】Mathf.Repeatを使った話…。ネタがないなぁ…。 

こんにちは。
大坂です。

今日も今日とてネタはないので、短いです。

最近Mathf.Repeatなんてものがあるのを知って使ってみた。
https://docs.unity3d.com/jp/540/ScriptReference/Mathf.Repeat.html

0から指定したMaxの値の中で繰り返してくれるみたいですね。
Maxと同じ値を指定したときに0になって帰ってくるようです。

使ったのはこんな時。
GameObject[] objs = new GameObject[10];
int no = 5;
for(int i = 0; i < objs.Length; i++) {
// 5から順番に繰り返しを利用して4までを取得
int repNo = (int)(Mathf.Repeat(no, objs.Length));
objs[no] = Instantiate(prefab);
no++;
}

配列の途中からオブジェクトを生んで、配列が全部埋まるようにしたいときに使いました。
ログに出力してみたらこんな動きですね。

ちゃんと10の時に0になって帰ってきてますね。

何かと使える場面はありそうなので、何かに使えたらいいですね!

では今週もこれで!
また来週のノシ

Category: 開発日記(Unity)

tb 0 : cm 0   

【ハルシオンブログ】SGFいってきたよ?それと、TextMeshPro入れてみた。 

こにゃにゃちは。坂内です。

先週土曜日(15日)にSGFに行ってまいりました。
SGFとはなんぞや?

https://www.sgfes.net/

スマートフォン ゲーム フェスティバルということで、スマホのゲームの展示会みたいなものです。
第一回目ということで、土曜日は24ブースくらいの規模でした。

あんまりブースに立ち寄ってゲームを触るというのをしないので、ぱぱーってみると5分くらいで終わってしまったが、SOLOKUSのわけんさんとは初めてお会いするので挨拶してきましたよ。

なんか全体的にVRが多いイメージでしたね。

あ、そういえば楽天スーパーポイントのブースもありましたね。
ガチャ引いたけど5000円当たりませんでした。
とりあえず、なぜかここだけ写真撮ってきました。



運営の成さんと、将軍さんと挨拶もしたし、大体目的はコンプって感じでしたね。

そういえば、SGFって神保町だったんですが、6年くらい前に神保町に住んでたことあるので、6年ぶりに行きましたよ。
雰囲気は変わってなかったけど、お店はちらほらと変わってましたね!
羽付きたい焼きと、ちょくちょく行ってた飲み屋さん「大金星」は相変わらずありましたが。



さて、Unityのお話。

そういえば、TextMeshProが無料で使えるってことで、ちょっと触ってみた。
たしかに綺麗に文字が色々いじれるっぽいですね!

基本的な使い方はuGUIのTextと同じ。

using TMPro;

を入れれば、あとはuGUIのTextと同じくコード側から触れます。
●●●.text = "テキスト";
って感じでね。

今のところTMPro用のフォントを作ったりしていると、結構容量いい感じに膨らんできてしまうので、Assetではなく、デフォルトでUnityに入るのを待ちます。

これuGUIのTextの代わりにデフォルトで入ったらすごい使い勝手よくなりますよねー

ってことで、ろくな話ありませんがこれにてあでゅ~ノシ

Category: 開発日記(Unity)

tb 0 : cm 0   

【Unity】ゲームオブジェクトのアクティブ状態 

こんにちは。
大坂です。

今週は風邪をひいて死んでました。
まだ完全に治ってるわけでもないですけど。

あ、ポケガ2英語対応のiOS版も無事リリースできました。
まだポケガやったことない人も是非!
https://itunes.apple.com/jp/app/id993981745

さて今週もネタというネタはないんですが…。
こんな状態のゲームオブジェクトの設定の時のアクティブ状態の拾い方です。




親が非アクティブで子がアクティブの時ですね。
「GameObject.activeSelf」で取得してみる。


子はアクティブとして取得されますね。
Hierarchy上では非アクティブなので非アクティブで取得したい場合は、「GameObject.activeInHierarchy」を使うみたいです。
結果。


両方非表示として取得できますね。
まぁ何かの時に使えるかもしれませんね…!

では今週もこれにて。
また来週ノシ

Category: 開発日記(Unity)

tb 0 : cm 0   

【Unity】UniWebView2を使って、簡単にUnityのプロジェクトでWebを表示する方法。え?こんな簡単に出すことができるの? 

おこんにちは。
坂内っす。

お花見の時期ですね。
みなさん花見はしましたか?

ぶっちゃけ花見なんて、15年近くやってませんが。

さて今日はUnityでWebViewを開く方法です。
あ、これ探せばあっちこっちに同じような記事あると思うんですよ。
2番煎じでも、5番煎じでも知りません。
先週実際に触る機会あったので、記事にしちゃいます!

今回の環境はUnity5.6です。

パッと調べてみた感じだと、以下の2つの方法が導入簡単そうです。
●gree様の公開している「unity-webview」を使用
●Asset「UniWebView」を使用

今回は2番目の「UniWebView2」を使用してみました。
ちなみに2の方です。UniWebViewはUnity4系までのようで、5系の場合は2を使用しないといけないらしいです。
※ちなみにWebViewをUnity上で起動するにはMacのUnityでないといけないようです。
WindowsのUnityではエラーがでてWebViewが表示されないのであしからず。

今回やろうと思ってるのは、「uGUIのポップアップにWebViewを載せてみたい!」ってやつです。

こんな感じっす。
この水色の部分にHTML出して、閉じるボタンを押すとこのポップアップが消える的な感じ。

さて、まずはUniWebView2をインポートします。

まずは適当に、WebViewのついてるポップアップを開くボタンを用意。


ほんで、それっぽいポップアップを作成。


で、それっぽいポップアップに以下のコードを付けます。

【NewsManager】
using UnityEngine;

public class NewsManager : MonoBehaviour {
#if UNITY_IOS || UNITY_ANDROID || UNITY_WP8

private UniWebView _webView;

public int top = 450;
public int right = 550;
public int bottom = 450;
public int left = 400;

void Start() {
transform.SetParent(GameObject.Find("Canvas").transform,false);

_webView = gameObject.AddComponent();
//_webView.Load(Constant.NEWS_URL);
_webView.Load("http://google.com");

_webView.insets = new UniWebViewEdgeInsets(top,left,bottom,right);
_webView.OnLoadComplete += OnLoadComplete;
}

void OnLoadComplete(UniWebView webView,bool success,string errorMessage) {
if (success) {
webView.Show();
} else {
Debug.Log("Something wrong in webview loading: " + errorMessage);
}
}

public void OnClickClose() {
_webView.Hide();
Destroy(gameObject);
}
#endif
}


ポップアップの閉じるボタンには、OnClickCloseを付けておきます。

画面のサイズに合わせて、次のコードで表示する領域を指定しておきます。

_webView.insets = new UniWebViewEdgeInsets(top,left,bottom,right);

このポップアップをPrefabにして、先ほどのWebを開くボタンが押されると、ポップアップが開くようにします。

さぁ、これでどうなるかAndroidで実行してみませう。




ほら簡単!
Webページを出せました。
Webの位置がおかしかったら、topやrightなどの数値をいじって調整してね!

また、閉じるボタンを押すことでポップアップとWebViewを同時に消しています。

この方法で手軽にWebViewを導入できました。


以上、本日はUnityにおけるWebViewの表示の仕方でした!アディオスノシ

Category: 開発日記(Unity)

tb 0 : cm 0   

【ハルシオンブログ】木曜もネタがありませんorz ポケガ2英語対応のiOS版頑張ってます… 

こんにちは。
大坂です。

はい!木曜日もネタがありません!
先週からポケガ2英語対応のiOS版で嵌り続けて何も書くことが…orz

実機に入れるところまで行けたはずなのに、課金できなくてなんでだーって嵌って…
課金できないのはAppleの障害っぽかったんですが…orz
そしてほかのところをいろいろ直してたらまたXcodeでビルドが通らなくなり…今に至ってます…orz

iOS版を待っている方すみません。
もう少々お待ちくださいorz

と書いていながらやっていたビルドが、さっき通りました。
これでテストして大丈夫ならAppleに申請が出せますかね。

書くことがないので今日はこれだけ!ごめんなさい!
また来週?ノシ

Category: その他日記

tb 0 : cm 0   

【ハルシオンブログ】ほんまネタないわ。ってかポケガ2修正しないと! 

こんにちは。坂内です。

久しぶりに通勤電車に乗りました。
朝から昼まで会議なんてとても懐かしく思うも、眠かったです。(´Д⊂ヽ

今日は新入社員の初日なんですね。
それっぽい方がたくさんいましたよ。

いいですね。新入社員。女の子とかフレッシュで、いいです。えぇ。

そういえばポケガ2アップデートしたらバグがあるようです。
すいません orz

早めに修正します!

あ、そういえばUnity5.6が正式リリースされましたね!
https://blogs.unity3d.com/jp/2017/03/31/5-6-is-now-available-and-completes-the-unity-5-cycle/?_ga=1.178397667.698516319.1478832214

今後は5.6を使っていこうと思いますよ!

さて、ネタもないしポケガ2の修正もあるので、今日はこの辺で失礼します。

あでゅ~ノシ

Category: その他日記

tb 0 : cm 0