You should check to make sure LoadPackage is returning a value. Right now we don't know what command is causing the problem:
local p = LoadPackage("Maps.zip")
if p == nil then
Print("Failed to load package")
else
p:SetPassword("1500")
end
Ultra uses pre-multiplied alpha blending. With regular alpha blending the surface in front can only darken the surface behind it. With pre-multiplied, it blends more accurately, and can result in a darker or lighter color.
I tried this and it worked with no issues:
Assert(FileType(GetPath(PATH_DESKTOP) + L"/Пожалуйста.zip") == 1);
auto p = LoadPackage(GetPath(PATH_DESKTOP) + L"/Пожалуйста.zip");
If you are storing a path in a string and not a WString you could lose information.
Please upload a zip file for me to test, or tell me what the path that is causing the problem is.
0.9.6
Moved post-processing effects into "Effects" subfolder. This prevents a bunch of folders from appearing when you open the folder in the open folder dialog.
Added Camera::SetSkybox(bool)
Added Skeleton::AddHook: https://www.ultraengine.com/learn/Skeleton_AddHook
I don't recommend using this approach anymore. Instead, use the "back-face lighting" option in the material editor, which will make the surface lit from behind when needed.
0.9.6
Added "back-face lighting" option in material editor, for surfaces that are thin enough for light to pass through (leaves and grass). This will flip the normal to face whatever direction a light is coming from in the light code. Should be used together with "two-sided" option. For thicker surfaces like branches, this should not be used.
Model Editor "Load Collider" feature will now grab the collider from an existing model, if it exists.
@SpiderPig @Andy90 This is what I am planning on. Does this fit your purposes?:
void Skeleton::AddHook(const int frame, void Hook(shared_ptr<Skeleton> skeleton, const int frame, shared_ptr<Object> extra), shared_ptr<Object> extra = nullptr)
The barbarian model works perfectly if I load it in Unwrap3D and re-export it as a glTF:
Technically, this is a problem in my software, but inclusion of this "feature" was the dumbest possible move Khronos could have made.
I actually did get it working pretty easily. You just install node.js and then start using the windows Command prompt to run commands.
Thanks for your offer anyways