2022年7月21日木曜日

(覚書)様々な画面サイズのスマホ全てに、ゲーム画面を対応させる

以前はスマホの画面も、16;9 のハイビジョン比率がほとんどでしたが、
最近は、様々な画面サイズの機種が登場しています。

16:9 を想定してビルドしたアプリは、それ以外の画面比率の
機種では、ゲームフィールドの縦横がはみ出たり、足りなかっ
たり、UI のレイアウトが崩れたり。自ずと不具合が出てしまいます。
それに対応する Tips です。

Unityの画面のアスペクト比と解像度を自動変換 全スマホ・複数解像度に対応させる

https://3dunity.org/game-create-lesson/clicker-game/mobile-adjustment/

説明を読み、掲載されているスクリプトを適用すると、様々な
スクリーンサイズ(アスペクト比)内にゲーム画面、UI をエディタ
での想定通りに表示してくれます。

2022年7月19日火曜日

(覚書) Android 12 端末に Unity で Android ビルドしたアプリをインストールする。

 

Android 12 端末に Unity で Android ビルドしたアプリがインストールできない問題に対する対処

https://xrdnk.hateblo.jp/entry/2021/11/05/115104

AndroidManifest.xml
を作成し、上記リンク記事のようにするだけで
対応出来ました。

<activity android:name="com.unity3d.player.UnityPlayerActivity"
android:theme="@style/UnityThemeSelector"
android:exported="true">
---

android:exported="true"

exported を 明示的に記述することが必要ということらしい。

---

初めて AndroidManifest.xml を作成する場合は、上記記事内
のテキストのコピペで良いよう。



2022年4月2日土曜日

(作成アクション)Create uuid

重複することが限りなく少ない一意な識別子
uuid を生成するアクションです。

ユーザー、端末の識別等に使用できます。

Create_UUID.cs
ファイルを

プロジェクト内 Assetsフォルダの中の
\Assets\PlayMaker_Custom_Actions\System 等、任意の場所において下さい
(unity2019.3.3f1 での動作を確認。)

 

アクションブラウザ内の [System] カテゴリーに表示されます。
-----


ステートに並べ開始すると、 id が作成され、指定した String 変数に格納されます。

id を PlayerPrefs にセーブする場合は、続けて標準アクションの
[
PlayerPrefs Set String ] を使うといいでしょう。
-------


インスペクタで、作成された id を表示しているところです。
詳しくは同封のReadme をお読み下さい。
不具合などは、コメント等にお願いします。

2022年3月25日金曜日

(アクション配布)WWWPOST

HTTP通信でデータを送受信するアクションを配布します。
以前はエコシステムで見つかったものですが、今は見当たらないようです。
WWWPOST のみの予定でしたが、他の3つも同封することにしました。

WWWPOST
WWWObjectRelative
WWWEscapeUrl
WWWPOSTMobile

WWWPOST を使うと、web上のCGI等にデータを送受信できます。
図の例では、https://anan.sakura.ne.jp/gamedata.cgi に

https://anan.sakura.ne.jp/gamedata.cgi?name=しののめ&score=5100 
といった形でデータを渡します。

Perl のスクリプトでは
-----
#!/usr/local/bin/perl

use CGI qw(:standard);
use Jcode;

## 受信データを $name $score へ代入。

$name = param("name");
$score   = param("score");
-----

のような形で受け取ることが出来ます。
(いずれ、別エントリで、もう少し詳しく書くことも…)

パラメータには、Texture や Audio もあるので様々な使い方があるの
かもしれません。改変してみるのも面白いのかも。
-----
WWWPOST
WWWObjectRelative

に関しては "MovieTexture" オブジェクトが unityでサポートされなくなった
ため、元のままでは最近のunityで、エラーになる状態でした。

配布のスクリプトは、 MovieTexture に関する部分を // つぶしておきました。
unity2019 では動作します。

WWWPOST.zip

詳しくは同封のReadme をお読み下さい。
不具合などは、コメント等にお願いします。

2022年3月11日金曜日

(作成アクション)Set Sprite Value

スプライト変数に、スプライト画像を代入するアクションが、エコシステムにも
無いようなので、作成してみました。


上の図の例では、プロジェクトの中の戦闘機の画像を選択し、設定した
スプライト変数  "spr 1" に代入しています。


-------

ノードはこのようです。

-----

スプライト変数は前もって作成しておきます。

-----

実行し、次のステートで、"Set Sprite" アクションを使い、
"spr 1" に代入された画像を自身に割り当てています。

( "Set Sprite" アクションはエコシステム [ Ecosystem ] にあるはずで
  すが、見当たらないこともあるようです。"Swap Sprite"でも代用で
  きます。欲しい方には再配布します。多分問題はないと思うので。)

Set Sprite で直接、画像を割り当てることが出来ますが、
意外と役立つ場面もあるかもしれません。


Set Sprite Value.zip

解凍して出来たフォルダ内の、SetSpriteValue.cs を
プロジェクト内 Assetsフォルダの中の
\Assets\PlayMaker_Custom_Actions\Sprite
等に入れてください。

PlayMakerのアクションブラウザのカテゴリ sprite 内に
SetSpriteValue アクションが追加されます。

不具合などは、コメント等にお願いします。