text:
Fast streaming camera view to video for linux (v4l) system device
What i'm trying to achieve is to stream an arbitrary camera view in blender to a v4l device.
What i've done so far
After reading the community post about streaming the Eevee view on Windows and linux, I adapted the spout addon for blender in order to work with the virtualvideo package.
In short, I use a draw handler in Blender to read the pixels the 3D view  and send it to the virtual v4l device:
scene = context.scene
dWIDTH = camera.texshare.capture_width
dHEIGHT = camera.texshare.capture_height

view_matrix = context.scene.camera.matrix_world.inverted()

projection_matrix = context.scene.camera.calc_matrix_camera(
    context.evaluated_depsgraph_get(), x=dWIDTH, y=dHEIGHT)

# Defined somewhere else, just here for complete example
offscreen = gpu.types.GPUOffScreen(dWIDTH, dHEIGHT)

offscreen.draw_view3d(
    scene,
    context.view_layer,
    context.space_data,
    context.region,
    view_matrix,
    projection_matrix)

bgl.glDisable(bgl.GL_DEPTH_TEST)
draw_texture_2d(offscreen.color_texture, (0, 0), dWIDTH, dHEIGHT)

# Read pixels and store them in the buffer
bgl.glReadPixels(0, 0, dWIDTH, dHEIGHT, bgl.GL_RGB, bgl.GL_UNSIGNED_BYTE, buffer)

# Send next frame
fvd.send_next_frame(buffer)

What is working
When streaming is enabled, the virtualvideo streams the pixel buffer to the v4l device and i can watch the "stream" with ffplay (or something else):

What isn't working

The bgl.glReadPixels function takes about 300 to 400 ms to render one frame which results in a slow frame rate.

By using the view and projection matrices, the output is not exactly the "camera view", even the camera mesh gets rendered into the view

The rendered image somehow gets displayed in my blender viewport (See image below).

I somehow managed to flip the image upside down, but that's the least of my problems :D

What i'm asking

Is there a way to grab and redirect the already created (and very performant) camera view from blender? This does not even necessarily have to be done via the Python interface of Blender, if there is a good solution in C++ or similar I would be very grateful!

If not, is there an alternative for the bgl.glReadPixels function that works faster?

Why does the rendered image show up in the viewport and how can i disable this behavior?

I think I made progress which fits to your question.
With a modal operator I have achieved streaming a live camera view from the active Viewport to a v4l device with about 11 fps. Not that smooth, but a good start.
Of course I did not come up with this totally on my own, but i was guided by related threads or answers:

Question from bluejayke on realtime export of images
Brilliant Answer from CodeManX on question regarding screenshots

This method was tested in blender 2.82, in version 2.92 it somehow only delivers black images
Workspace "Configuration":

have a 3D View
switch to Camera mode (Num 0)
Zoom Camera to 1:1 (View->Navigation->Zoom Camera 1:1)
toggle all overlays, gizmos and helper bars which overlap your camera view as they will show in your stream

These steps are not required for the pipeline to work, however what you see in your viewport gets cropped to the render size, so you may have unexpected output if the view doesn't match the camera view 1:1 or has a smaller size than your set resolution
What my code does:
I set up a modal operator which runs at 30Hz (in my use-case it also updates the scene and the camera postion but this is not included in the example).
With the ffmpeg-python package I set up a stream to the previously created virtual video device (setup via v4l2loopback).
In the modal function I grab the pixels in the camera region and put them into the ffmpeg stream.
Example:
import bpy
import bgl
import ffmpeg

class VirtualStream(bpy.types.Operator):
    bl_idname = "wm.virtual_stream"
    bl_label = "Virtual Stream"

    _timer = None
    _updating = False

    ffmpeg_proc = None
    _region = None
    _res_x = None
    _res_y = None

    # change to the path of your v4l device
    _video_device = "/dev/video2"

    def modal(self, context, event):
        if event.type in {'ESC'}:
            self.cancel(context)
            return {'CANCELLED'}
        if event.type == "TIMER" and not self._updating:
            self._updating = True
            # correct start pixel of region to camera corner
            x = self._region.x + (self._region.width - self._res_x) // 2
            y = self._region.y + (self._region.height - self._res_y) // 2
            bpy.ops.wm.redraw_timer(type="DRAW_WIN_SWAP", iterations=1)
            # read pixel values in buffer
            buf = bgl.Buffer(bgl.GL_BYTE, self._res_x * self._res_y * 3)
            bgl.glReadPixels(x, y, self._res_x, self._res_y, bgl.GL_RGB, bgl.GL_UNSIGNED_BYTE, buf)
            # convert buffer to bytes for ffmpeg
            buf_list = buf.to_list()
            myBytes = bytes(buf_list)
            # write bytes to virtual video device
            self.ffmpeg_proc.stdin.write(myBytes)
            self._updating = False
        return {'PASS_THROUGH'}

    def execute(self, context):
        # setup timer for modal
        wm = context.window_manager
        self._timer = wm.event_timer_add(1/30, window=context.window)
        wm.modal_handler_add(self)
        # get render resolution -> size of camera view
        self._res_x = bpy.context.scene.render.resolution_x
        self._res_y = bpy.context.scene.render.resolution_y
        # setup ffmpeg stream
        self.ffmpeg_proc = (
            ffmpeg.input("pipe:", format="rawvideo", pix_fmt="rgb24", s="{}x{}".format(self._res_x, self._res_y))
            .vflip()
            .output("/dev/video2", format="v4l2", pix_fmt="yuv420p")
            .overwrite_output()
            .run_async(pipe_stdin=True)
        )
        # grab region we want to capture
        for a in context.screen.areas:
            if a.type == "VIEW_3D":
                for r in a.regions:
                    if r.type == "WINDOW":
                        self._region = r
                        break
        self._updating = False
        return {'RUNNING_MODAL'}

    def cancel(self, context):
        context.window_manager.event_timer_remove(self._timer)
        self.ffmpeg_proc.stdin.close()
        self.ffmpeg_proc.wait()

bpy.utils.register_class(VirtualStream)

Time constraints:
As I mentioned on my machine it runs at about 11 fps, with an additional update of the scene this drops to about 7 fps depending on the updates. When timig the individual parts bgl.glreadPixels took about 50ms and the conversion to bytes also took 50ms, the other parts are virtually irrelevant.
What I don't know is why your execution of bgl.glreadPixel was so much slower than mine or how to speed up from here.


text:
How do I create branching particles like lightning?
Working on a project that calls for multiple lightning-like strands all coming out of certain areas (vertex group-able) on one mesh object at the same time, and hoping I can do this with particles. Can model if absolutely necessary, but would like to avoid.

I recently watched this and I loved it... Thunder tutorial on Youtube
Hope that is what you're looking for. :)

Checking... thx by the way :)

Not exactly what I meant, but learned ALOT. And I thought I was a pro... :)

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

sort: votes


text:
What happened to OpenGL render? Why has EEVEE been so slow at files?
I just spent days rendering something in 2.80, and it's got some problems, so I'll need to re-render. The thing is I don't even need anything but OpenGL rendering for this, but OpenGL along with the ability to render with it seems gone from 2.80. EEVEE seems fast enough in the viewport, but when rendering to PNG files at 50% of 1920*1080, it has taken three or four seconds to render/save the image. Sometimes I've suspected it is re-working whatever preliminary work it does on the scene (IE: the delay when switching to rendered view that only happens on the initial switch) for every frame. I deeply miss OpenGL render. I'm not sure how to state this all as one question, unfortunately.

This confused me for awhile. You can still get the viewport render, it is just not located where it used to be. Go To 3D Space > View and Select "Render Sequence Animation". It operates like the old OGL used to, and can be good for playblasts and what not.

"Go To 3D Space > View and Select 'Render Sequence Animation.'" This was helpful. But I wanted to point out that for me, In 2.82a, "Render Sequence Animation" wasn't the name of the menu item. It was "Viewport Render Animation." But it worked.

Technically, blender 2.8 has three render engines- cycles, eevee, and workbench. Switching the engine to workbench will render in the same way that opengl used to.
And the reason that eevee renders slowly (or at least not instantly) is because it still takes multiple samples for a final render. It is only real time in the viewport because it takes a fewer number of samples. Adjusting settings in eevee can optimize it in the same way that adjusting cycles settings can optimize it. Also, a final render is going to be slower than a viewport render because it has to be saved/written as well, even though that might only take a few milliseconds.

Have had trouble using textures with workbench, though admissibly haven't tried much. Is this possible?

Try going into workbench's render settings and setting the color fro material to texture.

PTL have image textures now! However, have discovered seeming root of the speed problem. I had been rendering to PNG frames (safer), but I changed it to ffmpeg matroska stream encode (alot faster) and old OpenGL rendering speed was almost completely restored. So, I guess the real question is what image format to use. Will ask separately. Thanks!

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
What image format encodes the fastest, or at least faster? PNG is too slow
When rendering [in 2.80], I have discovered that video streams save much faster than rendering to PNG files. This is frustrating to me because I have learned that the safety of image frame rendering then compiling them is well worth it. But the difference between maybe one hour and days in rendering time isn't worth it, even considering the problems that may be encountered.
Q: Is there a faster format to use than PNG?

I think TGA is uncompressed and supported by Blender, just expect it to eat disk space as an image sequence.,

I've thrown a script together to measure the time required to save a file using different file formats. I'll post an answer tomorrow. There is clear winner in quality and performance.

TL;DR If you want to work in a scene referred workflow you should use OpenEXR. It's also the quickest to save, especially for large renders. I'd recommend to use it with the PIZ lossless codec when rendering in Cycles, since it can compress images with (subtle) noise particularly well.

Let me begin by saying not all image formats are equal, so comparing just the time required for encoding wouldn't necessarily give you a reasonable choice. There are four parameters that are usually of interest when it comes to choosing the right image format for the task:

Bit Depth
Compression
Alpha (Straight vs. Premultiplied)
Encoding Performance

The bit depth is relevant because it determines how much information the image can actually hold, which directly influences the dynamic range your image can have. OpenEXR and Radiance HDR can store 32-bit per pixel in each channel, whereas JPEG has only 8-bit. Naturally if you render the frames you don't want to discard a majority of the information, therefore a higher bit depth is desirable. However storing the raw bits would result in very large file sizes, which is why compression is also relevant.
Compression can be lossless or lossy. The former allows to reconstruct the original values as is. Lossy compression leverages that the human perception doesn't notice slight quality degradation. It can therefore reach higher compression ratios. Whether lossless or lossy compression is faster to store isn't possible to say in general. Using a lossy compression likely results in fewer bytes that have to be written, but the compression algorithm may have a higher computational complexity. This is why the speed of saving the image is also depending on the size of it. PNG, as you noticed, is notoriously slow and has a poor compression ratio. An image format with lossless compression, a high (enough) compression ratio and fast encoding would therefore be preferable. A lossy compression may also be useful if disk space is of the essence and quality loss isn't a concern.
Another area where image formats differ is the alpha. Some image formats don't support it at all and those that do use either unassociated alpha (also called straight alpha) or associated alpha (also called premultiplied alpha). JPEG for instance doesn't have an alpha channel, PNG uses unassociated alpha, OpenEXR associated alpha. While unassociated alpha allows to store occlusion ("transparency") it cannot model pixels that are simultaneously emissive and semi-transparent which associated alpha can. This is why the latter is suitable for VFX/Compositing and the others are not. For more information see the following answer by Troy Sobotka.
The only image format which is a good solution to all four aspects is OpenEXR. It supports 32-bit depth, good compression (lossless and lossy codecs), associated alpha and good encoding performance. In Blender it also allows you store all your render passes, which is very useful for compositing and a scene referred workflow.

While OpenEXR may be the best choice for the job, is it also one of the fastest solution?
I've written a script which measures the time it takes to store an image in all the image formats Blender offers. Unfortunately Blender's Python API doesn't offer a way to hook into the encoding step, which is why the measurements are for the time required to save the image to disk. Since I/O isn't constant time due to scheduling, the controller, read/write access patterns and usage by other software, the script saves the image(s) multiple times for an average save time as well as the standard deviation to get an impression how strongly the results vary. The following measurements were all made on a Samsung 840 Pro SSD.
Performance comparision with highest quality settings
For the first experiment an HDRI in four resolution is loaded into Blender and saved saved using every image format available. For each format the settings have been set to maximize output quality. The error bar represents the standard deviation.
Remark 2020-06-22: The results may not be representative for every input. Additionally the image formats supporting lossless codecs have the maximum compression ratio set. This increases their encoding time compared to the lossy formats.
All image formats

All image formats except for PNG

The measurement confirms your impression that PNG's performance is pretty terrible at maximum compression. OpenEXR is the fastest out of all the options for the data set it was tested on. Since OpenEXR has also the most desirable properties of all the image formats, it is the best choice. The test use only one codec for OpenEXR though, which is PIZ. Further measurements that compare the available codecs of OpenEXR will give a full picture of the performance.
(Update 2020-06-22) Performance comparision with default compression ratio
Mechalynx criticized the choice of the compression ratio for PNG in the original measurement. Hence, I've repeated the evaluation on the same data, but every image format uses Blender's default compression ratio and quality option. The color channel for the output is set to RGB for every format and the bit depth to the maximum. Note that the maximum supported bit depth varies between formats.

The default amount of compression for PNG is 15% in Blender, which results in greatly reduced saving time compared to the maximum compression in the previous measurement. However, PNG is still among the formats that saves the slowest, even with the default compression settings, for the particular data used in this test.
OpenEXR comparison of codecs
We have established that OpenEXR is one of the best choices among the file formats Blender offers. Next we can take a closer look at the different codecs and which of the lossless and lossy codecs are the fastest.

The lossless PIZ codec seems to be significantly faster on the tested data than the other codecs. It also creates the smallest file size for this particular file at 16500 x 8250 among the lossless codecs with 453.8 MB. DWAA seems to be the fastest among the lossy codecs and it had the smallest file size with 107.2 MB for the 16500 x 8250 image. The last measurement contained a significant outlier for the PXR24 codec which skewed the results.

The script
In case you want to run tests on your own hardware, you can find the script here.
Example for testing on HDRIs
# HDRI can be downloaded from https://hdrihaven.com/hdri/?c=indoor&h=machine_shop_01
filepaths = [
    "K:\\Bugs_and_Features\\StackExchange\\2019_08_12_performance_encoding\\hdris\\machine_shop_01_1k.hdr",
    "K:\\Bugs_and_Features\\StackExchange\\2019_08_12_performance_encoding\\hdris\\machine_shop_01_2k.hdr",
    "K:\\Bugs_and_Features\\StackExchange\\2019_08_12_performance_encoding\\hdris\\machine_shop_01_4k.hdr",
    "K:\\Bugs_and_Features\\StackExchange\\2019_08_12_performance_encoding\\hdris\\machine_shop_01_8k.hdr",
    "K:\\Bugs_and_Features\\StackExchange\\2019_08_12_performance_encoding\\hdris\\machine_shop_01_16k.hdr"]
file_settings = [BMP(),
                 IRIS(),
                 PNG(),
                 JPEG(),
                 JPEG2000(),
                 TARGA(),
                 TARGARaw(),
                 Cineon(),
                 DPX(),
                 OpenEXRMultilayer(),
                 OpenEXR(),
                 RadianceHDR(),
                 TIFF()]
result_directory = "K:\\Bugs_and_Features\\StackExchange\\2019_08_12_performance_encoding"
benchmark = BenchmarkImage(filepaths, file_settings, result_directory, measurements_per_file=3)
benchmark.run()

Example for testing OpenEXR codecs
# HDRI can be downloaded from https://hdrihaven.com/hdri/?c=indoor&h=machine_shop_01
filepaths = ["K:\\Bugs_and_Features\\StackExchange\\2019_08_12_performance_encoding\\hdris\\machine_shop_01_1k.hdr",
             "K:\\Bugs_and_Features\\StackExchange\\2019_08_12_performance_encoding\\hdris\\machine_shop_01_2k.hdr",
             "K:\\Bugs_and_Features\\StackExchange\\2019_08_12_performance_encoding\\hdris\\machine_shop_01_4k.hdr",
             "K:\\Bugs_and_Features\\StackExchange\\2019_08_12_performance_encoding\\hdris\\machine_shop_01_8k.hdr",
             "K:\\Bugs_and_Features\\StackExchange\\2019_08_12_performance_encoding\\hdris\\machine_shop_01_16k.hdr"]
file_settings = [OpenEXR(exr_codec="DWAA"),
                 OpenEXR(exr_codec="ZIPS"),
                 OpenEXR(exr_codec="RLE"),
                 OpenEXR(exr_codec="PIZ"),
                 OpenEXR(exr_codec="ZIP"),
                 OpenEXR(exr_codec="PXR24"),
                 OpenEXR(exr_codec="NONE")]
result_directory = "K:\\Bugs_and_Features\\StackExchange\\2019_08_12_performance_encoding"
benchmark = BenchmarkImage(filepaths, file_settings, result_directory, measurements_per_file=3)
benchmark.run()

Example for rendering and measuring the current scene
file_settings = [BMP(),
                 IRIS(),
                 PNG(),
                 JPEG(),
                 JPEG2000(),
                 TARGA(),
                 TARGARaw(),
                 Cineon(),
                 DPX(),
                 OpenEXRMultilayer(),
                 OpenEXR(),
                 RadianceHDR(),
                 TIFF()]
result_directory = "K:\\Bugs_and_Features\\StackExchange\\2019_08_12_performance_encoding"
benchmark = BenchmarkProject(file_settings, result_directory, measurements_per_file=3)
benchmark.run()

For the charts you need matplotlib in Blender. I would recommend to create a venv using the same Python version as Blender uses, install matplotlib in the venv, then create a directory with subdirectories modules, addons, presets and startup. Copy the modules from the venv into the modules directory. Now add the parent directory to Blender's Scripts file path in Edit > Preferences > File Paths and you should be able to import matplotlib.

Update: File size comparison
As suggested by Troy, we can also show that OpenEXR produces significantly smaller file sizes than PNG.

The chart compares the file size of images saved as 16-bit PNG with maximum compression and 16-bit OpenEXR with DWAA (lossy) and PIZ (lossless) codecs.
The file sizes are:
1024x512  :   3.02 MB (PNG),   0.82 MB (OpenEXR - DWAA),   1.70 MB (OpenEXR - PIZ)
2048x1024 :  11.80 MB (PNG),   2.87 MB (OpenEXR - DWAA),   6.52 MB (OpenEXR - PIZ)
4096x2048 :  46.03 MB (PNG),   9.74 MB (OpenEXR - DWAA),  25.23 MB (OpenEXR - PIZ)
8192x4096 : 176.68 MB (PNG),  32.71 MB (OpenEXR - DWAA),  96.13 MB (OpenEXR - PIZ)
16500x8250: 657.86 MB (PNG), 107.19 MB (OpenEXR - DWAA), 352.64 MB (OpenEXR - PIZ)

Evidently OpenEXR also beats PNG in file size, with DWAA creating files that are approximately 72-83% and PIZ 43-46% smaller than the PNG on the tested images.
Although the strong increase in file size makes it hard to read precise values from the chart, they should give a general impression of the required storage. The following one shows the file sizes for all file formats in the same configuration as the timing chart. J2K refused to save the largest resolution, which is why there is no value at 16500 x 8250.

(Update 2020-06-22) OpenEXR vs PNG for baked textures
Since there's been a discussion with Mechalynx in the comments about how well suited OpenEXR is for baked textures, such as normal or displacement maps, I've investigated this as well. One claim was that the original benchmark may not be representative for other types of image content. I've modified the script to evaluate the file size and saving time for baked images. It is also available on GitHub. The following test compares the saving time and required file size for a normal map baked from a high resolution mesh.

In the evaluated data OpenEXR consistently beats PNG in encoding speed. Furthermore, OpenEXR produced smaller files at equal bit depth for all codecs (excluding None which doesn't compress). The lossy codec DWAA produces smaller files than PNG even at 32-bit.
The measurements are just a sample and do not prove that this holds for all or a majority of the input data. Further evaluation on a well designed data set would be necessary to draw a generalized conclusion. However, there is a strong indication that OpenEXR provides better encoding speed and smaller file size compared to PNG when an appropriate codec and comparable bit depth are used.

Comments are not for extended discussion; this conversation has been moved to chat.

if you still have the venv set up (and the scene used for rendering/saving?), would it be possible to update the graphs with today's performance and the presence of WebP added back in 2022?

@L0Lock Unfortunately, I currently don't have the time to work on this. It should be fairly simple to add another format to the script though. The test did not actually render anything, it used an imported EXR (since we don't want to measure any render related performance, just the image encoding). It might be a good idea to check if there is any difference with an actual render though, but I don't think it will make a difference in terms of data being processed.

Ok, i will make a note on my to-do list to try and find some time to do an update on this.


text:
Copy keyframes from one action to another that doesn't have keyframes
I want to know if it is possible to copy/paste keyframes from boneA in actionA to boneA in actionB without creating new keyframes.
Here is the situation: I have a long list of actions for this animated game character. There was a change and I had to add a new bone to it. I need this new bone to have the same keyframes in most of the actions. I can copy the keyframes from one action, but I can only paste to another after setting new keyframes for all the animated properties.
Is there anyway I can paste the keyframes without doing that?


text:
Compositing - Using ambient occlusion as alpha
I'm trying to composite the ambient occlusion pass and use it as a "fake" shadow in my render.
In my scene I have

a sphere with a simple material
a plane with a principled material

I cannot manage to export a good shadow with a shadow catcher, I just want to fake it using the ambient occlusion pass.

This is the output of the Ambient Occlusion pass.
Now, I have two problems:

Why is the Ambient Occlusion on a gray base instead of pure white with black occlusions?
How can I use this pass to say to the compositor: "ok, create a black layer which is black where the AO is black, and transparent where the AO is white"?

Thank you very much


text:
Blender crashes after variable amount of frames, or after scene edit
I have a problem with animation render. The render starts, but after a variable number of frames (usually around 500), blender crashes.
My scene is pretty big, over 20M tris, filled with vegetation.
I have already tried every "classic" performance optimization trick, i.e. persistent data, lock interface, and so on. The weird thing is that if I lauch blender and start a render it always works. But if I edit something in the scene and start a new render, it sometimes gets stuck during initialization, but if I close and open blender again and hit render it works. So it maybe have something to do with caching, I don't know.
The plugins I'm using that may be causing the issue are

Geo-Scatter
Grassblade
Bproduction Forestation

Specs:

Blender 4.1
GPU RTX 4090
i7 12th gen

Logfile:
https://pastebin.com/5ypyLDep
Thank you all

Sorry but we can't help with crashes on this Q&A site, especially if they might involve third-party addons. See: https://blender.stackexchange.com/help/on-topic.

Hi,  user186061. I hate to sound unhelpful, but I have to agree with John Eason, here. There's not much we can do as a community, here.. the inconsistency of the behaviour does suggest this is not a problem that can be solved by altering your  usage of the application.. so we can't help. Please go ahead and make a bug report, to draw this to the attention of the people who can help: the developers.


text:
Artifacts with Anisotropic Shader
I am experiencing artifacts in cycles like this:

The unusual thing is that the shapes displayed here do not exist in my geometry. There are no overlapping faces, the object has no depth, its shader is mix of anisotropic and transparent, explode modifier is applied to it, but this happens before the object explodes.
What could be causing it?
Blend file

Is it possible you could upload the .blend?

The Anisotropic shader works using a Tangent to control in which direction the reflections get squashed.
If you don't specifically tell it which tangent to use, it'll compute a tangent from the geometry itself. I assume because your model is perfectly flat, it had a bit of trouble doing this predictably.
So instead, pick one of your UV maps and plug that into the Anisotropic shader's Tangent input:

The reason those artifacts appeared to come from geometry that doesn't exist is because you're using an Explode Modifier that modifies the mesh.

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
Hide smoke domain objects in OpenGL quick render
Is it possible to hide the domain object for a smoke simulation in an openGL quick render without hiding the smoke?
The domain can be distracting in preview renders even when rendered as a wireframe.
Toggling the visibility of the domain hides the smoke as well.
Is this possible?

Using the "Only Render" checkbox in the Display panel of the 3D View's Properties region (N) doesn't work?

@Fweeb Nope. Only Render only hides things like the 3D cursor, the grid floor, etc. It does not seem to hide actual geometry.

If the geometry is set to have a maximum drawtype of Wire, it shouldn't show up when Only Render is enabled.

@Fweeb Ah, I know why I was confused now.. enabling Adaptive Domain makes the domain visible again. Is there a way to hide the domain with Adaptive domain enabled? (or maybe this is a bug?)

If your domain's Maximum Draw Type is set to Wire (Object Properties > Display panel), you can set the 3D View's display to Only Render (Properties region [N] > Display panel) and the domain should be hidden from view.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
flat area to sphere or turn to half of sphere
I recently made a flat surface and turned it into a rounded shape and sadly forgot on how that was achieved within Blender.
the wished result is on the far right.
I tried to make it now with the "to sphere" function but that gives me really crappy results.
I just know that I haven´t used the proportional editing nor a real sphere back then.

To sphere is actually the correct way if you do not want to use proportional editing, but you have to make sure that yout pivot center is set to where you want the center of the sphere to be.
The easiest way is probably to set the pivot point to be at the 3D Cursor

and then placing the 3D Cursor where you need it. You can either set its coordinates directly

or select a set of vertices or objects in whose center you want the cursor to be and press Shift+S and selecting 'Cursor to Selected'.

Btw: The radius of the sphere is the median distance of the selection to this pivot point.

Starting with the left most object, delete the faces on the top, flat surface. Then switch to vertex select mode. Select all of the vertices around the top loop, extrude them, and join them at the center. Switch to edge select mode, select all of the edges from the center vertex to the edge, and subdivide he edges several (3 to five) times, depending upon the desired height of the dome. Form the dome by selecting all but the outermost edge loop, and raise the selected part to the desired height. Repeat the same process, selecting all but the outermost edge loop of the previous step, and finally the center vertex.
Alternatively, you can turn on proportional editing, if desired.


text:
Approach to get fastest flat color render times?
I am creating an animation that shows the assembly of a Meccano toy (erector set).
I am not concerned with showing any shadows or reflections, I just want my objects to be simple colors.
How should I approach lighting and material settings to get the fastest render times?

I don't know if this has been suggested, but turning down sampling could help.

In future, please be a little more specific in your questions so that we know exactly what you're looking for and how to answer.

If all you want are flat colors, you might try using the OpenGL render.

OpenGL render is also an excellent suggestion. Never knew about that option.

The fastest flat-colour renders usually come from using Blender Render, although it's also possible in Cycles which may be quicker if you have a lot of geometry.

Blender Render:
All you need to do is enable Shadeless on all your materials, and then the diffuse colour will be what controls the colour of that object.

To be doubly sure you're not calculating anything unnecessary, delete any lights in the scene and disable all the Shading options in the render settings (except for Textures if you have any textures applied)

Cycles:
Use an Emission Shader - this will indeed emit light (onto any other kind of shaders), but it won't have any shading on it and renders quickly.

If you do that for all your materials, then there won't be any other surfaces to emit light on to. However, if you do have a few diffuse surfaces and want to prevent the objects from emitting light, just disable all but the Camera rays for that object:

Finally, just to make sure it's as fast as possible, set the render Samples to something reasonable like 32 or 64 (or even lower if you're not too fussed about crisp edges), disable Shadows and set the Max and Min bounces to 0:

If CPU is not being used fully:
Finally, while it's rendering take a look at your CPU usage in your OS's task manager. If it's not using 100% of the CPU, it can help to render with more than one Blender at a time:

If you disable Overwrite and enable Placeholders, Blender will create a small place-holder image as it starts rendering and won't rerender any frames where the image already exists. This way, if you open another Blender and render the exact same thing at the same time, they won't overlap and will be able to render at double the speed (unless of course your CPU usage was above 50%).
You might still never get to 100% CPU usage if you're limited by your hard-drive/network speed or the amount of RAM available.


text:
Connecting NodeSockets of differing types
If you check the docs, you can see under NodeSocket(bpy_struct):

type Data type Is
Type: enum in [‘CUSTOM’, ‘VALUE’, ‘INT’, ‘BOOLEAN’, ‘VECTOR’,
  ‘STRING’, ‘RGBA’, ‘SHADER’], default ‘VALUE’

What happens, if you connect sockets of differing types? In particular, RGBA connected to SHADER (Mix -> Material Output), and RGBA connected to VALUE (Image Texture -> ColorRamp)? Can someone tell how blender converts between the differing types?

What are you asking about? These are simply types of sockets (the little dots on the sides of nodes), where usually you'll make connections between the same types (color > color, value > value...).

I'm asking because I find it weird, that I can connect RGBA socket to SHADER socket. Why? They are of different type.

blender assumes that you know enough to follow the color code at least

You can connect any socket type to any other socket type and usually the conversion is done automatically - the exception is the SHADER type, where only a shader socket plugged into another shader socket will work (although there's nothing physically stopping you from trying)

@GregZaal Can you enumerate how the conversions take place, i.e. how RGBA is converted to VALUE, for example. There are many possibilities, such as a weighted sum, taking only one of 4 values, etc... I'm also interested where in blender's code I could look up these conversions taking place. Also, you forget that I have RGBA plugged into the SHADER socket. It works, try it, though how?

RGB(A) to Value
It is neither a weighted sum nor the max channel (as is the case for Value in HSV) - instead it's something I don't understand at all, something to do with the black magic of color management, but I'm happy to write it here anyway :)
In node_shader_valToTgb.c is the function node_shader_exec_rgbtobw, which calls IMB_colormanagement_get_luminance(col). Inside that function, we have dot_v3v3(luma_coefficients, rgb) - the dot product of the input color and some apparently random numbers at the top of that file: luma_coefficients[3] = { 0.2126f, 0.7152f, 0.0722f };
Recreating that as a node setup in blender gives the same result as you'd get from plugging the color into a Color Ramp node or RGB to BW node:

The cube render is black meaning the difference = 0
Shader nodes are always only RGB and never include an alpha channel. However, in the compositor they do. When converting RGBA to a Value in the compositor, the alpha channel is simply ignored - only the RGB values are used.

RGB(A) to Vector
The alpha channel is simply discarded - Red becomes X, Green becomes Y, Blue becomes Z.
We can prove this by plugging a render into a Vector Curves node, and plugging that into a Viewer node - notice that the background becomes black (as the RGB values in that space were all 0):

Vector to RGB(A)
It's simply the opposite of what's said above. X becomes Red, Y becomes Green, Z becomes Blue. The alpha is always assumed to be 1.0.

Anything to Shader
This is the one exception - nothing is ever automatically converted to a shader, the result is always simply black, no matter what color or value you plug into it.
Personally I think this design is silly - if you plug a color straight into the material output (without going through any shaders first), you're expecting the result to be shadeless. But alas, this is not the case.

Value to RGB(A)/Vector
This is pretty obvious I think, but just for completeness: Whatever the value is becomes the same for each channel/axis when converted to RGBA/Vector (though the alpha channel simply = 1)

Have I missed anything?

The RGBA->Value conversion IS a weighted sum. I am positive, that conversion to SHADER are possible, after all the socket Material Output is of type SHADER and you can connect a RGBA socket to it.

Are you saying you can connect an RGB socket to a shader socket and it renders something other than black? Need a screenshot to believe that...

node_socket_copy_default_value() seems to be responsible for moving data between node sockets, but it doesn't go along with the real behavior so I may be wrong, and here is some links further invistigation :
node related definitions
node directory in source code


text:
Is there a way to "push" other clips in the VSE?
I have a number of clips in the video editor, and I want to rearrange them.
Is there a way to grab and move a clip, so it'll push the other clips behind to make space for it?
E.g.: I want to rearrange clips ABC to ACB without the need to move B out of the way first, and to put it back in the end.
Change this:

To this:

EDIT: The "ABC to ACB" change is just an example. I have over 60 clips I need to completely rearrange.

I'm not quite sure what you mean by "push". I answered based on your image example, but based on your edit it sounds like this doesn't work for your use case.. Could you clarify?

@gandalf3: Let's have V1,V2,V3,...,V60. I want to have V60 between V1 and V2. With your solution, I'd have to press Alt-Left 58 times. I'm hoping for something simpler.

You can use the "Expand to fit" option which is enabled by hitting G for grab and then you can hit G again to toggle "Expand to fit" permanently or hold down ALT to use toggle it temporarily.
When you have three strips with the new one selected but not yet in your final row:

Just hit G to grab and then G again and place it "over" the existing strips:

Confirm with left mouse button (LMB) or Enter and there you have the strip inserted in between the two existing ones:

Moving a single handle works with expand to fit as well (even though, the next strip is then moved and not trimmed in length).

For your particular case you can press Alt←.
Alt← and Alt→ swap the selected strip with the nearest strip in the direction of the pressed arrowkey.

To move a group at once, create a meta strip of the selected strips first, move them as suggested, then un-meta.


text:
How do I create a transition from a curved surface to a flat surface?
I'm currently clueless as to how to morph a curve smoothly into a flat surface. As you can see in the image below, the black area has a flat surface, but changes into a curved surface in the red area. How can I model this smoothly?

Thank you.

You could start with a cylinder

add a few loopcuts Ctrl-R
select the  edge rings to flatten Shift-Alt-RMB
Scale along z-Axis Z

After that could select edges and scale the x-axis:

First create the flat surface and just extrude it downwards(the circled red part) and continue that way.Then add few loopcuts between the smooth and the flat ares and slide the loopcuts accordingly .If you want you can add the subdivision surface modifier and smooth to get that part nicely done.


text:
Changing HDRI exposure within Blender
I've been looking for some HDRs to use in an animation, and I realize that they're going to be exceptionally expensive.
This is why I'm wondering if I can change the exposure of an HDR from within Blender to get everything I can out of one HDR. The purpose of an HDR is to have a High Dynamic Range. This means I should be able to scale the exposure of the HDR and still have varying depths of light.
Here's a comparison between a jpeg(left) and an HDR(right) as an example of how HDRs have broader depths of light when the exposure is changed:

(Source: How to make your own HDRI)
Of course, this should already make sense if you're familiar with HDRs.
So I want to be able to use an HDR at multiple exposures. Is there any way I can change the exposure in Blender? I know there are some other programs that do that, but Blender should be able to do it.
Right now, I use the background node's "Strength" parameter to change the brightness, but that doesn't make the lighting of the objects in the scene darker or lighter respectively.

Maybe you have some other lamps contributing to the scene, which aren't affected by changing the strength of the background shader (a separate light source).

Given the answer of troy_s in this question here How to measure the dynamic range of an HDRi?, he states in the first paragraph that:

An F-Stop is a halving and doubling of light, relative to the exposure
  referenced.

Now from my own trial and error testing in Blender, that's exactly what happens when you change the exposure value in Blenders color management settings:

If we now apply this thinking as a formula, for each color pixel this would mean to do the following for each color channel:
Pixel(x) = x * math.pow(exposure_value, 2)

Transferred into nodes, this could look like the following Node setup:

In a world node tree, you would now have something as easy as this if you transfer it into a node group:

You can find this node group, and also a similar one for the compositor to doodle around, in this Blend:

Why is there a ^2 before the multiply node? An F-stop isn't just multiplying exposure by 2?

@Mareck the way I understand it, each FStop change is a multiplication by two. So it means, increase one stop, it's A * 2. increase two stops, it's A * 2 * 2, so 2 to the power of 2, increasing by three stops is A * 2 * 2 * 2,...

Ok I think I understand what you've done. The value you enter in your node setup is the number of stops not really the exposure itself, am I right?

@Mareck that's correct. I named it 'exposure' as the Blender UI uses this term a lot.


text:
Blender debugging symbol files
Are there anywhere available the newest Blender debugging symbol files for ms-windows (*.pdb)? Blender recently crashed a few times and I wanted to provide developers more information than only info about the crash.

As of today, Blender does supply .pdb files with Windows build (for more detailed traceback). A note that same feature is not available on Linux, see https://devtalk.blender.org/t/2024-09-05-triaging-module-meeting/36505/2

Anyone can do a debug build and make these files available, but typically we don't do this.
However - you assume the person fixing the bug has ms-windows, MSVC - etc, however many devs use Linux and OSX.
Even ignoring this, the crash data alone often isn't enough, developers need to be able to reproduce the bug so they can change the code and prove that the bug is fixed (without the trouble of sending you an updated build and having you test - which would get very tedious/slow).
Normally its possible to provide a blend file and some steps to redo the bug which is better for devs so they can redo on their own platform.

I wanted the PDB files, such that I could extract the call stack during the crash - this information is valuable for the dev, who debugs the software regardless of OS he uses. The crash I discovered happens very randomly - sometimes after second render (repeatably a few times), sometimes never. That's why I wanted to provide some more information about the error. If publishing these PDB files is not much trouble, maybe it is worth doing? Even if 5% of users are devs like me, you'll get these 5% bug reports documented better.

Sure, providing a stack trace is handy to get an initial idea whats wrong, if you cant get PDB files you could build Blender from source and get a backtrace that way.

Yeeeeeea, but that requires me to download the sources, install VS2008, rebuild the Blender and then run it from the IDE. If I might have downloaded the PDB files (which you have anyway) that would take me a few minutes only :)

You could mail the bf-committer mailing list and ask (on Linux here so no PDB files).

Ok, thanks :) May the Force be with You all :)


text:
Troubleshooting Blender's Memory Use (Memory Statistics)
I've got a model I've been working on for a few weeks here.  The file itself is 2.1Mb and there are no textures used.  Although the full model is 3 million polygons, it's all subdivision and mirroring and arrays and most of it is hidden most of the time.  I suspect Blender is doing some intelligent lazy generation given there's a slight delay when I unhide objects for the first time in a session.
However, I'm seeing memory usages in this scene at a bare minimum of 850Mb.  When I do a render, that shoots up to 1500-1700mb and stays there (doesn't increase on subsequent renders) until I restart Blender.  It's causing some minor performance issues when I've got other stuff running and in some cases I have to restart Blender after doing a render just to reclaim the RAM.
I suspect I may have a fault in my objects somewhere, and on using the space search, found memory statistics.  Looking it up, it apparently ends up in the console.  I could find this on previous versions of Blender by searching for "console" on Windows or by running from a command line.  However, on Mac OS X, "console" returns no results and running from a command line shows nothing in the terminal window besides me starting the .app.
Thank you.

removed OSX from the title since answers for multiple OS's apply and are generally useful. Also OSX memory use isnt so different to other systems.

To fully investigate the problem you may need debugging tools (debug builds etc), but as a user, here are some things you can do.
The first thing to check on is Blenders memory statistics in the top header and compare this to what the operating system reports Blender is using, to see if the memory is being tracked by Blender or not.
If Blender's header doesn't show a large difference in memory then its possible there is a memory leak, or more likely - one of the 3rd party libraries Blender uses is holding onto memory.
If Blender also reports a jump in memory then you can use an operator which reports details about memory use.
Reporting Memory Use
Start Blender in a terminal: See manual for instructions.
Before rendering run the operator "Memory Statistics" from the space-bar search menu. Copy and paste this text into a file.
Render the scene and re-run "Memory Statistics" copying the output into a different file.
The text will look like this:
total memory len: 9.319 MB
peak memory len: 18.868 MB
slop memory len: 5.043 MB
 ITEMS TOTAL-MiB AVERAGE-KiB TYPE
  1993 (   3.051     1.568) BLI_Mempool Chunk
   210 (   0.972     4.740) Data from ME
  2544 (   0.612     0.246) PropertyRNA
    20 (   0.584    29.922) Chunk buffer
  2296 (   0.438     0.195) StructRNA
  3025 (   0.369     0.125) IDProperty array dup
  2209 (   0.322     0.149) dupli_alloc
  1723 (   0.302     0.180) keymap entry

--- snip ---
Now you can compare the results, it may help to use a visual diff tool. search online - many free applications exist.
There may be a perfectly logical reason that Blender is using more memory but if not, then best report a bug on the tracker so a developer can investigate,

Thank you.
Looking at the statistics, it's about 300Mb of subsurf data, which does not seem unreasonable - about 1kb per triangle, which when considering that each vertex has three axes of 32-bit float location, two axes of 32-bit float UV and nine axes of normal/tangent/bitangent data is not much.  It seems to be using less since a few days ago.  Whatever was causing the memory problems must have been accidentally fixed since then.


text:
Where can I get Blender test builds?
I know that Blender.org provides downloads for official releases. I see on forums that people use newer versions of Blender. Where can I get newer version of Blender (nightly builds, alpha versions... etc).

Also.. for windows- http://www.miikahweb.com/en/blender/builds

GIT/Development builds:

The Buildbot:
There is a buildbot that builds from the git repo daily. You can get git (development) builds for all operating systems that blender supports here.
Compile from source:
Another option is compiling blender from source, see the wiki. While this may seem like a lot of effort, once its setup, it can be less trouble then having to continually download large files, and you can test new features minutes after they're committed.

Release candidates:
You can get past releases and current test-builds/release candidates here.
Linux:
There are some additional options for linux besides GraphicAll.org and the ones listed above.

Ubuntu:
You can use a PPA such as the irie PPA. (See this question on AskUbuntu for instructions)
Archlinux:
The blender-git package in the AUR

I like your answer, but the other guy had the website that I was looking for. Also Archlinux?? are you crazy I can't do that ;-)

@BlenderBoy You could also use the buildbot, you don't have to use Arch.. ;)

You can get official daily builds here https://builder.blender.org/download/


text:
Operator Button Text alignment
In my addon if bl_region_type = TOOL_PROPS, the operators text is not aligned.

Where as if bl_region_type = TOOL the text is aligned on the left side.

Why is this and how could I align the text in operator while bl_region_type = TOOL_PROPS?

No - check the answer on the linked page.

(in the internal C code) this is controlled by the layout engine and current theme. It means only in C I can but not in Python?

Thats correct..


text:
How to get a new mesh with modifiers applied using Blender Python API?
I've been scouring the Blender Python API docs for a way to get access to the mesh data that is displayed in the view-port. (with modifiers applied - WYSIWYG)

For reference, this was possible with the 2.4x API's Mesh.getFromObject method.

The option to apply modifiers is common for exporters included with Blender, so you can check how they do it.
Typically you can use the Object.to_mesh function, which returns a new mesh. You can manipulate it without distructively editing the user's data.
import bpy

# --- setup variables ---
context = bpy.context
scene = context.scene

# assume we have an object with geometry, nurbs, metaball, curves... _not_ a lamp
obj = context.object

# --- get a mesh from the object ---
apply_modifiers = True
settings = 'PREVIEW'
mesh = obj.to_mesh(scene, apply_modifiers, settings)

# ... do something with the mesh ...

It's important to remove the mesh, unless you have explicitly assigned it to an object. Otherwise it will be stored in Blender until the file is saved and loaded again.
# optionally remove it
bpy.data.meshes.remove(mesh)

Usually the research goes easily, finding an equivalent process in Blender 2.5+, from Blender 2.4.  But sometimes these methods are moved to different classes, and that adds much time, and sometimes really impairs my progress by relying upon the community (not that it's a bad thing, after doing my homework). Thank you for your help!

I did not need to calculate the tessfaces, so I set the extra parameter calc_tessface=False and my tests pass. Awesome.

@Tom Pace, only if you want to use legacy access to face data (tris/quads, no ngons) - http://www.blender.org/documentation/blender_python_api_2_69_release/info_gotcha.html#info-gotcha-mesh-faces

Doesn't work for new versions anymore

It appears that the to_mesh function no longer has an "apply_modifiers" argument in Blender API 2.80. Instead, you will need to retrieve the dependencies graph ("depsgraph") and use it to get the "evaluated" object:
depsgraph = bpy.context.evaluated_depsgraph_get()
obj = context.object
object_eval = obj.evaluated_get(depsgraph)

The new, evaluated object will have a mesh with the modifiers applied. If needed, you can make a copy of it via:
mesh_from_eval = bpy.data.meshes.new_from_object(object_eval)

for some examples and further info, see:
https://docs.blender.org/api/current/bpy.types.Depsgraph.html

Related https://blender.stackexchange.com/questions/146559/how-do-i-get-a-mesh-data-block-with-modifiers-and-shape-keys-applied-in-blender


text:
Access active spline from Bezier Curve
I'm just starting to get familiar with bpy.types and application modules, but I didn't find an answer to this:
Concerning A Bezier Curve with multiple splines, is there a python way in EDIT mode to know on which spline I am working on (activated in the viewport) except iterating every single bezier_point inside ?
Thanks in advance,
jimflim

You can access this from the spline collections.
obj = bpy.context.object
curve = obj.data
spline = curve.splines.active

http://www.blender.org/documentation/blender_python_api_2_73a_release/bpy.types.CurveSplines.html#bpy.types.CurveSplines.active


text:
How to assign a new material to an object in the scene from Python?
How can I assign a new material to an object in the scene via Python?

Here you go, code with some safety checks:
import bpy
ob = bpy.context.active_object

# Get material
mat = bpy.data.materials.get("Material")
if mat is None:
    # create material
    mat = bpy.data.materials.new(name="Material")

# Assign it to object
if ob.data.materials:
    # assign to 1st material slot
    ob.data.materials[0] = mat
else:
    # no slots
    ob.data.materials.append(mat)

Thanks for your answer. Is it also possible to specifiy which material (glossy, glass, diffuse) and also the different properties (r,g,b, shinyness)?

Yes, it is also possible to manipulate the material nodes with python, but that is for another question

Amazing. These sanity checks actually helped me understand how the things work a lot!


text:
How to creat a mecha style mesh for character?
I try to creat a mesh look like following pics. I want to make a torso for my character.
Please give me some tips or tutorials?

You should study and use:

extrude (E key)
move edges and vertexes (G key)
fill faces (F key)
inset (i key)

The basic hot key I had know to use. But I mean if want to create a mecha style mesh, I dont know how to start. Just like you have tools but dont know how to make a car.

Follow a youtube tutorial to learn how to do stuff, for example: https://www.youtube.com/playlist?list=PLjEaoINr3zgEq0u2MzVgAaHEBt--xLB6U or https://www.youtube.com/playlist?list=PLn3ukorJv4vs_eSJUQPxBRaDS8PrVmIri or https://www.youtube.com/playlist?list=PLn3ukorJv4vvv3ZpWJYvV5Tmvo7ISO-NN or https://www.youtube.com/playlist?list=PL3UWN2F2M2C8-zUjbFlbgtWPQa0NXBsp0

Thx Sanbaldo~~~ These videos are helpful. I will check them later. Thx again.


text:
Why am I unable to change opacity of background images in Blender 2.82 (sub 7)?
Current animation student, need to learn everything about latest Blender engine. Using Pluralsight to supplement on-ground college courses. Current module requests opacity change of background reference image. Unable to comply. Blender v2.82.7 has the opacity under image grayed out so that when turned up or down, does not affect the image.

Hoping someone has a remedy for this, really seems like a simple command, can't believe it's this frustratingly hard to create this effect, should be a staple in modeling.

I think you have to click the Use Alpha button?

@NascentSpace That is correct. Do you want to post this as an answer?

Do you mean Version 2.82 (sub 7)?

In order to change the opacity level you have to turn on Use Alpha. In your screenshot it's the third field from the top.


text:
Editing colors in Blender for vibrance and saturation
Is there a way within Blender to edit colors, like Photoshop, using variables such as vibrance and saturation?
For example:

The image below is an photoshopped version of the first image, with vibrance +80 and saturation +2.
Is it possible to boost colors within Blender, without any post processing methods? (Such as those involving external programs, e.g. Photoshop)

related, https://blender.stackexchange.com/questions/8930/how-can-i-cast-artificially-darker-shadows https://blender.stackexchange.com/questions/55231/what-is-the-the-asc-cdl-node

Besides the postproduction options outlined in other answers, you can be intentional on how you use the elements instead of resorting to "fixing in post". You do have absolute control on the quality of the scene by careful crafting of the materials used and the lighting of the scene, without having to resort to additional effects.
If you want more saturated colors... use more saturated colors, or darker colors, in the shaders those are the ones that determine the color of an object in the scene, you have total control on how objects reflect light or how shiny they are. Also make sure that the intensity, and quality, of your lights is not making the objects too bright, and that is helping you get what you want.
Also play a bit with the different looks on the color management section. A higher contrast might be useful.

Read both answers on the following link very carefully:
Desaturated red when rendered
And read the whole page (comments and answers) here:
How can I get more saturated colors when I render?
To understand the relationship between brightness and saturation on the filmic color transform read this as well:
Render with a wider dynamic range in cycles to produce photorealistic looking images

Blender's compositor has nodes that are analogous to controls commonly found in post-processing applications, and can separate color into several spaces.  Some examples:

Blender's compositor is not very performant compared to other applications, but it can be made much better by checking a few options in the N-panel.

You can set the edit quality level for better/quicker visualization, and check the box for OpenCL to enable GPU calculations.

I think you have several ways to adjust the color balance :

In your 3D View, you can tweak the materials to make sure that they are as close as possible to what you want. For example if you mix your Diffuse with a bit of Emission you can make sure that you'll have colors that will less depend on your lighting (but of course the shadows will tend to disappear). It's the first thing to do in my opinion.

As Allen Simpson says, you can use the Compositor, you have a series of nodes that can correct your colors (Hue Saturation Value, RGB Curves, etc...), and it will affect the layers you want.

You can give some ajustments in the Video Sequencer : Import your image(s) or movie(s), select the strip you want, open the N panel on the right, give your strip a modifier Color Balance or Bright/Contrast, etc...


text:
How do I move my cursor to a mesh's origin?
I'm struggling with how to put my cursor to a mesh's origin point (all axes XYZ), not just in front of the mesh.

Select the object and ShiftS > Cursor to Selected

ty for the ez input

Right click the object, select "snap", and choose "cursor to selected" in the drop down menu.

Alternatively, you can move an object to the 3D Cursor by selecting Selection to Cursor instead.

This changes mesh' position, which may be undesired.


text:
How to acheive this animation in Blender using a Path element
I am asking for advice because I am not getting the results I was trying to get with the follow-up pass.
I want to create an animation that moves along the direction of travel like the red rectangle in the attached image. With a follow path, it bends at right angles. In fact, I want it to be like (2) and follow the slope as shown in (3).
I'm not sure if I'm explaining it well,
If anyone knows how to solve this problem, even with geometry nodes, please let me know.

So you want the rectangle to move and turn along with the path at the start and end, but not turn inbetween?

Thanks for checking it out. I want to move the rectangle by rotation, then right angle, then rotation as you suggested.

Hi. Please use a title that matches the content of the question. It should be descriptive but succinct, unique and identifying, summarizing the issue so that anyone searching for a similar problem is likely to find it. Remove anything superfluous, avoid using words like "this", "help with", "issue" or "question about", instead describe what "it" is. Remember, your title is the first thing potential visitors see, answers you get depend heavily on how insightful it is. See What is the problem of asking “How do I do this?"

Ramos San
Sorry for the lack of clarity. I will be careful in the future. Thank you very much.


text:
Why does home button in the UV/Image editor zoom out a lot?
If you have an image in the UV/Image editor window, pressing the Home button is for View All.
Why does it put a massive border around the image?
Every time I press Home I have to zoom back in!
Zoom extents would be a lot more useful.
Is there a reason for this zoomed out border?

As far as I remember, it snaps to the same zoom ratios as you use the numpad for (1:1, 1:2, 1:4, 1:8...). This is probably to avoid any scaling artifacts since the Image Editor does not filter the images.
If you want to view the image fit to the borders better, try pressing F. However this will not set it to 1:1 if the image is smaller than the region.
Personally, I think there could be some more consistency in this regard, keeping the same hotkeys throughout editors would be nice.

Thanks. F works perfectly. Yes - this is a bit inconsistent with the rest of the interface.

Aside from centering the image, pressing Home sets the zoom level to 1:1 or fits the image to the view if it's larger than the UV/Image Editor window.
You can press Numpad 1 to quickly get back to 1:1, or CtrlNumpad 2 for 2:1, etc. You can see a list of the available aspect ratios and their respective hotkeys in the View menu on the Header of the UV/Image Editor window.

This does not explain the border. The Home button is neither 1:1 or fit to view.

@Ollie83 It is for me.. Perhaps it's a bug. Could you a screenshot? Note that there may be some gap as fit to view seems to pick the closest aspect ratio it can find out of the options in UV/Image Editor > Header > View.

I think you are correct. The home button picks the nearest standard zoom level - rather than actually fitting to the view! This is a bit of limitation. As when you render at 1920x1080 - if you monitor is the same res - home will only zoom to 1:2


text:
How to exit User Preferences mode?
Having selected "User Preferences" from the leftmost menu thingy, the Blender UI replaces the main menu with a bar with some buttons that offer to save settings or install from file. If you're lucky you discover that you can drag down this bar to reveal the actual User Preferences panel.
But then when you're done, how do you get the main back?
I of course went on a detour to discover how to get rid of unwanted panels that proliferate as you try to close panels, but even that "join area" method doesn't work in this case because the User Preferences panel spans the entire main window, and its lower border is shared with three wanted panels rather than just one neighbor.
Eventually I had to quit Blender completely just to be able to exit from Preferences, and restart with a menu. Surely this can't be the intended way?
Blender 2.69, Windows 64.

The way you should get to the User preferences is through the menu in the info window. That will open up a separate floating window, just click the regular windows close button to exit. (as in the first picture)
Now I think what you did is change the editor type by clicking on the button in the very top left. If that is the case then just click on that same button and change the editor type back to the Info view. (see 2nd picture)

As a side note, you can also open the User preferences with Ctrl+Alt+U


text:
How to disable mipmaps in blender 2.7?
I know I can go to User Preferences, System, OpenGL, and disable mipmaps, but it doesn't seem to work, because the texture stays blurry.
Is there another way of doing that?

restart blender?

Are you trying to disable mip mapping in  the viewport or in the render?

Viewport, and already restarted

It works fine for me.. Could you upload an image/blend which has this issue?

https://www.dropbox.com/s/ux9t922rt2adg22/untitled.blend I am using a background image

If it's a background image, not a texture, then mipmaps is not applied. You will have to scale the image up in photoshop (or similar) and turn on nearest neighbour filtering.

But it used to works fine in 2.69 @OwMyWrists

@someonewithpc Disabling mipmapping had no effect on the background image in 2.69 for me. You could try using textured planes instead of background images, see this post.

It worked by disabling the generation of mipmaps with the GPU, in User Preferences


text:
When exporting an H.264 video, why is the resulting file's extension .avi?
I have a client that wants the render in .mp4 format. Using the Blender VSE, I rendered the image sequence into a movie using H.264, which I understand is MPEG-4, but Blender outputs the .avi extension instead. Why is this the case and is there any harm in renaming the extension to .mp4? When I rename the extension to .mp4 it seems to work just fine, but maybe there is some harm in doing this that I don't understand.

SixthOfFour's answer correctly explains the codec/container difference.
But I am able to natively export as MP4 (with Blender 2.73 on 64-bit Linux) with the following settings:

Output panel, file format dropdown: H.264
Encoding panel, format drop-down: MPEG-4

This produces /tmp/0001-0250.mp4 with the H.264 codec.

@SixthOfFour: I'm not familiar with that tool, and don't know how to read that output. What's the actual output codec?

I believe blender can't export video using the MP4 container. If you export using the H.264 codec option under the Encoding panel, it gets wrapped with the AVI container.

The simplest solution I've found is to export using the Quicktime container and the H.264 codec. Then convert it to the MP4 container using ffmpeg.

ffmpeg -i INPUT.mov -vcodec copy -acodec copy OUTPUT.mp4
On OS X, you can check a video's container, regardless of its file extension in its "Get Info" dialog in Finder. Note the "Kind" and "Codecs" fields.

As of Blender 2.77 you can save directly as a correctly muxed .mp4 file, in the Render Panel, by selecting Output as "H.264" and just below at Encoding, Format: MPEG-4 and Codec: H.264. This generates the correct container and encoding AFAIK. You will not see the Codec part until you select MPEG-4, it is not there for other Format settings. This is a pretty awful UI setup, redundant and opaque, why they don't just have a single setting for Container and a second for Codec, like virtually all video editors and utilities, is beyond me. Or at least rename "Format" to "Container" and keep the "Codec" there for all settings even if it is greyed out if not applicable.


text:
How can I upload Blender videos to Youtube?
So I'm trying to upload videos to Youtube, but it says it doesn't recognize the file format.
I made a simple edit with the video sequence editor. I imported a picture and gave it a longer duration.
I'm just saving the file as it is, and then uploading it.
What should I do?

You need to render the video out to a video format.

I'm voting to close this question as off-topic because this isn't about Blender

@BlendingJake I get what he's saying. See my answer.

Blender files are not video files. You need to render and export your video sequence in order to get a playable video.
(This is my workflow for Youtube publishing. Based on the "Advanced encoding settings" article and Blender's limitations. Of course, there are plenty of other ways to do it, but this is how I do it.)
Be advised that there are issues with Blender's output interface since 2.71. This is planed to be fixed around 2.74.
Video settings

Open the properties window and open the render context with the triangle button.
Under the Dimensions panel, select an appropriate resolution and frame rate. The resolutions that Youtube uses are the following:
2160p: 3840x2160
1440p: 2560x1440
1080p: 1920x1080
720p: 1280x720
480p: 854x480
360p: 640x360
240p: 426x240
All of these use the 16:9 aspect ratio. So if you're using a different aspect ratio, such as 4:3, youtube will covert it to 16:9 by adding black empty space on the left and right sides. Use one of the above resolutions for predictable results on Youtube. Note that this is not the same thing as the aspect ratio shown in Blender!
Make sure that you have set the end frame for however long you want your video to be. This can be calculated by frame rate x length of video in seconds.
Open the Output panel. Select H.264 for the file format. When you select that, a new panel named Encoding should appear.
Open the Encoding panel. Select the Quicktime format.
Select the H.264 codec.
Set the max bit rate to 0 to make Blender ignore it.
Set the bit rate to one of the following depending on your video resolution (These are only suggestions given by Youtube themselves. You can find higher quality suggestions on this page.)
2160p: 35000-45000 (kb/s)
1440p: 10000 (kb/s)
1080p: 8000 (kb/s)
720p: 5000 (kb/s)
480p: 2500 (kb/s)
360p: 1250 (kb/s)

Audio settings
If you want audio in your video:

Select AAC as your audio codec under the Encoding panel
Use whatever bitrate your source audio was recorded in.

Render and export
In order to finally render and export your video:

First, make sure you save your blend file somewhere. I've had issues of it not wanting to export if hadn't saved the blend first.
Under the Output panel, set where you want to export your video.
Go to the Render menu and select render animation.

You will get a .mov file in the folder where you exported your video. You can upload this to Youtube.
If you want to be finicky, you can convert that Quicktime file to MP4 using ffmpeg.
ffmpeg -i INPUT.mov -vcodec copy -acodec copy OUTPUT.mp4

Thanks for the writeup! One question though: What's the difference from choosing MPEG-4 as the Format vs. converting the .mov to .mp4 using ffmpeg?

Every new conversion/encoding will lower your Video quality.

Now that we use 2.80, what file format should be used? H264 is not available as format. However, I can select ffmpeg as format and H264 as encoding.

@Gunslinger Thank you for the information. I noted we can also select "Quicktime" for "Container" when choosing "FFmpeg video" for "File Format".

Make sure, your render is in one of the supported YouTube file formats, namely .MOV, .MPEG4, .MP4, .AVI, .WMV, .MPEGPS, .FLV, 3GPP or WebM. Only some of them are supported by Blender through the intenally used ffmpeg. It depends on your system and how Blender was compiled, but there already are other questions about this topic...
Consider using the recommended upload encoding settings: MP4 as a Container (without Edit lists), AAC-LC as an audio Codec with Stereo or Stereo+ 5.1 and a sample rate of 96 or 48 kHz, H.264 as video codec*, if possible the same framerate as it was recorded, deinterlace your footage if possible, use a 5Mbps Video Bitrate for 720p or 8Mbps for 1080p for standard framerates (24-30) or multiply by 1.5 for high framerates (48-60) and if possible use a 16:9 aspect ratio. For Audio use 384 kbps for stereo or 128 for mono. Not everything that YouTube recommends can be set up in Blender properly, though.
*For the H.264 video codec use:

Progressive scan (no interlacing), High Profile, 2 consecutive B frames, Closed GOP (GOP of half the frame rate), CABAC, Variable bitrate (No bitrate limit required, though we offer recommended bit rates below for reference), Chroma subsampling: 4:2:0.

To give you a few more details of what to setup in Blender for example for a 25 fps 720p video:

Hit Render Animation (CtrlF12), wait for it to finish and the upload the generated upload.mp4 next to your blend file to YouTube as described above.


text:
GPU rendering is equal to or slower than CPU rendering
I recently bought an ASUS N550J with
i.7 2.4Ghz
8GB Ram
4 GB Dedicated VRam GTX 850m
When I use blender the GPU renderer only renders one tile at a time and the time taken by the GPU is more or less equal to the time taken by the CPU. Sometimes it takes more than the CPU.

I tried all of your suggestions and it works great!
It took approx. 3 minutes on CPU and only 1.5 minutes on GPU. I was using the BMW1M Blender Benchmark Model.

Make sure your settings are correct, sometimes your computer will try to use the default videocard. Also, GPU only renders one tile per device. Increasing the tile size can speed it up significantly.

Try setting the tile size to 256x256. That should speed it up a fair bit.

I'm voting to close this question as off-topic because it is about hardware.


text:
How can I make objects transparent but thick at the same time
I am making my own james bond gunbarrel sequence, and when the blood droops down, it needs to look thick but transparent at the same time. I am wondering how to achieve this affect. To understand what I mean entirely, please check out the casino royale gunbarrel sequence on youtube. Thanks

Do you mean like thick glass?

"Transparent but thick" would sometimes mean "translucent", I suppose. However, the casino royale gunbarrel sequence effect on YouTube seems not. I think you are trying to make things like this:

Or something more controllable:

Yes, I am trying to make it look more like your first image. Could you show me how to accomplish this effect?

@user2227 I wonder what I can help you more. There are two demo file links in my answer, don't miss them. :) (Or you are trying to make the material in Blender Internal render?)


text:
Issue when using multiple solidify modifiers
I am having an issue when using multiple solidify modifiers.
I had a path imported from Inkscape representing the 2d surface covering of a skull. I converted into a mesh and then build faces and subdividing it to have a more defined mesh.
Then since my goal is to reproduce the human skin, I subdivided the mesh in several vertex groups (17) and assigned a solidifier modifier to each of them (simple mode, 0 offeset, all thicknesses are between 0.9 and 2 millimeters).
It works until the last 2 modifiers (by works I mean it is possible to switch to object mode from edit mode), but then when I add the last two and try to go object mode the program crashes.
Do you have any idea of which could be the problem? If this is not a suitable way would you suggest another one still giving precision in the results?
Thank you very much for your help!


text:
How to get the curvy node connector lines in the 2.80+ interface?
This is a question about blender’s interface and the way it looks, with no functional difference.
I have windows 10, and when switching from blender 2.79 to 2.80 regardless of the machine, the curvy node connector lines for the shader and compositor became straight and boring. However, I keep seeing screenshots on Stack Exchange of users that obviously have 2.80+, but they have the nice curvy connector lines. How is this done?

@Gorgious yes. Now, how do I close my question as a duplicate…

It's called "Noodle Curving". It can be found in Preferences > Themes > Node Editor:

Thanks so much! That is the right answer, but I have to wait 1 minute before I can tick it as such. God bless you and fam!


text:
From spilled fluid to standing shape: fluid simulation in reverse?
I am trying to animate a solid logo being formed out of spilled fluid, which would basically look something like melting in reverse.
I am currently looking at simply reversing the fluid cache of a "geometry" fluid source bake, but I'd like a more flexible option.
Not fully knowing how to use "fluid guide" force fields may be the key problem here.
For an example of what I'm looking for... The THX "Calvacade" trailer, in the second half, where the shattered pieces of the globe have already been liquefied, and are being pulled into the THX shape.
Shape key and instant disappearance usage at the end is, of course, acceptable.

This is an old answer but very much related. Newer Blender versions will be different and/or better so not strictly a duplicate. https://blender.stackexchange.com/a/106398/29586

@RichSedman There is an effector fluid object type, so I’ll look into that. Thank you :-)


text:
UV Unwrapping: How to get "fresh mesh sphere"-like UV results on a bottle?
When I first create a sphere, it has a nice UV map, like this:

However, when I try UV unwrapping with identical seams, I get this:

Using cylinder or sphere projection does better, but it's still wonky at the edges:

I am currently trying to UV unwrap a bottle, and I'd like the "fresh mesh" UV style, where the map spreads out over the image rather than trying to make individual faces less contorted, thus making the texture easier to paint as a whole in an external image program.
One thing I've tried is arranging the UV vertices of the bottle edge (before a Screw modifier) to be in a straight line, then letting the Screw modifier turn it into a Grid. This sort-of works, but the straight-line arrangement doesn't work well for portions of the bottle that are horizontal, and leaves them with zero texture height. If I had a way to evenly distribute the rings of the bottle from top to bottom on the texture, that would do.
Oddly enough, the curve this bottle came from seemed to have this UV automatically, but I could not preserve it when converting to mesh.

If you don't mind using third part addons, you could use UV Squares by Radivarig. (Github Page) . Use To Grid By Shape then Pack UV's. Make sure Constrain To Image Bounds is on to easily scale to the whole UV.

This looks viable. I’ll try it out! :-) As for links, they are completely legal on Blender Stackexchange as long as you label them properly AFAIK. They have a tool to help you add links.

Can confirm with respect to links.  The only links that are not allowed are those that are actually spam.  That's part of why "link only" answers are discouraged.


text:
Is there a “Film -> Transparent” Layer-specific option?
I know about the Transparent setting that makes a scene render with the background as transparent, but I’d like to have a layer-specific version of this option for single scene compositing. Does such an option exist?

Good question, I just moved my last comment from the other question here: Just a quick idea, maybe it's possible to put an object in the background which shows the same as the background, but can also be turned off in the other layer?

I've tried a very large sphere using an Environment Texture set to "Equirectangular" to surround the whole scene, but this is just an approximation of the real background. And the more you move the camera around the worse and weird the result can get.

Using a very large object set to holdout shader in the background and setting it to only render on camera light paths and be transparent otherwise should work, no ?

@Gorgious Either I cannot setup correctly what you mean or it is not working. Let's say I have a scene with a background, and I want to see the background in the render. And I have two view layers, one shows different objects than the other, but in the compositor I want to alpha over the second layer over the first. Is this possible with view layers instead of scenes? Or else: is it possible with what you mean with the holdout?

Yeah I didn't test that and it may very well be simpler with custom view layers and environment in compositing. Hard to say more without the actual setup from OP

Okay, I wrecked my brain before but the solution can sometimes be quite simple. Of course my example scene has no need for this setup, it's just to show the workflow itself.
Let's say I need one view layer with a transparent background because I want to alpha it over another view layer. The final composite of the image should show the background, but I cannot render one view layer with Film > Transparent and the other without in a single render.
The solution is, setting it to Transparent and enabling Environment in the View Layer Properties under Passes > Light > Other > Environment.
In the Compositor just use another Alpha Over node to put the Env output of the Render Layer node below the renders.

As of 2.90 you can use a driver to set properties per view layer:

Enable 'Auto Run Python Scripts' (Preferences > Save & Load > Auto Run...)

Add a new text document in the Text Editor, copy the following code into the document, change View Layer 1 to your desired name and run the script:
def is_view_layer(depsgraph: bpy.types.Depsgraph) -> bool:
    print(f"depsgraph={depsgraph.mode} VL={depsgraph.view_layer.name}")
    return "View Layer 1" in depsgraph.view_layer.name

bpy.app.driver_namespace['is_view_layer'] = is_view_layer

Add a driver to the property and add is_view_layer(depsgraph) to the expression

Release Notes: Dependency Graph passed to Drivers


text:
Object to bone parenting: How to disassociate while editing armature?
I have set up an armature with several objects parented to various bones (it’s LEGOs, so no need for individual deformation). However, editing the armature now makes parented objects move. That is, the objects’ offset from any particular bone tail does not change when moving said tail editorially. Can I disable this somewhere? Does this have to do with inverse parenting?
Also, even setting the origin of the armature to a new location causes similar motion that I do not understand.

hello could you please show some screenshots?

@moonboots Yes, though it might take me awhile to get them. Different time zone

If you've parented the object to the bone with a simple parent to > Bone, and if you move the bone's tail, it will move the object, so maybe you need to deparent the object, edit the bone then reparent?

@moonboots That works, but it’s like 15 objects on one bone.

so maybe you should instead join all the objects and parent With Empty Groups?

@moonboots I could do that, but I’m still trying to maintain flexibility in the future. Maybe that’s just a limitation of the system.


text:
Merging objects in Soft Body
I want to create and animate dice, but I have no idea how to merge the dice with numbers, so that the numbers can roll along with the dice. I tried parenting, ctrl+j and boolean, but non of these work. Parented numbers just stay in air, ctrl+j and boolean fall off as soon as dice hits the ground. That's how it looks: https://i.imgur.com/ftSwr4K.gifv
How can I make the dice as one object so I can animate the roll?

weird, if you parent an object (like your number) to your falling object, it should follow, could you please share your file? https://blend-exchange.giantcowfilms.com/

I found a way to fix it. I don't know why I was using soft body with dice, as it should be solid. Changing to rigid body fixed this.

oh yes of course ah ah  ;)


text:
Advantages of using Python in Blender for Animation?
How can it help aid animation? I'm learning Blender and want to know what reasons there are for using Python. I've seen some videos on YouTube of people using it.

If you hate the blender Python Text Editor, there is this new tool Bacutor, has intellisense, http://bacutor.freeiz.com

Python is useful in three ways:

Scripting and addons
Drivers
The Game Engine

Scripting and addons:
Python allows you to automate actions with blenders existing tools to speed up workflow and add functionality that would be (practically speaking) impossible to do manually.
Here are some nice examples of what can be done with python addons:

Molecular simulation

Drivers:
Drivers can be used to set properties from other properties, e.g. a python function, the location of an object, or another setting.
This can be very useful for animation, among other things/
From the wiki:

Drivers can use properties, numbers, transformations, and scripts, to control the values of properties.

Here are some nice examples of what can be done with drivers:

Dynamic frosting
Randomly tweaking settings

Game Engine:
Python can be used in the game engine to control the behavior of objects (e.g. AI), the way the view looks (e.g. custom shaders), and interactions with the user (e.g. menus).
Here are some nice examples of the BGE in action:

Building demo
Water shader
Racing game

Its hard to answer your question since you just say Help with animation, For any kind of detail you would need to say what problems you have with existing tolls tools that you imagine Python may be able to help you with.
Blender's tools might do everything you need, in that case theres probably not so much use for Python.
However when you start doing larger, more involved projects - inevitably you start having to solve problems outside the scope of the default toolset.
Some times you can find pre-made extensions, other times you may want to start scripting a little yourself.
However this applies to any area of Blender, not just animation.
As has been mentioned, drivers are the obvious area you may want to learn at least basic Python for.
Another thing that was not mentioned, you may want to write one-liners in the Python console, these can speedup your workflow with some quick automation, without you having to become a Python expert.
eg, rename selected bones to add a prefix and lowercase the name:
for b in C.selected_editable_bones: b.name = "prefix_" + b.name.lower()

You can use python for automating recurring tasks which would boring or too time consuming. In short for automation like: Mapping an algorithm to an animation.
Or to add new functions like the ones you know from the add-ons: to grow trees (sapling), create landscapes, create full rigs (rigify) and much more.

While the other answers are good, one of the most common uses for scripting in any animation package is writing scripted rigs. Scripting a rig often makes the rig a great deal more flexible, reusable, and easier to edit. E.g. adding a bone to an IK chain becomes really easy when you can rebuild the entire rig from scratch by just executing a single command.
There are other uses like this muscle sim, which are covered by "adding functionality," from the other answers.

python is also useful to create scenes/animations based on external data (e.g. large lists of coordinates of objects to be displayed)

Can you list a few examples where it helps, so the person who asked the question can have a better idea of why python is useful with lists?


text:
Leaf texture is not mapping correctly onto leaves?
I am using sapling addon to create a tree. A tutorial says that the sapling addon is meant to map the leaves perfectly, once you add a texture. However, it isn't doing this when I try.
Instead, the leaves just come up colourful.
http://www.pasteall.org/blend/32879

You need to pack the textures into the blend file

it seemed that you press unwrap for all the leafs try to make it one more time without pressing anything

and by the way you shouldn't put the image as a color for the transparent node,you should make the color 100% white


text:
How to join booleaned objects without leaving seams?
I have a simple object I'm trying to merge into a single mesh constructed from 2 cylinders and a semi-sphere. I "merged" them using 2 Boolean modifiers.

This is close but I want it to be a single object so that I can copy and paste it and have multiples. So I select the 3 individual objects and press ControlJ to join them into a single object. By doing so the objects are merged but the boolean modifier is lost causing there to be seams in between the objects.

Is it possible to have a boolean of multiple objects, merge it down into a single mesh, and preserve the union between the objects from the original boolean? (I don't care about it being dynamic, I want the final mesh.) Or can this only be done by deleting and connecting the proper vertices manually and then creating the faces?

To model your object with the Boolean modifier.
Add a Boolean modifier to the Sphere on top (Sphere.top in picture). The object to target is the middle cylinder. (Cylinder.middle in picture)

Then on the bottom cylinder (Cylinder.bottom in picture) add another Boolean modifier. The object to target on this the top Sphere. (Sphere.top in picture)

Then just apply the Boolean modifier on the bottom Cylinder, and you will have your mesh.

I was basically doing this but I didn't realize I needed to press Apply. I figured it was like a Window's Apply which just makes sure the changes are visible.

If you join two objects into one, then boolean modifier between them is meaningless, since only one left. Actually, they can be merged after applying the modifier. That's for your question.
Furthermore, I think a better idea for such simple shape is to model it with a few steps, with some basic tools that Blender offers, which is also easy to do, and gets better result:


text:
How to get a high resolution image of the material preview?
How can I create a simple scene setup that looks like material preview? I want to render the material preview (specifically the flat XY plane) in a higher resolution. I've tried to copy the setup in a Blender scene, but it doesn't look the same. Are there any addons or ways to export the material preview in any resolution?
Note that I need it to look exactly the same as the material preview.

Not sure how to get the scene, but you could increase the DPI in User preferences > System and take a screenshot. You can also zoom in on the preview by pressing and holding Ctrl MMB and sliding the cursor.

You can also make it full screen by pressing Ctrl+Up arrow over the panel. Here is the result of combining all these zooming methods.

@gandalf3 can you post that as an answer?

You can adjust the DPI, zoom in, and full screen the Materials panel to make it bigger, then take a screenshot.

Make the Properties editor full screen by hovering over it and pressing Ctrl↑

Increase the DPI in User preferences > System

Zoom in on the panel by holding CtrlMMB and dragging the cursor

Result: (click for full size)

The obvious limitation being that you can't go larger than the maximum zoom, or larger than your monitor.
Get the blend:
Alternatively, you can download the blendfile from the GIT repo with your browser via Phabricator:

Blender Internal preview file

Cycles preview file

To download a file, go to the link above and click Download raw file on the right:

Then click Download:

The different preview scenes are on the following layers:
Layer 1: Flat XY plane
Layer 2: Sphere
Layer 3: Cube
Layer 4: Suzanne (Monkey)
Layer 5: World Sphere
Layer 11: (the first layer on the second row) Hair


text:
Change number of frames allowed for each animation?
I have a shoot animation which contains 15 Keyframes, and a reload that contains 70 keyframes. When I set the keyframe amount to 70 and go to the shoot animation, then change the number of keyframes to 15, only 15 keyframes show up when I go back into the reload animation.

The frame range set on Timeline is for global output range by default. However, if you want to have a alternative preview for certain duration, you may consider to click the Use Preview Range button on the Timeline header.

When enabling it, you can set an alternative preview range by setting Start / End value on the header, instead of changing the global output range.

Oh sorry for wasting your time :( , but i figured out the animation stops at the last frame in different programs . Very sorry for wasting our time

@Knuckles209cp If this is the answer to your question, please consider accepting it :)

The answer was useful for me, so not a waste of time at all! ;-)

It is Useful. An ideal solution for this would if each action could have it's own start and end for easier loop previewing between actions but i don't think this is possible is it?


text:
Should I be concerned with symmetry/neatness?
I often find myself stumbling when trying to make a model that consists of oddly shaped parts, or with different required poly density's across (i.e. adding round arms to a square body). It can get very tricky to get the shape I want but keep everything perfectly aligned. Should I be more concerned with the topology, or should I be more concerned with the final shape?
For example something like this:

The question is too vague, this depends on what you use the model for.

any model,whether organic or inorganic has this problem. I've seen this factor disregarded in tutorial videos, but at the same time I see instances where some blender users stress over the correctness of the mesh and topology.

It largely depends on what you are going to use the model for, rendering, simulating or gaming. Almost never do you need to worry about symmetry. What almost always matters is topology (could be called neatness). Use mostly quads (this depends on the usage of the model) and have edges flow along edges in the shape you are trying to make. In your models I see several ngons with more than 4 vertices, this is bad if you intend to use a subsurf modifier. If this question gets reopened, I will show you a way to solve it.

It is usually acceptable to have large polys in big flat areas and lots of polys in detailed areas. It's putting lots of little polys over the entire mesh when they aren't needed that get frowned upon.

is it worse to do what happened in the example picture to make fine details, or is it worse to make the whole thing into tiny units for that purpose?


text:
Modelling car light in game engine
I am trying to model car light for my game in blender. I want to change light's color when car stops or starts. I have tried couple of things such as changing emit color of current lights to emulate light source but as they are static material property ,it did not work for me (I can not access them through game engine controller ). I also tried placing half transparent object (which i can change their color through controller) in front of object whose emit property is set. But this did not also work as i can't manage color of half transparent object.
Is there any way easy to do this (changing emitting color of object dynamically)? Or am I missing something in my half-transparent object?

Well, I don't see any answers yet, so ill tell you the best I know. I also don't know this, but I know a simple technique that I use for this subject until I figure out how to actually do it. In another scene(Can be accessed by pressing "2"), put a red light, white light or whatever, and edit it however you'd like. Then, go to scene 1, and in the logic bricks put [Keyboard>And>Edit object] Put Add object in the edit object logic brick, and select the light. Now when you press space, or "A" or whatever a light will show up quickly and leave. You can add more time but the problem is that the light stays in place just as if its static, so if you can get it to move with the glass(Parenting doesn't work, already tried) then this would work flawlessly. Sorry I don't know much, but its the best I can answer.

I see your point and probably this would be a good approach but i found simpler one. I placed solid object in front of emitting object that i can make it visible / invisible through controller script. Since i can not change the color of light, i separated lights with different colors, for instance i put rear white lights on bumper.

As The basicTroublemaker answered, just use 'ReplaceMesh' in stead of 'Add Object'. This way only the visual apearence will change and nothing else.

If you just want to change the colors of a mesh do like kammirzazad said.
But if you want to change the color of a actual light I'd say animate it.
3 Steps to go:

Select the Point/Hemi or what light you have.
Go to Frame 0 and open the properties.
Set the Default-Color of your light; then, with the mouse on the color-field,
press 'I' to add a Key. Go to Frame 1 and set the second color.
Add a keyframe with I. Repeat until all colors needed are in.
Set Action-Actuators to the light-object (one for each color). On each one set
startframe and endframe of the action to the frame used for the color.
In the Dopesheet you may edit the animation.

I'll try uploading an example later


text:
No previews showing in the compositor
In a brand new project, I'm getting a white "X" instead of the backdrop preview. I can only find one reference to this online, with no solution given. I'm very new to the compositor, so apologies if I'm missing something obvious, tutorials give the impression that it "just works".

As a side note, I'd love to get these per-node previews shown in the video on the left, which I also can't find in the docs.
Cycles engine and "Blender render" have the same problem. Rendering normally or with the "Rendered" viewport shading works fine.
Thanks in advance!

Try rendering the scene (F12).
The white X means that there is no data to display. The per-node previews and backdrop preview should automatically fill in after the render is complete.

Oh silly me, thank you very much. I did tick "Auto-render", which  seemed to have no effect. Perhaps I needed to make a change to trigger it, it's working now.

@JJ56 Auto render only takes effect when you change something in the 3D view or edit an object in some way.

@gandalf3, and I think you need to do a preliminary render before auto render starts to work.

@CharlesL I tested it, and it worked as soon as I moved a vertex around (I had not rendered before).

Blender 2.82 here.
in COMPOSITING window you have to click/activate BACKDROP button

if it still not showing, render the image first