Google Poly で公開されている素材を HSP 3 で利用してみようpost

こんにちは、こんばんは。

Hot Soup Processor Advent Calendar 2017 の 初日を担当する @sharkpp です。

この記事では、Google Poly で公開されている Wavefront .OBJ ファイル を HSP の hgimg4 で利用してみる方法について書いてみました。

はじめに

Google Poly

皆さんは、ちょうどひと月前に公開された Google の Poly というサイトをご存知でしょうか?

似てますが Google Play じゃないですよ?

このサイトは、Google が公開した VR/AR向け素材のライブラリサイトで、クレジット(著作権表示)を行えば改変なども可能な CC BY ライセンスで数多くの素材が公開されています。

今回はこのサイトに登録されている Tilt Brush 以外で作られた OBJ をダウンロードして hgimg4 で表示してみることにします。

あ、 HSP は 3.5 を利用しています。

素材の用意

とりあえず、適当に素材を選びます。

この時、Google の VR お絵かきソフトである Tilt Brush で作られた素材は、形式が OBJ ではないことが理由なのか何なのかは分からないですがダウンロードができません。 なので Blocks や、それ以外で作られた素材を探します。

ダウンロードを押下すると

このコンテンツは CC-BY ライセンスで公開されています。著作権に関する情報を表示する必要があります。

などと、利用する場合の注意点が表示されるのでよく確認しておきましょう。

フィルタを利用すると探すのが容易になります。

素材によっては OBJ 形式以外にも

  • 三角 OBJ ファイル
  • FBX ファイル

など、別の形式が選べる場合もあります。

FBX ファイルをダウンロードして利用する場合は、次の OBJ から FBX への変換処理は必要ないので読み飛ばしてください。

選んだ素材

東京タワー

東京タワー

© Kenta Imai (henteko)

Lighthouse

Lighthouse

© Robert Mirabelle

Rio de Janeiroy

Rio de Janeiroy

© Alan Zimmermany

McGraw Athletic Centery

McGraw Athletic Centery

© Jordan Van Wyky

new growthy

new growthy

© Tanner Whytey

Bonsaiy

Bonsaiy

© brett hursty

hgimg4 専用形式へ変換

HSP付属の GPB Converter というツールは FBX からの変換のみに対応しているようなので OBJ から FBX 形式への変換処理をする必要があります。

昔は Autodesk FBX Converter がダウンロード出たようですが、今見に行くと Autodesk FBX Preview のダウンロードページへと飛ばされてしまいます。

なので、探し回ったところ、幸運なことに Internet Archive で保存されていた昔のページ FBX® 2013.3 Converter からダウンロードすることができました。

ファイル名MD5
fbx20133_converter_win_x64.exe5435cf1371502e66b9048834b897011e

FBX Converter を起動すると、左側に元ファイル(Source files)、右側に変換後のファイル(Destination files) の欄が表示されます。

FBX Converter 2013

Add... ボタンか .obj ファイルをドロップすることでリストに登録できます。

右下の Convert で変換が出来ます。

.FBX 形式に変換したら hgimg4 で利用するために .gpb 形式に変換します。

GPB Converter というのが標準ツールとしてありますのでそれを使いますが、HSPのインストールフォルダパスにスペースが含まれているとうまく動かないようです。

もし、うまくファイルが変換できない場合は、コマンロプロンプトで gameplay-encoder で呼び出してみましょう。

> gameplay-encoder "model.fbx" "model.gpb"
Encoding file: model.fbx
Loading FBX file.
Loading Scene.
Triangulate.
Load nodes.
Load materials
Loading animations.
Optimizing GamePlay Binary.
Saving binary file: model.gpb

> gameplay-encoder -m "model.fbx" "model.material"
Encoding file: model.fbx
Loading FBX file.
Loading Scene.
Triangulate.
Load nodes.
Load materials
Loading animations.
Optimizing GamePlay Binary.
Saving binary file: model.gpb

hgimg4 で読み込み

後は簡単です。

sample/hgimg4/test8.hsp

#include "hgimg4.as"

title "HGIMG4 Test"

    gpreset
    setcls CLSMODE_SOLID, $404040
    gpload id_model,"data/frPqTFGeRNM_9L5eUA1sj4m_obj/model"
    setpos GPOBJ_CAMERA, 0,0,5
    x=0.0:y=0.0:z=0.0

repeat
    stick key,15
    if key&128 : end

    redraw 0
    addang id_model,0,0.02
    gpdraw
    color 255,255,255
    pos 8,8:mes "HGIMG4 sample"
    redraw 1
    await 1000/60
loop

と、このようにモデルデータを指定し読み込むことができます。

東京タワー

McGraw Athletic Centery

Lighthouse

何点か読み込ませてみた感じ、

  • 巨大で読み込みに時間かかるモデルがある new growthy とか Bonsaiy これ
  • スケールに規格があるわけではないのでマチマチ
  • テクスチャが読み込めない
  • 材質?が反映できていない?

テクスチャは、パスとかファイル形式などが理由かもしれませんが未解決です。

おわりに

パッとさわってみた限り、テクスチャの問題を除いても、そのままで HSP で利用できそうなのが少ない印象でした。 ここは、HSP専用のassetストアの解説が待たれるところです!

明日は @y_tack さんの「(エターナル化してきた)OpenHSPの書写他」です。

楽しみですね。

参考


この投稿は Hot Soup Processor Advent Calendar 20171日目の記事です。



   /   変更履歴  /   Permalink  /  このエントリーをはてなブックマークに追加 
 カテゴリ: ブログ  /   タグ: Advent Calendar, HSP, hgimg4, Google Poly, VR, AR