最近、AreaJapanコラムのほうのアクセスは好調らしく、読んでいただいている方、本当にありがとうございます。
ブログのほうにも、今後コラムで伝えきれない点や、中級者むけの内容のTipsを増やしていきたいと思いますので、楽しみにしていてください。
さてさて、遅くなりましたが、UnrealEngine,4.21では大きな更新がありましたね!
UnrealStudioもRevit、SketchUp に対応しましたので、まずは軽く検証しておきました。
環境は Autodesk Revit2019, UE4 、 4.21.1です。
Revitの対応は2018.3以降で、SketchUP はPro版2018以降ですのでご注意ください。
公式リリースノートはこちらから
Revit datasmith Expo rter
ダウンロードはこちらから。今年の9月くらいまで無料期間が延びましたね。
インストールと書き出しについては簡単なので省略します。3DViewから書き出します。
適当にマテリアルいろいろ作ってみました
ProductViewerテンプレートでインポート
まず、新しいテンプレート「ProductViewer」で起動します
すぐにプレイできるようにしてあるので、BPを改良して使えそうです。
アウトライナを見てみます。
「Interactive_Root」の下にCADデータが入っているようです
このシーンには、「ProductViewer_Collector」というBPが入っています。
その詳細パネルでは、「Interactive Root」で、シーン内のアクタのRootが選択されていますので、どうやら、ここで、新しく自分で作ったDatasmithのSceneアクタに切り替えれば良いみたい。
その下には、OrbitかFlyingmodeかを選択できるようになっています。
では、新しいフォルダを作ってインポートします
インポートがうまく行ってないのがけっこうあります(涙
ガラスや、メタルも継承されていないのは、おそらく、Revit2019の新しい物理アセットを使ってしまったのがいけないのかと思います。一般マテリアルアセットで作成したものが、うまく互換できているようです。この辺は、詳しく調べるとして、今回はテンプレートで遊んでみたいと思います。
では、アウトライナから、SampleのInteractive_Rootと、その子になっているサンプルアクタを消します。
「ProductViewer_Collector」の詳細パネルで、新しくインポートされたRevit_testアクタを指定します。
これでプレイしてみましょう。Startを押します。VR にも対応してるようですが、デスクトップで開きます。
クリックしないで、カーソルオーバーで、黄色くハイライトされるの、いいですね。
クリックすると、Zoomしてくれます!
今後期待できるのは、このBIMデータが参照できる点ではないでしょうか。
I
メッシュの詳細パネルで、AssetUserDataを確認できます。
Revit上のパラメータの「キー」と「値」が継承してありますので、
これの「マテリアル」キーが表示されるようにテストしてみましょう。
以下の公式動画でBPでの説明がされていますので参考までに。「4.3インポートされたメタデータ の使用」
しかし、公式の説明ではまずマウスについてのノード説明があるのですが、
こちらのテンプレートは、既にマウス使えてますので、以下のノードを省略しますね。
では、改良して、「クリックしたら、値が表示される」ようにします。これは動画の説明と同じです
レベルBPで、検索ワードにmouseなど入力して、「マウスの左ボタン」イベントを作り、ブランチ から、「get hit result Under Cursor for Objects」をつなぎます。この「get hit result」はすっごい便利。あとは、以下のように、[Get Datasmith User Data Value for Key]ノードを作ってください
BP
プレイし、クリックしたら画面に表示されます
カーソルオーバーで、値が表示されるようにする
別の方法です。
このテンプレートのBPを加工してやってみます。
まず、先ほどのレベルBPのノード消します。
Blueprintsフォルダを見ると、Mouse操作用のBPがありますので開きます
「ProductViewer_Mouse_Pawn」です
イベントグラフをみると、「Bind Highlightable」があります。
これが、カーソルオーバーで、黄色くハイライトするノードっぽい!
この後ろに[Get Datasmith User Data Value for Key]ノードつないで表示するだけ!簡単!
datasmithノード
思ったより簡単にできました。
PrintStringではデザインがかっこ良くないので、次回はウィジェット で値が表示されるようにしたいと思います!
mirako