오리지널 VRM 모델에 CandyRockStar를 춤 받는다 (1) CandyRockStar의 도입

10400 단어 Unity3D
CandyRockStar+VRM+PostProcessingStack이 잘 갔습니다… (폭음주의) 피 c. 라고 r. 코 m / 7XMYr8 오우라 — 🔥염아🔥 (@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 표준 자산.


  • 레코더

    • 녹화용 Unity 자산.



Unity에서 동작 확인



우선 유니티 찬 라이브 스테이지! -Candy Rock Star-를 공식 사이트에서 다운로드하십시오. 다운로드가 완료되면 Unity에서 폴더를 지정하여 엽니 다. 그러자…



오류가 발생합니다. 정말 멋지다.



글쎄, 에러가 나오는 부분을 지우면 좋겠지요. (근육 해결)



AutBlink.cs의 오류는 namespace "Policy"가 없기 때문입니다. 지웁니다.

(이것은 권리 주위인가? 지워도 될까? 개인 사용이라면 괜찮다고 생각하지만)




AutBlink.cs

//以上略

using UnityEngine;
using System.Collections;
//using System.Security.Policy; ←冒頭//でコメントアウトor消す

//以下略



WaitingRoom.cs와 StageDirector.cs의 ScreenOverRay.

이것은 Unity의 Pro 버전 밖에없는 기능이므로 유료 사용자 이외에는 사용할 수 없습니다.

지우자.




WaitingRoom.cs

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;
//      }                                       ↑↑↑↑↑↑↑↑↑ここまで↑↑↑↑↑↑↑↑
    }
}




StageDirector.cs

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가 없다고합니다.

없지요. 지웁니다.




CameraSwitcher.cs

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가 춤을 춥니 다.



놀라운……



계속은 또 다음에!

다음 기사



참고



Unity 공식 사이트

유니티 짱 공식 사이트



라이센스



유니티 찬



이 작품은 유니티 찬 라이센스 조항에 따라 제공됩니다


좋은 웹페이지 즐겨찾기