アオイの備忘録ブログ

色んな事を書く備忘録用ブログです(※更新頻度は神のみぞ知る)

Rev.25 ユニティちゃんをUE5にインポートする

ユニティちゃんをUE5にインポートしてみた。

【作業環境】
UE5.0.3


【手順】
1、ユニティちゃんをDLする
https://unity-chan.com/contents/guideline/unity-chan.com

2、DLしたユニティちゃんデータ一式が入った.unitypackageファイルは
そのままでは使用出来ないのでUnityにインポートすると一式が
されるのでコピーして取り出す(アナログ的)

3、コピーしたアセット一式から必要なデータを取り出す
モデルファイル(拡張子fbx)
テクスチャファイル(拡張子tga)
アニメーションファイル(拡張子fbx)

本当に必要最低限のみ取り出すと以下になる

4、UEへインポート(モデル)
fbxファイルをUEへインポートする

[Import Animation]項目はアニメーションが付いたモデルをインポートする際に
チェックを入れる


今回マテリアルは手動で作成するので[Import Textures]のチェックをハズして
[Material Import Method]を【Do Not Create Material】に変更する


インポート時に上記の警告が出る際はインポート時のMesh設定の
【Use T0As Ref Pose】にチェックを入れると解消される
(元からチェック入れてインポートして良い)

[Use T0As Ref Pose]の設定に関しては公式を
FBX インポート オプションのリファレンス | Unreal Engine ドキュメント
[Use T0As Ref Pose]:
有効にすると、スケルタルメッシュの参照ポーズの置き換えにアニメーショントラックの
最初のフレーム (フレーム 0) が使用されます。

インポートが完了すると以下のファイルが表示される

Unitychan:スケルタルメッシュ
スケルタルメッシュとは、一言で言えば「骨(ボーン)入りのメッシュ」。
骨の入っていないメッシュのことを「スタティックメッシュ」。
Unitychan_PhysicsAsset:物理アセット
Unitychan_Skeleton:スケルト
各説明は以下
📰スケルタル,スタティックメッシュとは? [UE5入門 #3-8]
物理アセット エディタ | Unreal Engine ドキュメント
[UE4] スケルトンについて|株式会社ヒストリア


早速[Unitychan:スケルタルメッシュ]を開いてみる

5、テクスチャのインポート、テクスチャからマテリアルの作成
テクスチャ(tga)をインポートする

テクスチャからマテリアルを作成する

全て設定してみると頬がおかしい。浮き上がってる。

これは頬用のマテリアルが半透明設定になっていないのが原因なので
[cheek_00_Mat]を開いて[Blend Mode]を
【Opaque】から【Translucent】に変更してノードを繋ぎ直す

【RGB】をベースカラーに、【A】をオパシティに

設定するとキレイに

とりあえずここまで。


【とても参考にさせて頂いた記事】
[UE4]UnrealEngineでユニティちゃんを召喚する(前編) - Qiita
UE4でゼロからユニティちゃんを表示させるまで - Let's Enjoy Unreal Engine

ありがとうございます。

Rev.24 原神のFBXモデルをUE5にインポート

Rev.22 の出力した原神モデルのFBXファイルをUE5にインポートしたのでメモ。
※使用モデルは変わってます。

【使用環境】
・UE5.0.3
Blender 2.93

【手順】
1、FBXファイルをインポート
「インポートと同時にマテリアルを作成する」設定が
デフォルトになっているが([Create New Material])
マテリアルは別でテクスチャから作成するので必要無いので
[Do Not Create Material]に変更して[Import Textures]のチェックを外す

Animationもインポートする必要は無いのでチェックを外す

作成すると以下の3つのファイルがインポートされるはず

2、テクスチャファイルのインポートとマテリアルの作成
テクスチャファイルをインポート
※フォルダ分けしとくと見やすい

インポートしたら全て選択してマテリアルを作成する

マテリアル作成したら専用フォルダ作って移動しとく(しなくてもどっちでも良い作業)

諸々基本準備完了したらスケルタルメッシュを開いてみる

マテリアルが設定されていない状態なので設定していく

全て設定完了するとこうなる

でも拡大してみると

セルアニメ風では無い。なんて表現するのが良いか分からないけど3D感が強い。
テカテカしてる。

これはマテリアルをいじる事で変更する事が出来る。
※この方法が正解か分からないので「解決」では無い

適当なマテリアルを開いて

[マテリアル]→[Shading Model]を【Default Lit】から【Unlit】に変更する

更にTexture SampleノードのRGBをベースカラーではなくエミッシブカラーにつなぐ

このモデルで使用している全てのマテリアルを同じ様に変更するとこうなる

ん~・・・・強く白光りしてるけどセルアニメ風に近づきはした。

レベルに表示してみるとこんな感じ。
髪の色も本来の色と違うしこの白光りの原因は対象のマテリアルに
ありそうだけど原因も対処方法も分からないので現状は放置。

※どなたかお分かりでしたらぜひとも教えて下さい。

とりあえず目的の「FBXファイルをUE5にインポートする」は達成した
ので今日はここまで。

分からない事が恐ろしいほど沢山あって大変。

【2022.11.20 追記】
髪の色に関して対象マテリアル(今回はYORAN_TEX_髪_Mat)の
「Blend Mode」を【Opaque】から【Translucent】に変更すると少し原作に近づいた
※この方法が正しいかは不明、色々いじってたら変わった、ラッキー

Rev.23 原神PmxモデルをUE5にインポートしてみた

公式からダウンロードした原神PmxモデルをUE5にインポートしてみた

【使用環境】
Windows10
Blender 2.93.10
UE 5.0.3


【注意】
前提としてデフォルトでPmxファイルはUEにインポート出来ないので
VRM4Uプラグインと言うのを追加しておく必要がある。

詳細、設定は以下
ruyo.github.io
ruyo.github.io


【手順】
※1画面に収められなかったのでキャプチャは分割
1、ダウンロードして適当なフォルダに解凍したらPmxモデルをUE5にインポートする

以下インポート時各設定

2、インポートすると以下のファイルが追加されるはず(例)、雷電将軍の場合

3、スケルタルメッシュを開いてみるとキャラが白光り、発光してる
※自分の環境だけなのか他の人も関係なくこうなのかは不明、情報求む

マテリアルも開いてみると白い、発光している

これの対処法はマテリアルインスタンスを開いて
「Global Texture Parameter Values」
のチェックが入っている以下項目のテクスチャを正しいものに設定すると解決する

設定してみると

変わる(かわいい)

全て設定すると

解決。

雷電将軍には武器も付いているのでインポートしてみる。
モデルと同じくこちらもそのままの設定でインポート。


何故かIKに武器に付いてる。武器を変化させたいと言う事なのだろうか。
自分にはここらへんは分からない。

【レベルに表示してみた】
こんな感じ、ここまで来るだけで恐ろしく大変だった。挫折しなかった自分偉い。

次はFBXファイルのインポートを検証予定。

Rev.22 BlenderでMMDのPMD・PMX・VMDファイルを読み込み、出力する為のblender_mmd_tools追加(BlenderLauncher使用版)

BlenderLauncherを使用する様になったのでアドオンの追加場所が変更したので更新ブログ
blender_mmd_toolsで確認
2022.10.23 時点での情報に基づく記事

【作業環境】
Windows10
BlenderLauncher 1.51
Blender 3.1.2
blender_mmd_tools 2.6.1

【手順】
blender_mmd_toolsは最新は以下で開発されている
github.com

1、適当なバージョンをDownloadしたら以下フォルダにフォルダごと置く
多分最初はscripts、addonsフォルダは無いので作成する
C:\Users\$user_name\AppData\Roaming\
Blender Foundation\Blender\$version\scripts\addons

2、Blenderでインストール
フォルダに追加しただけでは使えないのでBlenderでインストールする。
「編集」→「プリファレンス」で開いて「アドオン」項目を選択しmmdと検索すると
addonsフォルダに追加されてるなら画像の様に出てくる。

出てきたらチェックを入れ有効化する。

有効化すると「ファイル」→「インポート」の可能データ形式
MMD系が増えているはず。


増えていない場合は
・アドオンを一旦削除しての再追加
・再有効化
等を試してみるのが良いと思います。

以上

Rev.21 BlenderLauncherを使用してのBlenderバージョン管理

Blenderの複数バージョンを管理できる「BlenderLauncher」と言う
オープンソースのツールがあるので導入してみた。

【作業環境】
Windows10

【手順】
1、以下GitHubのreleaseページを開いて環境に応じたものをダウンロードする。
GitHub - DotBow/Blender-Launcher: Standalone client for managing official builds of Blender 3D

2、指定場所にインストールする
特に指定は無いので自分は容量の大きいドライブにフォルダを作ってインストールした
D:\Program Files\Blender Foundation

インストールして起動するとツール画面はこんな感じ

ダウンロードしているバージョンが表示される。
右端の数値はBlenderを開いてる数でBlender 2.93を一つ開いていると言う事。

「Download」タブを選ぶとバージョン一覧が出てくるので簡単に
バージョンの追加が出来る、便利。


【アドオンの追加】
「BlenderLauncher」を使うとアドオンの追加場所はデフォルトは以下になる
C:\Users\$user_name\AppData\Roaming\
Blender Foundation\Blender\$version\scripts\addons


Blenderはバージョンアップ頻度が高いツールだと思うので
まとめて管理できるととても便利。

【参考サイト】
【Blender】複数バージョンを簡単に管理できる、BlenderLauncherの使い方 | けものこばち

Rev.20 原神PmxモデルをBlenderにインポートしてFbxでエクスポートもしてみた

原神のキャラクターデザインが大好きで更にPmxファイルが「無料」で
公式配布されているのでBlenderで表示してみた。公式謝謝。
※前提としてPmxファイルは標準ではBlenderで見ることは出来ないので
Blenderのアドオンである「mmd_tools」をインストールしておく必要がある

※以前は別の方が開発されていたがそちらは更新が止まり、現在は別の方が引き継ぐ形で以下で更新されている
GitHub - UuuNyaa/blender_mmd_tools: MMD Tools is a blender addon for importing/exporting Models and Motions of MikuMikuDance.


【使用環境】
Windows10
Blender 2.93.10

【手順】
1、元のモデル(Pmx)ファイルをダウンロードする
日本語公式サイトにもあるがテクスチャが崩れる等の問題があるので
中国語公式からDLするのが良い。
以下のサイトがまとまっていてとてもありがたい限り。
【原神】公式MMDモデル配布一覧
HoYoLAB - Official Community

2、モデルファイルをBlenderにインポートする
今回は以下ページからVer 2.1の雷電将軍を使用
原神一周年庆典

【事前準備】
DLしたら適当なフォルダで解凍する。解凍直後はこうなハズ。

解凍直後
texフォルダ内のテクスチャリスト

ここは好みの問題だと思いますがここで自分は中国語表記名を日本語に変えておきました。気持ち的に。
雷电将军.pmx → 雷電将軍.pmx
texフォルダ内の
发.png → 髪.png
发1.png → 髪1.png

【インポート】
blender_mmd_toolsをインストールしておいてBlender
「ファイル」→「インポート」にMMD関係の項目が追加されているので雷電将軍のPmxファイルを選択して
何も変更せずデフォルト設定のままインポート。

Blenderインポート画面

インポート直後はこうなっているハズ。

インポートしたら次はテクスチャを貼っていく。(texフォルダ内のアレ)
表示を以下のモードに変える

表示を変えるとテクスチャが正しく設定されていない箇所は紫で表示されるので
モデルを選択した状態で右のアイコンリストからマテリアルアイコンを選択する。
選択するとどの箇所が正しく設定されていないか詳細に表示されるのでそこを選択し
詳細の「MMDテクスチャ」のテクスチャ欄を正しいのに設定する。
今回は上で日本語に直した箇所が紫になっている。

正しいテクスチャを設定して解決。
が見比べてみると何か脇横の腕の服の部分に影的なものが見える。

影付き
影ナシ

こういう場合はテクスチャ設定の下にある「共有トゥーンテクスチャを使用」のチェックを外す事で解決する。(影ナシの方は外しているので影が無い)

設定が終わったら「ファイル」→「エクスポート」からFbx形式で
エクスポートすれば完了。
カメラは要らない気もするけど特にあっても問題無いのでそのまま
設定は変えずにエクスポート。

以上で作業終了。
公式が配布してくれてるのは他のゲーム作品ではそうは無いのでとても嬉しい。
次はこのFbxモデルと元のPmxモデルをUE5に入れてみようと計画中。

Rev.19 ゲームコントローラーが接続されているかどうかの確認

XBox360コントローラーを使用している時にUnityのスクリプトから確認する方法を
忘れない様にメモ。

 

■ 環境

・Unity2019.4.22f1
・Windows10
・VisualStudio2017

■ 内容

▼ 接続数1つ時
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Sample1 : MonoBehaviour
{
// Use this for initialization
void Start ()
{
}
// Update is called once per frame
void Update ()
{
// 接続されているコントローラの名前を取得
var controllerName = Input.GetJoystickNames();

// 接続数がゼロならエラー
if( controllerName == "" ) {
Debug.Log("Error");
}
// ※Lengthを使うことも出来るが接続数がゼロでも1が入るので注意
}
}

▼ 接続数複数時
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Sample2 : MonoBehaviour
{
  // Use this for initialization
void Start ()
{
}
// Update is called once per frame
void Update ()
{
// 接続されているコントローラの名前を取得
var controllerLists = Input.GetJoystickNames();

// 接続数がゼロならエラー
// 配列の先頭が空であれば接続数はゼロと判定出来る
if( controllerLists[0] == "" ) {
Debug.Log("Error");
}

    // 接続リストを出す
for( int i = 0; i < controllerLists.Length; i ++ ) {
Debug.LogFormat( "Name{0}:{1}", i, controllerLists[i] );
}

}
}

これで取得は出来る。
これを少し修正して毎フレーム接続監視する事も出来る。

 

■ 補足

下記の皆さんを参考にブログ設定をはてな記法にして
「>||」「||<」で挟んでいるのにソースコード表記にならなくて
もう意味が分からない・・・・
「>|言語|」にしてもシンタックスハイライトもならないし・・・・なにゆえ・・・

 

はてなブログでソースコードをいい感じに載せる方法 - 記録。

はてなブログでソースコードを表示させる方法 - コンサルでデータサイエンティスト

はてなブログにソースコードを貼り付ける方法 - くりにっき