VRoid의 cluster는 VRM으로 출력하는데 도대체 어떻게 해야 좋을까요?

14311 단어 cluster.VRMVRoidPython
현재 VRoid Studio는 cluster에 대응하는 VRM을 출력하는 기능을 갖추고 있지만, 한편으로는'화질이 너무 떨어진다','cluster의 제한이 너무 엄격하다'는 평가도 나온다.
맥과 스마트폰으로도 접근할 수 있는 국산 가상 SNS인 만큼 쉬운 방법으로 문제를 해결할 방법을 강구했다.

cluster에 대한 출력 표준 대응


현재 버전의 VRoid Studio 표준은 cluster 출력을 지원합니다.
촬영/내보내기 탭에서 내보내기를 선택합니다.
엄밀히 말하면 제한은 이것뿐만이 아니지만,cluster에 업로드하려면 다음과 같은 제한을 제거해야 한다.
* 다각형 수량: 32000 이하
*재료 수량: 8이하
* 가로: 128 이하

소재 통합 기능 2048px 출력, 4096px 출력, 크기 조정


VRoid Studio, 아틀라스화 기능이 2048px에서 출력되면 어리석은 행동을 할 수 있으므로 가능한 4096px로 출력한 뒤 사이즈를 조정하는 것을 추천합니다.
(50% 미만으로 축소하는 것은 어떻게 된 일입니까?)

왜 머리카락 재료가 복제되는 이상한 행동이 일어나는지 이유를 모르겠다.
4096px로 출력하면 cluster에 직접 업로드할 수 없지만 이쪽 소프트웨어를 사용하면 2048px로 조정할 수 있기 때문에 가능한 4096px 출력으로 사이즈를 조정하는 것을 권장합니다.
  • VRM 텍스처 교체 & 최적화 도구 #cluster#VRM
    https://booth.pm/ja/items/2601784
  • 그럼에도 불구하고 cluster는 2048px의 해상도를 완전히 사용할 수 있고 활동 주최자만 사용할 수 있다. 픽셀이 얼마나 붕괴되든지 간에 미세한 부분까지 확대하지 않으면 이런 수준이기 때문에 VRoid의 출력을 직접 사용해도 상관없다.
    문제는 일반 민중을 대상으로 하는 512px의 강제 축소를 초래할 수 있다는 점이다.

    VReducter가 cluster 일반 사용자의 구세주가 될까요?


    일반 사용자, 모바일 디스플레이 또는 세계적으로 사용되는 VRM의 최대 해상도는 사실상 512px로 제한되어 있기 때문에 이 문제를 해결할 방법을 강구해야 한다.
    VRoid의 아틀라스의 분배라면 512px로 조정했을 때 피부와 원피스의 해상도는 256x256px였다.이거 너무 작죠?
    그런데 512×512px를 한 벌에 통째로 쓰면 무리하지 않을까요?
    따라서 원피스 등의 해상도를 우선적으로 조절해야 한다.
    VReducter는 pytohon으로 작성한 맞춤 제작 가능한 소프트웨어인 만큼 의상 해상도를 최대한 높이는 방향으로 조정하는 등 유연성이 높기 때문이다.
    VReducter 도입 방법과 Mine씨 등에 대해서도 정리했으니 이쪽 기사를 참조하세요.
  • https://qiita.com/htomine/items/4ad53c0d4c526cd433b7
  • Mac에 VReducter 설치


    Windows 사용자가 많기 때문에 Mac에 관심을 가지면 명령의 pip는 pip3, pythn은 pyhon3으로 바꿔 주십시오.필요에 따라 Homebrew를 가져오십시오.
    M1의 기계는 Rosetta2를 사용하면 순조롭게 진행될 것 같습니다.터미널 열기
    % arch -x86_64 zsh
    
    이렇게 치면 Intel 기계인 줄 알고 이동합니다.

    VReducter 사용 시 내보내기 설정


    이번에는 결합하지 않는 소재의 설정으로 VRoid에서 내보낼 예정이지만, 이번에는 재료의 결합을 멈추고 다각형 수와 다각형 수만 조정하고 VRM을 제한 내로 내보낼 예정이다.
  • 다각형 수량: 32000이하
  • 가로: 128 이하
  • 버전 제한


    일반 지도, 이동등(sphere) 등 소재 정보를 날려보낸다.하지만 여기서는 큰 문제가 아니다.
  • 원래 저해상도 일반지도였나?
  • "VRoid 결 같지 않아"같은 유행인데 Light도 기본적으로 사람을 싫어하죠?
  • 그런 느낌이 없어져도 아프지 않은 사람도 있고, 받아들일 수 없는 사람은 블렌더와 유닛과 친하게 지내세요.

    VReducter의 개조


    우리 빨리 VReducter를 개조합시다.
    아틀라스화 의상과 피부 결에 따라 다른 결과 결합되기 때문에 아틀라스화 처리를 제외하면 된다.
    상응하는 처리 방법을 찾아보면 vrm/reducter.620번 줄쯤에서 뭔가 하는 것 같기도 하고
    보시다시피 무늬를 아틀라스화하는 실제 처리입니다.
       # マテリアルを結合
        print('combine materials...')
    
    # (中略)
            # 服の結合
            if cloth_place := get_cloth_place(gltf):
                gltf = combine_material(gltf, cloth_place['place'], cloth_place['main'], texture_size)
    
            # 体、顔、口
            gltf = combine_material(gltf, {
                '_Face_': {'pos': (0, 0), 'size': (512, 512)},
                '_FaceMouth_': {'pos': (512, 0), 'size': (512, 512)},
                '_Body_': {'pos': (0, 512), 'size': (2048, 1536)}
            }, '_Face_', texture_size)
            # レンダータイプを変更
            face_mat = find_vrm_material(gltf, '_Face_')
            face_mat['keywordMap']['_ALPHATEST_ON'] = True
            face_mat['tagMap']["RenderType"] = 'TransparentCutout'
    
            # アイライン、まつ毛
            gltf = combine_material(gltf, {
                find_eye_extra_name(gltf): {'pos': (0, 0), 'size': (1024, 512)},
                '_FaceEyeline_': {'pos': (0, 512), 'size': (1024, 512)},
                '_FaceEyelash_': {'pos': (0, 1024), 'size': (1024, 512)}
            }, '_FaceEyeline_', texture_size)
    
            # 瞳孔、ハイライト、白目
            gltf = combine_material(gltf, {
                '_EyeIris_': {'pos': (0, 0), 'size': (1024, 512)},
                '_EyeHighlight_': {'pos': (0, 512), 'size': (1024, 512)},
                '_EyeWhite_': {'pos': (0, 1024), 'size': (1024, 512)}
            }, '_EyeHighlight_', texture_size)
    
            # 髪の毛、頭の下毛
            hair_back_material = find_vrm_material(gltf, '_HairBack_')
            if hair_back_material:
                hair_resize = {'_HairBack_': {'pos': (512, 0), 'size': (1024, 1024)}}
                hair_material = find_near_vrm_material(gltf, '_Hair_', hair_back_material)
                if hair_material:
                    hair_resize[hair_material['name']] = {'pos': (0, 0), 'size': (512, 1024)}
                    gltf = combine_material(gltf, hair_resize, hair_material['name'], texture_size)
    
    

    해상도 > 재료질감이라는 절대적 진리


    얼굴 부품을 어느 정도 줄여도 여유가 있기 때문에 아틀라스화를 하면 그만큼 신체/의상 해상도를 얻을 수 있다.
    따라서 얼굴 부품은 병합하면서 신체와 의상(위쪽)이 아틀라스화되지 않도록 교체해달라.
    그것이 바로 이 지점이다.그리고 VRoid 0.1.2의 대응도 넣었습니다.
    https://github.com/yakumo-proj/VReducer/tree/benefit-512px
    그럼 사용 전과 사용 후.얼굴의 차이는 많지 않고 목 아래는 완전히 다른 것이다.
    윤활등은 작동하지 않지만 그런 것보다 해상도가 압도적으로 중요하죠?

    실제로 VReducter를 사용했을 뿐만 아니라 기본 헤어스타일도 Hair Sample의 기본 헤어스타일로 변해 의상에 맞춰 혼합 모양으로 법선을 수정한다(내보낼 때 다각형의 수량을 미묘하게 줄이면 된다).

    비주얼을 더 좋게 해야 하나요?


    해상도 512px는 유한하지만 cluster의 데이터 제한 여력은 무엇을 할 수 있습니까?
    앞의 VReducter 출력을 살펴보겠습니다.
    (中略)
    vrm materials: 7
    materials: 7
    textures: 10
    images: 10
    meshes: 3
    primitives: 18
         Face(Clone).baked : 9
         Body.baked : 6
         Hair001.baked : 3
    
    재료 수는 7입니다.재료가 하나밖에 없어서 여력이 있다고 할 수는 없지만 하나 겹칠 수도 있다(유니티 나생문 도구 같은 걸로 조사해보자).
    재질이 16장(건)에 이르기 때문에 일반 지도를 부활시켜 복장의 입체감과 질감을 드러낼 수 있을 것이다.512px가 충분히 나타날 수 있는지 의문입니다.
    다양한 것을 시도해 보세요.
    그리고 블렌더와 유닛 등 초미모의 VRM으로 쉽게 전환할 수 있는 분들은 알려주세요.

    512px 기준으로 가상 이미지를 올리면 이벤트용 해상도가 너무 낮은데 어떡하지?


    이벤트용(2048px)과 세계용(512px)을 따로 제작해 업로드해주세요.이를 위한 가상 이미지 교환의 구조다.

    좋은 웹페이지 즐겨찾기