SanDisk の USBメモリを試す

Windows の Unity で開発しているプロジェクトを iPhone で実機チェックする場合、毎回ビルドしたデータを Windows から USBメモリ経由で Mac に転送しているのですが、この Mac へのデータ転送の時間をちょっとでも短縮させようと思い、USB3.0用のUSBメモリを買って転送時間を比べたところ、なんと今まで使っていたUSB2.0用のUSBメモリよりも少し遅くなってしまいました。

ハンカチを噛みしめて泣きながら調べたところ、USBメモリは種類によって速さはピンキリということが分かったので、高速タイプのUSBを探して購入してみました。

SanDisk Extreme USB3.0 フラッシュメモリー 16GB
SanDisk Extreme USB3.0 フラッシュメモリー 16GB

新しく買ったのは上記のUSBメモリです。

試してみると新しく買ったSanDiskのUSBメモリの方が圧倒的に早くなっており、こんなに違うのかとびっくりしたので記念にここに記しておきます。

【転送にかかった時間】

Win → USBメモリ   USBメモリ → Mac
USB 2.0(メーカー不明) 83 秒 29 秒
USB 3.0 E社の安いやつ 106 秒 13 秒
USB 3.0 SanDisk Extreme 17 秒 16 秒

仕事でもよくUSBメモリを使うので、これはいい買い物でした!

GoKit で Time.timeScale を無視させてトゥイーン [Unity]

Unity のトゥイーンライブラリ GoKit で「Time.timeScale」に依存することなくトゥイーンアニメーションできる方法にたどり着くまでにちょっと時間がかかったので、メモしておきます。

Go.to(transform, 1f, new GoTweenConfig()
     .position(new Vector3(0, 0, 0))
     .setUpdateType(GoUpdateType.TimeScaleIndependentUpdate)
);

上記コードの赤字の部分をいれることで、「Time.timeScale」に影響されることなく、アニメーションしてくれます。

「TimeScaleIndependentUpdate」って名前がかっこいいなあ。

新作アプリ「サッカーピープル」 予約受付開始!

現在制作中のサッカーゲームアプリ「サッカーピープル」が「予約トップ10」で予約できるようになりました!

下記ページでゲームのスクリーンショット等も公開しておりますので興味のある方はどうぞ!

[予約ページ]
 ・サッカーピープル iOS
 ・サッカーピープル Android

予約ページ用に作った映像はこちらです。

最近は、App Store や Google Play でサッカーのゲームアプリがでる度にドキドキしながら内容を確認しているんですが、
今のところ「サッカーピープル」のように選手を引っ張って動かせたり、選手を2人以上同時に動かせたりするようなゲームは見つかってないので、少しホッとしております。

このゲームでは、11人の選手をいつでも好きな位置に移動できるように、あと好きな方向に好きな強さでパスが出せるようにすることを最優先で考えていたら、結果的に選手が豆粒のように小さくなってしまいましたw

見た目の楽しさ(感情移入しやすさ)と操作性を天秤にかけて、僕は「こんな操作感のサッカーゲームがやりたかったんだ!」ということで、今回は操作性の方に全力で振り切っております!

操作になれれば流れるようなパスワークからゴールが決めれたりして楽しいので、こういうのが好きな(マニアックな)人が楽しいと思ってやりこんでくれれば理想的だと思いつつも、どれくらいの人がこの豆粒を受け入れてくれるのかドキドキしながら開発を進めているところでございます。

パーティクルの色をスクリプトで変える [Unity]

Unityでパーティクルの色を変える場合、ちょっとてこずったのでポイントをまとめました。

下図の赤線部のように Shader が Particles/Alpha Blended Premultiply になっている場合は下記のコードで色指定できます。

この場合は赤になります。
※コードの gameObject のインスペクタに ParticleSystemコンポーネント が Add されています。

gameObject.GetComponent<ParticleSystem>().startColor = Color.red;

次に、3Dオブジェクトをパーティクルさせる場合は、下図の赤線部のようにShaderを Standard 等に変更することが多いと思いますが、その色をスクリプトで変えるにはマテリアルの色を変更することになる為、下記のコードで色指定できます。

gameObject.GetComponent<Renderer>().material.SetColor("_Color", Color.red);

Shader の種類によっては "_Color" が使えない場合があります。
※詳しくは下記の記事に書かれていました。

 ・マテリアルのプロパティをスクリプトから変更【Unity】

Qubicleで書き出したデータをUnityで大量に配置してみる

最近はサッカーゲームを作っていまして、ゲーム内に配置するオブジェクトは、主にQubicleというボクセル制作ソフトで作ってからUnityに配置しようと考えています。

Qubicleの画面

上記のキャラはテスト用に作った観客のボクセルなのですが、これを出来れば千体くらいスタジアムの観客席に配置できればと考えていまして、どれくらいの負荷がかかるのか調べる為に4パターンの配置方法を試してStatsの内容を比べてみました。

下記はQubicle2.5でのCollada DAE書き出し画面です。(データ書き出しは有料版を購入する必要があるみたいです。)

この設定でDAEファイルを書き出しました。
Optimization設定は「Non-Manifold」が一番ポリゴン数が少ないです。
書き出しは下記の記事を参考にさせていただきました。
 ・【Qubicle】Unityへエクスポートする時の詳細設定

【パターンA】
QubicleでMatrixを1体書き出して、Unityに配置し、12体並べた時と144体並べた時のStatsを出してみる。

【パターンB】
QubicleでMatrixを3体別々書き出して、Unityに配置。
この時のポイントは3体別々に書き出したので、マテリアルも3つ作られているところです。

【パターンC】
QubicleでMatrixを12体まとめて書き出して、Unityに配置。
この場合、1つのマテリアルに12体分まとめられています。
Unityで読み込むとGameObjectが12個分作られていました。(マテリアルは1つ)

【パターンD】
Qubicleで1つのMatrixの中にキャラを12体入れて書き出して、Unityに配置。
この場合も、1つのマテリアルに12体分まとめられ、12体が1つのGameObjectにまとめられます。

まとめ

  12体
Batches
 
Tris
 
Verts   
144体
Batches
 
Tris
 
Verts
A 4 4.3k 10.2k 6 32.8k 67.3k
B 10 4.3k 10.2k 20 32.8k 67.3k
C 4 4.3k 10.2k 6 32.8k 67.3k
D 4 4.3k 10.2k 26 32.8k 67.3k

テストをやる前は「パターンD」が一番軽くなると予想していたのですが、Batchesの回数が多いですね。。何が原因なんでしょう?
結果からすると、QubicleのMatrix1体を大量配置する場合は「パターンA」でもいいけど、複数のMatrixを大量配置する場合は「パターンC」がマテリアルがまとめられる分だけBatchesが少なくて済むようです。

他に良い方法をお知りの方がいましたらコメントいただけると助かります!

1 2 3 4 5 6 7 8 9 ... 13

ABOUT

GAMES

サッカーピープル
スライムパズルストーリー

倉庫番ライクパズルと
冒険のゲームです
※制作中

止まるなコロッコ2
止まるなコロッコ2

止まるなコロッコの
続編です
iOS版 / Android版

止まるなコロッコ
止まるなコロッコ

石ころのコロッコが転がるように
セッティングする脱出ゲームです
iOS版 / Android版

コロッコトロッコ
コロッコトロッコ

石ころのコロッコを転がしながら
サラリーマンを会社へ運ぶゲームです
iPhone版 / Android版

TAGS

SNS

FEEDS