質問: お世話になっております。 UnityとVisualStudioを使ってC#を学び、Unityではそれなりにゲームを作れるようになったのですが、ほぼUnity依存の知識のみです。 ので、今度はWindowsコンソールのプログラミングにC#で挑戦しようとしております。 Unityで多用していたCoroutine(非同期処理?というのでしょうか)や、アセットにあったDOTWeen(Ease関数などで数値をアニメーション処理できるものです)を 良く使っていたので、こちらでも使ってみたいと思ったのですが そういったことは可能でしょうか? それともあくまでこれらはUnityで使用するもので C#プログラミング全般に使えるものではないのでしょうか? VisualStudioでDLLやcsファイルを参照する方法はわかりましたが UnityEngineを参照する必要があるのでしょうか。 また、もしこれらをUnity外で使うことが難しい場合 似たようなライブラリなどが他にあったりしませんでしょうか? よろしくお願い致します。
回答: コルーチンはUnityが提供してくれている機能です。なのでUnity外で利用することはできません。 ただ、それに似た仕組みを自作することで同じ処理を記述できるようにすることは可能だと思います。 Windows向けアプリで利用できるライブラリはすみません、ちょっと知らないです。 質問者さん自身もおっしゃってますが、Unity依存の知識と認識されているようなので、一度その仕組みを自作してみてはいかがでしょうか。 Tween系のものは、簡単なものであればそれほどむずかしい処理ではありません。 このあたりの記事が参考になるかもしれません。 * 前編 イージングとはなにか このイージングについて最初に考案した人?の記事のようです。 * Robert Penner's Easing Functions ちなみにコルーチンのほうですが、これは「yield」「ジェネレータ」などで検索するとヒントになるかもしれません。 ジェネレータをざっくり説明すると、とある要素を名前の通り「生成」して他の処理に渡す、ということをやってくれるものです。 * Wikipedia コルーチンで言えば、「とある要素」は次のフレームなどで呼び出される処理の単位です。 フレームごとなどに適切にこの処理を呼び出す仕組みを提供してくれているのがUnityのコルーチンなのです。 なので、この「処理を一定時間後に呼び出す」という仕組みを自作すれば似たようなことが実現可能です。 こうした仕組み自体に慣れておくと、他のエンジンを利用する場合や、あるいは今回のようにまったく別の環境で実装を行おうとした際にも、似た機能を自分で作ることができるので仕組みを理解しておくのはとても重要です。