色々詰まった本「Unity5 3Dゲーム開発講座」

Unityの授業をしている生徒の

使っているテキストが

もう終わるので

次にこの

「Unity5 3Dゲーム開発講座」

を授業で

使いたいと思っているのですが

なんせこの本の

Unityバージョンは

Unity5。

色々とデータが古く、

使えるようにするには

工夫が必要です。

まずは

「ユニティちゃん、ピンク問題!」

ユニティちゃんパッケージ

ダウンロードサイト

http://unity-chan.com

から

モデルデータをインポートするのは

いいのですが、

ユニティちゃんが真っピンクに

なっています。

その時は

①Window→Package Managerを

クリックし、

②+ボタンをクリックし、

Add package from git URLを

クリックし

と入力して

Addをクリックする。

すると

しっかりユニティちゃんの

トゥーンシェーダーが

貼り付いています。


CHAPTER04では

ドットイートゲームを作ります。

ユニティちゃんが

敵のAIから逃げながら

黄色いドットを食べて行く

ゲームです。


CHAPTER05ではユニティちゃんと

じゃんけんをする

コミュニケーションゲームを

作ります。


CHAPTER06では迷路脱出ゲームと

的当てゲームを作ります。


CHAPTER07では

二人で対戦するゲームと

AIと対戦するゲームを作ります。

CHAPTER08は

2Dゲームを作る

はずでしたが

これは

Unity4.6.0で作っていて

もうUnity4シリーズは

ないので

他のバージョンで

作るしかありません。

でもこれも

「ユニティちゃんピンク問題」

と同じようになるので

2Dは

Window→Package Managerを

クリックした後

Unity Registryを

表示して

Features内の

2Dを選択します。

すると右下に

7 Packages Included

が出てくるので

これをインストールすれば

ユニティちゃん2Dが

表示されるはず

だったのですが

どのバージョンも

表示されません。

よって、

2Dゲームは

環境が作れるようになってから

作りたいと思います。


APPENDIX01は

Live2Dでのモデル作りが

載っています。

ただ、Live2Dで作成したものを

Unity上で動かすには

Cubism SDKのページ

http://www.live2d.com/products/cubism_sdk

から

Unity用のSDKを

ダウンロードしなければ

なりません。

Live2DのSDKのサイトから

ダウンロードしたパッケージを

↓ Unityにインポートしています。

そしてLive2Dで作ったモデルで

VTube Studioで

Vtuberのモデルが作れます。


APPENDIX02では

フォートナイトで有名な

EPIC社の

Unreal Engineに

Unity のデータを

インポートすれば

Unreal Engineで

Unityを動かすことが

できるということが

載っています。

まだ

アニメーションで

動かすところまでは

やっていないので

Unreal Engineでも

ユニティちゃんが

動かせるように

してみたいです。

とにかく

この本は

あらゆる

媒体で

Unityが使えることを

示唆していて

この本が発売されたのが

2015年2月17日で

10年前です。

10年前から

もうすでに

これだけの

技術はあったなんて

また、全然色あせてなくて

かえって、

今でも

十分に教材になってるんだから

すごいです。

MacBook Pro 16インチM3 Proモデルを買いました

MacBook Pro 16インチ

M3 Proモデルを

2024年4月に

買いました。

Webクリエーター能力認定試験を

受けたいという生徒が

Macでしたい

と言ったのが

きっかけでした。

結局

私たちの

住んでいる県では

Macで

Webクリエーター能力認定試験を

行っていなかったので

Windowsで

授業を

行っているのですが

また別の生徒で

今年から

高校に

進学した生徒が

学校側から

Macを購入するように

言われたようで

Macを購入したので

もしかしたら

Macで授業する必要が

でてくるかもしれない

と思って

購入しました。

CPU M3 Pro

メモリ 18GB

ストレージ SSD 512GB

11コアCPU 14コアGPU

USBポートが付いていない為

4K HDMI

USB-Aが2つ

SD、MicroSDに

変換できる

アダプターも

一緒に購入して

全部で

464,817円しました。

しばらく

日の目を

見ることは

なかったのですが

その

高校に入学した生徒は

私の教室での授業は

CPUが

Ryzen 5の

Windowsで

行っているのですが

最初にパソコンを

設定する時に

ユーザー名を

カタカナで作った為に

Unityで

ゲームを作る

授業をしているのですが

Android Studioを

インストールすることが

できなくて

ユーザー名を

ローマ字表記にした

別のローカルアカウントを

作って

そのローカルアカウントで

ログインした場所に

カタカナの

ユーザー名で

ログインした場所に

作っていた

授業の内容の

ファイル一式を

ゴソッと

丸ごと

インストールし直したので

色々

負荷がかかったのか

オンライン授業で

使っている

Skypeで

画面共有ができなくなって

そしたら

Macがあるから

Macで

授業しようと

いうことになって

MacBook Pro 16インチ

M3 Proモデルに

授業でする内容を

準備している

所です。

Unityで

2Dゲームを作る

授業をしているので

そのままUSBに

見本で作った

完成品を入れて

MacBook Pro 16インチ

M3 Proモデルに

移せないかと

やってみたのですが

MacとWindowsでは

様式が違うので

ファイルを移せても

Unity for Macでは

開くことが

できず、

作りなおしています。

Macはやはり

使いづらいです。

まずUnityは

Visual Studioで

プログラミング言語C#

を使って

プログラミングしていくのですが

Unity for Macを

インストールする時に

Visual Studioが一緒に

インストールされないです。

しかたないので

別に

Visual Studio for Macを

インストールして

UnityのEdit>Preferences>

External Toolsで

設定しようとしたら

Editの中に

Preferencesが見つからず、

Unity for Macは

Unity>Settings>

Preferences>

External Tools

にありました。

おまけに

Unityで作った

プロジェクトが

Windowsの場合は

ドキュメントに

保存されるけど

Macの場合は

デフォルトでは

起動ディスクが

非表示になっている為

見つけることができず、

プロジェクトを

開くときは

まず

起動ディスクを

表示する作業から

しなければならないという

面倒くささがあります。

さらに

Visual Studio for Macは

2024年8月31日に終了で

Visual Studio Codeを

使いなさいと

Microsoftは勧めているので

またやり方を

勉強しないといけないです。

それと

Unity for Macで

ショートカットキー

undoキーが

使えないです。

Unityは

やり直しの←キーのようなものは

ついていないので

ショートカットキーを

使うのだけれど

Windowsの場合は

Ctrl + Zで

やり直しできるけど

Unity for Macは

⌘ + Zでも

やり直しできないです。

できるのもありますが

できない時が多いです。

保存しないで閉じたら

元にもどるかと思って

保存しないで閉じて

また開いたら

しっかり保存されている・・・

また

1から作りなおしました。

それ位

Macは使いづらいです。

後、Scriptを

ゲームオブジェクトに

アタッチする時

Windowsの場合は

drag and dropが

簡単にできますが

Macはコツが要ります。

矢印が

こんな風に

回り込んでいないと

アタッチ出来ません。


ところで

M3モデルとは何か

ということを

おさらいしておきたいと

思います。

2020年の製品から

Appleは

独自開発のCPU

「Appleシリコン」を

採用しています。

以前のチップより

処理速度が格段に速く

極めて省電力な

優れたチップです。

「M1」「M2」「M3」の

3シリーズが存在し、

M3が現在もっとも

速いチップとなっています。

Androidアプリを作るのに

必要なのは

PCはWindows

スマホはAndroid

開発環境は

Android Studioですが、

iPhoneアプリを作るのに

必要なのは

PCはMac

スマホはiPhoneまたは

iPad

開発環境はXcode

です。

CPUがMシリーズになってから

Xcodeを使ったことがないので

Unity for Macの

2Dゲームを作ったら

試してみたいと

思ってましたが、

まず持っている

iPad Pro 9.7インチを

最新バージョンに

アップデートしました。

iPad OS 16.7.8になりました。

iPad Pro 9.7インチは

iPad OS 16までしか

あげられなくて

iOS17には

バージョンアップ

できないそうです。

mac OS Sonomaだと

開発環境Xcodeは

Xcode15しか

使えず、

iOS17じゃないと

Xcode15が使えないので

新しいiPadを買わないと

iPadアプリは作れません。


UnityをGradleプロジェクトにエクスポートしてAndroidStudioでビルドできました

「Gradle地獄」

Unity2021.2から

Androidアプリを作ろうと

apkファイルに

変換しようとしたら

突如現れた

「Gradle build failed」

Unity内では

いくらやっても

いっこうに

エラーが改善されず、

「エクスポートして

Android Studioに

インポートして

ビルドすると

できるらしい」

ということを聞きつけて

「その方法でやってみます!」

と、

「UnityでAndroidアプリを作る時「Gradle build failed」となる

というブログに書きました。

その方法で

やってみるも

やり方がわからず

七転八倒していたのが

やっとできました!

➀UnityでGradleプロジェクトを

エクスポートする。

②Android Studioを起動し、

…3点リーダーをクリックして

Import Projectを

クリックする。

Openでもいいです。

③File→Project Structure→Projectで

Android Gradle Plugin Versionを

4.01に

Gradle Versionを6.11にする。

④File→Project Structure→

Modulesで

SDK、NDK、JDKを

設定する。

まず

File→Project Structure→

Modules→lancherで

SDKのAPIを設定する。

「Compile Sdk Version 29

Build Tools Version 28.03」

(図では

「Compile Sdk Version 34

Build Tools Version 30.02」

になってるが

その時に合った

ビルドツールでいい。)

JDKが1.8だったことに

安心していたら

エラーメッセージに

JDKがJAVA_HOMEの

バージョンと違うと

出ていたので

調べてみたら

SDK Locationの

Gradle JDKが

このPCにインストールしてある

一番新しいJDK17に

なっていたので

JAVA_HOMEの

JDK1.8に直す。

それでも

1番下に

「Installed Build Tools 

revision 34.0.0 comupted.

Remove and install again

using the SDK Manager.」

と出て

エラーメッセージに

NDKが違うと出たので

File→Project Structure→SDK Location→Android SDK locationを

C:\Users\AppData\Local\Android\sdkにして

OKをクリックすると

ちゃんと

NDKも出るようになった。

⑤Create Device→Phone(Pixcel6)→Recommended(API)を選択する。

インストールできなかったら

Tools→SDK Managerで

APIをインストールする。

(画像では

API34をインストールしているが

API33でいい。)

⑥Build→Build Bundle(s)→

Build APK(s)で

apkファイルを作る。

⑦USBケーブルで

パソコンとAndroidを

つなぐ。

⑧設定→端末情報→

ビルド番号を

連続してタップし

開発向けオプションを

表示する。

USBデバッグをオンにする。

⑨Runをクリックする。

⑩スマホに無事移せました。

1番手こずったのは

Android Studioに

インポート

したのはいいけど

apkファイルにする方法が

わからなくて

調べても

「ビルドする」

しか書いてなくて

2023年9月6日に

「Gradle build failed」が

出てから

1か月、

ずっとこれにかかりっきりで

もう

心が折れて

投げ出しかけていたところ

③のapkファイルに

変換するやり方を

書いてある人の

ブログを見つけ

やっと、

エラーを直して

完成させました。

—————————

でも色んな

Unityバージョンで

調べましたが

今回分かったことは

➀「Unity自身で

Android用の

apkファイルを作るか」

②「Unityファイルをエクスポートして

Android Studioにインポートして

Android用のapkファイルを作るか」

Unityバージョンと

Gradleバージョンによって

やり方が変わるということ。

Unity2021.1では

Android Studioにエクスポートしたら

エラーが出てapkファイルが

作れないけど

Unityではapkファイルが作れる。

逆にUnity2021.3では

Unityでは

「Gradle build failed」

と出るけど

Android Studioでは

apkファイルが作れる。

「Unity

Androidアプリ

apkビルド問題」

解決しました。

UnityでAndroidアプリを作る時「Gradle build failed」となる

ゲームエンジンUnityで

Androidアプリを作って、

それをAndroid端末に

USBケーブルでつないで

移すには、

apkファイルにビルド(変換)

しなければなりません。

その為には

Android Studioという

アプリが必要で

Androidアプリ開発に必要な

SDK

はデフォルトで

C:¥User¥AppData¥Local

¥Android¥Sdk

に格納されます。

ところが

Unity2021.1までは

Android Studioの

SDK

の他に

Unityをインストールする時に

Unityと同時にインストールされる

Android SDKをモジュールとして

使ってもできました。

格納先が

C:¥Program Files¥Unity¥Hub

¥Editor¥2021.1f1

¥Editor¥Data¥PlaybackEngines

¥AndroidPlayer¥SDK

になります。

コマンドプロンプトで

Androidのプラットフォームを

インストールするには

C:¥Program Files¥Unity¥Hub

¥Editor¥2021.1f1

¥Editor¥Data¥PlaybackEngines

¥AndroidPlayer¥SDK

¥tools¥bin

¥sdkmanager.bat “platforms;

android-31″

とすれば

APIをインストールできます。

ところが

それをしても

2021.2からは

Exception in thread “main”java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema

となります。

同じような症状の人は

他にもいるようで

Android Studioの中の

JavaをPATHに設定するといいと

書いてます

なんかうまくいきません。

今までは

Android Studioで

自分のプラットフォームの

ツールをインストールして

Player Settingに

記載すれば簡単だったのに

なんでこんな

手動で

プラットフォームを

インストールしたり

JDKの場所まで

変更になったりしたのか

わけわからない。

Unity2021.2

(2021年10月25日)からは

「Gradle build failed」

というのが出てきます。

まず

apkファイルに

ビルドしようとすると

この画面が出てきます。

Android Studioで

sdkのAPIバージョンを

設定したのにもかかわらず

「Update Android SDK」

しなさいと

警告が出ます。

今までは

Target API Levelは

「Automatic (highest installed)」

でよかったのだけれど

デフォルトだと

API28までしか

設定できなくなったみたいで

API29以上は

デフォルトでは

できなくなったので

Android Studioではなく

Unityをインストールする時

一緒にインストールされる

Androidモジュールの

sdkmanager.batで

コマンドで

インストールしなければ

ならなくなりました。

先ほど説明した通り

C:\Program Files\Unity\Hub\Editor\2021.2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\bin>sdkmanager.bat “platforms;android-31”

でAPIがインストールされる

はずだったんです。

でもこれで設定しても

「Gradle build failed」となります。

Unityのバージョンによって

Gradleのバージョンと

Gradle プラグインのバージョンを

変えなければならないみたいなので

Edit > Preferences >

External Tools >

Gradleの欄に

C:\gradle-6.1.1

とし、

File > Build Setteings >

Player Settings >

Publishing Settings >

Build > Custom Base Gradle Template

にチェックを入れ

Assets > Plugins > Android > basePlojectTemplate.gradle

のclasspathを4.0.1に変える。

でもやっぱり

「Gradle build failed」となります。

Unity2021.1までは

Target API Levelは

「Automatic (highest installed)」で

できます。

でも

Unity2021.2からは

どうやっても

「Gradle build failed」が

出ます。

Gradleプロジェクトにして

エクスポートして

Android Studioにインポートして

ビルドすればいいと

色んなサイトに

載っているので

次回は

これを試してみたいと

思います。