20200820のUnityに関する記事は3件です。

【Unity】Final IKの中にモーション記録の機能があった件

こんにちはっ?八ツ橋まろんです

バーチャルYouTuberの中にはUnity + Final IKを駆使してキャラクターを動かし活動している人も多いことと思います。Final IKはその名の通りIKに関する有料アセットで、これ一つあればHTC Vive + Vive Trackerなどの構成でキャラクターを現実の動きとリンクさせることができます。

例)キャラクターとのリンク: 現実では中の人がだいたい同じ動きをしている

また、バーチャルYouTuberの動画やミュージックビデオにおいては、表情や手の動きを「撮影の後で編集」するために「モーション記録」を行うことがあるかと思います。モーション記録をするためのアセットとして、Githubで公開されているEasy Motion RecorderやAsset Storeの有料アセットなどが存在するようです。(弊調べ)

例)モーション記録:モーションはEasy Motion Recorderで記録し、手や表情、カメラワークなどを後付け編集している


さて、Final IKの理解を深めようとFinal IKを眺めていたら、この中にモーション記録用のスクリプトが入っていることに気が付きました。

なるほど、これを使えばFinal IKだけでキャラクターの動きのリンクから撮影までできちゃうわけですね!知らなかった!!

ということで、このスクリプトを使うための簡単なやり方を紹介します。

①Hierarchyにある対象のキャラクターに"Humanoid Baker" component を追加、設定は画像の通り
無題.png

②HierarchyにCanvasを作成
③Canvasの子にButtonを2つ作成し位置調整
④両方のButtonのButton ComponentのOnClickにキャラクターをドラッグ&ドロップし、片方の内容は"HumanoidBaker.StartBaking"にし、もう片方は"HumanoidBaker.StopBaking"にする。
無題a.png

⑤シーンを再生して記録開始の方のボタンを押し、キャラクターを適当に動かしてみる

⑥記録終了の方のボタンを押すと、①で指定したフォルダにアニメーションが作成される

<↓↓↓↓使い方動画↓↓↓↓>

以上です。お疲れ様でした。

八ツ橋まろん

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Unityでファイル選択画面を使う

↓こんな感じのダイアログボックスを使ってファイルを選択したい:thinking:

image.png

Script

script
using UnityEditor;

 public void OpenFile()
    {
        //パスの取得
        var path = EditorUtility.OpenFilePanel("Open csv", "", "CSV");
        if (string.IsNullOrEmpty(path))
            return;
        Debug.Log(path);

        //読み込み
        var reader = new StreamReader(path);
        Debug.Log(reader);
    }

詳細 //ここでダイアログボックスを出す

1つのファイルを選択

script
        var path = EditorUtility.OpenFilePanel("Open csv", "", "CSV");
        var path = EditorUtility.OpenFilePanel(ダイアログボックスの名前, ディレクトリのデフォルト設定,読み込むファイルの拡張子 );

EditorUtility.OpenFilePanel

複数種類のファイル拡張子を指定する場合

script
var path = EditorUtility.OpenFilePanelWithFilters("Open image", "", {"音楽ファイル","mp3,ogg,wav"});

EditorUtility.OpenFilePanelWithFilters

フォルダーを選択する場合

script
var path = EditorUtility.OpenFolderPanel("Open Folder", "", "");

EditorUtility.OpenFolderPanel

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【Unity】WindowsでwebGLビルドをするときの注意点

この記事でできること

  • windowsでwebGLビルドができるようになる。

こんなことありませんか?

  • windowsでなぜかwebGLビルドができない。

原因

  • windowsの場合、プロジェクトの作成場所のフルパスに全角が入っていると、webGLビルドができない。 a01.png

対処法

すでにプロジェクトを作成している場合

1. プロジェクトをエクスポートパッケージします。

a02.png
a03.png
a04.png

2. Cドライブ直下などに、任意の半角英数でunityの作業用フォルダを作成します。(フォルダまでのフルパス内に全角が入っていないこと)

a05.png

3. 上記②で作成したフォルダ内に、新規プロジェクトを作成します。

4. 上記③で作成したプロジェクトで、インポートパッケージで①のパッケージデータを読み込みます。

a06.png
a07.png
a08.png
a09.png

5. あとはwebGLビルドを通常通り行います。

a10.png

これから新規プロジェクトを作成する場合

  • 最近のwindowsは、全角のフォルダが存在します。(「ドキュメント」や「ダウンロード」など)
  • CドライブやDドライブなどの直下に、任意のunityの作業用のフォルダを半角英数で作成して、そこにプロジェクト(プロジェクト名は半角英数です)を作成します。
  • この状態であれば、問題なくwebGLビルドができるはずです。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む