Giter Site home page Giter Site logo

epicgames / metahuman-dna-calibration Goto Github PK

View Code? Open in Web Editor NEW
413.0 413.0 108.0 465.93 MB

Home Page: https://epicgames.github.io/MetaHuman-DNA-Calibration/

License: Other

Python 15.47% Mathematica 79.84% CMake 0.17% C++ 4.35% C 0.04% SWIG 0.12% AMPL 0.01% CSS 0.01%

metahuman-dna-calibration's People

Contributors

marijavik avatar smilicev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

metahuman-dna-calibration's Issues

Removing a joint does not update skinning

I would just like verification that this is working as intended: when I remove a joint using the Python example provided, the skinning is not updated correctly, resulting in incorrect deformation as poses are triggered. Is there perhaps a missing command in the example to re-calculate the skin weights or is this the intended result? In the image below, I have removed one of the eyelid joints, and when the character blinks, the vertices deform incorrectly.
image

SWIG tool error when compile pydna

I compiled the dnaclib using the command as follows:

cd dnacalib
mkdir build
cd build
cmake -DPYTHON3_EXACT_VERSION=3.9 -DDNAC_LIBRARY_TYPE=SHARED ..
cmake --build . --config Release

but failed with error:

C:\dna_calibration\dnacalib\build\py3bin\DNAPYTHON_wrap.cxx(19338,47): error C2065: “SWIG_Fr”: 未声明的标识符 [C:\dna_calibration\dnacalib\build\PyDNA\python3\py3dna.vcxproj]

then I opened DNAPYTHON_wrap.cxx, the last lines are:

SWIG_Python_SetConstant(d, "Direction_down",SWIG_From_int(static_cast< int >(dna::Direction::down)));
SWIG_Python_SetConstant(d, "Direction_front",SWIG_From_int(static_cast< int >(dna::Direction::front)));
SWIG_Python_SetConstant(d, "Direction_back",SWIG_Fr

Obviously it is not a complete cxx file. Seem the problem is Swig can not generate a complete cxx file.
I am using Swig 4.0.0, and I also tried Other versions, but the same problem.

Also, when I compiled 'PyDNACalib', the 'DNACalibPYTHON_wrap.cxx' file generated by Swig is not complete.

Cannot generate rig maya file with mh4 rig definition

Hello,

I used this script: dna_viewer_grab_changes_from_scene_and_propagate_to_dna.py. And I switched to mh4 gui and assemble script but still can only generate rig maya file with old rig definition instead of mh4. Please help!
mh4_rig

  1. I used mh4 path in DNA viewer
    image
  2. Used mh4 path in the script
    image
  3. I also used another script to check which rig definition is used, the output said "Use mh4 folder"
    image

MayaUERBF 2024 support

I'm a user of your Maya RBF plugin and have been eagerly awaiting its compatibility with Maya 2024 - Are you able provide an estimated timeline or any information regarding when we can expect Maya 2024 compatibility?

Joint IDs order in joint groups do not match with values in the matrices

Hi Epic-3Lateral!

I'm working my way to be able to read/write from the values matrices for the different joint groups and expressions using the Python DNA API.

The initial assumption is that the order in which the joints are presented in the joint group should help decide where the slopes in the values matrix are. Well this is not only False, but I've found is random (in some joint groups the order in which values are presented match only when I sort the joint IDs in ascending order, just to name an example)

Here is another example with a face I'm working with ATM:
-Joint 324 (FACIAL_R_EyelidUpperA2) and Expression 11 (eye_blink_R)
-Joint Group 51: [321, 338, 322, 326, 324, 340, 341, 339]
-Joint index in joint group: 4
-Expression index in inputs: 15
-Inputs lenght: 41
-Outputs lenght: 48

Using these values I should be able to find the first of 6 output values at these coordinates in the matrix: (24, 15). Or in other words, at index 999 of the values. The remaining values should then be located at 1040, 1081, 1122, 1163 and 1204.

1122, 1163 and 1204 should be the rotation values of the joint when eye_blink_R is set to 1. BUT, they ARE NOT!.

Instead, if I do a manual search for the actual rotation I see in Maya when eye_blink_R is set to 1 (with the help of an IDE and the DNA file as JSON), I find the actual indexes of these values in the matrix are: 753, 794, 835, 876, 917, 958.

Given the first index is 753, the joint index of joint 324 in joint group 51 should be 3, not 4!! So the order in which the Python DNA API is returning these joint IDs is not reliable.

Did I miss something obvious? Or is there a sorting algoritm we should be aware of?

example dna_viewer_grab_changes_from_scene_and_propagate_to_dna not working

Hello,
I'm using the script example dna_viewer_grab_changes_from_scene_and_propagate_to_dna
I use option 2.1 - start DNA Viewer GUI (dna_viewer_run_in_maya.py)

Then I run the script upto the load Data part - 3
However this also loads the faceboard gui thereby disabling the ability to adjust the bones !

What am i doing wrong ?

Thanks,
b

Facial Controllers are missing / changed after DNA Calibration

2023-12-11_14-09-40

Hello, I noticed some facial controllers are missing or changed after I made DNA calibration following the example of propagating changes from Maya scene to dna file (examples/dna_viewer_grab_changes_from_scene_and_propagate_to_dna.py). Any ideas?

ModuleNotFoundError: No module named 'dna_viewer'

This isn't an issue but trying to figure out why I'm getting this error when running dna_viewer_run_in_maya.py

# Error: No module named 'dna_viewer'
# Traceback (most recent call last):
#   File "<maya console>", line 49, in <module>
#   File "C:\Program Files\Autodesk\Maya2022\Python37\lib\site-packages\shiboken2\files.dir\shibokensupport\__feature__.py", line 142, in _import
#     return original_import(name, *args, **kwargs)
# ModuleNotFoundError: No module named 'dna_viewer' # 

The problem with the seam in Unreal

Hi, I use DNA and I have a problem with the seam and eyes in Unreal. In maya, I made all the settings I needed, everything looks very good, but after I import FBX into Unreal and apply the original MH materials, I have unnecessary shading on my eyes when using the green channel, if I switch the channel to all, the problem with the eyes is solved, but a distinct seam appears between the head and body, caused by incorrect operation of normals, how can I fix it? I tried a lot of ways, re-transformed the attributes of normals in maya, experimented with different settings for exporting from maya and importing to Unreal, but I could not solve this problem, most likely I'm missing something in unreal, but I can't figure out what
1691bda2b0ce2d1d2fb71d9d3d7dcb631b4db100
![be0350e4c4bb464b0a6f75a7f6c82adc07328246](https://github.com/EpicGames/MetaHuman-DNA-
Calibration/assets/118726953/0e9d0ec8-708b-4eb6-9599-b3febeb21b5c)
d9789f6fc0e8c3e69de9d3373cef0951013bfe85

Skeleton Tree

I get a face mesh from dna data, but the root of the skeleton tree is "spine_04". so how can i reimport the face mesh to unreal engine with the correct skeleton?

ImportError of DNAViewer

I tried to execute the code in "dna_viewer_demo" in maya2022, it reports an error:
ImportError: file D:/DNA-Calibration-pc\dna_viewer\reader\behavior.py line 5: cannot import name 'BinaryStreamReader' from 'dna' (C:/Users/xxx/Documents/Megascans Library/support/plugins/maya/7.0/MSLiveLink/DHI/lib/Windows/python3\dna.py)
which seems import dna module from wrong position.
I've checked the syspath, the folder of "ROOT_DIR/lib/window" is in the front. And I also tried other method to set the import root, but still doesn't work. Is there any good solution?
Thank you so much!

Overlapping modules and paths with dna and _py3dna with incompatible binaries when loaded with Quixel bridge

There are numerous overlapping modules in this repo that coincide with the modules load in version 6.x and 7.x of the Quixel Bridge Maya plugin. When used in conjunction in Maya 2022, from a fresh load the dna_viewer and the bridge works initially. But once one of the two loads _py3dna, the corresponding dna.py in the other repo path will complain about missing classes and functions. Are there plans to consolidate the compiled binaries into one unified compiled module we can reference or how can we proceed with this?

Older versions of the maya plugin can be found here: https://quixel.com/plugins/

The latest 7.0 is downloaded with the Quixel Bridge desktop client or via the link here: https://quixel-megascans-static.s3.us-west-2.amazonaws.com/bridge/plugins_12/maya/win/7.0.zip

how to adjust body

I am confused that how can i adjust body mesh ? I can't find some document about this.

DLL load failed

hi
when I tpyed code
import dna

import sys
sys.moudles["dna"]

it showed

Error: ImportError: file D:/MegaScanLibrary/support/plugins/maya/7.0/MSLiveLink/DHI/lib/Windows/python3\dna.py line 15: DLL load failed: 找不到指定的模块。

my maya version 2022

anyone knows how to fix this , many thanks

getting error when running maya viewer

Hi, I think I did everything right, yet I cannot get the maya window:

Error: ImportError: file line 49: cannot import name 'show_dna_viewer_window' from 'dna_viewer' (C:\dna_callibration\dna_viewer_init_.py)

  1. I made sure I downloaded python3

  2. I downloaded: MetaHuman-DNA-Calibration-1.0.1

  3. I copied the files in the ''lib'' folder to C:\MEGAscan\support\plugins\maya\6.8\MSLiveLink\DHI\lib\Windows\python3

  4. In Maya, I executed one by one:
    import dna

import sys
sys.modules["dna"]

  1. I executed the script from dna_viewer_run_in_maya
    I changed line 25 for the location of the folder

"""
This example demonstrates Maya UI Window for simple and non-programmatic creation the scene with the creating functional rig.

  • usage in command line:

    • call without arguments:
      • will not start with error message: "DNAViewer needs to be run with Maya2022"
        NOTE: Script cannot be called with Python or mayapy, it' must be called in Maya Script Editor.
  • usage in Maya:

    1. copy whole content of this file to Maya Script Editor
    2. change value of ROOT_DIR to absolute path of dna_calibration, e.g. c:/dna_calibration in Windows or /home/user/dna_calibration. Important:
      Use / (forward slash), because Maya uses forward slashes in path.

    Expected: Maya will show UI.

NOTE: If running on Linux, please make sure to append the LD_LIBRARY_PATH with absolute path to the lib/linux directory before running the example:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:
"""

from os import environ
from os import path as ospath
from sys import path as syspath
from sys import platform

if you use Maya, use absolute path

#ROOT_DIR = f"{ospath.dirname(ospath.abspath(file))}/..".replace("\", "/")
ROOT_DIR = f'C:\dna_callibration'
ROOT_LIB_DIR = f"{ROOT_DIR}/lib"
if platform == "win32":
LIB_DIR = f"{ROOT_LIB_DIR}/windows"
elif platform == "linux":
LIB_DIR = f"{ROOT_LIB_DIR}/linux"
else:
raise OSError(
"OS not supported, please compile dependencies and add value to LIB_DIR"
)

Add bin directory to maya plugin path

if "MAYA_PLUG_IN_PATH" in environ:
separator = ":" if platform == "linux" else ";"
environ["MAYA_PLUG_IN_PATH"] = separator.join([environ["MAYA_PLUG_IN_PATH"], LIB_DIR])
else:
environ["MAYA_PLUG_IN_PATH"] = LIB_DIR

Adds directories to path

syspath.insert(0, ROOT_DIR)
syspath.insert(0, LIB_DIR)

this example is intended to be used in Maya

from dna_viewer import show_dna_viewer_window

show_dna_viewer_window()

Any help is greatly appreciated, thank you!!

Scale joints in DNA

Hey! it is necessary to reduce the size of the body to one meter in height. I go through the DNA, freeze the transforms, unload, but the new model does not quite correctly work out the movement of the lips, unlike the original model. Any ideas how to fix it?

Maya2023 error when using compiled dna.py

Hello, I have compiled the dnaclib using the command as follows:

cd dnacalib
mkdir build
cd build
cmake -DPYTHON3_EXACT_VERSION=3.9 -DDNAC_LIBRARY_TYPE=SHARED ..
cmake --build . --config Release

it builds successful and I also copy the five files below to the MetaHuman-DNA-Calibration\lib\windows folder:

dna.py
_py3dna.pyd
dnacalib.dll
dnacalib.py
_py3dnacalib.pyd

However, when I want to create a DNA reader in maya2023, it shows:

NameError: file /dna/lib/window/dna.py line 359: name 'FileStream_create' is not defined

Any help would be Appreciate. Thanks

i cant find dna in "MetaHuman_DNA_Calibration\dna_viewer\util"

i cant find dna in "MetaHuman_DNA_Calibration\dna_viewer\util"

maya gives me this error :
ImportError: cannot import name 'BinaryStreamReader' from 'dna_viewer.reader.dna' (D:/Autodesk/MetaHuman_DNA_Calibration\dna_viewer\reader\dna.py) #

hope I can get some help,thanks a lot!

How to adjust the mapping value from expression to joints?

Hello,
I want to change the riglogic node behavior to correct my own head's facial animation. From the DNA BehaviorWriter.h I find the setJointGroupValues/setPSDValues/etc. functions.
So can you tell me which one is right? Want to change the behavior between expression node and joints group.
Thanks a lot for kind help.

Maya python- It's trying to get the DNA.py module from the wrong location

So I had dnacalib working before. But then i opened up a character from quixel bridge. And now it is looking at the wrong dna.py file. So I get an error with any of the example scripts.

Error: ImportError: file line 33: cannot import name 'BinaryStreamReader' from 'dna' (F:/BX/Bridge/support/plugins/maya/7.0/MSLiveLink/DHI/lib/Windows/python3\dna.py)

I have tried setting the module path in maya.env to no avail. How can I reset the location used for the dna module?

json_to_dna_binary

After I ran dna_binary_to_json_demo.py, I modified some data in the json file, how can I convert this json file into a dna_binary file now?

Why these 18 raw expressions no match GUI idx for them

When attempting to edit .dna files in Maya, I encountered an issue with mh4 (after comparing with mh2).
In mh4 version, these 18 expressions (obtained through calibrated.getRawControlName()) are added to the raw expressions.
However, there are no corresponding GUI indices in calibrated.getGUIToRawOutputIndices(), and the indices of these 18 expressions are not found in calibrated.getGUIToRawOutputIndices().
I'm interested in understanding how these 18 expressions are associated with controls and how they function.
I'm confused about this!! Can anyone provide insights into this?
miss_231-248 001

miss_231-248 002

can not load DLL

XXX/lib/windows\dna.py line 15: DLL load failed

there is no dll file in the "lib" folder.

Overlapping modules and paths with dna and _py3dna with incompatible binaries when loaded with Quixel bridge

There are numerous overlapping modules in this repo that coincide with the modules load in version 6.x and 7.x of the Quixel Bridge Maya plugin. When used in conjunction in Maya 2022, from a fresh load the dna_viewer or the bridge metahuman import works initially. But once one of the two loads, _py3dna, the corresponding dna.py in the other repo path will complain about missing classes and functions. Are there plans to consolidate the compiled binaries into one unified compiled module we can reference or how can we proceed with this?

Older versions of the maya plugin can be found here: https://quixel.com/plugins/

The latest 7.0 is downloaded with the Quixel Bridge desktop client or via the link here: https://quixel-megascans-static.s3.us-west-2.amazonaws.com/bridge/plugins_12/maya/win/7.0.zip

Steps to reproduce:

  1. Open Quixle Bridge with Maya 7.0 Plugin
  2. Open up Maya
  3. Load the dna_viewer from this repo using:
from os import path as ospath
from shutil import copyfile
from sys import path as syspath
from sys import platform

# if you use Maya, use absolute path
ROOT_DIR = f"{ospath.dirname(ospath.abspath(__file__))}/..".replace("\\", "/")
OUTPUT_DIR = f"{ROOT_DIR}/output"
DATA_DIR = f"{ROOT_DIR}/data"
ROOT_LIB_DIR = f"{ROOT_DIR}/lib"
if platform == "win32":
    LIB_DIR = f"{ROOT_LIB_DIR}/windows"
elif platform == "linux":
    LIB_DIR = f"{ROOT_LIB_DIR}/linux"
else:
    raise OSError(
        "OS not supported, please compile dependencies and add value to LIB_DIR"
    )

# Add bin directory to maya plugin path
if "MAYA_PLUG_IN_PATH" in environ:
    separator = ":" if platform == "linux" else ";"
    environ["MAYA_PLUG_IN_PATH"] = separator.join([environ["MAYA_PLUG_IN_PATH"], LIB_DIR])
else:
    environ["MAYA_PLUG_IN_PATH"] = LIB_DIR

# Adds directories to path
syspath.insert(0, ROOT_DIR)
syspath.insert(0, LIB_DIR)
syspath.insert(0, DATA_DIR)

from dna_viewer import show_dna_viewer_window
show_dna_viewer_window()
  1. Close the dna_viewer window
  2. Import any metahuman from Quixel Bridge
  3. Run into an error on DNAHolder (class inside quixel Maya 7.0 plugin) with Error: DHI.modules.maya.util : No constructor defined - class is abstract.

Things I've tried:

  1. Unloading _py3dna and dna and reimporting to resolve the missing libraries (BinaryStreamReader and JSONStreamReader) not present in quixel's version. With the dna_viewer loaded first, quixel's import function is using the existing dna and _py3dna modules rather than its own from the 7.0 plugin.

Joint Group Indices don't correspond to joint indices

Hi,

I'm working with the dna calibration tools (thank you for these amazing additions to Metahumans).

Question:

I can get joint names using dnaReader.getJointName(num)
face control names using dnaReader.getGUIControlName(num)

I can get Group Indices connected to a control using dnaReader.getJointGroupJointIndices(index)

The joint indices returned by that command don't correspond to the index numbers from dnaReader.getJointName(num).

How can I get the joints names that go with the GroupJointIndices?

Thank you

Error when run "dna_viewer_run_in_maya" example

Hi! This error show up when I try to run "dna_viewer_run_in_maya" example.

Error: ModuleNotFoundError: file C:\Program Files\Autodesk\Maya2022\Python37\lib\site-packages\shiboken2\files.dir\shibokensupport_feature_.py line 142: No module named 'dna_viewer'

Did I add MetaHuman DNA Calibration files in wrong MAYA_MODULE_PATH?
I just copy it in "C:\dna_calibration"

Exporting normals from DNA file

Hi! I am trying to understand how do normals work for Metahumans and specifically for DNA calibration.
The fact is DNA file contains information about vertex normals. It makes sense at least for the seam betweet the head and the body.
But I am not sure that the normals from the DNA file are exported when I export FBX using examples/dna_viewer_export_fbx.py.
The docstring for build method MetaHuman-DNA-Calibration/dna_viewer/builder/mesh.py says that normals are added and as I understand this code is used to build meshes before FBX export, but looking deeper In the building process I have found nothing about reading normals from DNA and writing them to the meshes.
I have also compared two FBX models: exported from DNA with maya, the same Metahuman but exported as FBX from Unread Engine. An the meshes looks differently.
The comparison is made in Blender by enabling and disabling custom normals (auto smooth option in blender stands for it) for both meshes, and it does not affect the mesh extracted from the DNA. As for the mesh from Unreal Engine I can clearly see changes when enable custom normals.
I am also trying to rebuild the mesh from DNA in blender using my own script keeping all normal data, and the result looks closer to exported from Unreal Engine.

So thats make me think that DNA calib library does not adds normals from DNA file when builds mesh in Maya or exporting using examples/dna_viewer_export_fbx.py. Maybe I am wrong, or it is expected behavious of the script.

video demonstration

Thanks

Some questions about script "dna_viewer_grab_changes_from_scene_and_propagate_to_dna.py"?

This script shows 5 steps need to be done:

  1. Start Maya
  2. open maya scene (do 2.1 or 2.2)
    2.2. start DNA Viewer GUI (dna_viewer_run_in_maya.py)
  3. Run this script to the part called "load data"
  4. In the scene, make modifications to the neutral mesh and joints
  5. Run this script from the part called "propagate changes to dna" to the end

I tried this but meet some problem:

  1. The step3 will load DNA again, why I need to do step2 first?
    The code build_rig(dna=dna, config=config) in step3 will reload DNA and overwrite the maya scene
  2. After step3, I tried to modify the bone translation and the vertex of blendshape/head_lod0_mesh! but when I run step4:
reader = load_dna_reader(CHARACTER_DNA)
calibrated = DNACalibDNAReader(reader)

run_joints_command(reader, calibrated)

for name, item in current_vertices_positions.items():
    new_vertices_positions = get_mesh_vertex_positions_from_scene(name)
    if new_vertices_positions:
        run_vertices_command(
            calibrated, item["positions"], new_vertices_positions, item["mesh_index"]
        )
save_dna(calibrated)
assemble_maya_scene()

Only bone translation is wiritten into dna file, the changes of blendshape and head_lod0_mesh has been reset in maya. Also, I can't see my changes except bone translate after loading dna files into UE.
Sometimes the step4 will report an error:
TypeError: file <maya console> line 73: MSelectionList.getDagPath() takes exactly one argument (2 given)

Are there any video tutorials? Maybe I am not so familiar with Maya. Thank you very much for helping me.

There is a same problem in UE Forums: Metahuman DNA Calib Library Export Import Issue

Convert fbx to dna

I have a file fbx, I want to convert fbx to dna. How to work? Please help me, thanks.

Maya 2023 py3dna DLL load failed

Are the scripts supposed to be able to work in Maya 2023? I'm getting the following error when I try the examples. I set the ROOT_DIR to the absolute path of the downloaded repo (e.g. "C:\Users\mattf\Desktop\MetaHuman-DNA-Calibration") per the instructions and run mayapy in a shell prompt:

C:\Users\mattf\Desktop\MetaHuman-DNA-Calibration\examples> mayapy .\dna_viewer_demo_edit.py
Qt WebEngine seems to be initialized from a plugin. Please set Qt::AA_ShareOpenGLContexts using QCoreApplication::setAttribute before constructing QGuiApplication.
pymel.core : INFO : Updating pymel with pre-loaded plugins: renderSetup
Warning: file: C:/Program Files/Autodesk/Maya2023/scripts/startup/initialStartup.mel line 184: Y-axis is already the Up-axis
modelingToolkit
AbcExport v1.0 using Alembic 1.8.3 (built Aug 3 2022 14:35:12)
Initialized VP2.0 renderer {
Version : 2016.11.62.12. Feature Level 5.
Adapter : NVIDIA GeForce RTX 3070/PCIe/SSE2
Vendor ID: 4318. Device ID : 9348
Driver : C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_1b5e80ff87b1f5c8\nvoglv64.dll.dll:31.0.15.2225.
API : OpenGL V.4.6.
Max texture size : 16384 * 16384.
Max texture coords : 32
Shader versions supported (Vertex: 5, Geometry: 5, Pixel 5).
Shader compiler profile : (Best card profile)
Active stereo support available : 0
GPU Memory Limit : 8192 MB.
CPU Memory Limit : 31059.5 MB.
MultiDraw consolidation : enabled
}
OpenCL evaluator is attempting to initialize OpenCL.
Detected 1 OpenCL Platforms:
0: NVIDIA Corporation. NVIDIA CUDA. OpenCL 3.0 CUDA 11.8.87.
Supported extensions: cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_fp64 cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_sharing cl_nv_copy_opts cl_nv_create_buffer cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_device_uuid cl_khr_pci_bus_info cl_khr_external_semaphore cl_khr_external_memory cl_khr_external_semaphore_win32 cl_khr_external_memory_win32
Selected matching OpenCL Platform: NVIDIA Corporation NVIDIA CUDA OpenCL 3.0 CUDA 11.8.87.
OpenCL evaluator choosing OpenCL platform NVIDIA Corporation.
OpenCL evaluator is unable to find a GPU device that can share VBOs with OpenGL.
AbcImport v1.0 using Alembic 1.8.3 (built Aug 3 2022 14:35:12)
SyntaxWarning: "is not" with a literal. Did you mean "!="?, at line 372, in "C:\Program Files\Autodesk\MayaUSD\Maya2023\0.19.0\mayausd\USD\lib\python\pxr\UsdUtils\updateSchemaWithSdrNode.py"
Failed to execute: D:/MegaScans/support/plugins/maya/7.0/MSLiveLink/userSetup.py
Traceback (most recent call last):
File "C:\Program Files\Autodesk\Maya2023\Python\lib\site-packages\past\builtins\misc.py", line 87, in execfile
exec
(code, myglobals, mylocals)
File "D:/MegaScans/support/plugins/maya/7.0/MSLiveLink/userSetup.py", line 14, in
pm.evalDeferred("initPlugin()")
File "C:\Program Files\Autodesk\Maya2023\Python\lib\site-packages\pymel\internal\pmcmds.py", line 217, in evalDeferred_wrapped
res = new_cmd(*new_args, **new_kwargs)
RuntimeError: NameError: file line 1: name 'initPlugin' is not defined

Traceback (most recent call last):
File "C:\Users\mattf\Desktop\MetaHuman-DNA-Calibration\examples\dna_viewer_demo_edit.py", line 113, in
from dna_viewer import assemble_rig, build_meshes, create_build_options, load_dna
File "C:\Users/mattf/Desktop/MetaHuman-DNA-Calibration\dna_viewer_init_.py", line 2, in
from .reader.dna import load_dna
File "C:\Users/mattf/Desktop/MetaHuman-DNA-Calibration\dna_viewer\reader\dna.py", line 10, in
from ..reader.behavior import Behavior as BehaviorReader
File "C:\Users/mattf/Desktop/MetaHuman-DNA-Calibration\dna_viewer\reader\behavior.py", line 3, in
from dna import BinaryStreamReader
File "C:\Users/mattf/Desktop/MetaHuman-DNA-Calibration/lib/windows\dna.py", line 15, in
import _py3dna
ImportError: DLL load failed while importing py3dna: The specified module could not be found.
Exception ignored in: <function MCallbackIdWrapper.del at 0x000002E9749948B0>
Traceback (most recent call last):
File "C:\Program Files\Autodesk\Maya2023\Python\lib\site-packages\maya\plugin\polyBoolean\booltoolUtils.py", line 20, in del
AttributeError: 'NoneType' object has no attribute 'MMessage'

Dose DNACalib support writing certain data to dna file?

Hi,
Dose DNACalib support writing certain data (liking head vertices or joints only, rather than the whole things) to dna file?
Currently it's very time comsuming to write all the infos to dna file (about 10 seconds), and actually we usually just only need to update part of dna file.
And if DNACalib supports this feature, how can I achieve this?
Thanks a lot!

Location offset

I modify the dna in maya which import use "dna_viewer_run_in_maya.py";
Then i export a modified dna use "dna_viewer_grab_changes_from_scene_and_propagate_to_dna.py";
Last i export a fbx from the modified dna use "dna_viewer_demo.py";
Now i get a modified face mesh in unreal engine, I have reset the asset details such as material slots、post process anim blueprint、asset user data...and so on. then i set the modified face mesh to the metahuman BP, there is an obvious location offset:
1
Original metahuman like this:
3
Even if i adjust the location, there is a obvious crack between head and body:
2

Dll load still not working

/lib/windows\dna.py", line 15, in
import _py3dna
ImportError: DLL load failed while importing _py3dna

Errors when compiling pydna

I met this error when trying to build python dna libs.

image

After checking the dnacalib/build/py3bin/DNAPYTHON_wrap.cxx, i found two symbols with incorrect matches.
image
image

Could someone please help me with this issue, thanks!

DNACalib SetVertexPositionsCommand is not efficient!

DNACalib can change neutral joint positions, but can't change neutral mesh positions.
this code can't change mesh positions in DNA file:
new_neutral_mesh = SetVertexPositionsCommand(
mesh_index, deltas, VectorOperation_Add
)
commands = CommandSequence()
commands.add(new_neutral_mesh)
commands.run(calibrated)

only run_joints_command is efficient.

error loading DNA

# RuntimeError: Error loading DNA: DNA signature mismatched, expected DNA, got ver
After trying to load DNA through dna_viewer_run_in_maya.py

DNA Calib command to write blenshapes - grab_changes_from_scene_and_propagate_to_dna

Hello,
I want to swap the mh head mesh for a custom one with a few minor tweaks. My custom mesh has the exact same topology as the original mh ( I have just added some tweaks over the original mh).

The example file "grab changes from scene and propagate" only allows me to deform the mesh using joint transforms.
I'd rather add a blendshape to make the original mh fit the modified mh head in maya.
What command or process should I be using to achieve this ?

Is there a process to add the target mesh in the blend shape editor and bake the changes out ?

Thank you so, so much for any help as I have been struggling with this for days now.

b

# Error: ImportError: file <maya console> line 73: cannot import name 'CommandSequence' from 'dnacalib' (unknown location) #

hi,

I am running the propagate changes script using the latest pull of the dna calibration. The script works before the update; I am now trying to run the latest example using the latest calibration, but I get the following error importing from dnacalib (1.2.0)

Windows 11 pro
maya 2022.5

from dnacalib import (
CommandSequence,
DNACalibDNAReader,
SetNeutralJointRotationsCommand,
SetNeutralJointTranslationsCommand,
SetVertexPositionsCommand,
VectorOperation_Add,
)

Error: ImportError: file line 73: cannot import name 'CommandSequence' from 'dnacalib' (unknown location)

adding remove joints in a command Sequence Queue

hi, I am trying to queue up a sequence for removing joint commands with something like, however the wrong joints removed are always wrong.

#print ("dict", dna_joint_index_dict)
for joint_name in joint_filter_list:
joint_index = dna_joint_index_dict[joint_name]
#print (get_joint_name, joint_name)
# Removes joint with specified index
remove_joint_command = dnacalib.RemoveJointCommand(joint_index)
# Queue up
commands.add(remove_joint_command)

Then I calibrate the dna after every joint removal and it works, as my assumption is that the index for joint changes as you start to remove joint, so if I queue up remove joint based on the dict made before the command sequence starts, as soon as the first joint is removed, the rest of the index will be wrong

remove_joint_command = dnacalib.RemoveJointCommand(joint_index)
# Modifies calibrated DNA in-place
remove_joint_command.run(calibrated)

    print(f"Successfully removed joint `{joint_name}` with index number `{joint_index}`.")

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.