買ったアセットがいつのまにか100個超えてました。
金額は1000$以上。割引も考慮してそれくらいです。
良いアセットも、正直使いづらいアセットも色々あったり。
アフィリエイトついでによく使うアセットまとめてみました。使用例も載せてみます。
Rxとかいう非同期のライブラリがあるそうですが、それのUnity用です。
使い方を覚えるのが大変ですが、色々使い道があります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
using UnityEngine; using UniRx; using System; public class UniRxSample : MonoBehaviour { Subject asyncSubject = new Subject(); // Start is called before the first frame update void Start() { //指定した時間待った後に実行する Observable.Timer(TimeSpan.FromMilliseconds(3000/*ミリ秒*/)) .Subscribe(DelayMethod); //別スレッドで実行(スレッドプールからスレッドを見つける asyncSubject.ObserveOn(Scheduler.ThreadPool).Subscribe(EventMethod); //↓はメインスレッドで実行されます。リワード広告を実装するときに使うことになるかもしれません //asyncSubject.ObserveOnMainThread().Subscribe(EventMethod); //実行したいところでOnNextを使う asyncSubject.OnNext(Unit.Default/*必要な引数、定型文*/); } void EventMethod(Unit unit/*この引数には意味なし、Rxでなんか必要みたいです*/) { long totalNum = 0; //時間のかかる処理 for (int i = 0; i < 1000000000; i++) { totalNum += i; } Debug.Log($"演算結果{totalNum}::ここは非同期で実行される"); } void DelayMethod(long _long) { Debug.Log("指定した秒後に実行される"); } } |
注意点としては処理が少し重いことだそうです。
あと、メインスレッドじゃないとUnityのゲームオブジェクトは参照できません。
Unityエディターの実行中の動画をとれます。
Twitterとかに進捗の動画上げるときとか便利です。
注:uGUIについての知識が必要です。
UIにアニメーションを付けれたり、表示したり隠したりを簡単にできるようになります。
自分で設定もできますが、デフォルトの物を使うだけでも結構良い感じにできます。
初期設定:Tool➡DoozyUI➡ControllePanel(Alt+D)
TextMeshProを使う場合、先にTextMeshProをインポートして画像のボタンをおしてEnableにする必要があるようです。
TextMeshProはUnityの2018.3(それか2018.2)では元からインポートされていた気がします。されてなかったら、Window➡PackageManagerからインポートできたはずです。

とりあえずの使い方は、
- DoozyUIのUICanvasを追加(Hierarchyで右クリック)
- UICanvasの子にUIElementを追加
- UIElementのインスペクタからRenameGameObject~~~ボタンを押す
- InANimationとOutAnimationを設定
これでUIelementのShowメソッドを呼び出すと設定したアニメーションでUIが表示されます。
表示されるときの音声もセットできます。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
using UnityEngine; using DoozyUI; public class DoozyUISample : MonoBehaviour { private void Start() { //エレメント名とカテゴリ名は //UnityEditorで[Tool]>[DoozyUI]>Controlle~~から色々設定できる //UIelementのインスペクタからrenameGameObject~~ボタンで //ゲームオブジェクトの名前を変更しておかないとちゃんと動かない UIManager.ShowUiElement("UIエレメント名", "カテゴリ名", false/*アニメーションさせて表示する場合false*/); } } |
アセットをローカライズ(多言語対応)するときにめちゃくちゃ役に立ちます。
UnityEditor内でGoogle翻訳の機能を使うことも可能。
翻訳に必要なすべてがここにあるといっても過言ではない。
スケールやポジションを時間で変更させるようなTween系のアニメーションをスクリプトから使えるようになるアセットです。
テキストの文字を段々増やしていったり、ダメージを食らった時に、HPゲージをぎゅーんって感じで減少させたり。
Pro版もありますが、フリー版でも十分使えます。プロ版はアニメーションをインスペクタ―から設定できるようになったりします。自分はあんまり使ってないですが。
こんな感じでtransformのメソッドにTween系のメソッドが追加されます。簡単に使えてとても便利です。コード補完機能を使えばすぐわかります。Awesome。
それと、Dotween.Toというメソッドがとても便利で色々使い道があります。
値がじんわりと変化していくような処理を簡単に記述できます。
覚えておくと色々捗りまくります。
ラムダ式で書くのが楽ですが、イマイチ知らない人はメソッドをそのまま引数にも渡せます。逆にわかりづらいかもしれませんが。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
using UnityEngine; using DG.Tweening; using UnityEngine.UI; public class DOTweenSample : MonoBehaviour { public float startValue,endValue; public float duration;//アニメーションの期間 public Color startColor,endColor; public Text _text; public Image _image; private void Start() { DOTween.To( this.InitialValue,//()=> {return startValue} this.TweeenTo,//(currentValue) => {_text.text = $"{currentValue:f1} endValue, duration); DOTween.To( this.InitialColor,//()=>{return startColor} this.ColorTweenTo,//(currentColor) => {_image.color = currentColor;} endColor, duration); } //最初に1回このメソッドが呼ばれる float InitialValue() { return startValue; } //毎フレームこのメソッドが呼ばれる //currentValueに変化中の値が入っている //startvalueからendValueに向かってdurationの時間をかけて値が変化していく void TweeenTo(float currentValue) { _text.text = $"{currentValue:f1}"; } //最初に1回このメソッドが呼ばれる //ColorのほかにもVector3とかQuartanionとかも使えたと思います。 Color InitialColor() { return startColor; } //currentColorが変化していきます void ColorTweenTo(Color currentColor) { this._image.color = currentColor; } } |
文字字体を色々アニメーションできる。
デフォルトのアニメーションを使うだけで色々できます。
ただTextmeshのGUIを使うときにAddComponentからできない? 自分だけかもしれませんが。
[GameObject]➡TextFXからだと出来るんですけども。
追記:TextMeshProのFXが使えないのはエディタメニューのAssets➡ReimportAllを使うと出来るようになるみたいです。アセットストアのレビュー内のやり取りに書いてました。ReimportAllはすごく時間かかるし、プロジェクトがなんか変な感じになるかもしれないので、バックアップをとってからやるべきです。
アニメーションの設定はインスペクタから出来るようになってます。
コメント
Unity Recorderなんてあるんですね。たしかに進捗上げるときに便利そう。勉強になります。
フリーアセットですし、ボタン一つで録画できますし、Unity公式のアセットですし、自分の中では必須です。