もさぷい

ゲーム、3D関連技術ついて

のそのそアニマル - プライバシーポリシー(Privacy Policy)

概要

・Unity Technologies社の提供する広告配信サービス「Unity Ads」および 同社より提供されている広告モジュールを利用しております。
・同モジュールは配信広告選定のため、 端末にインストールされたアプリの情報を送信します。
 この情報は Unity Technologies社のプライバシーポリシー に従い、取り扱われます。

unity3d.com

パーミッションと目的

ACCESS_NETWORK_STATE
広告配信、ネットワーク対戦のためのネットワークの状態の取得に必要となります。

・INTERNET
広告配信、ネットワーク対戦のためのインターネット通信に必要となります。

ACCESS_WIFI_STATE
WIFI利用有無を判別するために必要となります。本アプリは、WIFI利用時だけネットワーク対戦を行えるようにしております。

・WRITE_EXTERNAL_STORAGE
広告のデータをプリキャッシュするために必要となります。
セーブデータの保存のために必要となります。

Direct3D12に触れてみて

f:id:kumaiga:20180820073923p:plain

昨今はUnity等で手軽に3Dを扱えるので、Direct3D10からはあまり手を出していなかったのですが、今回時間があったのでDirect3D12に触れてみました。上記の画像は今回触れたDirect3D12で描画したPMXモデルです。

Direct3D12はDirect3D9からだいぶ変わってますね・・・

Direct3D9では標準で用意されていた画像ファイル読込メソッド等の便利なメソッドがなくなり、エフェクトファイル(hlslファイル)も少し書き方が変わっていました。

必要なものは自分で実装しろという意思を感じます。(DirectX9時代のほうが手厚く、とっつきやすかったのに…)

始めるにあたって

 いろいろなサイトを参照しましたが、マイクロソフト公式ガイド、公式サンプルで概要を把握して、マイクロソフトが提供しているライブラリDirectXTKやDirectXTexを組み合わせて利用するのが一番良いと思いました。正直、メソッドの使い方等はリファレンスを呼んでも良く分からないことが多かったので公式であるDirectXTKのチュートリアルとソースを参考に理解したほうが良いですね。また、DirectXTKやDirectXTexは便利なメソッドを提供してくれているのでこれらを利用したほうがプログラミングが幾分か楽になりますね。

 

以下参考サイトは英語ですが、Google翻訳すれば問題なく読めます。
Direct3D 12プログラミングガイド』

docs.microsoft.com

Direct3D 12環境構築について』※環境構築方法とDirectXTK、DirectXTex等の紹介

msdn.microsoft.com

『公式サンプル』※簡単なサンプルでプログラムの流れを把握すると良い

github.com

 

 『DirectXTK』※チュートリアルが画像付きでわかりやすい

github.com

「3D Game Kit」のAndroidビルド

前回の記事でキャラクターの差し替えを行った「3D Game Kit」ですが、「Android端末で動かせるのかな?」と思い、試しにチュートリアルで作成したシーンをビルドして検証しました。

 

検証端末:

Xperia Z4(Snapdragon 810)

結果

ビルドができて、実機で動作しました。見た目も良いです。(以下は実機画像)

しかし、気になる点もありました。スマホ向けに使う場合、改善と工夫が必要です。1から作るよりはましですが、改善と工夫は大変そうです…

f:id:kumaiga:20180514230454p:plain

f:id:kumaiga:20180514230510g:plain

 気になった点

1)SwitchPlatformでPC→Androidに変更するのに40分ぐらいかかった

→「3D Game Kit」のサイズが大きいため

2)OpenGLES3、Android4.3以上が必要

→PlayerSettings>OtherSettings>Rendering>ColorSpaceの元設定がLinearになっているため

3)AndroidビルドでBuildSystemをGradleでビルドを実施したら「Java heap space See the Console for details.」というダイアログが表示されエラーとなった

→BuildSystemをInternalに変更したら正常にビルドできた。はっきりとしたエラー原因は不明。ビルド対象である「3D Game Kit」のサイズが大きすぎることが原因かもしれない。以下フォーラムのスレも関連があるかもしれない。

https://forum.unity.com/threads/unity-2017-3-fails-gradle-build-due-to-java-heap-memory.514916/

4)APKのサイズが約600Mになった

チュートリアルの1シーンでこんな大きなサイズになってしまったので、使用リソースの見直しが必要

5)実機端末で動作が重い

→モデル、テクスチャ、シェーダー、他設定…をスマホ向けに見直す必要有

6)エディタ時と実機で表示が違う部分がある(実機では影が出ていない)

→設定の見直しが必要

「3D Game Kit」可能性を感じるアセット

unityのAssetStoreがセール中だったので見ていたら、最近リリースされたunityの公式アセット「3D Game Kit」というのを発見しました。

assetstore.unity.com

無料だったので試してみたら、これはすごい。気合いの入った3Dアクションゲームの雛型で改造し易そうな印象を受けます。チュートリアルも用意されています。

触ってみると、以下の仕組みは参考になると感じました。

・ゲームの遷移、基本的なキャラクター動作、コンボ攻撃、攻撃時の軌跡、mobのプレイヤー検知と状態遷移、ギミック動作、場面毎のダイアログ表示、メッセージのローカライズ

また、mobの検知範囲、ギミックの関連付けはOnDrawGizmosSelectedで可視化できるようになっているのも良いですね。

キャラクターの見た目変更

可能性を感じる雛形なので、基本的な改造であるキャラクターの差し替えを行いました。主人公EllenをSuriyunさんのKazukoに差し替えです。

差し替えると以下のようになります。プログラムは流用して、見た目やギミックを差し替えていけばアクションゲーム作れますね。

f:id:kumaiga:20180512165009p:plain

f:id:kumaiga:20180512165349g:plain

差し替え時の注意

(2018/05/12現在)Ellenモデル、アニメーションのImportSettings(Rigタブ>AnimationType)はGenericになっています。他モデルで使うためにHumanoidに変更する必要がありました。(ファイルの数が多いので、複数選択してまとめて変更すると楽ですよ)

「のそのそアニマル」リリース!

f:id:kumaiga:20180508131754p:plain

 こつこつ作っていたオンライン対戦ゲームが完成しました。

その名は「のそのそアニマル」です。(動作プラットフォーム:AndroidWebGL)

 

Android

play.google.com

 

WebGL

のそのそアニマル | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう

※unityroom様に投稿させていただきました

 

技術調査も兼ねてオンライン対戦ゲームを作ってみたいと思っていたのですが、やっと完成できてとてもうれしいです!

UnityとPhotonの組み合わせで作成したのですが、Photonすごく便利ですね。また、Android端末とWebGL環境でネットワーク対戦できたのはちょっと感動しちゃいました(大げさ)。

肝心のゲーム内容ですが、制限時間内に動物達をたくさん集めて、集めたポイントを競うゲームになっております。ぜひ興味がある方は、誰かと一緒にプレイしていただければ幸いです。よろしくおねがいします!

f:id:kumaiga:20180508150844g:plain

 

 

 

WINDOWS8から7へのリモートデスクトップ接続

 Windows8PCから7PCへリモートデスクトップ接続したら、通信がものすごく遅かった。7PC側において、RDP 8.0 を有効にしないと通信が遅くなるらしいので、RDP 8.0 を有効にしたら通信速度が改善された。

参考:

『リモート デスクトップ プロトコル 8.0 の更新 Windows 7 SP1 と Windows Server 2008 R2 SP1』

http://support.microsoft.com/kb/2592687/ja

Visual Studio 2012 インストール時の問題(2013/10/7以降)

Visual Studio 2012をインストールしたら、以下の警告が表示された。

----------------------------

Microsoft Web Deploy 3.0

現在のシステム時計または署名ファイルのタイムスタンプで確認すると、必要な証明書の有効期間が過ぎています。

----------------------------

対応方法が以下に記述されていたので、転載。

http://blogs.msdn.com/b/jpvsblog/archive/2013/10/10/2013-10-7-visual-studio-2012.aspx

■転載内容

==========================================================

この問題の回避策は以下のいずれかとなります。

- MSDN サブスクライバー ダウンロードから現在の最新のイメージをダウンロードし、インストールします

- 既存のパッケージでインストール自体が完了する場合には、以下から Visual Studio 2012 Update 3 をインストールします。

http://www.microsoft.com/visualstudio/jpn/downloads#d-visual-studio-2012-update

-既存のパッケージのインストール前、もしくはインストールが完了した後に、以下の Web Deploy v3.0 を別途インストールします。

http://www.microsoft.com/ja-jp/download/details.aspx?id=30436

==========================================================