NeoFur : user maintenance thread

There is always the option to go as long as we are able to fix it and then just stay with the last well working ue4 version. If I somehow can get virtual bones to run I would have all features I need for my game. The problem is there is no good alternative available which does the same. For a game which is centered around animals having a nice looking fur is a big plus.

there are users here that know how to solve problems like this. we would never give up on something like this.

Unreal Engine 4.18.1
warning

\NeoFur\Source\NeoFur\Private\NeoFurAsset.cpp(328): warning C4996: ‘FStaticLODModel::GetChunkAndSkinType’: Please use GetSectionFromVertIndex.
\NeoFur\Source\NeoFur\Private\NeoFurAsset.cpp(349): warning C4996: ‘FStaticLODModel::GetChunkAndSkinType’: Please use GetSectionFromVertIndex.
\NeoFur\Source\NeoFur\Private\NeoFurAsset.cpp(584): warning C4996: ‘FPaths::GameDir’: FPaths::GameDir() has been superseded by FPaths::ProjectDir().
\NeoFur\Source\NeoFur\Private\NeoFurComponent.cpp(385): warning C4996: ‘USkinnedMeshComponent::GetSpaceBases’: GetComponentSpaceTransforms is now renamed GetComponentSpaceTransforms
\NeoFur\Source\NeoFur\Private\NeoFurComponent.cpp(387): warning C4996: ‘USkinnedMeshComponent::GetSpaceBases’: GetComponentSpaceTransforms is now renamed GetComponentSpaceTransforms
\NeoFur\Source\NeoFur\Private\NeoFurShaderInstallCheck.cpp(92): warning C4996: ‘FPaths::GamePluginsDir’: FPaths::GamePluginsDir() has been superseded by FPaths::ProjectPluginsDir().
\NeoFur\Source\NeoFur\Private\NeoFurShaderInstallCheck.cpp(93): warning C4996: ‘FPaths::GamePluginsDir’: FPaths::GamePluginsDir() has been superseded by FPaths::ProjectPluginsDir().

Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.

Virtual bones likely don’t work because the bone indices are serialized in that fur asset. Since the indices are sampled from the asset when you import your fur mesh, it has no concept of virtual bones. The way this thing works, it copies bone matrices manually every tick into the scene proxy which then passes it off to the compute shader. This is not a very good design, the performance is awful and it means that if the rig changes you need to reexport AND reimport your fur mesh with the exact same rig data. This is a design issue I am still trying to solve, perhaps by always acquiring the matrices from the master pose component.

I have rewritten the vast majority of the data pipeline (everything except the scene proxy and shaders) to fit my needs and learned a lot about how NeoFur was built. Don’t feel discouraged or overwhelmed, it is absolutely possible to maintain this.

Also those warnings are easily removed by switching out the offending functions for the ones mentioned by Epic. It works perfectly.

You make my day, Derelict ! Thank you :slight_smile:
About the virtual bones, I don’t even know what they are but I already see that when I reimport a skeleton, I have to reexport and reimport the neofur assets that use this skeleton to avoid strange behaviours (I do this on the T-pose).
It’s a bit annoying but since I know the problem, I deal with it ^^

I will take a look to the warnings one of these days but I have to admit that I’m actually working on a non neofur project and this fact alter my motivation a lot :wink:

Look like we got a replacement for neoFur, GiM studio just release gFur for free :slight_smile:
Here’s the marketplace link: gFur v3 Free - discontinued from UE 4.26, please have a look at gFur PRO in Code Plugins - UE Marketplace

HoHo !

I just read the documentation and it seams to be very OK !
The polar bear demo is awesome ^^.
They never speak about support of morph targets… But they use it in the animalia things they add a link to in the doc… I hope it works :slight_smile:
The length of the fur has to be drived by smpline, not with a simple morph target as in NeoFur… but I don’t think it a problem.
For now, Gfur only support win 64 for building our game and that’s a problem… For now !
They want to add support for static mesh (it only support skeletal mesh now).

I will make some tests as soon as the download is finished but if this is alive and neofur is dead, I’m pretty sure that it can be a viable solution for us :slight_smile:
If it can manage morph animation on the Gfur assets and can be build for mac and linux soon, it’s the death of NeoFur for me :slight_smile:

I wasn’t able to figure it out last year and didn’t have enough time to dig deeper into the source for the virtual bones. The problems when the rig changes is something I also stumbled over. Thank you for the explanation that should help a lot knowing whats the issue.

Not a replacement because it cant be used on static meshes

Visual Studio 2015 only?
Visual Studio 2017 OK?

In order to compile for 4.17 or 4.18, you’ll need VS2017, of course :slight_smile:

First of all, thank you @JoGoiA @Nate @Thunderstruck and all those that help, for doing this is a lifesaver. Can you please clarify or expand a bit the process of compiling after doing all the changes to the files?
Are you compiling the engine from source? Do you create a 4.15 project and then change the version to 4.17? I will appreciate your help as I’m a bit clueless here.
Thank you

No no, gbernal ^^
Just put the sources of the plugins in the “plugins” folder of your 4.17 / 4.18 project and run it.
If you have made the modification, it should compile at launch.
You’ll need a fine install of VS2017.

Hi JoGoiA,

Ok, I have done that but when I turn the plugin on in UE4.17 and restarts it tells me that there are issues with the plugin.
I guess I’m missing that last step. What do you mean by “You’ll need a fine install of VS2017”

Thanks

If UE4.17 starts and propose you to activate the plugins, I think it’s because it is compiled…
What are the issues ? can you paste the error message here ?

About the VS2017 thing, I want to say that in order to compile the plugin, you’ll need VS 2017. Sorry for My english :slight_smile:

Thank you for offering to help. Your English is great! These are the errors I get, and I have a question why does my VS 2017 show UE4(Visual Studio 2015)

I’m really sorry… The plugin did not compile normally.
I can’t help you efficiently… I make the “update” with many tries and I’m not a coder.
What I did is generate the SLN file, launch VS through it and tried to compile inside VS.
Doing this, I get more substantial error message and I manage to change what’s needed.
But I don’t get the second message you post here… I don’t know what upgradingNeo2 is nor why it doesn’t compile.

EDIT : When I look at my VS, I don’t have the UE4(VS 2015) thing you have… I have just UE4. Maybe it’s the root of your problem.

Thanks, it looks like that was one of the issues. I deleted Vs2015 to fix it but still no luck…

Sorry to be a pain bu maybe someone has any ideas. these are the messages from the log

LogInit: Warning: Incompatible or missing module: UE4Editor-NeoFur.dll
LogInit: Warning: Incompatible or missing module: UE4Editor-NeoFurEditor.dll
Running F:/Program Files/Epic Games/UE_4.17/Engine/Binaries/DotNET/UnrealBuildTool.exe MyProject4 Development Win64 -project=“D:/UnrealProject_D/MyProject4/MyProject4.uproject” -editorrecompile -progress -NoHotReloadFromIDE
@progress push 5%
@progress pop
Performing 1 actions (4 in parallel)
[1/1] Link UE4Editor-MyProject4.dll
Creating library D:\UnrealProject_D\MyProject4\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-MyProject4.suppressed.lib and object D:\UnrealProject_D\MyProject4\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-MyProject4.suppressed.exp
Total build time: 1.87 seconds (Local executor: 1.53 seconds)
LogInit: Warning: Still incompatible or missing module: UE4Editor-NeoFur.dll
LogInit: Warning: Still incompatible or missing module: UE4Editor-NeoFurEditor.dll
LogExit: Preparing to exit.

4.18 ok!
4.19 dont work =(
Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка MSB3075 команда “D:\Ue4\Engine\Build\BatchFiles\Build.bat BuildEditor Win64 Development “D:\NeoFur 4.19\Build\Build.uproject” -WaitMutex -FromMsBuild” завершила работу с кодом 5. Убедитесь в наличии достаточных прав для выполнения этой команды. Build C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets 41
Предупреждение MSB4011 невозможно повторно импортировать “C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.Makefile.props”. Он уже был импортирован в “C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.cpp.props (31,3)”. Скорее всего это связано с ошибкой при написании кода сборки. Повторный импорт будет пропущен. [D:\NeoFur 4.19\Build\Intermediate\ProjectFiles\ShaderCompileWorker.vcxproj] ShaderCompileWorker 31
Предупреждение MSB4011 невозможно повторно импортировать “C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.Makefile.props”. Он уже был импортирован в “C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.cpp.props (31,3)”. Скорее всего это связано с ошибкой при написании кода сборки. Повторный импорт будет пропущен. [D:\NeoFur 4.19\Build\Intermediate\ProjectFiles\Build.vcxproj] Build 31
Ошибка d:\NeoFur 4.19\Build\Plugins\NeoFur\Source\NeoFur\NeoFur.Build.cs(39,12) : error CS0103: Имя “UEBuildConfiguration” отсутствует в текущем контексте Build D:\NeoFur 4.19\Build\Intermediate\ProjectFiles\UnrealBuildTool 1
Ошибка d:\NeoFur 4.19\Build\Plugins\NeoFur\Source\NeoFur\NeoFur.Build.cs(45,13) : error CS0103: Имя “UEBuildConfiguration” отсутствует в текущем контексте Build D:\NeoFur 4.19\Build\Intermediate\ProjectFiles\UnrealBuildTool 1
Предупреждение d:\NeoFur 4.19\Build\Plugins\NeoFur\Source\NeoFur\NeoFur.Build.cs(41,13) : warning CS0618: “UnrealBuildTool.ModuleRules.Definitions” является устаревшим: “The ‘Definitions’ property has been deprecated. Please use ‘PublicDefinitions’ instead.” Build D:\NeoFur 4.19\Build\Intermediate\ProjectFiles\UnrealBuildTool 1
Ошибка Unable to compile source files. Build D:\NeoFur 4.19\Build\Intermediate\ProjectFiles\UnrealBuildTool 1