Enabling Freestyle SVG Exporter add-on prevents Freestyle lines being visible in render #86257
Labels
No Label
Interest
Animation & Rigging
Interest
Blender Cloud
Interest
Collada
Interest
Core
Interest
Documentation
Interest
Eevee & Viewport
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
Import and Export
Interest
Modeling
Interest
Modifiers
Interest
Nodes & Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds, Tests & Devices
Interest
Python API
Interest
Rendering & Cycles
Interest
Sculpt, Paint & Texture
Interest
Translations
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Meta
Good First Issue
Meta
Papercut
Module
Add-ons (BF-Blender)
Module
Add-ons (Community)
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender-addons#86257
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
System Information
Operating system: Windows 10 Pro (2004) x64
Graphics card: Nvidia RTX 3080
Blender Version
Broken
Description
The Freestyle SVG Exporter fails to export the result and prevents the Freestyle lines from being displayed, when the output directory doesn't exist.
Original description:
The Freestyle SVG Exporter prevents the Freestyle lines from being visible in renders. This was very puzzling since the references I could find online seem to suggest that Freestyle lines with the Freestyle SVG Exporter addon enabled should be visible in the render, including comments such as by Robert Guetzkow in the earlier bug report linked below.
No amount of changes to Freestyle's settings that I tried, or rendering it as a separate pass for the compositor made any difference to the (lack of) visibility of the Freestyle lines in the render when the addon is enabled.
Note: most of this bug report has been copied from my comment in this earlier reported bug , as per suggestion of @rjg since I could reproduce it in more recent versions of Blender.
Exact steps for others to reproduce the error
C:\tmp
does not exist (either by renaming or deleting)Original steps:
This occurs whether using Eevee or Cycles as the render engine.
Video demonstration
Attached video is while using a completely fresh profile and install of Blender 2.92.0, apart from the 'Freestyle SVG Exporter' addon being enabled.Demo.mp4
Added subscribers: @rjg, @elan
Discovered the cause of this issue:
The default output directory for Blender is
/tmp\
. Changing it to a custom directory (in my test the Desktop) resulted in the correct behavior of Freestyle displaying in the render while the Freestyle SVG Exporter checkbox is enabled.Not sure if
/tmp\
is equivalent/routed to the Windows temp directory (which Blender does use for various things) but either way it's unexpected behavior to be triggered by merely leaving Blender's default output directory as-is.This may explain why Robert couldn't reproduce the issue earlier if they were using a non-default output directory?
FWIW, both Blender versions I have installed were installed to the default paths in the Program Files directory.
Changed status from 'Needs Triage' to: 'Needs User Info'
@elan Does the
C:\tmp
directory exist on your system?Please open Blender's installation directory and double click on the
blender_debug_log.cmd
. This will start Blender in debug mode and create log files. Try to make Blender fail to render the FreeStyle outline again. Once it does, close Blender. The Windows Explorer should open and show you up to two files, a debug log and the system information. Add them to your bug report by clicking on the upload button as shown in the screenshot below or via drag and drop.No. If that's where Blender defaults to for its output directory I'm not sure why it does when
%temp%
is the regular Windows environment variable for a temp directory (even theblender_debug_log.cmd
uses it for its log file output).Attached are the logs. It would appear Blender tries to write an SVG to the non-existant default output directory, fails, and thus for some reason blocks the rendering of the Freestyle lines within Blender.
blender_system_info.txt
blender_debug_output.txt
Changed status from 'Needs User Info' to: 'Confirmed'
That add-on doesn't check whether the directory exists and doesn't attempt to create it. Using
os.makedirs(path, exist_ok=True)
should avoid this problem.@elan I can't give you a definitive answer for past design decisions, but that has been the default output directory on Windows for as long as I can remember. Presumably as a mirror to the Linux
tmp
directory and to be more user accessible (many users likely wouldn't know what%TEMP%
is and where to find it). However, that is just speculation on my part.