今日の新作無料アセット
- Midi Tool Kit Free
- UnityでMIDIを再生するためのアセット。
- Pro版にアップグレードすれば、ネットに沢山ある「SoundFont(ソフトシンセ)」が利用できて自由度が格段にアップするよ!
- 無料 【リリース日】2018年4月16日〜不明
- Island Generator
- Terrainより高速に地形が作れる!ローポリっぽい地形も作れて木や岩のランダム配置もできるエディタ
- ドキュメントに書かれている説明を全て試しました!チュートリアル記事
- アセット内の神々しい光エフェクト「GodRay」をゲットしよう。
- 無料 【リリース日】2018年5月31日
UnityでMIDI再生
スクリプト/オーディオ
無料 【リリース日】2018年4月16日〜不明
UnityでMIDIを再生したい!しっかりした音色で!
そんな願いを叶えてくれるのがこちらのMIDIソフトシンセサイザーです。
個人的にはmidiで使うよりmp3に変換して利用した方がオススメですが、
なんらかの理由でmidiを扱う必要がある時に活躍するアセットです。
先に結果報告
他の無料midi再生アセットやGitのリポジトリと比較してみると、
音の再現性は一番強力で驚きました。さすがソフトウェアMIDIって感じ。
ただし、無料版の音なので楽器の再現範囲が狭いのか、搭載してない楽器を再生しようとすると微妙な音色になってしまう。
動作速度は「重たい」です。
これはソフトシンセですので、楽器毎に音をWavファイル化して再生しています。
ですのでちょっと重たいですがPro版で改善されるそうなので無料版はお試しとして使いましょう。
使ってみた
1.ダウンロードしたファイルはどこに配置してもOK
コンバートして使いますのでmidiフォルダなど用意して保管しておきましょう。
2.ツール起動
Tools -> Midi Player Toolkit Setup
でコンバートツールを立ち上げます。
①→②の手順でMIDIを登録します。
登録後にファイル名が「MPTK_Example xxxx」に変わってしまうので、
midiのファイル名は連番の最後になると覚えておけば解決します。
(おそらく無料版の制限)
セットアップして再生
Prefabフォルダに「MidiFilePlayer」があります。
それをシーンフォルダにドロップして各部をセットアップしよう。
すぐに再生したい時は、
「Play On Start」にチェックを入れて実行すれば再生されます。
再生
生音を聴かせてあげたいですが、JASRACが絡むと面倒なのですみませんです。
アセットインポートから再生まで大体5分程度で出来ると思います。
興味のある方は試してみる価値アリです!
再現度高いからPro版の音色、聴いてみたいなぁ。
↑のようにAudio Sourceのインスタンスが動的に作られます。
これが重たくなってる原因。
オブジェクトプール化に対応すればもっと軽くなりそうですが、メモリを大量に圧迫するから仕方ないのかなぁ。
何かもっと軽くなるように改善する必要ありだと思います。
聴いてみた感想
ファイナルファンタジーⅥを耳コピされた某サイトのmidiで試しました。
PCで聴くと、聴き慣れた懐かしいFFの曲。
・オリジナルの再現度:クオリティ高くてすごい!
しかし、いきなり音程がはずれた音がなって残念。これが無料版の宿命。
・ノイズ:多少あり
スクリプトから実行
スクリプト再生用のサンプルデモが丁寧に用意されていました。
Test Midi With Scriptシーンを開いて
TestScriptコンポーネントの「Test Midi Player Scripting」をチェックしよう。
読み込み&再生部分
初期化、読み込み、再生、Update()全て揃って再生できる設計になっていました。
もっと詳しい情報は公式サイトで解説されています。
Midi Player Tool Kit For Unity – PaxStellar
Pro版にアップグレードすればアレコレできる
Midi Tool Kit Proも2018年4月16日にリリースされたばかりの新作アセットです。
【その1】 サウンドフォントが追加可能!
SoundFont(Wiki)が新規に追加できるようになります。
※無料版は基本セットのソフトシンセのみ。ちょっと微妙。
サウンドフォントでググれば色々出て来ます。
プロレベルの音源もこれで使えるようになるはず。
頑張れば「初音ミクのサウンドフォント」も自作できます。
【その2】 最適化
波形データに最適化、MIDIの分析まで行ってくれます。
動作速度が軽くなるといいですね。
- 簡略化されたSoundFont形式を作成し、関連する波を抽出します。
- MIDIファイルを分析して、ミディのセットによって必要な波を最適化します。
アセット説明(機械翻訳)
Unity 2017.3.0以降のバージョンが必要
アプリケーションに必要なすべてのMIDI曲を追加します。ネットから入手できる巨大なMidiライブラリに感謝します。
Midi Player Tool Kitは、UnityアプリケーションでMidiファイルから音楽を直接再生できるパッケージです。外付け部品や装置は不要です。
- WebからMidiファイルをダウンロードします。
- これらのMidiファイルをMPTKに追加します。
- 遊びます !
リンク
- マニュアル
- プロバージョン
- フォーラム
無料版:
Unity AudioSourceとSoundFontに基づいて、外部シンセサイザは不要です。
- スクリプティングなしC#またはJSは必須です:特定のインスペクタがUnityエディタですべてのニーズを直接定義しました。
- あなたのシーンにMidi Audio Source Prefabを必要なだけ追加します。
- あなたが望むくらい、WebまたはあなたのコンポジションからMidiファイルを追加します。
- 距離に基づいて自動的に再生/一時停止します。
- より複雑な相互作用のためにMPTKをアプリケーションに統合するためのAPIが利用可能です。
また、これらの機能を追加するProバージョンもチェックしてください:
- SoundFontをWebまたはあなたのコンポジションから必要なだけ追加します。あなたの音楽の質、多様性、そして大きさをマスターしてください。
- 簡略化されたSoundFont形式を作成し、関連する波を抽出します。
- MIDIファイルを分析して、ミディのセットによって必要な波を最適化します。
Windows 10でテスト済みです。他のデバイスに公開したい場合は、前に無料版を入手してください。
オマケ情報
Unityでmidiを再生させるプロジェクトデータ。
サンプルシーンも入っているのですぐに扱えました。
こちらと比較してみたら、動作速度は軽快でかなり実用的です。
音色に関してはMidi Tool Kit Freeの方が軍配が上がるかな〜。
オーディオプログラミングChunkのファイル名を発見。
先日紹介した「Chunk」を利用してmidi変換しているのかもしれませんね。
パブリッシャーのアセット(記録用)
エディタ拡張/地形
無料 【リリース日】2018年5月31日
箱庭サイズで良い感じな地形の一部をランダム生成してくれるエディタです。
ローポリの砂漠、川と森の自然、凍った湖の景色などなど、
これは試してみたい! さっそくチャレンジしてみましたよ。
アセット説明によると「面倒な手続き型」「モデリングや配置」の作業をすっ飛ばして、
簡単なステップだけでステキな地形を素早く作成するとのこと!
Procedural Island Generatorは、わずか数秒で高品質で没入感のある見た目の地形を素早く作成するのに役立つツールです。土地は、モデリングスキルは必要ありません、パラメータを使用して完全に作成されます。このツールはまた、森林の産卵システムで詰め込まれ、最も自然な外観の木々や岩を迅速に産卵します。
地形をオリジナルで作ってみた!
アセットに含まれるドキュメント6ページ辺りから手順が書いてありました。
1.シーンを設定する
現在のシーンでは、新しいゲームオブジェクトを作成し、それを "LandGroup"とし、LandGroupの子として別のゲームオブジェクトを作成し、Transformコンポーネントをリセットして、2番目のゲームオブジェクト "Land"を呼び出しましょう。
MeshFilterとMeshRendererコンポーネントをLandにアタッチし、Assets / IslandGenerator / MaterialsフォルダにあるTerrainマテリアルをマテリアルスロットに割り当てます。
次に、IslandGeneratorコンポーネントをLandに接続します。 その後、次のようになります。
1.空のゲームオブジェクトを作る:名前 LandGroup(別に好きな名前でOK)
※ 座標をリセットする。
↓
2.手順1「LandGroup」の子に「Land」を作る
※ MeshFilterとMeshRendererコンポーネントをアタッチ
※ Assets / IslandGenerator / MaterialsフォルダにあるTerrainマテリアルにバインド。
↓
3.「IslandGeneratorコンポーネント」を「Land」に取り付けます。
↓IslandGeneratorをアタッチしたら
大地ができました!
おおおっ!ちょっと本格的なコンポーネントじゃないですか。
パラメータだけで作れそうな予感。
次のミッション
2.高さマップの準備
地形の高さは、黒が最も低く、白が最高の高度であるグレースケールピクセルのみを含む高さマップによって決定されます。 たとえば、Springのデモシーンで使用されているこのマップがあります。
高さマップをスケッチした後、Unityにインポートし、以下のオプションを調整します:
- アルファソース:From Grey Scale
- 読み取り/書き込み有効:Trueに設定
- ラップモード:クランプに設定
次に、地図をHeightMapスロットに割り当て、SurfaceMaxHeightを1に設定して結果を確認します。
1.ハイトマップを準備する。Terrainと同じようにHeightMap(高低差情報を持つ画像)を使うんですね。
ペイントソフトで、グレースケールにして黒が低く、白が高いをイメージしてペイントする。
中央に川が流れてるイメージで適当に作ってみました。
もっと土地を広く取れば良かったと後悔。
テクスチャの設定
Alpha Source:From Gray Scale(アルファソースをグレースケールにする)
Read / Write Enabled(読み書きOKフラグ)にチェック
Wrap Mode:Clamp(テクスチャを繰り返ししない)
良い感じの地形が簡単に作れた!
適当にペイントで塗って、適当にパラメータを設定するだけで、
Terrainとは違う丁度良い感じの地形が作れちゃいましたよ。
これは楽しい!Gaia持ってない人の救済アセットになるかもしれない。
パラメータの詳細
↓触ってみて感じた感想
ドキュメントの説明
3.調整パラメータ
これらのパラメータを微調整して地形の様子を制御できます:
一般:
- メッシュフィルターコンポーネント:必要なメッシュフィルターへの参照を保持します。
- メッシュコライダーコンポーネント:メッシュコライダーへの参照を保持し、それを割り当てます
あなたのプレイヤーが地形を歩かなければならないとき。
- 直ちに更新:地形を変更するたびに地形が更新されますか?
パラメータ?地形の寸法が大きすぎる場合は選択を解除します。
- ギズモを表示する:エディタはすべての頂点にキューブアイコンを描画する必要がありますか?
全体形状:
- タイリングモード:頂点の接続方法を制御します。
- 表面タイルカウントX:x軸上のタイルの数。
- 面タイル数Z:z軸上のタイル数。
- Vertex Spacing:2頂点間の距離。
- 高さマップ:地形の高度を制御するマップ。
- ベース高さ:ベース(地下部)の高さ。
表面:
- サーフェス最大高さ:地形サーフェスの最大高さ。
- 粗さ:制御表面の凹凸。
- ラフネスシード:異なる外観を生成する浮動小数点数粗さ
地面の厚さ:
- グラウンド厚さ:表層の厚さを制御します。
- 地面の厚さの変動:厚さのランダム化の強さを決定します。
- グラウンド厚さ変動種子:aを生成する浮動小数点数
地面の厚さの異なる外観。
- 地面厚さノイズステップ:地面の厚さのばらつきを滑らかにします。
着色:
- Color By Height:各頂点の色をその高さで決定します。
- Color By Normal:各頂点の法線ベクトルで色を決定します。勾配率は法線ベクトルとグローバルアップベクトルの内積です。
- Color Blend Fraction:Color By HeightとColor By Normalのブレンド部分。アルファ= 0は高さで、アルファ= 1は完全です。
- Underground Color:地下の色です。
オプション:
- フラットシェーディングを使用する:フラットシェイプとスムースシェーディングを切り替えると、オンにすると頂点の数が3倍になります。
- 頂点カラーの使用:頂点カラーデータを生成するかどうかを決定します。 このデータを使用しないカスタムシェーダーを使用する場合はオフにしてください。
- 境界を再計算する必要があります:メッシュ境界を再計算する場合にチェックします。 常にオンにする必要があります。
- 法線を再計算する:メッシュ法線を再計算する場合にチェックします。 シェーダが法線ベクトルを使用するかどうかをチェックします。
- 接線を再計算する必要があります:メッシュ接線を再計算する場合にチェックします。 シェーダが接線ベクトルを使用しているかどうかをチェックします。
- Unvrap Uv:メッシュのUVをアンラップするかどうかをチェックします。 常にオンにする必要があります。
- 下部を囲む必要があります:メッシュの下部を囲むようにチェックします。
地形が底から見えるようにする必要があるかどうかをチェックしてください。
ミッション UVの書き出し
4. UVレイアウトの書き出し
正確な葉のマップを作成するには、UVレイアウトが重要です。 UVレイアウトを書き出すには、
エクスポートを添付します。
土地へのUvExporterコンポーネント、適切なパラメータを入力してからあなたのUVレイアウトをヒットします。AssetフォルダにあるPNG画像に保存されます。
UVレイアウトが重要。書き出し、とりあえずやってみますか。
Uv Exporterは自分でアタッチします。
Mesh Filter Component、Width、Hieghtを設定して「Export」を実行します。
「歪んで無いし。これで大丈夫?」と思えてくるUVが出来上がりましたよ。
ミッション:木や草、岩のランダム配置用テクスチャ作成
Island Generatorは、地形生成だけじゃなく、
「木や岩Prefabのランダム配置」を行うコンポーネントがあります。
その準備として「ハイトマップ画像」を作成する必要があります。
正直ちょっと面倒と思う方もいらっしゃると思いますが、
これを使えば「大量に配置したメッシュを1つに結合」してくれます!
※大量のメッシュを1つに結合すれば重たいシーンが軽くなる♫
結合作業なんてワンクリックだけで済みますから本当に一瞬ですよ。
(Mesh Bakerの無料版で良くない?は無しで...汗)
ちょっと大変ですが頑張ってやってみることにしました。
5.葉の分布図を作成する
この種のマップは、高さマップに似ています。 これは、黒が最も疎で、白が最も濃い領域であるグレースケールピクセルを含む。
1つのことを覚えておいてください。表面のUV座標はテクスチャ全体をカバーするわけではありませんが、下の図のように少し小さくなります(最初の3つの行と列、最後の3つの行と列は地下の頂点に使用されます)。
あなたの葉の分布図を作成した後、それをUnityにインポートします。高さマップを作成するときは、説明に従ってオプションをチェックしてください。
エクスポートしたUVの3マス以内が、スタートで作ったハイトマップの領域です。
このサイズに合わせてランダム配置するための位置情報を伝えましょう。
この分布マップを参考に「少し小さくなる」「3マス中央」をイメージして、
ランダム配置させる部分のハイトマップを作成しよう!
3枚完成!果たしてどうなる?
山単位で色々できたらイイナと思って3つ作成しました。
木の集合して欲しい部分を強めの白にしたらいいんじゃない?と思い込んで、
ハイトマップの白色を多少盛ってしてしまいました。
この結果、「高さの合わない位置に木が配置されてしまうか」ちょっと不安です。
さて、どうなるか実験してみましょう。
ミッション:FoliageSpawnerをアタッチせよ
Procedural Island Generatorユーザーガイド
次に、LandGroupの子として新しいゲームオブジェクトを作成し、それにFoliageSpawnerコンポーネントを添付し、適切なパラメータを入力し、Populateを押して、ツリーが成長するのを表示します。
シーン内にツリーが多すぎると、パフォーマンスに影響を与える可能性があります。 ドローコールとシャドウキャスターの数を減らすために、それらを結合して大きなグループにすることができます。 これを行うには、単にメッシュの結合をクリックします。
ランダム配置するために次の手順を行います。
1.親オブジェクトの子に、空のゲームオブジェクトを作成する。
2.FoliageSpawnerコンポーネントをアタッチする。
※ FoliageSpawnerはPrefabをランダム配置するためのスクリプトです。
Mesh Filter Component:Landをバインド(セット)する
Distribution Map:さっき作ったハイトマップ
Prefab:木や岩などランダム配置したいPrefab
ハイトマップの設定忘れずに!
ハイトマップ1枚目の北側だけに木を集中して配置したら大成功しました!!
Densityで数を調整して、そのた色々パラメータを入力後「Populate」を実行すると、
木のPrefabがSpawn(生成)されました。
Hierarchyをチェックしてみる
AutumnTree1がズラッと子に生成されました。
このままではオブジェクト数が多すぎて、シーンが重たくなるんですよね。
必殺のメッシュ結合を行います。
結合したら数が減った。バグっぽい
Density値が1でMAXだからなのか、結合すると半分ほどに削除されてしまいました。
色々試した結果
「0.31」までが消されない範囲という事が判明。
他のエリアも配置してみた
期待してたより、上側寄りな結果になってしまいました。
ハイトマップの位置をもう少し下へ持って行くのが正解だったみたいですね。
オフセットがあったら楽なのになぁ。
メッシュ一体化で消える原因は「数」
消える原因について追加でわかった事があります。
右下のエリアで試したところ、数が減りませんでした。
左下は若干減る。
おそらく「数」が原因。多すぎると自動的に消されるみたいです。
色々デコレーションしてみた
昨日紹介した、Skyboxのフォグと太陽を追加して完成!
- Ultra Skybox Fog
- 普通のSkyboxにフォグと太陽を良い感じに追加してくれる、Skybox専用のフォグシェーダ
- 無料 【リリース日】2018年4月16日
- 普通のSkyboxにフォグと太陽を良い感じに追加してくれる、Skybox専用のフォグシェーダ
オマケエフェクト「神々しい光」
ちょっと分かりづらいかもですが、
雲の隙間から溢れる「太陽光のON/OFF」を1秒おきにやってます。
空に一工夫付けて綺麗な景観アップ♫
このエフェクトだけでもゲットする価値アリ!
外シーンなら大体使える「GodRay」エフェクトありがたや〜!
オマケ機能:スクリーンショット
スクリプト的には簡単なものですが、
設定したキーを押すと、ゲームビューをスクリーンショットできるスクリプトが入ってました。
GameViewのサイズで保存してくれます。※.png限定
手軽なのでこれはこれで良いですね。
スクリーンショット保存の決定版は、先日紹介したばかりですね。
- ScreenShooter
- アプリ紹介やブログに掲載するスクリーンショットをUnityエディタで撮影!
- 複数の解像度をワンクリックで撮影してくれる便利ツール
- $5.40 => 無料化 【開催期間】2018年5月29日〜不明
サンプル画像
画像12枚 30秒で一周します。
アセット説明(機械翻訳)
Unity 5.6.1以降のバージョンが必要
現在、手続き型コンテンツはゲーム開発分野で最も注目されているテーマの1つです。この用語でプロモートされたゲームは、通常、プレーヤーからの関心が高まり、コンテンツもレベルによって異なります。 「手続き型」という用語は、マップ、地形、動物種、または岩石、雲などの環境要素を含むゲーム資産の作成のいくつかの分野に適用されます。手続き型コンテンツの主な目的は、最小限の労力でさまざまな資産を作成することです時間とは、「パラメータ化」と呼ばれるプロセスである。
インディー/ソロの開発者は、モデリングからUVマッピング、テクスチャリングに至るまで華やかな見た目の地形をつくるのに多くの時間を費やし、時間をかけてすべての単一の木と岩を配置します。やめる!もうそれをする必要はありません。
Procedural Island Generatorは、わずか数秒で高品質で没入感のある見た目の地形を素早く作成するのに役立つツールです。土地は、モデリングスキルは必要ありません、パラメータを使用して完全に作成されます。このツールはまた、森林の産卵システムで詰め込まれ、最も自然な外観の木々や岩を迅速に産卵します。
以下は、できることのハイライトです。
- 使いやすいスーパーです。
- より速いワークフローのためのリアルタイムアップデート
- 同じパラメータ(擬似ランダム性)を持つ正確な地形を再生成する
- 高さマップとPerlinノイズを使った頂点変位
- 土地は地面のスライスのように見えますが、退屈な面ではありません
- 地表の厚さから深さまで地下の様子を完全に制御します。グラデーションを使用した色付け、色のテクスチャは必要ありません。
- フラットとスムーズなシェーディングをサポートします。
- 不要なプロセスを取り除く。
- 最高のパフォーマンスのために高度に最適化する。
- UVレイアウトをPNGファイルにエクスポートします。
- ツリーを生成し、1つの大きなツリーグループに結合します。
パブリッシャーのアセット(記録用)
魔法エフェクト(無料化)
2018年4月30日に紹介した新しい無料化アセット。オススメです。
- Fantasy Effect
- クリスタルのセーブポイントや、火、氷、呪文、爆発、光の精霊、雨、雪
- ファンタジーゲームらしい31種類のエフェクト素材集
- $2.16 => 無料化 【開催期間】2018年4月27日〜不明
ソースコードのテンプレート(無料化)
- ScreenShot Class
- C#を生成する時にNamespace付きクラスと、インターフェース付きテンプレートを生成してくれる作業効率化エディタ
- $1.03 => 無料化 【更新日】2018年2月21日
- C#を生成する時にNamespace付きクラスと、インターフェース付きテンプレートを生成してくれる作業効率化エディタ
お知らせ
来週の木曜辺りまで別件の作業に集中したいので、
ブログ優先度を微妙に下げる予定です。
アセットには常に目を光らせてますので登場するアセットは普段と変わりませんが、
「試してみた」系の記事を減らして1週間だけ時間を作る予定です。
もし、想い描いていた願い事が叶えることが出来たら、
ブログで盛大なお祝いイベントを絶対にやります!
みんなと楽しく騒げるように頑張るよ!
【新サイト】アセット割引情報ベータ
$43.20 => 無料化 100%OFF!!
【過去ログ】無料アセット
【過去ログ】作者セール&注目アセット
この作品はユニティちゃんライセンス条項の元に提供されています