作成者別アーカイブ: saitottammas

Map for AR

標準

「UnityによるARゲーム開発 」(O’Reillyの書籍 日本語訳バージョン)

ポケモンGOのような地図上ARゲームの作り方解説本。ただ、Google Maps APIを使っているため、2018以降のAPIキー対応用にはいろいろ変更しなくてはならない

また、クレジットカードなどによる、支払い請求情報を入力する必要がある
(いきなり課金されることはない。最初の1年間は34000円ぐらい(300$)使えるらしい)

これらは、Google Cloud Platform上で設定する 

https://console.cloud.google.com

プログラム(GoogleMapTile.cs)の修正

APIKEYをpublic string で入力できるようにする

public GPSLocationService gpsLocationService; //この行の後ろに↓
public string API_KEY; //★追加

queryString += “&sensor=” + (usingSensor ? “true” : “false”); //この行の後ろに↓
queryString += “&key=” + API_KEY; //★追加

//yield return req.Send(); ←req.Send()が古くて使われていないそうなので
yield return req.SendWebRequest(); //★追加(こちらに替える)

サービスの導入(CUDLRとGPS)

CUDLR(Console for Unity Debugging and Logging Remotely)
初期設定で、ポート55055を使う設定になっているので、Chromeなどで
http://<デバイスのIPアドレス&gt;:55055/

を見ると、デバイス上のオブジェクトの動きなどがわかる(最終製品からは削除すべき)

GPS
デバイスのほうで、GPS有効にする
Mapタイルにスクリプト設定

スタンダードアセットから

イーサン ThirdPersonのプレファブから これをPlayerという名前にする

カメラ FreeLookCameraRigをプレイヤーの子として設定 Playerを自動で追尾

crossplatform タッチパッドなどを追加してくれる ここではDualTouchControlsから不要なJumpやタッチパッドを削除

コンパスの利用

CharacterGPSCompassControllerスクリプトの作成
Start() 内で、 Input.compass.enabled=true;
Update() 内で、コンパスの磁北に180°足して反転させ、コンパス角度を足したものを
rotationとして取り出し、クォータニオン変換して、ゆっくりその角度まで変化するように設定

イーサンの最初からついていたコントローラを削除し、上記スクリプトを追加。
(このあたりは、メモになってます。詳細は、書籍参照)

Unity Editor上でも、モバイル上でも動いたー 嬉しい
フォーラムに投稿してみようと思う

 

オープンデータ

WRLD

https://mapdesigner.wrld3d.com/

今注目中。無料バージョンでどこまで出来るか検証中

Mapbox 

https://www.mapbox.com/unity/

どんぴしゃ。Maps for Unityというキャッチでサービスしている

 

先行参考記事

「2017年10月12日に更新 [Unity] WRLD Unity SDKで地図情報に基づいた建物を表示する」

https://qiita.com/lycoris102/items/f9edd8728c1f2966debb

広告

SketchUp Make 2017

標準

ブラウザ版も面白いと思ったが、自由にいじるため、「非商業目的の社内使用のみを対象」で無料で使えるSketchUp Makeを試すことにする

アプリダウンロードはこちら

https://www.sketchup.com/download/all

日本語バージョンがあるのでそれをダウンロードインストールする

現在(2018/12/10)で、SketchUp Make2017が使えるようなので、そちらをダウンロード(Win64版)

最初だけPro評価版30日がついてくる

1.線画

2.テクスチャ(マテリアル)

 

3.合成(GIMP)

 

 

 

さてSketchUpを久しぶりに

標準

SketchUpでコミック背景を組み立てていた方がいましたので、少し研究開始。

ずっと以前には使ったこともあったのですが、現在は、ブラウザで動くようになっている!

1.テンプレートの選択

左上の三本線メニューから「新しいモデル」を選択。テンプレートからミリメートルを選ぶ。

2.3D Warehouseからモデルをダウンロード配置

今回は、イチから作成しようというより、出来ている建物などを組み合わせて街や家の中を作りたいので、まずモデル検索をする

https://3dwarehouse.sketchup.com/

例えばサンピエトロ寺院

 

14000ポリゴンぐらいで作成されている

3.配置と表現

表現はいろいろあって面白いが、細線まで出すためには、細かいテクスチャまで3Dで描いてあるほうがいいのかも(このサンピエトロ寺院の屋根上の彫刻は、すべて画像になっているため、線画では表現されてこない)

 

ダウンロード版を試すことにする→新記事

 

Vroid Studio→Blender→Marverous Designer

標準

Vroid Studio

モデル作成→保存(.vrm形式データ)

Blender VRM Importer by iCyP様 感謝します!

https://github.com/iCyP/VRM_IMPORTER

ダウンロードしたら、zipのまま(展開せずに)BlenderのUser Experiences→Add onsでファイルからアドオンを指定する

テスティングのところに出てくるので、有効にする

VRMImporter

 

 

 

GIMP Script-Fuで画像一括変換

標準

GIMPで画像一括変換

https://qiita.com/appin/items/173abe8fe169789d0617

↑こちらの記事を参考にフォルダ格納の画像ファイルを一括変換して保存しなおすというScript-Fuが書けました。

そもそもMeshRoomを使おうと思ったのに、iPhoneからGoogle Driveに写真ファイルをアップロードしたら、HEICという謎の識別子で読み込まれなかったのが最初。

「FonePaw HEIC変換」ソフトを使って、JPG画像に一括変換できたものの、これもMeshRoomで読み込まれない。試しにGimpでもう一度JPGファイルとして上書きエクスポートしたら、読み込まれた。

ということは、90枚の写真すべてをもう一度JPGで上書きエクスポートすればよいわけだが、一枚一枚実行するのは、大変。。。

ということで、上記記事のスクリプト部分を少し変更し、

; script-fu-folder2folder-export.scm
; by tanu

; Version 1.0 (20181110)

; Description
;
; Script to export folder images to other folders
;

(define (script-fu-folder2folder-export inDir inLoadType outDir)
  (let*
    (
      (varLoadStr "")
        (varFileList 0)
    )
    (set! varLoadStr
      (cond 
        (( equal? inLoadType 0 ) ".jpg" )
        (( equal? inLoadType 1 ) ".bmp" )
        (( equal? inLoadType 2 ) ".png" )
        (( equal? inLoadType 3 ) ".gif" )
      )
    )
    (set! varFileList (cadr (file-glob (string-append inDir "\\*" varLoadStr)  1)))

    (while (not (null? varFileList))
      (let* 
        ((filename (car varFileList))
          (short_filename (substring filename (+ (string-length inDir) 1) (string-length filename)))
          (image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
          (drawable (car (gimp-image-get-active-layer image)))
          ;保存ファイル名の先頭に"r_"を追加
          (newfilename (string-append outDir "\\" (string-append "r_" short_filename)))
        )
        ;水平反転処理
        ;(gimp-image-flip image ORIENTATION-HORIZONTAL)

        (gimp-file-save RUN-NONINTERACTIVE image drawable newfilename short_filename)
        (gimp-image-delete image)
      )
      (set! varFileList (cdr varFileList))
    )

    (gimp-patterns-refresh)
  )
)

(script-fu-register "script-fu-folder2folder-export"
  "<Image>/Script-Fu/Save Images Folder to Folder..."
  "Save Images Folder to Folder."
  "appin"
  "appin"
  "November 2018"
  ""
  SF-DIRNAME    "Load from" ""
  SF-OPTION     "Load File Type" (list "jpg" "bmp" "png" "gif")
  SF-DIRNAME    "Save to"  ""

)

 

というスクリプトを記述し、script-fu-folder2folder-export.scm というファイル名で保存。

保存したものを、C:\Users\(ユーザ名)\AppData\Roaming\GIMP\2.10\scripts

フォルダに格納し、GIMPのFiltersメニュー→Script-Fu→「スクリプトの再読み込み」でもう一度スクリプトを読む

するとメニューに記述したスクリプトが表示される(感動!)

Gimp-Script-Fu01

すると、次のようなポップアップウィンドウが出てくるので、

Gimp-Script-Fu02

読み出しフォルダと保存場所フォルダをそれぞれ指定したら、OK(実行)