Comments (18)
I have the exact same problem, except for me it looks for 3.4's library while I use 4.0. Very bizarre.
from fast64.
This is a mistake we'll fix in main
You can use the latest release, it is fine
EDIT: technical details copied from Discord
I think this is because fast64's blend file with the material nodes, that fast64 loads, was modified and saved with blender 4.0 (my bad)
Blender 4.0 changed the blend file format in a non backward compatible way, these files will just crash on <3.6
3.6 will load 4.0+ blends fine, and save blends that are backwards compatible with <3.6
Essentially this makes fast64/main (latest revision) 3.6+ only, but it's a mistake we ought to fix
For anyone curious the breaking change is moving to attributes
https://youtu.be/pabcq2obH1s
from fast64.
I have no idea why fast64 is looking at the library from a different version though 🤔
from fast64.
dir = ""
for mod in addon_utils.modules():
if mod.bl_info.get("name") == "Fast64":
dir = os.path.join(os.path.dirname(mod.__file__), "fast64_internal", "f3d", "f3d_material_library.blend")
break
if dir == "":
return
Replacing the beginning of the link_f3d_material_library
function with this piece of code seems to resolve the wrong path, but it still crashes.
from fast64.
Are you using the latest release? (aka https://github.com/Fast-64/fast64/releases/tag/v2.2.0 , not the latest revision)
from fast64.
Please check if #312 does anything to resolve this
from fast64.
Are you using the latest release? (aka https://github.com/Fast-64/fast64/releases/tag/v2.2.0 , not the latest revision)
I'm on the latest revision, so I can try on 2.2.0 on Blender 4.0
from fast64.
Please check if #312 does anything to resolve this
I'm going to check with Blender 4.0 as that's the main version I use.
from fast64.
I'm not following, you had blender 4.0 crash ???
from fast64.
oh yep, any blender version will crash on me if I open a .blend file with fast64 materials, including 4.0
from fast64.
I can't reproduce blender 4.0 crashing (I am on Linux Kubuntu 23.10)
as for fast64 loading the f3d_material_library.blend
from another version I can only assume there is a symlink/hardlink at play sharing the fast64 addon folder between two versions of blender. No idea how you got that set up if you didn't do it manually
from fast64.
I'm on a clean windows 11 install here with a clean blender 4.0 and it happens.
from fast64.
to be clear can you provide exact steps to reproduce
from fast64.
- Open Blender 4.0
- set the game to OoT
- select the cube, go to the Materials tab
- create a new fast3d material
- delete the original material
- save as .blend, close blender
- double click on the .blend file
- Blender will crash
from fast64.
Thanks
I cannot reproduce this on Linux Kubuntu + Blender 4.0.2 using the slightly altered following steps:
x
Open Blender 4.0.2 in factory settings (blender --factory-startup
)x
Go to preferences, enable Fast64 2.2.0- set the game to OoT
- select the cube, go to the Materials tab
- create a new fast3d material
- delete the original material
- save as .blend, close blender
x
Open Blender 4.0.2 in factory settings (blender --factory-startup
)x
Go to preferences, enable Fast64 2.2.0x
open previously saved blend (Open Recent
>thefile.blend
)x
Blender does not crash
from fast64.
With #312 merged, using fast64 in Blender <3.6 should now work again without crashing Blender
As for the two other issues you are having:
- fast64 using a different version's library blend: I have no idea how this can be possible unless using symlinks or similar
- Blender 4.0 crashing: I can't reproduce on Linux, I asked for windows testing ( https://discord.com/channels/874816709855440926/874816710639767585/1212761585416675388 ) and someone else couldn't reproduce on Windows either
from fast64.
Found a fix for my issue!
Removing:
addon_dir = os.path.dirname(os.path.abspath(__file__))
new_lib_path = os.path.join(addon_dir, "f3d_material_library.blend")
if lib_path != new_lib_path:
logger.info("Reloading the library: %s : %s => %s" % (lib.name, lib_path, new_lib_path))
lib.filepath = new_lib_path
lib.reload()
from f3d_material.py
fixed the crashes completely.
Seems like reloading the library at boot is causing issues on certain installs of Windows.
However doing this breaks the material presets after re-opening the file from what I tested.
from fast64.
Update on this: it seems it was caused by another addon adding a library to the .blend file as well. Disabling that other addon fixed the crashed.
from fast64.
Related Issues (20)
- Error in importing OOT link animations
- (Blender 4.0.1+) 'Euler' object has no attribute 'to_euler' Error when exporting a Level HOT 3
- [SM64] Noise texture failing to apply to specific body parts HOT 1
- Support for other decomps HOT 2
- [SM64] Scrolling Textures are broken
- For the blender shader graph, set texture node alpha to Channel Packed.
- fast64 exports cutscenes that don't work when compiling with IDO
- [SM64] fast64 Texture Scrolling Not Memory Safe
- [OoT] Handle empty "extra cutscenes" entries better
- [OoT] Importing a DL with the custom path option doesn't work HOT 2
- [F3D] Mat Bleed reloads textures when using texture reference
- Color combiner doesn't get reverted when using SM64 DL Exporter + mat bleed
- Failure to build with new levels due to missing info: MARIO undeclared. HOT 9
- [OoT] when exporting a scene that is already in spec, the segments are moved to the end
- [OoT] Link import fails to import eye and mouth textures as flipbook
- [OoT] Scene Import with custom path assumes the scene is "Single File"
- [F3D] Mat bleed issues with tile scrolling HOT 1
- [F3D] Cmd size not taken into account when creating tile scroll offsets HOT 3
- [OoT] Importing scenes with transition actors whose room index = 255 fails
- Can't export object's using custom export path HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fast64.