UnityでWebGLにビルドする方法

Unityでゲームを作成したら、公開したいですね。
Unityでは、色々な方法でユーザーへ提供することが可能です。
その中でも、Webでの公開は誰でもアクセス可能なので広く多くの人に使ってもらう選択肢になります。

UnityでWebGLにビルドする設定

File > Build settings > PlatformでWebGLを選択

最初に、PlatformをPCで設定している人が大半だと思います。
webGLを選択した際に、Switch Platformのボタンがあるのでそこを選択すると上記の状態になります。

そこから、Buildか Build And Runをしてください。
どちらでもいいですが、自分はBuildしてファイルにしてから自分で実行しています。

Build:
Buildした状態のファイルを作るのみ ※その後に、実行ファイルを開く

Build And Run ;
Buildして、完了と同時にファイルを自動的に実行

SEOツールの決定版Ahrefsのトライアル版を使ってみたら神対応だった。

SEOで、競合の情報を収集していくことは非常に重要です。
競合情報の収集には、主に2つの目的が存在します。
1:競合サイトに流入している検索キーワードを理解
2:競合サイトの被リンクを理解

これらを理解することで、自社が次にとるべきアクションが分かると思います。

で、今回はAhrefsのサイトの凄さではなくて、カスタマーサービスの凄さを紹介します。

Ahrefsのサイトの凄さではなくて、カスタマーサービスの凄さ

トライアル版を使おうと思いまして、7daysの間、7ドルで利用することが可能です。で、この登録の際に、カード決済をした後に、待て後暮らせど招待メールが届かない。迷惑メールを見ても、届いていない。

これは、もしやメールアドレスの登録でミスってしまったか…
と、しかも英語圏のサービスなので日本対応で応答してくれるところがない…
カード決済はしたが、アカウントに入ることは出来ないという最悪な事態でした。

Ahrefsのサイト内に、オンラインチャットで問い合わせが出来る場所があったので、そちらへ連絡…
すると、5秒後にはレスポンスが帰ってきて、メールアドレスを伝えたところ、メールアドレスのスペルミスであることを指摘してくれ、直ぐに変更対応をしてくれました。

オンラインチャットとは、迅速な対応に、カスタマーサービスの質の高さを痛感させられました。

iPhoneが充電出来なくって修理に出す前に確認すること

iPhoneは使っていると、何かと不具合が増えてくることが多いと思います。
今回は、充電の接触が悪くなる問題について、修理に出す前に確認すべきことを書いていきます。

この充電の接続部分をドットコネクターと言います。
このドットコネクターの修理は、機種にもよりますが相場7000円以上はしてきます。

充電ができなくなると何も出来ないので修理に出す人も多いかと思います。
ただ、その前に確認して欲しいことは、ホコリがドットコネクター内部に詰まっていないか。ということです。

充電に差し込む部分が、日常生活のホコリが入り込んで、充電接続が出来ていないだけということが比較的多くあるようです。(自分もそうでした。)
爪楊枝などの先の細いもので、ドットコネクター内部のホコリを取ってあげると、充電器との接触が解消されました。
※ドットコネクター内部は繊細な部分なので、くれぐれも故障させないように。
 心配な方は、お店で相談してみるといいかもしれないですね。

C#で、nullか空白のInputを判別する方法

String.IsNullOrEmpty メソッドを使うと便利です。

https://docs.microsoft.com/ja-jp/dotnet/api/system.string.isnullorempty?view=netcore-3.1

if (string.IsNullOrEmpty(roomName))     
{         
roomName = "Room" + Random.Range(100, 1000);     
}

String.IsNullOrEmpty はbool値を返します。
null か空白の場合には、trueを返すので、対処内容を記載しましょう。

windowsで、Macのフォント[ Helvetica ]を使う

PCの違いによって、フォントの有無があるのは面倒なときがありますね。
Macで[ Helvetica ]をよく使います。

どうやら、windowsでは使うことができないらしく。
これに代替する近しいフォントを探していました。

Adobe Fonts で提供される Neue Haas Grotesk が近しいのでは、ということです。

UnityのBlendTree機能が半端ない件

Unityで、Animationを操作する際には、
Animation ClipをAnimation Contorollerに載せて切り替えることで操作していると思います。

ただ、これだと、Animationが1つ1つ切り替える仕様になっており
細かく見ていくと、Animationの切れ目がぶつ切りになってしまう状態です。

そこで、活躍するのが Blend Tree です。
Blend Tree は、個別のAnimation Clipを滑らかに変化させていくAnimation操作が実現可能です。

■Blend Treeはどんなときに使うのか

一般的に使われるのは、Playerの移動Animationなどが分かりやすいかと思います。
例えば、左側に歩いて → 左前方 → 前方 と移動が変化していく際に
完全にAnimationがぶつキレるのではなくて、緩やかにAnimation Clipを入れ替えてくれるのです。

■Blend Treeの使いかた

Unityのドキュメントを見るのが一番わかりやすいと思いますm(__)m
今後、どこかでまとめたいと思います。

https://docs.unity3d.com/ja/2018.4/Manual/class-BlendTree.html

【Unity】Animationを設定すると空中に浮く問題を解決する

Unityでよく使われる機能にAnimationがあります。
タイトルに記載したように、ObjectにAnimationを設定した際に空中に浮いた状態になってしまったので、そちらを解決していきます。

まず、どういった状況なのかをもう少し説明します。

■Animationなしの状態


■Animationありの状態

なぜ、こういった問題が起きたかというと

アニメーションの位置はAnimation Clipに設定されている値が優先されて表示されるという特性があるからです。

これが凄く、抜け漏れがちな優先順位です。
今回は扱いませんが、Scriptで設定した内容よりもAnimation Clipが優先されてしまいます。

で、Animation Clipが宙に浮いている足の部分に
親gameobjectの位置を設定しているのでこういった状態になっております。

解決方法は、親gameobjectの位置を床面に接する位置に配置してあげることで解決しました。

Unityのscriptのアイコンが歯車になった件

Unityでscriptを作成したら、いつもならC#のアイコンなのに、急に歯車になりました。
なにか、設定を変更してしまったのかなと思い調べてみると、同じようなシチュエーションになっている人がいるようです。

本当かどうか分からないんですが、
Scriptの名称を「GameManager」にすると歯車のアイコンになっているぽいです。

Unityでstringからintにキャストする際に、intに変換できる文字列なのかを判定する

C#に便利なメソッドがあるので、そちらを使っていきます。

TryParse メソッドです。

https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/strings/how-to-determine-whether-a-string-represents-a-numeric-value

int maxNum = new int();     
public InputField  maxNumberTextField ; // inspectorで紐づけ

if (int.TryParse(maxNumberTextField.text, out maxNum ))
{         Debug.Log(maxPlayerNum);  } 
else
{         Debug.Log("Invalid Number");  }

様々なデータ型に活用できるようです。便利です。

簡単に解説すると
TryParse 自体はbool を返します。
正しく変換できているとtrue, 間違っているとfalseを返します。

正しく変換できた値は、outに格納した変数に割り当てられてます。

UnityのCanvas Textで文字をサイズ拡大していくと見えなくなる問題を解決する

非常に単純です。
Textの設定をinspectorで変更してあげることで出来ます。

・Horizontal Overflow
・Vertical Overflow

これら両方を、Overflowに設定してあげることでサイズ拡大に伴う文字が見えなくなる問題を解決できます。