Unity-Technologies / com.unity.demoteam.hair

An integrated solution for authoring / importing / simulating / rendering strand-based hair in Unity.
Other
719 stars 97 forks source link

Cannot use abc file for Hair Asset #34

Closed swPlumber42 closed 1 year ago

swPlumber42 commented 1 year ago

I import an abc file into the Unity project. I can see the curves (enabled Add Curves Renderer from the Alembic Importer). I create a new Hair Asset. I set Type as Alembic. In the "Settings Alembic -> Alembic Asset" I try to select the imported abc file but the selection window doesn't show the asset. If I try to drag&drop the file in the box, cannot do it, Tried also to create an empty game object, add Alembic Stream Player component, choose the abc file. Then drag&drop the gameobject to the Settings Alembic -> Alembic Asset but it doesn't accept it.

It seems AlembicStreamPlayer the HairAsset is looking for is something different from the one created by the Alembic importer.

Unity Version 2023.1.0.a23 Windows 10 Update demoteam.hair today Alembic 2.3.0

CakemonBot commented 1 year ago

Same Problem here. I am using Blender 3.2 3.3 3.4 to make hair with particle system. I've tried to skinned the object with bone, and tweak the export setting but none of these work. If I directly drag and drop the abc file from project file into Hair Asset Alembic Asset pannel, following warning shows and no hair appear in scene

Discarding provided curve set due to incomplete (out of bounds) vertex data. UnityEngine.Debug:LogWarning (object) Unity.DemoTeam.Hair.HairAssetBuilder:BuildStrandGroupResolved (Unity.DemoTeam.Hair.HairAsset/StrandGroup&,Unity.DemoTeam.Hair.HairAsset&,Unity.DemoTeam.Hair.HairAsset/SettingsResolve&,Unity.DemoTeam.Hair.HairAssetProvisional/CurveSet&) (at Library/PackageCache/com.unity.demoteam.hair@5c82062006/Editor/HairAssetBuilder.cs:306) Unity.DemoTeam.Hair.HairAssetBuilder:BuildStrandGroupAlembic (Unity.DemoTeam.Hair.HairAsset/StrandGroup&,Unity.DemoTeam.Hair.HairAsset&,UnityEngine.Formats.Alembic.Importer.AlembicCurves[],int&) (at Library/PackageCache/com.unity.demoteam.hair@5c82062006/Editor/HairAssetBuilder.cs:684) Unity.DemoTeam.Hair.HairAssetBuilder:BuildHairAssetAlembic (Unity.DemoTeam.Hair.HairAsset) (at Library/PackageCache/com.unity.demoteam.hair@5c82062006/Editor/HairAssetBuilder.cs:204) Unity.DemoTeam.Hair.HairAssetBuilder:BuildHairAsset (Unity.DemoTeam.Hair.HairAsset,Unity.DemoTeam.Hair.HairAssetBuilder/BuildFlags) (at Library/PackageCache/com.unity.demoteam.hair@5c82062006/Editor/HairAssetBuilder.cs:91) Unity.DemoTeam.Hair.HairAssetEditor:DrawImporterGUI () (at Library/PackageCache/com.unity.demoteam.hair@5c82062006/Editor/HairAssetEditor.cs:404) Unity.DemoTeam.Hair.HairAssetEditor:OnInspectorGUI () (at Library/PackageCache/com.unity.demoteam.hair@5c82062006/Editor/HairAssetEditor.cs:131) UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

Unity Version 2023.1.23 f1 Windows 10 Update demoteam.hair today Alembic 2.3.0

MoveRotateResize commented 1 year ago

Same Problem here. I am using Blender 3.2 3.3 3.4 to make hair with particle system. I've tried to skinned the object with bone, and tweak the export setting but none of these work. If I directly drag and drop the abc file from project file into Hair Asset Alembic Asset pannel, following warning shows and no hair appear in scene

Discarding provided curve set due to incomplete (out of bounds) vertex data. UnityEngine.Debug:LogWarning (object) Unity.DemoTeam.Hair.HairAssetBuilder:BuildStrandGroupResolved (Unity.DemoTeam.Hair.HairAsset/StrandGroup&,Unity.DemoTeam.Hair.HairAsset&,Unity.DemoTeam.Hair.HairAsset/SettingsResolve&,Unity.DemoTeam.Hair.HairAssetProvisional/CurveSet&) (at Library/PackageCache/com.unity.demoteam.hair@5c82062006/Editor/HairAssetBuilder.cs:306) Unity.DemoTeam.Hair.HairAssetBuilder:BuildStrandGroupAlembic (Unity.DemoTeam.Hair.HairAsset/StrandGroup&,Unity.DemoTeam.Hair.HairAsset&,UnityEngine.Formats.Alembic.Importer.AlembicCurves[],int&) (at Library/PackageCache/com.unity.demoteam.hair@5c82062006/Editor/HairAssetBuilder.cs:684) Unity.DemoTeam.Hair.HairAssetBuilder:BuildHairAssetAlembic (Unity.DemoTeam.Hair.HairAsset) (at Library/PackageCache/com.unity.demoteam.hair@5c82062006/Editor/HairAssetBuilder.cs:204) Unity.DemoTeam.Hair.HairAssetBuilder:BuildHairAsset (Unity.DemoTeam.Hair.HairAsset,Unity.DemoTeam.Hair.HairAssetBuilder/BuildFlags) (at Library/PackageCache/com.unity.demoteam.hair@5c82062006/Editor/HairAssetBuilder.cs:91) Unity.DemoTeam.Hair.HairAssetEditor:DrawImporterGUI () (at Library/PackageCache/com.unity.demoteam.hair@5c82062006/Editor/HairAssetEditor.cs:404) Unity.DemoTeam.Hair.HairAssetEditor:OnInspectorGUI () (at Library/PackageCache/com.unity.demoteam.hair@5c82062006/Editor/HairAssetEditor.cs:131) UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

Unity Version 2023.1.23 f1 Windows 10 Update demoteam.hair today Alembic 2.3.0

Ya that's the exact same error I get. Hopefully this is fixed or a solution is found soon

CakemonBot commented 1 year ago

@MoveRotateResize @swPlumber42 Hi! Are you using blender for the alembic file as well? I'm wondering if this error only occur with blender exported file for else. We are considering to switch to Maya just to use Unity Strand Hair

MoveRotateResize commented 1 year ago

@MoveRotateResize @swPlumber42 Hi! Are you using blender for the alembic file as well? I'm wondering if this error only occur with blender exported file for else. We are considering to switch to Maya just to use Unity Strand Hair

Ya I am. I created the hair using blenders new hair system then convert it to the old partial system hair. Then exported it as an alembic file. It shows up in Unity when you use the curve render component on the curve game object, but gives errors when you try and use it as with the units new hair system

fuglsang commented 1 year ago

Hi there, and thank you for reporting! I pushed a fix for a regression that may be related to this issue. Please pull latest and see if that fixes the issue for you.

CakemonBot commented 1 year ago

Hi there, and thank you for reporting! I pushed a fix for a regression that may be related to this issue. Please pull latest and see if that fixes the issue for you.

This fix works for me. Although I still can't see any alembic file when selecting Alembic Stream Player, it works when I drag and drop the file. Thanks for the fix!