Raspberlyのブログ

Raspberlyのブログ

Unityネタをメインとした技術系ブログです。にゃんこ大戦争や日常なども。そろそろブログタイトル決めたい

【アセット紹介】L.V.E 2019 - Lava & Volcano Environment 2019 で溶岩流をつくる【Unity】

今回はアセットの紹介をしていきます。
紹介するのはL.V.E 2019 - Lava & Volcano Environment 2019。
溶岩と火山環境を作成するアセットです。

f:id:Raspberly:20210120042749p:plain

※一度書きかけの記事が途中で公開されていました。失礼しました。
※GIFが多めの記事です。軽量化していますが読み込みまで時間がかかる場合があります。

 

いまなら無料でゲットできます!

今回紹介するアセットは期間限定クーポンコードを入力することで無料で購入できます終了しました
1月23日pm16:30までなのでお早めに!

クーポンコードは「LAVAFREE2021」です

f:id:Raspberly:20210118233306p:plain

 

まずAssetStoreからLava & Volcano Environment 2019をカートに入れ、決済画面まで進みます。
下のリンクがアセットのページです。

購入画面にあるクーポンコード入力欄に「LAVAFREE2021」を入力、適用します。

f:id:Raspberly:20210118233354p:plain

これで全額割引され無料になります。後は支払いボタンを押すだけです!

f:id:Raspberly:20210118234700p:plain

 このアセット無料化はパブリッシャーさんのご好意のようです。

Twitterでも話題!

twitter.com

 

どんなアセット?

溶岩流を作成するアセットです。

f:id:Raspberly:20210120042549g:plain
過去に同パブリッシャーのR.A.M 2019という河川を作成するアセットを紹介しましたが、これの別バージョンです。
3GB以上あるアセットなのでプロジェクトに導入する場合は注意しましょう。

raspberly.hateblo.jp

LVE 2019 –溶岩と火山環境2019は、LVEの新しい再構築および拡張バージョンです。これは、火山、洞窟、内部、川を作成する機能を提供する環境、システム、ツール、テクスチャ、粒子、後処理スタック、およびモデルの大きなパックです

アセット名が長いので以降L.V.Eと省略させていただきます。

 

 

 

開発環境

Unity2020.1.8f1
URP ver8.2
L.V.E 2019 ver1.4.2

 

URP版のセットアップ

今回はURPプロジェクトにインポートしたため、そのセットアップを行います。
HDRPプロジェクトでも同じような手順のはず。Built-inプロジェクトの場合は飛ばしてよさそう

詳しいセットアップ方法は、付属パッケージと同じ場所にあるREADMEに記載してあります。

Shadersフォルダの削除

最初から入っているShadersフォルダを削除します。

f:id:Raspberly:20210119015240p:plain

URP用パッケージのインポート

付属のURP用パッケージをインポートします。

f:id:Raspberly:20210119012206p:plain

Rendereのセットアップ

URPアセットの設定を行います。
READMEではURP-HighQualityを使うことを推奨しています。

f:id:Raspberly:20210120004610p:plain

設定項目は以下の通り
HDRをオン
・Shadow Resolutionを2048(1024でもよい)
・Shadow Distanceを150
・SRP Batcherをオンにします。

f:id:Raspberly:20210120010625p:plain

プロジェクト設定

・Project SettingsのPlayerからColor SpaceをLinearに変更

f:id:Raspberly:20210120011448p:plain

・QualityからLevelをUltraに変更(なかったのでHighにしています)
・Vsyncをオフ
・ローエンドデバイスの場合、LOD Biasを1か2に

 

以上でセットアップは完了です。

 

 

デモシーンの確認

アセットインポート完了時はこんな感じです。
デモシーンはNatureManufacture Assets/L.V.E- Lava and Volcano Environment/Demo Scenesにあります。

f:id:Raspberly:20210119233656p:plain

※各シーンでPost Processが動作していることを確認してください。
※Lens Distortionが有効になっているので注意。

Lava Demo 1

火山状のTerrainの上を溶岩が流れているシーンです。

f:id:Raspberly:20210120021521g:plain

Lava Demo 2

同じく溶岩が流れているシーンですが、1に比べ黒く固まった溶岩が流れています。

f:id:Raspberly:20210120021542g:plain

Lava Demo 3

地下空間を溶岩が流れていたり滝のようになっているシーンです。

f:id:Raspberly:20210120021602g:plain

Lava Tutorial

このアセットに含まれている溶岩の確認が行えるシーンです。
パラメータをいじったりどうゆう挙動をするのか確認するのによさそう。

f:id:Raspberly:20210120014312p:plain

溶岩ばかり注目されているアセットですが、高品質な地形、岩のモデルやマテリアルも魅力的です。

f:id:Raspberly:20210120014209p:plain

 

 

 

実際に試してみる(クイックスタート)

溶岩流を一から作ってみます。

 
とても多機能なアセットなので、いくつかの機能は省きます。
詳しい使い方は公式チュートリアル動画をどうぞ!

www.youtube.com

 

デモシーンに登場するTerrainに溶岩を作成していきます。

f:id:Raspberly:20210120020137p:plain

 

Ram Splineの作成

Create/3D Object/Create River SplineからRam Splineオブジェクトを作成します。

f:id:Raspberly:20210120020500p:plain

 

オブジェクトにアタッチされているRam Splineがこのアセットの主要コンポーネントです。
ここのタブを切り替えパラメータを調整することで溶岩を作成します。

f:id:Raspberly:20210120022537p:plain

 

溶岩の見た目を変える

最初に溶岩の見た目を変更します。
BasicのMesh settings:Spline profileから設定します。

f:id:Raspberly:20210120023026p:plain

profileは数種類用意されています。

f:id:Raspberly:20210120041645g:plain

 

 

スプラインの作成

スプライン曲線を使って溶岩を作りますが、そのためのポイントを追加していきます。
Basic/Add point at endからポイントを追加していってもいいですが、Sceneビュー上で簡単に追加できます。

f:id:Raspberly:20210120023336p:plain

・Ctrl+左クリックでポイントを追加。
・Shift+左クリックでポイント間にポイントを挿入。
・Ctrl+Shift+左クリックでポイントの削除を行います。

f:id:Raspberly:20210120024505g:plain

 

あらかた追加し終わった後は、Basic/Set obect pivot to centerでピボットの位置を更新します。

f:id:Raspberly:20210120024917p:plain

こうすることでSceneビューからさわりやすくなります。

f:id:Raspberly:20210120024740g:plain

 

幅やポイントの移動

Basic/Mesh settings:River widthから幅を変更できます。変更は横のChangeボタンを押すことで反映されます。
幅は常に一定ですが、Add width noiseでノイズを加えることができます。 

f:id:Raspberly:20210120025802p:plain

 

ポイントはSceneビューから直接移動させることができます。

f:id:Raspberly:20210120030700g:plain

細かい座標設定はPointタブから設定できます。

f:id:Raspberly:20210120030646p:plain

 

地形にフィットさせる

現状、溶岩が地形にフィットしておらず浮いているように見えます。

f:id:Raspberly:20210120031504p:plain

こういう時はスナップ機能を使います。
Basic/Mesh settings/「Snap/Unsnap mesh to terrain」ボタンから、スプラインを地形に合わせてスナップできます。

f:id:Raspberly:20210120031541p:plain

もう一度押すとスナップは解除されます。

さらに、Basic/Mesh settings/「Set all mesh curves」ボタンからメッシュ全体をカーブさせることができます。

f:id:Raspberly:20210120032512p:plain

溶岩の端を下げることで、地形へのフィット感が向上します。

f:id:Raspberly:20210120032849p:plain

スナップが有効な間は、ポイントの移動も地形に沿って移動します。

f:id:Raspberly:20210120033225g:plain

流れを制御する

Flow Mapタブから溶岩の流れを制御できます。

Flow Map Manual

手動で流れを設定します。Terrainと同じ要領でSceneビューでドラッグすると流れを変えられます。
Flow U Speedが横方向、Flow V Speedが縦方向の流れです。手動だとなかなか自然な流れにできないのでセンスが問われる。

f:id:Raspberly:20210120033952p:plain

f:id:Raspberly:20210120040502g:plain

Show flow directionsボタンを押すことで流れを矢印で視覚化できます

f:id:Raspberly:20210120034533p:plain

Flow Map Automatic

ある程度自動で流れを設定します。
Add noiseでは、それぞれのスケールに流れの加速や減速など自然に見える影響を与えます。
マニュアルによると強くしすぎない方がいいらしい。

f:id:Raspberly:20210120034634p:plain

 

他にも溶岩の色を細かく設定したり、溶岩周辺のTerrainを変形させる機能もありますがここまで。

 

 

まとめ

他にもいろいろ機能はありますが、ひととおり溶岩流を作るところまでまとめました。
公式チュートリアルビデオが45分もある通りとても多機能なアセットなので、
まずはデモシーンのパラメータをいじってみる所から始めるのがよさそうです。

 

Ram Splineに関してはR.A.M 2019の紹介記事でも取り上げているので、こちらも合わせてどうぞ。
見た目が違うだけで作り方はほとんど同じです。

raspberly.hateblo.jp

 

 

 

参考資料

www.youtube.com

 

去年のUnityアセット冬のアドベントカレンダー 2019 Winterにてわびさびさんが解説記事を投稿しています。
こちらも合わせてどうぞ!

www.wabiapp.com

 

 

 

他のアセットの紹介記事はこちら↓

raspberly.hateblo.jp

 

 

 

※本記事にはAssetStoreアフィリエイトリンクが含まれています。

他、間違っている箇所、わかりにくい所がありましたらコメントにお願いします。

【勉強会レポ】: Gotanda.unity #16

勉強会のレポート(メモ)です。
参加したのはこちら「Gotanda.unity #16」

meetup.unity3d.jp

ハッシュタグ : #gotandaunity

 

f:id:Raspberly:20210114033040p:plain

あのごたゆにが帰ってきた!
五反田発祥のUnityに関するLT会です。

 

アーカイブはこちら!

www.youtube.com

3月15日追記 Unity Learning Materialsも公開されました

learning.unity3d.jp

 


簡単な概要とまとめのみまとめます。

LT#1 (スポンサー枠) みねしま: AssetBundle画像の命名チェックを自動化した話

AssetBundleの命名ミスをなくすため画像名をチェックする仕組みを作ったお話。
ただし毎回チェックするのはめんどうだしチェックし忘れることもあるので自動化しました。
デザイナーがエンジニアにプルリクを出した段階で自動チェックするようにしました。

まとめ

ちょっとの作業でも繰り返すことで大きく時間を節約できます、小さなことから自動化しよう。

 

 

LT#2 とりすーぷ: Unity 1week でつくったゲームにAIを実装してみる

unity1weekで作った「あけろ!爆裂駐車場!」を作りました。

あけろ!爆裂駐車場! | フリーゲーム投稿サイト unityroom

一人用のゲームですが、プレイヤーをAIにする挑戦をしました。
Beahavoir Treeを使っています。これについては過去に解説しています。

www.slideshare.net

ゲーム部分はそのまま流用するため、入力のみAI用に差し替える。

まとめ

Behaviour Treeはいいぞ
比較的簡単にAIを実装できる。あらかじめAIの実装を許容する設計にしておく必要はある。

 

AI版はこちら

あけろ!爆裂駐車場!(AI Edition) | フリーゲーム投稿サイト unityroom

 

 

LT#3 なかじ: VRゲーム開発を支えた自動ビルドと自動プレイ

アルトデウスBC開発中のCIの仕組みについてのお話。Jenkinsを採用しています。

qiita.com

Oculus RiftのTips

Oculus Riftは動かさずに放置するとスリープしてしまうので、スマホを乗せアラームで振動させる荒業を使いました

まとめ

・変更が数分後に実機で確認できるのが便利
・自動プレイ+Slack通知+動画配信の仕組みがよかった

 

 

LT#4 ねおりん: アバターミーティングを支える技術

ビデオミーティングをするためのVtuberアプリを自分で作ったお話
顔と手のトラッキングはARKit Face TrakkingとLeap Motion
アバターVRMを、読み込み表示はCustom UTIとAnimation Rigging
映像についてはSpout Syphon NDIを使っています

まとめ

Unityでキミだけのバーチャルカメラを作って、ビデオミーティングで差をつけよう

 

Unityエンジニア募集しております

www.wantedly.com

 

 

LT#5 なかの.asmdef: assembly definitionあれやこれ

asmdefについてのお話。構成方法や設定について。
ディレクトリごとにアセンブリをわける機能ですが、使わないで済むなら使わなくてよい。

まとめ

asmdefは混乱することもあり落とし穴もあるが使いこなせばいろいろな問題を解決できます。

 

参考資料

qiita.com

monry.hatenablog.com

 

 

LT#6 (スポンサー枠) ととろっく: グルミクプレミアムカーアブストラク

プレミアムカードの作り方ワークフローの紹介です。

※グルミクとは現在好評配信中のゲームです。

d4dj.bushimo.jp

プレミアムカードは一番レア度の高いカードでイラストがアニメーションします。

まとめ

・2D AnimationでSpriteにボーンアニメーションを作成しました
・レンダーテクスチャでUIにアニメーションをつきカードを表示しました
・レンダーテクスチャには注意点があります

 

 

LT#7 こりん: VR開発におけるマルチプラットフォーム対応

Oculus、Steam、WebXRなど各SDKを使ったマルチプラットフォーム開発についてのお話。
SDKはasmdefで切り替え、カメラリグへのアクセスはZenjectで実装を注入。

まとめ

・Oculus Questでゲーム売れるようになるから売ろうぜ!
・マルチ対応できる方は備えておくと幸せになれるかも

宣伝

VR刺身タンポポを作っています
Quest版を2021年Q1にリリース予定です。SteamVR版は2021年Q2にリリース予定です。

参考資料

framesynthesis.jp

 

 

LT#8 ハダシA: Unity専用最速DIコンテナVContainer と、UnityにおけるDIの勘所

VContainerとUnityのDIについてのお話。

 

VContainerというライブラリを公開しました。
・実行速度が速くGCゴミが少ない。
・機能を厳選している
・非同期を想定

github.com

まとめ

・ゲームにシンプルなDIを持ち込んでうれしいポイント
 ・制御フローをシンプルにすることの補助に使える
 ・オブジェクト間の複雑すぎる関連を抑止する制約をつけることができる

・シンプルに考えるとゴテゴテの機能はいらず少ないほうがうまくいく

 

 

LT#9 ナナキ: 立体音響やってみたい人のためのお手軽なプラグインDEAR VR Unity

DEAR VRについてのお話。設定方法や機能の紹介など。

DEAR VRとは

Unity用サウンド向けプラグイン

・簡単に立体音響が実現できる
・45種類の音響空間の設定がある
・買い切りのため月額料金はいらない
・リアルタイム処理のため処理は増える
・一部機能でノイズが入る

 

 

 

 

スポンサー企業紹介

株式会社キッズスター

ごっこランド」という子供向けの職業体験アプリを開発しています。

biz.kidsstar.co.jp

エンジニア・デザイナー・イラストレーター...絶賛大募集中です。
@monryまでお声がけください。

 

 

株式会社ワンダープラネット

東京オフィスが五反田に引っ越しました。


ジャンプチ ヒーローズクラッシュフィーバー
おねがい、俺を現実に戻さないで! シンフォニアステージをリリースしています。

jumputi.game.line.me

crashfever.com

クライアント・サーバー共にエンジニア募集中です。

www.wantedly.com

 

株式会社Donuts

外部資本0%で自社IPを保有しています。
自分たちの力でやってきたからこそオリジナルにこだわっています
絶賛仲間募集中です。

recruit.jobcan.jp

 

 

 

終わり

ごたゆにが1年ぶりの復活を遂げました。
これからは過去と同様2か月に1度のペースで開催されるようです。

 

来週はunity1week online共有会#3も開催されるのでそちらもぜひぜひ~

meetup.unity3d.jp

 

 

 

【アセット紹介】Easy Performant Outline 2D | 3Dでアウトラインをつける【Unity】

今回はアセットの紹介をしていきます。
紹介するのはEasy Performant Outline 2D | 3D
オブジェクトにアウトラインを追加するアセットです。

f:id:Raspberly:20210107025848p:plain

 

お得なセール情報!

現在アセットストアでは年末年始セールが開催中! 終了しました
500以上のアセットが50%OFF!

詳細とアセットの一覧はこちらのバナーからどうぞ

f:id:Raspberly:20201228221851p:plain

 

 

 

どんなアセット?

2D、3D問わずオブジェクトにアウトラインを設定できるアセットです。
モバイルやVRにも対応しており、DOTweenもサポートしています。

 

WebGLのデモをこちらから試すことができます。

Unity WebGL Player | Clean outline

現在HDRPには対応していませんが、近々追加と同時に値上がりすることが告知されているので、
はやめに買うのがオススメ!

予告通り値上がりしました。定価10ドル→25ドル。

 

 

Unity AssetStore Japanもオススメしているアセットです!

www.youtube.com

 

他注意点

⚠️このパックは、統一URP 2Dレンダラをサポートしていません。レンダリングプロセスにカスタムロジックを挿入する方法はありません。可能な限り早急に追加されます。

⚠️Unityperlayerマスキングは現在サポートされていません。いくつかのマスキング機能に取り組んでいますが、正確な時間枠はありません。

⚠️2019.1以降URP / LWRPをサポートします。APIの変更により、以前のバージョンが機能しない場合があります。

 

 

実行環境

Unity 2020.1.8f
URP ver8.2.0

 

 

インポートの確認

アセットインポート完了時はこんな感じです。
 Pluginsフォルダの中にあります。

f:id:Raspberly:20201229014526p:plain

セットアップ

インポート時にこのようなセットアップウィザードが表示されます。

f:id:Raspberly:20201228225320p:plain

DOTweenをインポート済みの場合は、DOTween supportにチェックを入れましょう。
URPプロジェクトの場合は、Addボタンを押します。

 

消してしまった場合、こちらから再表示できます。

f:id:Raspberly:20201228225705p:plain

 

UniversalRP Assetへの追加

URPプロジェクトでない場合無視していいです。

 

UniversalRP Assetにこのアセットを追加します。
Selectボタンを押すと、各UniversalRP Assetの設定画面を表示します。

f:id:Raspberly:20201228230226p:plain

UniversalRP AssetのAdd Outline Featureボタンから、URP Outline Featureを選択します。

f:id:Raspberly:20201228230702p:plain

これで設定は完了です。

 

デモシーンの確認

デモシーンも2D 3Dともに用意されています

f:id:Raspberly:20210107025545p:plain

街中にドーナツがたくさんあるシーンです

f:id:Raspberly:20210107025710p:plain

 

 

 

主要コンポーネント

このアセットを使いこなすうえで重要なコンポーネントを紹介します。

Outlinable

アウトラインをつけるオブジェクトにアタッチするコンポーネントです。

f:id:Raspberly:20201228235853p:plain

Drawing Mode

不明。ドキュメントにもソースコード内にもコメントなし。デフォルトのNormalでよさそう。

Outline Layer

レイヤーの設定。カメラごとに映すか写さないか設定するときに使う。

Render Style

「Single」と「Front Back」の2種類

Singleの場合、他のオブジェクトに遮られているかいないかに関係なく同一のアウトラインを表示します

 

Front Backの場合、
オブジェクトに遮られている時(Back)と、遮られていない時(Front)でアウトサインの設定を分けることができます。

f:id:Raspberly:20201229000934p:plain

Outline Parameters(Back Front parameters)

アウトラインの色やぼかしを調整できます。

Fill parameters

Back Front Paramatersから、アウトラインの塗りつぶしを設定できます。

f:id:Raspberly:20210107013409p:plain

単色、ドット、フレネル、ラインの4種類があり、色も自由に変えることができます。

f:id:Raspberly:20210107013805p:plain

f:id:Raspberly:20210107013706p:plain

f:id:Raspberly:20210107013924p:plain

Renderer

アウトラインを作成するRendererの設定です。
複数のRendererを登録できます。

 

 

Outliner

カメラにアタッチするコンポーネントです。

f:id:Raspberly:20201230002108p:plain

Mask

レンダリングするOutlinableのレイヤー

Rendering Strategy

DefaultとPer Objectの2種類があり、オブジェクトごとにアウトラインを設定するかどうか。

f:id:Raspberly:20210107015527g:plain

Rendering Mode

HDRLDRの2種類。ブルームを使っている場合のみHDRを設定します。

Scale Indepented

スケールに依存するかどうか。trueの場合レンダラーのスケールが変更された場合同じサイズを維持しようとします。

Primary Renderer Scale

おそらくアウトラインの解像度に関する設定です。
値が小さいほどパフォーマンスが向上します。

 

 

他アウトラインの見た目に関するパラメータ群

 

 

 

 

 

実際に試してみる

実際にアセットを使ってアウトラインをつけてみます。 

オブジェクトにOutlinableをアタッチ

RendererのあるオブジェクトにOutlinableをアタッチします。
親オブジェクトにアタッチすると、子のRendererを自動的に取得してくれるのでとても便利です。

f:id:Raspberly:20210107023705p:plain

パラメータなどはお好みで。
今回はキャラクターにのみColor fillを設定しています。

カメラにOutlinerをアタッチ 

カメラにOutlinerをアタッチします。
パラメータはそのままデフォルトです。

f:id:Raspberly:20210107025142p:plain



これで完成です。
コンポーネントをアタッチするだけでアウトラインをつけることができました。

f:id:Raspberly:20210107024839g:plain

 

 

 

 

まとめ

・Easy Performant Outlineを使うとアウトラインを簡単に実装できる
・実装方法はオブジェクトとカメラにコンポーネントをアタッチするだけ

 

以上です。

 

 

 

他のアセットの紹介記事はこちら↓

raspberly.hateblo.jp

 

 

 

※本記事にはAssetStoreアフィリエイトリンクが含まれています。

他、間違っている箇所、わかりにくい所がありましたらコメントにお願いします。

【2020年】今年人気だった記事トップ10【ふりかえり】

2020年の振り返り記事です。
ブログ読者の皆様に支えられ、無事今年も終えることができました。
最終アクセス数は約130000万!本当にありがとうございます!
去年から2倍以上に伸びました。

f:id:Raspberly:20201231125634p:plain

2020年は40記事投稿しました。

f:id:Raspberly:20201231132519p:plain

 

 

去年のランキングはこちら

raspberly.hateblo.jp

 

 

 

 

2020年人気記事の傾向

今年あった大きな出来事はOculus Quest2の発売です。
それに伴いVR関係記事のレビュー数が高い傾向にありました。
Google Search Consoleでも、発売日の10月13日にブログ全体のアクセス数が急上昇しています。

f:id:Raspberly:20201230181055p:plain

9月後半にも一瞬伸びていますがこちらは原因不明🤔

 

 

 

今年の人気記事トップ10 (2020年新規記事)

今年公開した40記事の中で人気のものをランキング形式で紹介します。
単純にページビュー数で比較しているので、今年後半に公開した記事ほど不利かも。

10位 【アセット紹介】R.A.M 2019 - River Auto Material 2019で川を作る【Unity】

ページビュー数 : 273

Unity アセット真夏のアドベントカレンダー 2020 Summer!の13日目の記事です。
川や湖を作成するアセット。「R.A.M 2019」を紹介しました。

raspberly.hateblo.jp

f:id:Raspberly:20200813000918g:plain

 

9位 【DOTween】DOText 開発メモ まとめ【Unity】

ページビュー数 : 342

みんな大好きDOTweenのText機能であるDOTextの開発Tipsです。
個人的に役立つ情報をまとめました。

raspberly.hateblo.jp

f:id:Raspberly:20200730005608g:plain

 

8位 【アセット紹介】Peek でワークフローを効率化しよう【Unity】

ページビュー数 : 423

Unityのワークフローを大きく変えるアセット「Peek」の紹介記事です。
Humble Bundleに含まれているアセットなので、みなさん気になる様子。

raspberly.hateblo.jp

f:id:Raspberly:20200924231809g:plain

 

7位 【アセット紹介】ユニティちゃんSunny Side Up(URP版)

ページビュー数 : 515

 

新登場したユニティちゃんモデル「ユニティちゃんSunny Side Up(URP版)」の紹介記事です。

raspberly.hateblo.jp

f:id:Raspberly:20200726224821g:plain

 

6位 【アセット紹介】Joystick Pack【Unity】

ページビュー数 : 547

バーチャルスティックを実装する無料アセット「Joystick Pack」の紹介記事です。

raspberly.hateblo.jp

 f:id:Raspberly:20200907021448g:plain

 

5位 【VR開発メモ】視点から遅れて追従するUIを作る【Unity】

ページビュー数 : 733

raspberly.hateblo.jp

f:id:Raspberly:20200619001654g:plain

 

4位 Oculus Quest2からPCにスクショや録画ファイルを取り込む (Windows)

ページビュー数 : 1,121

過去に書いた記事のアップデート版です。
Oculus Quest2発売当初のアクセス数がとても多かった。

raspberly.hateblo.jp

 

3位 【クソデカ】Unityの限界までScaleを大きくし続ける【Unity】

ページビュー数 : 1,163

クソデカ羅生門に乗っかたネタ記事です。
宇宙最大のSNSTwitter」を中心にマジでガチで頭おかしいくらい神バズりました。

raspberly.hateblo.jp

「クソデカユニティ」でググると当ブログがトップになるのはなかなかのアイデンティティ😇

 f:id:Raspberly:20200613173422p:plain

 

2位 【勉強会レポ】: ハイパーカジュアルゲームナイト

ページビュー数 : 1,170

勉強会レポがとても少ないなか唯一のランキング入り。
今も人気のハイパーカジュアルゲーム向け勉強会第一弾のレポートです。

raspberly.hateblo.jp

ハイパーカジュアルゲームナイト自体はUnity Stationで開催されているほか、
Unity Learning Materialsでもまとめられています。

learning.unity3d.jp

 

1位 【Oculus Quest開発メモ】開発初期設定まとめ Oculus Integration【Unity】

ページビュー数 : 2,661

2位に2倍以上の差をつけてトップです。
Oculus Quest2発売前に書いた開発環境構築メモですが、定期的にアップデートし発売後からグングン伸びました!

raspberly.hateblo.jp

 

 

 

 

人気記事トップ10 (総合ランキング)

全記事を含めたランキングです。
約半分が同じ順位をキープしています。

10位 TextMeshProで作成したFontAssetに文字を追加する

ページビュー数 : 1,425 (↓1)

raspberly.hateblo.jp

 

9位 【アセット紹介】Aura2でボリューメトリックなライトをつくる【Unity】

ページビュー数 : 1,477 (圏外)

raspberly.hateblo.jp

 

8位 【Oculus Quest開発メモ】デバッグログをシーン空間内に出す OVR Debug Console編【Unity】

ページビュー数 : 1,682 (↓3)

raspberly.hateblo.jp

 

7位 Unity2019.2までのLWRPプロジェクトをUnity2019.3以降のURPにアップグレードする方法

ページビュー数 : 1,864 (圏外)

raspberly.hateblo.jp

 

6位 SphereやCubeのColliderを逆にする

ページビュー数 : 2,131 (=)

raspberly.hateblo.jp

 

5位 【Oculus Quest開発メモ】開発初期設定まとめ Oculus Integration【Unity】

ページビュー数 : 2,666 (NEW)

raspberly.hateblo.jp

 

4位 勉強会レポ : スマホゲームサーバーのしくみを知ってみよう

ページビュー数 : 2,898 (=)

raspberly.hateblo.jp

 

3位 Oculus QuestからPCにスクショや録画ファイルを取り込む(Windows)

ページビュー数 : 4,494 (=)

raspberly.hateblo.jp

 

2位 【Oculus Quest開発メモ】VR空間内を歩き回る OVR PlayerController編 【Unity】

ページビュー数 : 4,656 (=)

raspberly.hateblo.jp

 

1位 【Oculus Quest開発メモ】物を掴む、物を投げる OVR Grabber & Grabbable編【Unity】

ページビュー数 : 6,675 (=)

raspberly.hateblo.jp

 

 

 

 

来年の抱負

VR開発記事の本数を増やしていきます!


振り返ってみるとVR開発の需要がかなり高いことがわかりました。
過去に書いた記事もOculus Quest2で動くか検証しつつ、こちらも取り組んでまいります!

 

最後に 、いつも当ブログをご覧いただきありがとうございます。

来年もよろしくお願いいたします。
よいお年を!

【Unityネタ】Unityでスコープや監視カメラを作る

この記事はUnity #2 Advent Calendar 2020、17日目の記事です。
昨日は@drumath2237さんによる、「【Unity】muscleを使用した指制御入門」でした。

 

今回はUnityネタをやっていきます。テーマは「Unityでスコープをつくる」です。

f:id:Raspberly:20201218001932p:plain

アクションシューティングゲームでは銃にスコープがついていますが今回はこれを作っていきます。
そのまま望遠鏡として使うだけでなく、監視カメラの映像を写したりと応用もできます。
仕組みとしてはRender Textureを使います。

使用アセット

今回はこちらのアセットを使用します。スナイパーライフルの3Dモデルです。

 

 

 

スコープの作成

Cameraの映像をRender Textureに書き出し、レンズに出力するとこまでやってみます。

 

Render Textureは画像や映像をリアルタイムで描画できるテクスチャです。Unityマニュアルから引用。

Render Texture (レンダーテクスチャ) は、ランタイムに作成、更新される特殊な テクスチャ です。使用するには、まず新しいレンダーテクスチャを作成し、カメラ の 1 つを指定して、そこにレンダリングします。次に、通常のテクスチャのように、マテリアル のレンダーテクスチャを使用できます。Unity Standard Assets の ウォーター プレハブは、リアルタイムの反射と屈折を作成するために、レンダーテクスチャを現実世界で使用する例の 1 つです。

 

 

CameraとRender Textureの作成

Main Cameraとは別に、スコープ用のCameraを作成します。
Cameraはライフルのスコープの先端当たりに置いておきましょう。
(Audio Listenerが2つあるとエラーがでるため注意)

f:id:Raspberly:20201218010310p:plain

 

ProjectビューにRender Textureアセットを作成します。

f:id:Raspberly:20201217173431p:plain

f:id:Raspberly:20201218002443p:plain

スコープ用CameraのTarget TextureRender Textureを紐づけます。

f:id:Raspberly:20201217173922p:plain
これで、Renderer TextureにCameraの映像が出力されます。

 

Materialの作成

レンズに表示するためのMaterialを作成します。
Materialを作成せず直接Render Textureを貼り付けてもいいですが、
シェーダーを適応したり細かい調整を行いたい場合はMaterialの方が便利です。

f:id:Raspberly:20201218002543p:plain

 

Materialを作成したら、AlbedoにRender Textureを紐づけます。

f:id:Raspberly:20201218005235p:plain
これでMaterialは完成です。

 

Render TextureをCylinderに表示

レンズ型のオブジェクトがないのでプリミティブのCylinderをレンズの形に改造して使用します。

Y軸のScaleを小さくすることでレンズ状にできます。

f:id:Raspberly:20201217190043p:plain

作ったレンズは、スコープの手前側に配置します。

f:id:Raspberly:20201218011304p:plain

CylinderのMesh Rendererに作ったMaterialを与えるとCameraの映像が描画されます。

 f:id:Raspberly:20201218005434p:plain

f:id:Raspberly:20201218011402p:plain

 

 

今回はスコープですが、監視カメラの映像をモニターに出したい場合はQuadがオススメです。
Quadは映像や画像を出力するのに向いているオブジェクトです。

docs.unity3d.com

 

 

 

スコープの見栄えを変える

明るく表示する

Standardシェーダーをパラメータを変えずそのまま使っているので、Directional Lightによっては暗く表示されてしまいます。
Emissionを有効にすると発光し見やすくなります。

f:id:Raspberly:20201217180909p:plain

細かい色味などはカラーピッカーから調整できます。

f:id:Raspberly:20201218011453p:plain

ライティングの影響を完全に無視したい場合はUnlit/Textureを使うのも手です。

Cameraをズームする

CameraコンポーネントField of View(FOV)の値を調整することでズームできます。
値を小さくするとズームイン、大きくするとズームアウトされます。

f:id:Raspberly:20201218011718g:plain

ポストエフェクトをつける

スコープ用のCameraにPost Processing Stackなどをアタッチすることで質感を出すことができます。
Vignetteがおすすめ。クロスヘアもあるといいですね。

f:id:Raspberly:20201218012107p:plain



 

銃のスコープとして使う場合

銃のスコープとして使うには少し工夫が必要です。
スコープにあるCameraの位置と弾の生成位置が異なるため、そのままだと狙った場所にあたりません。


これについては、以下のtogetterで@tail_y氏のツイートがまとめられています。

togetter.com

 

銃のスコープに使うのならば、スプラトゥーンのように銃の射線上にrayを飛ばし、
当たった場所にCameraを向ける方法がよさそうです。

時間がないためソースコードなどはあとで

 

 

 

その他 おすすめアセット

FREE PBR Security Camera

監視カメラとモニターのモデルが含まれている無料アセットです。
同じくRender Textureで監視カメラを再現しているデモシーンが含まれています。

 

Low Poly Weapons Pack + Sight Shader

スコープ付きライフルはこちらのアセットがおすすめです。
モデルの種類が多く、スコープ用シェーダーもついていて便利です。
有料アセットですが、2019/2/4~4/11まで無料だったため入手していた方はラッキー

 

VRでも試してみる

作ったスコープ付きスナイパーライフルと上で紹介したFREE PBR Security CameraVRで試してみました。
スコープと監視カメラが問題なく動作しています。

f:id:Raspberly:20201218012733g:plain

 

監視カメラのアセットには、この記事と同じようにCameraとRender Textureが設定されています。

スマートフォンはQuadを画面部分に張り付け、監視カメラのRender Textureをマテリアルとして与えています。

f:id:Raspberly:20201218013314p:plain
VRの注意点として、スコープを使う場合はプレイヤー側のCameraのClipping PlanesのNearを小さくする必要があります。
でないと、スコープをのぞくときにめり込みます。

 

 

 

以上です。
スコープや監視カメラなどにぜひお役立てください。

 明日のUnity #2 Advent Calendar 2020 担当は@neusstudioさんです。

 

 

参考資料

www.atmarkit.co.jp

haru-android.hatenablog.com

docs.unity3d.com

 

 

 去年のUnity Advent Calenderの記事はこちら

raspberly.hateblo.jp

 

 

 わかりにくいところなどがありましたら、コメントにお願いします。

【勉強会レポ】: VRカタリアウ @cluster 2020

勉強会のレポート(メモ)です。
参加したのはこちら「VRカタリアウ @cluster 2020」
会場はClusterさんです。

xram.connpass.com

ハッシュタグ#vrk5

f:id:Raspberly:20201212010808p:plain

 

動画アーカイブはこちら

www.youtube.com

ツイートまとめはこちら

togetter.com

 

 

イベント概要

5分でテーマの「日本をバーチャルで盛り上げる」を語る
VRカタリアウ」 バーチャル年末企画。 本イベントは、テーマにそって主要VRSNSの有志による5分LT+後半にテーマについて登壇者達一堂になって語り合い深掘りする 2部構成になっています。

※LT(ライトニングトーク)は短い時間でプレゼンテーションを行うというものです。

 

 

 

 

オープニングLT

f:id:Raspberly:20201212013703p:plain

 

カタリアウの目的

・ソーシャルVR間で互いの見ている世界を共有する機会を作ること
・知らないソーシャルVRを知ることで選択できる世界を拡張し、相互のアクティブユーザー数の底上げ
・イベントを盛り上げ、VRに興味のない人への周知や沼に落とす

 

 

 

 

#1 日本中でVRムーブメントを巻き起こす!アルトデウスがビヨンド東京クロノス!

f:id:Raspberly:20201212013733p:plain

アルトデウスがビヨンドクロノスしたというお話。

altdeus.com

動きの激しいゲームが多い中で正反対な物語性の高いゲームで攻めた話や、
欧米になじみのある要素(自由度)や英語のフルボイスの搭載などグローバルで戦うために重要なことについて

 

 

 

 

#2 VRChatのクリエイター文化の話

f:id:Raspberly:20201212013748p:plain

VRChatとは、VRSNS...ではなくクリエイター向け学習プラットフォームというお話。

 

VRChatを楽しむにはUnityが必須!(アバターアップロードにワールド制作など)
しかし一般VRChatユーザーには様々な知識が必要、そのためクリエイターが多い。
バーチャルマーケット5では1700人以上のクリエイターが参加している。

自作アバター文化や作業部屋文化など学べる環境があり、いろいろなスキルを身につけることができる。
そんな学習プラットフォームVRChatを全クリエイターはやれ!!

告知

ワールドを公開しました

vr-lifemagazine.com

 

 

 

 

#3 VRChatのイベンターになってた話

f:id:Raspberly:20201212013807p:plain

OculusQuestしか持ってなく、
PCユーザー限定のイベントに参加できなかったため自分で企画するようになったお話。
何もないところからイベントなどを作るのは楽しい。原動力は悔しさと憧れ

 

告知

クロスマーケット2を来年やります。

id.pokemori.jp

 

 

 

#4 0から∞にcluster世界

f:id:Raspberly:20201212013831p:plain

クラスターの魅力についてのお話。
バーチャルの一番面白い所はインタラクティブ性が高い所。近い距離間で話したり握手ができる。
clusterの推し機能はPCやVRがなくともスマホで参加できる所。
どのデバイスでも同じ空間に存在できる、クリエイターのサポートも熱くコミュニティもある。

 

 

#5 RecRoomの歩き方

f:id:Raspberly:20201212013847p:plain

RecRoomの紹介。
RecRoomとはゲームを軸にしたVRSNS。
ビリヤードなボウリング、サッカー、サバゲー、アスレチックなどがみんなでできる。
(様々なデバイスに対応してクロスプレイも可能)

 

ゲームで遊ぶ以外にもクリエイトができる(BlenderやUnityがなくともできる)
ゲーム会場を用意してみんなで遊ぶこともでき、一人だけでなくみんなで作ることができる。
ゲーム内通貨で販売することもできる。

アバター

外部からファイルを持ち込むことができないがMiiのようにRecRoom内でアバターを作ることができる。
ゲーム内通貨で衣装を揃えることもできる。
このアバターにはデフォルトでコライダーがついているので、押し合ったり握手してフレンド登録もできる。

 

写真を撮りことができ、RecNetに集約されコメントやいいねをもらう仕組みもある。


ただRecRoomは日本人がかなり少ない
そのためRecRoomJapanというグループを作っています
日本人多めでイベントしているので遊びにきてください。

recroom.info



 

 

#6 メタバースで実現した最新鋭のクリエイターフェスティバル

f:id:Raspberly:20201212013905p:plain

NeosVRについてのお話。

明日NeosFestというイベントがあるが、NeosVRで展示するどういう利点があるのか。
・なんでも展示できる
モデル、アバター、食べ物、音楽、映像、ワールド、ゲーム・・・
・ユーザーのサイズを変えられる
 ワールド丸ごと可能、実際制限がない
・展示されている物はその場で入手可能
 その場で体験、保存ができる。別途ダウンロードやセットアップの必要もなし。
出店側はブース制作、入稿は全部VR内で完結。みんなで作業もできる。

 

有料販売機能はありませんが、今後は販売・改変した人にお金が入る機能が入るそうです。

経済活動

ゲーム内マネーで遊ぶことができる、ゲームで増やしたり破産したりできます

 

 

 

 

#7 休止中のVR機の生かし方とクロスプラットフォームの重要性

f:id:Raspberly:20201212014100p:plain

バーチャルキャストのお話。
今年後半にでかいことがたくさんあった。
アバターや背景が販売できるようになりました。
・ルーム機能が公開される
 コライダーが使えるようになりました(BETA
 アイテムを共有できたり売ったりできます
・教育との連携

バーチャルキャストの特徴

・基本的に配信者を見るコンテンツ
アバターが生き生きしている(10点トラッキングやアイトラッキングなど)
・国産
これからはスマホデスクトップ対応に対応してほしい

 

 

 

 

#8 VRで出会う「本物の創作キャラクター」

f:id:Raspberly:20201212014118p:plain

VRで創作キャラクターは本物になるというお話。

いままでの創作物はこちらから干渉することができなかった。でもVRコンテンツならばその隔たりを超えられる。

本物のキャラクターには3つの要素がある
・外観(そのままの姿、声)
・意思(どんな風に考え感じるか)
・世界(アニメや本の中の世界そのもの)

外観は、3Dモデルで用意できる、声もコストはかかるが用意することができる。
意思は、一人のキャラクターを複数人で動かすことができる、意思決定についても同様。
世界は、VR作品内では同じ世界で出会うことができる。双方向の意思の疎通もできる。

 

 

アニメや本と同じようなコンテンツの発表先に、VRが加わるようになると思っています。
その時こと本物の創作キャラクターとコミュニケーションが時代がくるでしょう。

 

 

 

 

#9 VTuber文化拡大の歴史と展望

f:id:Raspberly:20201212014133p:plain

Vtuberがどのように拡大したか、日常に忍び込んだかについてのお話。
規模の推移やデビュー環境の充実化、海外への波形についての内容です。

 

 

#10 バーチャル世界でなにもしたくない話

f:id:Raspberly:20201212014156p:plain

VRCなにもしない人として、何もしない存在を貸し出すようなことをしています。

 

なぜこうしたか、みんなにできることができなかったから。
なにかできる人は大勢いて、何もできない自分は孤独を感じていた。
何かできる人にならないとバーチャルの世界で生きていけないと焦ったが、勉強も努力もできなかった。
何もできないから、何もしない人になりました。

 

自分の意思で選択できるのがバーチャル世界の素晴らしい利点です。
誰とどのようにふるまえるか自由に選択できる。

バーチャルの世界では、何もしなくていいという選択肢を増やしたいと思っています。
何もしないという選択があればもっと気楽に生きてけると思います。

 

何かしている人、できる人だけでなくともバーチャルを盛り上げることができる。
そう思いながら日々、何もしないをしています。

 

 

 

 

スポンサー紹介

週刊フレンドプラス ふわふわのクラゲ様

 VRChatで読める新聞

booth.pm

バーチャルライブマガジン みつあみやぎこ様

 VRSNS最新情報が読めるメディアサイ

twitter.com

VRonWEBMEDIA様

 XR AI Vtuberなどの ニュースやコラムをお届けします

vron.jp

株式会社 diVRse様

 ベッドマウントディスプレイ用メガネフレーム VRsatileを作っています。

booth.pm

バーチャル学会2020様

 VR世界での学会、明日開催です。

sites.google.com

アストネス アストネスてんちょー様

 VR機器レンタルサービスです

astoness.com

どんどん亭バーチャル広報様

 ジュッジュワァァアアアア

twitter.com

BAR Angel Kiss 草羽 エル様

 Vtuberと二人きりになれる新感覚ライブ型恋愛シミュレーションイベント

cluster.mu

クロスマーケット2様

 VRChat内で行われるOculusQuest向けのバーチャル即売会

id.pokemori.jp

VRCUnity勉強会様

 VRChat向けのUnity技術をみんなで一緒に教え合う勉強会です

www.vrcunity.org

ポピー横丁 コクリコ様

 飲み屋街をモチーフにしたワールド

www.vrchat.com

Japan Street 0.104 NEET ENGINEER様

 日々アップデートされワールドが拡張するJapanStreet

www.vrcw.net

BAR GEKKO 高千穂 マサキ様

 大人のためのラウンジバー

cluster.mu

健康Force Salute Alleanza様

 VRChat内で行われるラジオ体操イベント

www.vrcw.net

questラジオ体操部様

 OculusQuest抜けのラジオ体操イベント

vr-lifemagazine.com

今日も一日生き延びてえらい!集会様

twitter.com

VR海の家「常夏」様

 いつでも夏を体験できるイベント

www.vrcw.net

ペコペコバトル キャンディちゃん様

 VRChatで遊べる対戦ゲーム

www.vrcw.net

VRCなにもしない人

 何もしない私を貸し出しています、TwitterのDMから受け付けています

twitter.com

 

 

宣伝

cluster.mu

reality.app

kurokawa-juku.net

 

 

第2部

発表の感想トークです

岸上氏:みんなイケボすぎる
坪倉氏:プラットフォームの垣根を越えて集まってきてすごい
ノラネコP氏:まわりにいる人がVRの先端をひっぱってててすごい
うぇるあめ:同じ空間を共有すると熱量がすごい
date氏:バーチャルの熱気・活力が感じられるカオス感が楽しい
ぴゅあ吉氏:他のVRSNSも熱い、発展してユーザーさんが増えてほしい
るーしっど∞氏クラスターだけでなく他のVRプラットフォームも増えてほしいしもっと盛り上がってほしい、
HIRO氏:他のプラットフォームの方の話が聞けていろいろ発見があった
オレンジ氏:めちゃくちゃ発表がよかった。こういう機会がたくさんあると感心がある方の理解を深められそう
Ichitaro氏:バーチャルキャスト代表として言うとなるといろいろ考えるのでいい機会だった

 

 

特別ゲストの「ねこます」さんが召喚されなかったため記念撮影で終了しました。
召喚の儀式中は中野さんのトーク力が光る。

f:id:Raspberly:20201212021704p:plain

LT 10の「バーチャル世界でなにもしたくない話」がとてもいい視点のお話でした。

 

 

 

 

 

他の方の感想ブログとか

www.crossroad-tech.com

 

 

 

 

 

間違っている箇所、消してほしいツイートがありましたらコメントにお願いします。

【アセット紹介】Odin Validatorを無料で入手する【Unity】

 f:id:Raspberly:20201207023915p:plain

Unity お・と・なのLT大会 2020@RyotaMurohoshiさんのLTでも話題のOdin Validatorですが、
アセットストアで2019年5月28日より前に購入していた場合無料で入手できます
今回はその方法についてまとめました。

f:id:Raspberly:20201207025927p:plain

 

 

対象者

アセットストアで2019年5月28日までに
「Odin - Inspector and Serializer」を購入した方が対象です。

 

 

 

以下手順まとめ

注文番号の確認

まず最初にOdinを購入した時の注文番号を確認します。
注文番号はアセットストアから確認できます。右上の自分のアイコンを押して注文履歴を選択。

f:id:Raspberly:20201207015256p:plain

 

過去の注文履歴が一覧で表示されるので、注文日を頼りにOdinを購入した時の履歴を探します。

f:id:Raspberly:20201207015505p:plain

 

詳細の左上にあるのが注文番号です。英語だとOrderですね。
この番号を控えておきます。

f:id:Raspberly:20201207015846p:plain

 

 

 

 

ライセンスの登録

次にOdin公式Webサイトのプラン選択ページに移動します。
事前にアカウントを作成しておきましょう。メールアドレスの登録などが必要です。

odininspector.com

 

リンクの中ほどに以下のようなリンクがありますので、引き換えボタンを押します。

f:id:Raspberly:20201207012047p:plain

すると、3つの選択肢が提示されます。
2019年5月28日より前にアセットストアでオーディンを購入しました」から、
AssetStoreライセンスを利用」に進みます。

f:id:Raspberly:20201207012610p:plain

 ライセンスのページに飛ばされるので右上の「ライセンスを引き換える」に進みます。

f:id:Raspberly:20201207012705p:plain

すると注文番号の入力欄が出てくるので、

f:id:Raspberly:20201207012754p:plain

 先ほど控えたOdin購入時の注文番号を入力し、「引き換え」ボタンを押します。

f:id:Raspberly:20201207020113p:plain

 問題なければ緑色の枠で、正常にアクティブ化されましたと表示されます。
ライセンスを表示する」から確認してみましょう。

f:id:Raspberly:20201207020313p:plain

 

 

 

無事ライセンスが有効になっているのが確認できます。
確認したら右上の「ここから製品をダウンロードしてください」に進みます。

f:id:Raspberly:20201207020547p:plain

一覧からOdin Inspector PersonalOdin Project Validatorがダウンロード可能になっているのがわかります。
後はダウンロードボタンを押してunitypackageをダウンロードするだけ。

f:id:Raspberly:20201207020725p:plain

入手手順は以上となります。 

 

ダウンロードしたunitypackageをインポートしてUnityでも使えることを確認しました。

f:id:Raspberly:20201207022436p:plain

 

 

 

 

まとめ

・ アセットストアで2019年5月28日より前に購入していた場合のみ無料で入手できる
・注文履歴からOdin購入時の注文番号を控えておく
・Odin公式Webサイトから注文番号を入力しライセンスを取得する
・Odin Validatorをダウンロードする

 

Odinは引き続きアセットストアでも取り扱うようですが、Validatorに関してはしないようです。
50%OFFセールがあるのでOdin単体はアセットストアで購入してもいいかもしれません。
(公式Webサイトでもセールがあるかも)

 

 

 

他のアセットの紹介記事はこちら↓

raspberly.hateblo.jp

 

 

※本記事にはAssetStoreアフィリエイトリンクが含まれています。

他、間違っている箇所、わかりにくい所がありましたらコメントにお願いします。