CandyRockStar+VRM+PostProcessingStackが上手く行きました……!(爆音注意) pic.twitter.com/7XMYr8oURA
— 🔥炎児🔥 (@niiya_enji) 2019年4月21日
Unity上で自分が動くととても嬉しいですね!!!
今回はUnityちゃんのCandyRockStarをお借りして自作(VRoid+blender改変+Unityで調整)のVRMモデルに踊ってもらいました.
#使ったもの
-
Unity 2018.3.13f1
- これがないと始まらない.インストールしておきましょう.
-
ユニティちゃんライブステージ! -Candy Rock Star-
- 今回のメイン.ステージやモーションも含め大体ここにあります.
-
UniVRM 0.51.0_1b36
- VRMをUnityで読み込むパッケージ.
-
PostProcessingStack v2
- カメラエフェクトのUnity標準アセット.
-
Recorder
- 録画用Unityアセット.
#Unityで動作確認
まずはユニティちゃんライブステージ! -Candy Rock Star- を公式サイトからダウンロードしましょう.ダウンロードできたら,Unityでフォルダを指定して開きます.すると……!
エラーが出るぜ.なんてこったい.
まあエラー出る部分を消したらいいんですよね,ようするに.(筋肉解決)
AutBlink.csのエラーはnamespace"Policy"がないのが原因らしい.消します.
(これ権利まわりなのかな?消していいのかな?個人使用なら大丈夫だと思うけど)
//以上略
using UnityEngine;
using System.Collections;
//using System.Security.Policy; ←冒頭//でコメントアウトor消す
//以下略
次にWaitingRoom.csとStageDirector.csのScreenOverRay.
これはUnityのPro版にしかない機能なので,有料ユーザー以外は使えません.
消しましょう.
using UnityEngine;
using System.Collections;
public class WaitingRoom : MonoBehaviour
{
public GameObject cameraPrefab;
public GameObject characterPrefab;
public float fadeTime = 0.5f;
// ScreenOverlay[] screenOverlays; ←冒頭//でコメントアウトor消す
float overlayIntensity = 1.0f;
//中略
void Awake()
{
// Instantiate the camera.
var go = (GameObject)Instantiate(cameraPrefab);
// screenOverlays = go.GetComponentsInChildren<ScreenOverlay>();←冒頭//でコメントアウトor消す
//中略
}
void Update()
{
//中略
// foreach (var so in screenOverlays) ↓↓コメントアウトor全消し↓↓
// {
// so.intensity = overlayIntensity;
// so.enabled = overlayIntensity > 0.01f;
// } ↑↑↑↑↑↑↑↑↑ここまで↑↑↑↑↑↑↑↑
}
}
using UnityEngine;
using System.Collections;
public class StageDirector : MonoBehaviour
{
// 中略
GameObject musicPlayer;
CameraSwitcher mainCameraSwitcher;
// ScreenOverlay[] screenOverlays;←冒頭//でコメントアウトor消す
// 中略
void Awake()
{
// Instantiate the prefabs.
musicPlayer = (GameObject)Instantiate(musicPlayerPrefab);
var cameraRig = (GameObject)Instantiate(mainCameraRigPrefab);
mainCameraSwitcher = cameraRig.GetComponentInChildren<CameraSwitcher>();
// screenOverlays = cameraRig.GetComponentsInChildren<ScreenOverlay>();←冒頭//でコメントアウトor消す
// 中略
}
void Update()
{
// foreach (var so in screenOverlays) ↓↓コメントアウトor全消し↓↓
// {
// so.intensity = overlayIntensity;
// so.enabled = overlayIntensity > 0.01f;
// } ↑↑↑↑↑↑↑↑↑ここまで↑↑↑↑↑↑↑↑
}
// 中略
}
終わったー!と思いきや,追加でエラーが出ます.
なんだァ?てめェ……
キレてもしょうがないので,また修正します.
CameraSwitcher.csでDepthOfFieldScatterが無いと言われてます.
無いんでしょうね.消します.
using UnityEngine;
using System.Collections;
public class CameraSwitcher : MonoBehaviour
{
//中略
void Start()
{
// Target information.
target = GameObject.Find(targetName).transform;
followPoint = target.position;
// Initialize DOF fx.
// var dofFx = GetComponentInChildren<DepthOfFieldScatter>();←冒頭//でコメントアウトor消す
// if (dofFx) dofFx.focalTransform = target;←冒頭//でコメントアウトor消す
//中略
}
//中略
}
まだエラーは出ますが,ここまでやれば動くので大丈夫です.
ProjectウィンドウのSceneフォルダ内のMainを開いて上部再生ボタンを押すとUnityちゃんが踊ります.
素晴らしい……
続きはまた次回!
次回の記事
#ライセンス
ユニティちゃん
この作品はユニティちゃんライセンス条項の元に提供されています