3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWSIMにエフェクトを加えてみる

Last updated at Posted at 2023-03-11

環境

今回はVFXというshader処理をGPUで行うことで大量のパーティクルを生成する機能を使用するため、PCのスペックには注意しましょう。快適に作業するには性能が高いほうがストレスなく進めることができます。

推奨PCスペック(このスペックではないとできないということはないですが、このスペック以下の場合画面がフリーズする可能性ありです)

OS Ubuntu 22.04
CPU 8コア×2,16スレッド
メモリ 32GB以上
GPU RTX1080Ti

vfxとは

vfxはVisual Effectsの略で視覚的効果という意味ではありますが、私はかっこいいエフェクト程度にしか捉えていませんでした。ググってみたところ以下のような説明がありました。

"VFXとは、視覚効果を意味する英語ビジュアル・エフェクツの略で、映画やテレビドラマなどの映像作品において、現実には見ることのできない画面効果を実現するための技術のことを指す。視覚効果ともいう。VFXは、コンピュータグラフィックスまたは合成処理によって実写映像を加工することである"

昔はparticle systemというものでエフェクトを作成していたものですが処理速度の限界があり、大量のパーティクルが気軽に生成できませんでした。しかし、2019年頃から登場し始めたパーティクルエフェクトをGPUで並列処理させ、大量のパーティクルをリアルタイムに生成する技術の発展と、そのパーティクルのグラフィカルな編集用のエディタVisual Effect Graphが登場したことで、だれでも手軽にかっこいいvisual effectsを編集できる時代がきました。(2019年頃vfxはpreview版として導入されていました)

vfxを使ってみる

さて、UnityにはVisual Effect Graphを用いてエフェクトを作成するEditorが備わっているので、軽く触れてみていろいろなエフェクトを試してみましょう。

UnityEditorを開き、hierarchyのところで右クリックしてVisualEffects->VisualEffectと選択肢、魔法のランプのアイコンのようなものを表示してみましょう。

image.png

general->asset template -> newのボタンを押しててきとうにeffectsを作成していきましょう。
image.png

こんな感じのエディタが開くのでそれぞれの項目をすきにいじってみましょう。
image.png

色は白ー>水色、textureをAWSIMのデータにあったtier4 logoにしてみました。
image.png

実行するとこんな感じですね。
image.png

次に桜吹雪を作ってみましょう。今回使用するのはこちらの画像です。

ダウンロードしてunityのプロジェクトに追加してみましょう。
update particleからspaceを押してturbulance gravityなどを追加するとparticleに動きをつけることができます。
image.png

speed size spawn rate capacity gravityなどを調整して、桜吹雪をつくることもできます。ここは解説しないので、自分でやってみましょう。
(directional lightを追加すると現実感が増して描画が綺麗になります。)

image.png

assetを使ってみる

アセットストアやアセットの追加方法などは前回の記事で紹介したのでそちらをみてないかたは、こちらの記事の内容を見ておきましょう。

さて、次にアセットとしてもともと用意されているものを見てみましょう。

1.雪を降らせる

今回はassetを使っていきます。こちらのパッケージのsnowをつかっていきましょう。

sceneにprefabを追加してみるとこんな感じで雪を降らせることができます。

snow.gif

capacity 50000くらいでかなり本物感でてきますね。
image.png

さて、移動しているとvfxのeffectから外れてしまうことがありますね。西新宿雨全体を雪でおおうには相当なGPUのスペックが必要なのでカメラに映る範囲のみと影響範囲を絞りましょう。
自車両のtfに雪を追加するという工夫をすると自然な雪の日のように見せることができます。

image.png

主観画像はこちら。違和感はないですね。
image.png

2.集中線を出してみる。

star field を追加してみましょう。もうスピードで駆け抜けている感じありますね。
image.png

車両の速度が5m/s以上になったら線を出すといった実装にしてみます。AddComponet->scriptからC#スクリプトを追加してみましょう。
vehicleの[SerializeFiled]に車両とvisual effectを選択し車両の速度が5m/s以上ならvisual effect開始といった形の実装にします。(ここの内容はunityになれていないとさっと組むのは難しいと思うのでおまじないだと思って書いてみると良いと思います。)
image.png

star_filed.gif

buildして実行してみましょう。

image.png

終わりに

さて、今回はAWSIMに雪を降らせる内容について書いてみました。
雨や雪が降っているときの車両の画像などを使って信号認識や物体検出の学習をしてみる、ノイズを考慮した物体検出器などを作ってみるのも面白いかもしれませんね。
image.png

補足

最新のAWでは起動時にcamera_lidar_fusionがデフォルトになっており、カメラ123456がないと怒られるので起動コマンドとしてはperpcetion_mode:=lidarとするのがよさそうです。

ros2 launch autoware_launch e2e_simulator.launch.xml vehicle_model:=sample_vehicle sensor_model:=awsim_sensor_kit map_path:=/home/t4tanaka/maps/nishishinjuku_autoware_map perception_mode:=lidar
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?