Troubles with Baking Normal Maps I'm trying to add some wrinkles to these pants by baking a high poly sculpt into a normal map but i get these weird artifacts in my normal map. I'm not sure what I'm doing wrong that would be causing this. I've restarted from the same low poly model multiple times with different sculpts and different bakes and I always get the same artifacts. Any help would be appreciated.
For some reason there is this weird smooth looking section on the inseam and I'm not sure where it's coming from. Here's a picture of the high poly sculpt and there is no visible issue with the sculpt itself.
As a side not that is not as serious of an issue there seems to be an unusual discoloration between the seams of the mesh despite me just using a flat color as the base input color. I've included my node setup in case that might help.

This is a rather common issue with this technique. what is happening:
In order to understand how "bumpy" something with completely different geometry is, blender uses a "third model" called a "cage". (when it's unchecked, the cage just uses the selected model to make it, with the solidify modifier I presume) the cage shoots rays from itself to both the low and high poly geometry, and compares them both to itself. This is a rudimentary technique though, and fails in some specific cases: notably in acute angles when the cage passes through some geometry that's closer to it than the intended geometry. in a visual sense, this is a simplification, where the blue line is the cage.

(in reality, there's no extra face at the top, or if there is, there's some more geometry smoothing it out a little, and probably extending your issue down the legs a bit because of how the cage contracts at sharp, concave corners!)
notice how parts of the cage will see the "backside" of the model first. Basically, you want the cage to be as small as possible while still providing good results. shrink that .3 to half or less, unless the distance between the sculpted and low poly geometry differ that much- and at that point you should probably consider shrink wrapping the lowpoly to fit the high poly geometry more closely. normals are for making glancing and stark shadows better, not replacing proper geometric shapes big enough to add very noticeable bumps to a silhouette.
use the measurement tool and draw a .3m line on the pants, and visualize how big that cage is- that should assist you in finding the right cage size!


How can I make a Voronoi fracture in Blender? How can I make something like in the picture in Blender?
I would also like to apply different textures on each cell.

The Voronoi texture node can be set to output 'Position', (The position of the feature-point of the cell, in the space the texture is given,) and 'Color', (a random color per cell). These numbers let you make switches, in a similar way to this answer.
First, the Kintsugi cracks, as described by @Chris:

The 'Scale' input gives a general size of the fragments
The 'Thickness' input gives the thickness of the cracks
The fiddling about with division-by-thickness, etc. gives a 0-1 range of distacnce inside the crack-mask, so it can be put through a color-ramp to give the profile of the gold-bump.
The straight Black/White mask is sent off to be the factor between the gold, and background material.

The Texture Coordinate and Scale are branched off to keep a second, parallel Voronoi node in sync. with the above, distance-to-edge one...

The second Voronoi node generates the same pattern, but with different information. (Distance from feature-point, Position of feature-point, and random Color per cell.)
Here, we've tapped out the Red channel of the random color, which gives us a random number between 0 and 1 per cell. The 'Multiply Add' makes a crude sort of seed, to change the random options; keep the Multiply much larger than the number of choices. The result is a randomish number between 0 and 10 per cell.
The number can be used as a switch by cascading Mixes, between shaders, or colors, or anything else...

Above are a couple of entries. If the random number is less than 3, the output is the result of the mix so far. Otherwise, the new color. Then the mix is handed on down the chain. In this example, the switch is between image textures. The overall result is a random-image-per-cell.
The whole tree looks like this:

This is the sort of result:

A simplified version, mixing 5 colors..


After adding Subsurf modifier, some UV is distorted As title said, after adding Subsurf modifier, some UV is disorted.

If mesh has simple geometry, I can fix it, but sometimes it's too complicated or can't fix it because it's getting worse.

This is the example model that I faced this problem:

Top image is low poly and lower image is high poly mesh that applied sub-surf modifier.

As you can see those red lined boxes, some UV is disorted and I can't fix it.

Is there a way to fix this problem?

Also I mostly prefer using Smart UV Project, because when I unwrap my mesh manually, each UV island has different ratio.

Is there a way to adjust ratio of UV islands automatically?

Using subsurface modifier will not 100% guarantee that has perfect uv result. I already told in comment, however if you want to add more geometry after finish modeling, should be careful to not messing up the UV to watch carefully while adding additional geometry.

This especially messing up that adding more edges in curved geometry, so it's just better to remap your UV to new Geometry.

If you using Substance Painter for creating texture, don't be afraid, the program will automatically repaint all your previous works even the geometry and UV's are changed(but not 100%).


Add object works with logic brinks but cannot figure out the scripting I am making tic tac toe using cubes and spheres rather than Xs and Os. I have 9 empties corresponding to the spaces on the 3 x 3 grid. I can make it work using logic brick, but not with py script. The cubes and spheres only appear at the coordinates where the sample objects are on the inactive scene layer. I have tried everything I can think of.

import bge

def main():

    scene = bge.logic.getCurrentScene()
    cont = bge.logic.getCurrentController()
    player = cont.owner
    keyboard = bge.logic.keyboard

    key1 = bge.logic.KX_INPUT_ACTIVE == keyboard.events[bge.events.ONEKEY]
    key2 = bge.logic.KX_INPUT_ACTIVE == keyboard.events[bge.events.TWOKEY]

    pad3 = bge.logic.KX_INPUT_ACTIVE == keyboard.events[bge.events.PAD3]
    pad4 = bge.logic.KX_INPUT_ACTIVE == keyboard.events[bge.events.PAD4]

    # objects = bge.logic.getCurrentScene().objects
    # object_cube = objects["Cube"]
    # object_sphere = objects["Sphere"]   ### no error code but breaks the game

    if key1:
        player.scene.addObject('Cube')
        # position = mathutils.Vector([5, 5, 0]) ### all things I've tried
        # gameObject.worldPosition('Cube') = position
        # addObject.worldPosition = [5, 5, 0]
        # Cube.worldPosition = [5, 5, 0]
        # player.scene.addObject.worldPosition = [5, 5, 0]

    elif key2:
        player.scene.addObject('Sphere')

    elif pad3:
        player.scene.addObject('Cube')

    elif pad4:
        player.scene.addObject('Sphere')

main()

Not sure about game engine but you can simply set the location of an object in a regular scene.

object.location = Vector([1,2,3])


How to model Yin Yang sphere? I'm trying to create a Yin Yang symbol in 3D like this: Yin Yang mapped onto Torus - YouTube

But I can't find a way to make it with Blender. Any ideas?
FYI: I tried to create it from Quad Sphere like a tennis ball, but failed.

Thanks to Jachym Michal and Duarte Farrajota Ramos, I made it!

You can download Blend File for free from
https://gum.co/yin_yang_sphere_blend
The procedure is as follows:

Add UV Sphere (Radius = 1m)
Add Plane (Size = sqrt(2), RotationX = 90)
Select Plane -> Convert to -> Curve from Mesh/Text
Edit Plane -> Extrude vertex to make square with diagonal line (Turn on Vertex Snap mode)
Finish editing Plane
Select Plane then UV Sphere
Go into Edit mode -> Knife Project (Cut through = ON)

Step 1-3

Step 4-5

Step 6-7

Assigned materials (white, black and transparent)

NOTE: If you look closely at the reference video, the inner surface of the sphere is slightly raised.

My model doesn't have that part, so if you set the camera to the angle where you can see the Yin Yang plane, a small circle will be distorted horizontally.

Unfortunately, this seems to be the limit for non-mathematical modeling.


Calling properties of objects in python only works for current scene even when other scenes are defined? Here's my basic code:
import bpy
import bge
from bge import logic

cont = bge.logic.getCurrentController()
scene = bge.logic.getCurrentScene()
scenes = logic.getSceneList()

hud = [scene for scene in scenes if scene.name == "hud"][0]

obj1 = scene.objects["obj1"]
obj2 = hud.objects["obj2"]

I get an error when I define obj2:

However, there is no error when I define obj1.
I've found some more confusing problems related to this, and some of them could help solve this question. For example, if I define obj1 in a different way (bpy.data.objects["obj1"]), I will get an error when calling a property (obj1["prop"]).
Why can't I define an object from another scene when the scene is defined and the same method of defining is used as the current scene (that works)? And what is a solution?
Thank you.
EDIT: Ive used an answer for my code, and it raised another issue. Here are the details:
Code:
import bge
from bge import logic

for scene in logic.getSceneList():
    if scene.name == "main":
        main = scene
    if scene.name == "hud":
        hud = scene

player = main.objects["player"]

hud_obj = hud.objects["hud_obj"]

I have no idea why, but this is not working. It works if I remove the defining of the main scene and objects from the main scene. In other words, when I use more than one scene, this does not work. Why is this happening? How can I call objects from other scenes when I'm defining more than one scene? Why does this work when I call objects from main but not from hud?
NOTE: I printed all the active scenes, and both scenes were printed. If I remove either part of the code (definition of main/definition of hud) it will work, but it won't with both. Also, for other reasons, I am not using scene = logic.getCurrentScene. Even if that works, the problem will come back when I use 3 scenes. The console is telling me (with the code above) that "hud" is not defined. Furthermore, if I define the objects under the definition of the scene (e.g. main = scene), it will work. However, this raises a problem: I cannot call the object afterwards. In other words, it seems as the bge is forgetting the hud after I've defined it explicitly.
Picture:

I have a scene named "main" and "hud"

Do not use bpy in BGE, it uses blender data that is not accesible while running the game.

But that's not the problem, that's just to avoid future problems. It's not possible to know exactly whats happening without the blend file but you can check the following list:

An object with name "obj2" exists in a scene with the name "hud".
Such object is present in a visible layer.
The scene with the name "hud" has been added as an overlay or underlay scene.
obj2 is not hidden.

Seeing the kind of error you've got it seems that the scene is there but the object isn't. You can print all the objects in the scene with print(hud.objects), that should help finding it. You can also print all inactive objects with print(hud.objectsInactive). If neither of them shows your object, it's probably hidden or unreachable by the game engine. You'll have to investigate what's wrong with it.

By the way, though it's true that you're defining a variable (and that is an object in Python), you are not defining an object (at last not in BGE). You're creating a varaiable that points to an already existing object, it would be more acurate to say that you are referencing an object. The same applies to scenes.


Cannot Keyframe - Vers.2.83? In VSE, I cannot get any of the keyframe properties to work!

Example: In the VSE, using Saturation, at Frame 1, I slider to "0" and select "I", then move to frame 30, slider to "1" and select "I".  This only changes the "0" at Frame 1 to also be "1".

Example 2: In the VSE, I've added a text layer and want it to scroll.  At Frame 1, have the Y location set to "Bottom" with a parameter of -0.01, and then select "I" (turns yellow); I then move to frame 30 and set the Y location to 0.87, select "I" and it turns yellow. However, the "-0.01" at Frame 1 has now also changed to "0.87", and there is no animation!!@

Is this something you can no longer do in 2.83?

I had this problem and I redownloaded Blender 2.83. I opened my file, and all the keyframing works the way it's supposed to. Proabably a bug.


Procedural texture for longitudinal lines In Cycles, is there a way to create a procedural texture that follows the longitudinal lines of a sphere? Like a beach ball or globe? The texture should be able to be mapped to any sphere-shaped object, not just perfect spheres.

My current approach is to use a rotated wave texture, but that doesn't come from the poles (It uses latitudes)

Radial Gradient texture as Texture Coordinates

This Texture node place a Radial Gradient upon the object's surface, creating a variation of factor from 0 to 1 around the origin of the object (using Object Texture Coordinates).

If we use the resulting factor of the node as the X input of the vector driving the mapping of a wanted coordinate, we are able to place the wanted texture with a new set of coordinates.

X (canonical name should be U) is the coordinates that read from left to right the texture and should be mappad with the gradient (see Combine XYZ node).

Y (canonical name V) should instead start from bottom to top, so it's equivalent to Generated Texture Coordinates's Z. You can extract it with a Separate XYZ node.

Here's the resulting shader (with a 45°-rotated Wave Texture) upon a cone, a fat Suzanne and a shell:


How to add different physics properties to different edges of a same object? I have a uv-sphere with faces removed. I wish to add spring property to all individual edges of the sphere. Being a beginner, I'm finding it hard to do.
So I'd like to know how to assign physics properties to individual edges.
I tried 'edge split' but it does not separate them as a new object and also, selecting all edges individually is tedious.

I'm afraid that what you are tying to do will not give the desired result.
You could for instance select you sphere, go to the Properties window and under the Physics Properties tab click Soft Body. In the Soft Body settings there is a section called Edges where you can change values related to the behavior of edges in soft body physics.
These values however apply to all the edges of the mesh of your object, and thus the mesh as a whole. It does not allow for giving different values to individual edges.
Disconnecting edges from each-other would also result in the the object failing apart under influence of physics simulation.
(Also: The term 'Edge Split' refers to making visually hard edges on a smooth shaded object. An edge between to meeting faces (that looked smooth using shading) could be made to look sharp. Because smooth shading applies to faces, it does not work on a mesh without faces.)


3D texture (UVW map to UV map?) I have a complex model and I want to apply a Perlin noise texture on it. This model is to be used in a video game.

Because this can be generated, I was thinking of using a 3D texture to avoid having artifacts. From what I could find online this process seems to exist (UVW mapping, even though different people seem to use this name to refer to different things).

I am wondering if it is possible to create a 3D texture for Perlin noise, and then use Blender to generate a 2D texture + a corresponding UV map so that I can use these in my game engine.

What you are describing is exactly one of the uses of texture baking. In this case you could use either cycles or the old blender internal.
The process would be:

Texture the object.
UV unwrap the object.
Bake the Perlin noise texture.

I'm using cycles, but the same principles apply to the BI (in the blender internal renderer you can pick what type of noise generator it uses, cycles only has perlin noise.)
Texturing
Texturing is very easy, because it is all procedural. My material is super basic, just the noise texture and a gamma node to boost the color:

Yes I'm using a teapot as my demo.

UV Unwrapping
In edit mode simply select everything and hit U > Smart UV Project. Depending on your model and what else you are going to do with it you might need a better UV map. Sufficient to say, smart uv project does not always do the best job. Yet if all you are going to do with it is bake a map, then this will do.

Texture Baking
Before you can bake the texture you need to create an image blender will bake to. So in the UV Image Editor create a new image. "New" button in the header. Or if the new button is not showing, then click the "+" plus button in the image data block control, its still in the header.
Important Add an Image Texture node to the material for your object. Set the texture to the image you just created. The Image Texture node should not be connected to anything, but it must be active.

All set for baking.
In the Properties window go to the Render tab and scroll down to the Baking section. Here change the bake type to Emit (notice I'm using an emission shader in my material), and hit the large Bake button.

Presto you have a 3D procedural texture baked to a 2D image for further use anywhere.


how to display some text in blender 3Dviewport? How to display some text in blender 3Dviewport?
like screencast addon display pressed keys?

You can draw on the 3D viewport by registering a draw handler and using the bgl and blf modules.

Registering the draw handler is done via bpy.types.SpaceView3D.draw_handler_add(). Just browse through the bundled Blender add-ons to get lots of examples on how this is used in practice.


I can't access Specials Menu I looked up online how to open the specials menu and it says to press W in edit mode. But my selection options are on W though. What do I do?

Menus are a bit different in version 2.80. You can access a contextual menu with right clicking with the default keymap now, but it is slightly different now then specials menu used to be, for example there is no Symmetrize in it, that is only in the Mesh menu now that does not have a shortcut by default.

You can use the Quick Favourites Menu to add and quickly access the functions you use most. You can access it by pressing Q and to add functions to it, right click on any function in any context menu and select Add to Quick Favourites.


Is it possible to animate a mesh's geometry without using Shape Keys? I would like to animate a mesh's geometry without using shape keys. Is this possible?

AnimAll Addon

Yes, you can do this very easily by using the AnimAll addon. "AnimAll" stands for "Animate All" because it enables you to animate many things that cannot normally be animated in Blender.

Here's how to use it:

First, open your User Preferences:
Info header → File → User Preferences

Click on "Addons" and in the search box, type animall, then enable it by clicking on the Enable Addon checkbox on the far right hand side of the addon:
(NOTE: If you want to keep AnimAll enabled, click Save User Settings before closing the Preferences window)

Now select the mesh you'd like to animate and go into Edit mode.
Now in the Tools panel (T), find the AnimAll section and enable Points -- this will allow you to animate the vertices of your mesh:
(NOTE: If you are using 2.70, AnimAll will be in the Animation tab in the Tools panel. If you are using 2.69, it will be down at the very bottom of the Tools panel)

In the Timeline window, make sure the green frame cursor is set to the frame you want the animation to begin. Here, it's set to frame 1:

Now in the AnimAll options, click the Insert (Keyframes) button.
(NOTE: This will insert keyframes for every single vertex in the mesh, regardless of whether they are selected or not, so if the mesh has lots of vertices, it may take a while before Blender is done inserting all the keyframes)

In the Timeline window, move to the next important frame in your animation. Here, I'm moving to frame 75:

Now alter your mesh's vertices as you like:

Now insert keyframes for the vertices by again clicking Insert (Keyframes) button in AnimAll.
Now exit Edit mode and you can preview your animation by either clicking the Play button (  ) in the Timeline window or with ALTA:

NOTE: The tutorial video on this page describes how to use all the many other powerful features of AnimAll.


How to create twisted wires in Blender This object was created in Cinema 4D.
How can you recreate it in Blender?

You can do it this way:

Create a Circle, shift it from its origin in Edit mode, go back in Object mode, create an Empty on the same point as the origin of the circle. Assign an Array modifier to the Circle with a Count of 5, deactivate Relative Offset, activate Object Offset and choose the Empty. Rotate the Empty 72° on the Z axis. Apply the Array modifier, you now have 5 circles.
Extrude one time your 5 circles and repeat with shift R so that you have several extrudes (of course you can also decide to make all these extrusions, or edge loops creation, on the original circle, before applying the first array).

Assign a Simple Deform modifier to your object, with a Deform Angle of 72°. You can Apply this modifier if you want.

Assign an Array modifier to your Object and choose a factor of 1 on the Z axis. Maybe enable Merge and First/Last so that the top sticks correctly to the bottom of the array copy. Choose the Count you want.

Create a bezier curve, go in Edit mode and make sure the direction is the one you want, if not W > Switch Direction. Put the Origin at its starting point.
Put your object at the beginning of the curve.
Assign a Curve modifier to your object, choose your bezier curve as the Object. It should follow the curve.
You can add a Subdivision Surface modifier to your object and smooth it.


Step-by-Step selecting and moving vertices to absolute positions I'm not sure why this is so hard in blender or perhaps not (I just don't know how to do it).  Please look at the below model:

I want to accomplish 2 things.

1) Drag select all topmost vertices (there are 4 as one is behind another one).

2) Move all of the Z locations to an exact world coordinate (0.2)

Now please tell me in the least amount of steps how this can be done in blender.  In max I can just drag/select all vertices.  I can then update all of their Z values in 1 input box to drop them all down in one operation.

I know that blender is different but I'm used to modeling building block pieces like this and require this kind of functionality all the time.

If there is not an easy way to do this then please tell me how you all model to get accurate building blocks.

Thanks,
- Jeff

In the 3D view, press N once or twice to open the
right-hand sidebar.
Find the '3D Cursor' Section and set the Z value to your desired
value, 0.2 in this case.
At the bottom of the 3D view, set the Pivot Center to '3D Cursor'.
Drag select your vertices with B.
Hit S (for scale), then Z (to limit scaling
along the z-axis), then 0 (zero).


Run Python code from external process Is there a way for an external process (e.g. shell command) to cause Blender to execute a fragment of Python code (on Linux)?
Essentially I would like to make my own version of the "Python Console" that runs separately and sends commands to Blender (which is already running and continues to run as normal with commands being received in the background.)

I see two approaches to this.

You can compile entire blender as python module (completely without user interface) and use it inside an external python script.

https://wiki.blender.org/wiki/Building_Blender/Other/BlenderAsPyModule

A custom solution. as described here.

How to remotely run a Python script in an existing Blender instance?


What is the hotkey for sculpting grease pencils included in v2.77? What is the hotkey for sculpting grease pencils? Hotkey E + LMB doesn't work here as described in this blender wiki page, I can only edit strokes.

Thanks,

Michael

I don't know if you've solved this problem as yet, but the method to sculpt Grease Pencil strokes is as follows:

press 'Enable Editing' in the Grease Pencil tools panel on the Toolshelf or choose Edit Strokes interaction mode in the 3D Viewport header;
choose desired brush (on the Toolshelf > Grease Pencil Sculpt Strokes rollout)
press and hold the E key whilst pressing the LMB or using the pen of a tablet.

Ensure you still have the RMB as your object selection choice. If you've changed the preference for selection to the LMB then you will need to hold the E key and use the RMB to sculpt your Grease Pencil strokes.


Any blacklight effect suggestion for 2.8? Got a question. Are there any way to simulate blacklight (ultraviolet) effect in blender?
Dont just light scene with violet colors, but make uv reactive color material or maybe fake blacklight effect? As i know some colors change it hue/saturation and become emission like.
Any thoughts?

That can be faked with Eevee thanks to the Shader to RGB node. Though probably the proposed setting has some limitations.

The idea is to have a bright light prerendered onto a pure white Diffuse Shader.

If we convert it to RGB then to BW, we can test if it is brighter than a threshold.

From that, we can combine UV reactive part and 'normal' material parts with a mix shader.

If the threshold and lamp intensity are appropriately tuned, other (reasonable) lights won't change the effect.

Note: the fingerprint color here is due to the light color which can be changed.

Note2: could also test if the prerendered diffuse shader has some specific color output in order to avoid the setting be based only on light intensity.


What's wrong with my high & low poly models? Can anyone check my blender file and my models (high and low).
Why i always getting weird artifacts after baking high on low In Spainter and how can i improve them (topology, UV map etc) ? I cant understand whats the problem ....

P.S / Why its so annoying to do this baking process especially normal maps..
Like litteraly every model im trying to bake has some issues in Spainter weird lines, black areas etc ... Can anyone enlighten me what im doing wrong

People thinks baking normal maps is just a basic step, but really it's not, there is a lot of theory to understand here if your model is even a little bit complex. Just taking a quick look at your files, your low poly isn't a contiguous object, it's made of several parts that aren't linked together, same for your cage. So when the rays sent from your cage towards your low poly reach an intersecting parts the result is artifacts. Your geometry is all wrong, no way this is going to bake properly unless you restart from scratch with proper hard surface modeling techniques (quads, no intersections, support loops...).

On the bright side your UVs looks good! Maybe start with a simple 2 parts model, try to explode it and bake it properly, to help you understand the theory with less possibility for failure. Take it slow and make sure you get it.

But first read this, those 2 posts are basically the Bible of Normal map baking for all 3D softwares and will teach you all you need to know:

http://wiki.polycount.com/wiki/Normal_Map_Modeling

http://wiki.polycount.com/wiki/Texture_Baking


Effects of python script are not permanent I created my first python script in blender, the purpose of which is to manipulate an animation.
To be more precise, it loops over some F-curve and on some of its BEZIER segments, it changes the intermediate control points (left_handle and right_handle in blender speak). I am quite happy because the script does what it is supposed to do.

However, whenever I manipulate the animation otherwise (create a new keyframe or use the F-curve editor), the effects of the python script are undone. So I keep the editor window open and when needed, hover over it and do Alt-P; so by and large, the problem is only mildly annoying, but anyhow. Also, I meanwhile noticed that the scripted changes do survive a save, blender close and re-open. But the first added keyframe spoils it again.

Q: Did I miss some special call that needs to be made in order to make my scripted manipulations "permanent"?

For the record, here's the script, slightly shortened

import bpy
import os

fc = bpy.context.active_object.animation_data.action.fcurves
loc_z_curve = fc.find('location', index=2)

extrafactor = -1.5 * bpy.context.scene.gravity[2] / bpy.context.scene.render.fps / bpy.context.scene.render.fps

prevk = None
for k in loc_z_curve.keyframe_points:
    if not prevk is None and prevk.interpolation == 'BEZIER':
        frames = (k.co[0] - prevk.co[0])/3.0
        dist = (k.co[1] - prevk.co[1])/3.0
        extra = extrafactor * frames * frames
        prevk.handle_right[0] = prevk.co[0] + frames
        prevk.handle_right[1] = prevk.co[1] + dist + extra
        k.handle_left[0] = k.co[0] - frames
        k.handle_left[1] = k.co[1] - dist + extra
    prevk = k

All I needed was to add two lines

prevk.handle_right_type = 'FREE'
k.handle_left_type = 'FREE'

The original / default handle types caused a recalculation with the consequences observed once the F-curve was "touched" in any way, and that is expected behaviour.


Why is texture colour changing in BGL? I'm loading a texture into a simple GL_QUAD drawn with OpenGL with the help of bgl and bge.texture modules in Blender. The texture loads but the colour of the texture changes, most of the parts are black, blues are rendered red and so on.

Following is the code for loading the texture:

import bge
import bgl
from bge import logic, texture

def loadTex():
    if objbuf is not None:
        bgl.glEnable(bgl.GL_TEXTURE_2D)
        texBuf = bgl.Buffer(bgl.GL_INT, 1)
        bgl.glGenTextures(1, texBuf)
        bgl.glBindTexture(bgl.GL_TEXTURE_2D, texBuf.to_list()[0])
        bgl.glTexImage2D(bgl.GL_TEXTURE_2D, 0, bgl.GL_RGBA, 48, 48, 0,\
            bgl.GL_RGBA, bgl.GL_BYTE, objbuf)
        bgl.glTexParameteri(bgl.GL_TEXTURE_2D, bgl.GL_TEXTURE_MIN_FILTER, \
            bgl.GL_LINEAR)
        bgl.glTexParameteri(bgl.GL_TEXTURE_2D, bgl.GL_TEXTURE_MAG_FILTER, \
            bgl.GL_LINEAR)
        bgl.glBegin(bgl.GL_QUADS);
        bgl.glNormal3f(0, 0, 2)
        bgl.glTexCoord2d(1, 0); bgl.glVertex3f(1, -1, 1.2)
        bgl.glTexCoord2d(0, 0); bgl.glVertex3f(1, 1, 1.2)
        bgl.glTexCoord2d(0, 1); bgl.glVertex3f(-1, 1, 1.2)
        bgl.glTexCoord2d(1, 1); bgl.glVertex3f(-1, -1, 1.2)
        bgl.glEnd()
        bgl.glDeleteTextures(1, texBuf)
        bgl.glDisable(bgl.GL_TEXTURE_2D)

obj = logic.getCurrentController().owner
if not obj.scene.post_draw:
        # face.png is a 48x48 PNG image
        obj["buf"] = texture.imageToArray(texture.ImageFFmpeg(\
            logic.expandPath("//face.png")), "RGBA")
        objbuf = obj["buf"]
        obj.scene.post_draw = [loadTex]

Here is the original image:

and here is the loaded texture:

Excuse the mirroring of texture, I used mirrored textured coordinates. Can anyone help me figure this out? Thanks.

I have solved the problem. In the glTexImage2D call the type parameter(8th) needs to be bgl.GL_UNSIGNED_BYTE instead of bgl.GL_BYTE. It's really strange because when I printed the buffer in console with print(obj["buf"]) the output was

Buffer(GL_BYTE, [...])

Here is the rectified code

import bge
import bgl
from bge import logic, texture

def loadTex():
    if objbuf is not None:
        bgl.glEnable(bgl.GL_TEXTURE_2D)
        bgl.glEnable(bgl.GL_BLEND)
        # enable light because blender disables it if no object is in the vicinity
        bgl.glEnable(bgl.GL_LIGHTING)
        bgl.glBlendFunc(bgl.GL_ONE, bgl.GL_ONE_MINUS_SRC_ALPHA)
        texBuf = bgl.Buffer(bgl.GL_INT, 1)
        bgl.glGenTextures(1, texBuf)
        bgl.glActiveTexture(bgl.GL_TEXTURE0)
        bgl.glBindTexture(bgl.GL_TEXTURE_2D, texBuf.to_list()[0])
        bgl.glTexImage2D(bgl.GL_TEXTURE_2D, 0, bgl.GL_RGBA, 48, 48, 0,\
            bgl.GL_RGBA, bgl.GL_UNSIGNED_BYTE, objbuf)
        bgl.glTexParameteri(bgl.GL_TEXTURE_2D, bgl.GL_TEXTURE_MIN_FILTER, \
            bgl.GL_LINEAR)
        bgl.glTexParameteri(bgl.GL_TEXTURE_2D, bgl.GL_TEXTURE_MAG_FILTER, \
            bgl.GL_LINEAR)
        bgl.glBegin(bgl.GL_QUADS);
        bgl.glNormal3f(0, 0, 1)
        bgl.glTexCoord2d(1, 0); bgl.glVertex3f(1, -1, 1)
        bgl.glTexCoord2d(1, 1); bgl.glVertex3f(1, 1, 1)
        bgl.glTexCoord2d(0, 1); bgl.glVertex3f(-1, 1, 1)
        bgl.glTexCoord2d(0, 0); bgl.glVertex3f(-1, -1, 1)
        bgl.glEnd()
        bgl.glDeleteTextures(1, texBuf)
        bgl.glDisable(bgl.GL_LIGHTING)
        bgl.glDisable(bgl.GL_BLEND)
        bgl.glDisable(bgl.GL_TEXTURE_2D)

obj = logic.getCurrentController().owner
if not obj.scene.post_draw:
        # face.png is a 48x48 PNG image
        obj["buf"] = texture.imageToArray(texture.ImageFFmpeg(\
            logic.expandPath("//face.png")), "RGBA")
        objbuf = obj["buf"]
        obj.scene.post_draw = [loadTex]

Here is the result


Bend a Honeycomb mesh? I wanted to make a Grill, for a model, and made it from a Honeycomb Mesh which was in an Add-ons (Add Mesh: Extra Objects). Placing the Honeycomb mesh was no problem, but i wanted to make it rounded, but the Modifier "Simple Deform" doesnt bend it on the X Axes.

Check this this question here creating a spherical array. It uses duplication methods in the object panel to array the other objects on a mesh, you could use faces instead of verts.

My method:-

The steps:-

  Add an icosphere
  Change the subdivision levels by pressing f6 to bring up the menu
  Go into edit mode and select all the faces.
  Press Ctrl+B to bevel and while in the bevel mode, press V to bevel only the vertices, eyeball the ratio to make the faces as equal as possible.
  Select all the faces again and press I to inset all the faces, while in the inset mode, press I again to inset individual faces.
  After inseting, delete the faces.

The blend file:-

This method is poor and inconsistent as some of the faces remain unequal and distorted. While you can use the duplication method to array the hex mesh onto a sphere, the array would still remain separated and some places would still have distortion. I'm sure the animation nodes add-on or sverchok could easily do it, but I have no idea how to do it. You can try editing your question to make it suitable for animation nodes, that way it would attract more people to answer your question specifically pertaining to the animation nodes or sverchok.


How to create an Empty of type Image and assign a picture with Python? How can an Image-Empty be done with Python?

And how to set an image file on it? Object.data is None for empties, and there is no .image property on the object level either.

An Empty is created like a regular Object, but with None for its data:

empty = bpy.data.objects.new("My Empty", None)

It can be linked to the current Scene like any other object:

scene = bpy.context.scene
scene.objects.link(empty)
scene.update()

The origin is set using the standard .location property (you may also use .matrix_world.translation):

empty.location = (1, 2, 3)

To make this Empty an Image-Empty, change its .empty_draw_type property to IMAGE:

empty.empty_draw_type = 'IMAGE'

An Image datablock is then assigned to the Object's .data attribute!

img = bpy.data.images.load("path/to/image.png")
empty.data = img

Other properties available for Image-Empties are (UI / Python):

Transparency / Object.color[3]
Image Offset / Object.empty_image_offset
Image Size / Object.empty_draw_size

BTW: You can change the RGB colors (.color[0:3]) of the object to tint the Image, which is not possible via the interface!


How to add a face connecting two meshes I am trying to make a die.
I managed to do the "frame" and pips. Pips are separate from frame, but same object (Ctrl J).
How i can add a face connecting frame with pips, but leave pips as they are?
When i select edges as in picture and add a face (F) pips also have separate face on them. Removing that pip-face does not help - i still do not see pips.
Blend file is here (although it is really simple...): http://pasteall.org/blend/index.php?id=45646

I suggest another approach. It needs some calculation at the beginning to handle correctly where the holes are to be placed, but it does so your final shape has no 'ngons' (faces with more than 4 vertices) which is always better.

The principle is to start with a plane, and give it some symmetrical loop cuts in order to place the future holes :

Now we want to make one hole (this one will be duplicated after that) :

Select a place for the future hole
Inset I and move the mouse to scale/place the inset faces
Select the outer vertices and make them circular AltShiftS
Scale a bit to adjust

Now extrude E the inner part

Add a subdivision surface modifier to check the result and eventually refine it (add some bevel for instance, if needed).

Once done, all is matter of duplicating the hole and merge the six faces.

Make each die's face by duplicating the initial hole :

Delete a vertex to make a place for the hole
Select the hole
Set the snapping mode to vertex
Duplicate the hole and place it
Once done, select all and remove doubles

Do that for the six faces and reassembly all in a complete die :


How to correct the scaling problem of the texture using UV wrap I applied a texture on a box using the UV smart. I remark that the texture is scaled. How to correct this problem?

To avoid texture scaling on the mesh it is necessary to apply object scale before unwrapping. To apply the scale you need to be in object mode, then hit CTRL+A and select scale from the menu. Once scale is applied it is safe to unwrap the mesh without having scale distortion.


Random texture coordinates on array I modeled some logs that together compose a wall. I modeled one and texturized it, then applied an array modifier. Problem is that they all look the same. is there a way to randomize the texture coordinates on each of them? Or am I forced to copy and paste them "manually" and avoid the array modifier?

The answer in comments is what you need, but it is related to color and not coordinate space.  I usually do something like this:


Is my performance affected by invisible items? I am making a video and I am planning to have a particle emitter to shoot lasers from my spaceship. My theory is to somehow keep it going endlessly, but control its invisibility somehow, perhaps with drivers.

Would it still be running in the background while invisible, thereby affecting the performance?

Like is it still running in the background while invisible?
-> if an object is in the renderlayer, whatever the color (even invisibility) blender will still compute it ( so it will decrease performance).
If you don't need this object you can put in in another renderlayer that you don't use.

but control it's invisibility somehow
-> you can use a keyframe on the color of the material to make visible/invisble at the moment you want


2.8: Disable mipmaps, view textures Up until 2.8, I was able to disable mipmapping in the preferences (which for some reason, disabled texture filtering), however this option is now unfortunately missing. I understand I can use nodes to create unfiltered renders but I need this for pixel-perfect editing as the models will be exported.

Another issue I have it that textures now longer show up in 'look dev' mode without a material. (previously alt-z).

Until I can fix these, I have to revert to 2.79a. Any help would be very much appreciated.

Thank you

Under the shading tab, add an environment texture and set it to closest and connect the node up.


Blender wireframe material missing some edges I am trying to create a material to draw a mesh in wireframe mode. Thhe result will the be applied on top of another render, so I want the edges to be painted as black and the rest of the surface to be transparent.

I have tried to create this material, but I'm missing some edges as shown in the images.

Mesh:

Material and render view:

I have also tried with R channel for the parametric. That renders other edges, but still not all when combining both modes.

How should I configure the material to produce the desired output?

Since your mesh is altready triangulated, you can use the Wireframe Node.


cutting off meshes in the bge (bad) when i start my game in the bge, a plane is overlapping objects and they get closer when moving, but the part that the plane is extended to, is the part at the foremost of everything.

Go to the material settings.
Disable Backface Culling to see both sides of the material faces.
Set the Alpha Blend option to Alpha Clip (recommended) or Alpha Sort to fix the overlapping faces.


How to fill a rectangular hole with an even amount of vertices on either side? I tried crating faces but it left missing edges. In the end I was left with all the right lines but there was no vertex in the center.

Here's a follow up image in case you're wondering what I mean. Notice how there's no vertex in the center.

If both sides have the same number of vertices, you can quickly do this by using the Grid Fill tool (CtrlF > Grid Fill) and tweaking the operator settings. A Span and Offset of 2 should do the trick.


Final render doesn't look the same as it does in the preview (2.8) I'm trying to make a synthwave landscape sort of thing, but when I try to render it, all the textures look wrong. The textures look correct in preview mode:

But when I render it:

How do I fix this? I'm using Eevee.
EDIT: Here are my render settings:

Everything except for these 3 settings is turned off. I've tried to turn them off, but to no avail.

I don't know how to solve that issue... but you can use this.

Goto-> View-> Viewport render.

but to get the render correct. you need to hide all those cursor, grid, arrows etc.,
Hope this helps you.


UV Map overlap / odd result I'm making simple extruded letters for a quick sign concept. When I UV unwrap the face of any of my letters it has a strange result. Faces seem to converge on one single point even though my model is completely fine (to the best of my knowledge).

Anyone know if this is a bug or an error on my part?

I updated my Blender from 2.8 to 2.81a. That fixed my problem, therefore it must have been a bug.


Double vertices while Retopologizing Why is this happening?
I am using subsurf,mirror and shrink modifier

Thanks

It's difficult to tell without more information, but it looks like you just have a broken mesh.

Simply select the two vertices and press Alt + M to merge them together to create a quad:

EDIT: As far as closing up the back seam...

Just create Tris on the bottom by selecting three vertices and pressing F to fill.

With the Merge Vertices option enabled, it will automatically connect both sides of the Mirror Modifier:

You can Ctrl + RightClick to select a series of vertices at the seam and just pull them over to connect since you've enabled Merge.


How can I view a Displacement texture on a model I'm making some textures for use in displacement modifiers. The only way I know to view how the texture fits on a model, is it assign to a modifier, and watch how the mesh changes as a function of the texture.

Instead of watching how a modifier changes the mesh, is it possible to simply draw the texture on the surface?  Setting texture-mode in field highlighted below only seems to work for Cycles textures.

Note: I'm working with procedural textures

It's pretty much the same as in Cycles.

Add a light to your scene (a sun, for example)
Tab into edit mode, unwrap your plane
Add a material with a texture to your plane
switch 3D view to "Rendered"


Anisotropic material no longer appears radial? I am building a vault for a project for work. I finished and was ready to render, but, when I looked at the first frame of the render I realized that the anisotropic shader no longer had radial blur. That is the part of the material that makes it look the most metallic, which is what I need.

When I create new objects, my material works as expected. How can I get my anisotropic material to go back to the way it was before?

This is what I want:

This is what it looks like now (which is NOT what I want):

I have removed the material and reapplied it.
I detached the node, and created a new one, in many different ways.
I have created a new object, added a new anisotropic material, and used the boolean operator to make the new object into the one I created. This helped, but the material still did not work properly (i.e. the center of the radial blur was off centered.

Anyway. I am trying to get the radial blur back, and get it centered.

UPDATE: Here is a .blend with a part of the vault, which exhibits the problem I have described.

Here is a screen shot of the material node:

Try defining an axis for the tangent input with a tangent node:

In other words, for the effect in your first screenshot, it should be the axis perpendicular with the flat front of the object.

Note that the tangent node uses local coordinates.

It probably was working fine until you applied the scale to the objects. By default the tangent uses the object's local Z axis. When the scale is applied, the object's local Z was aligned with the global Z (which is not perpendicular to the "front" of your object).

For example, if you rotate the object -90° in edit mode then rotate it back 90° in object mode so that the object's local Z points out from the center of the disk:

Then it will work with the default tangent:


Is the ocean modifier better than the fluid simulation for making an ocean? Is the ocean modifier better than the fluid simulation for making an ocean when it comes to  visibility under the surface of the water, reflections and splashes in the water? Which one is better for making those things?

It really depends on the project you are undertaking.

For Oceans and Splashes
Any wave or developed ocean sim uses functions which are fractaly overlayed on top of each other (similar to Brownian Motion, Turbulence, etc), which produces a plausible in-the-middle-of-the-ocean effect. Note that ocean simulators by default DO NOT use any sort of fluid dynamics! As it has been mentioned in the comments, fluid dynamics is expensive and simulating a whole ocean using fluids is just something that is not done even in the VFX for your top-ten Hollywood films of last year.

Now, on the other hand splashes and sprinkles and water interacting with objects cannot be done plausibly with an ocean sim. You actually need fluid dynamics for that.

What is usually done for a shot that has a huge CG ocean and water interacting with some object in the ocean (rocks, ships, kraken, huge robots, etc...) is that an ocean sim (or a few of them, different for foreground, midground and background [something like ocean LOD]) is used for the virgin ocean part of the shot, and a separate 'water-basin' is used where the interaction with the object happens. This is a limited container (as small as possible) with actually has 3d fluid dynamics, that are going to be used for the effects as splashes, droplets, etc.

The tricky part is here, you need to somehow combine the 2 techniques seamlessly!... Unfortunately there is no perfect solution which does not involve  manual tweaking of parameters for some time (There might be some tips I am not familiar with).

For Underwater Scenes
For such scenes, PLEASE, do not use fluid dynamics!!! Overkill is a weak word to use... it might even not produce the results you would expect! Now simulating the surface of the ocean with a ocean sim, and in the case of splashes and interaction, some fluid dynamics is fine (as we mentioned earlier). At the moment you get under those waves, it is just a completely different technique. There are quite alot of tutorials and techniques which teach realistic underwater effects.
Here are some basic ideas:
- You apply a 'depth' filter which would give the impression of this blue-ish foggy abyss.
- You combine that with tiny particles generated where they will be visible.
- Volumetric effect (similar to God-rays) for any lighting natural or man-made.
- particles for bubbles, racing to the surface...
- If you are close to the surface, you might want to apply caustic effects onto the objects which are visible...
- Last but not least use your observation and imagination! ;)


Orbit around selection not working on some Objects? I`m using Blender2.8 and depending on the object I select Orbit around Selection does not seem to work.

https://www.youtube.com/watch?v=mK2A3g2DjRU&feature=youtu.be

Any idea what could be causing this behavior?

First thing to try .. go to the object's properties > Viiewport Display panel, and check 'Bounds'. The view orbit is based on the selection's bounding box.. even one stray vertex will recenter it.


How to control mesh curvature using an armature My goal is to make a curved Pillow Box model in blender starting from the flat die-line. The problem is that there seem to be no real accurate way to control the amount curve of the folding panel without using bevel modifier or something like that.

You can use a few objects for this...

Here is the objects involved

Pick one of the circle meshes as the target mesh.

Use the other three remaining circular meshes as the "theoretical children".

Apply the Copy Scale Constraint to all three of these children.

Use these settings for the constraint on all three children.

Arrange the mesh objects as shown.

Here's a demo of the magic.

Appended The Working Blend File Using Drivers + Demo Animation of how to use it


Beginner: Unknown faces on Mesh Hopefully an easy solve. I've imported in an SVG and made it 3D, but I get these random faces that are appearing probably due to unnecessary vertices. How can I clean this up? I've tried using Dissolve but it seems to create more mess :S
You can see the mess here

I will walk you through some steps in removing and adding faces with the letter E.
Modeling Resources

Selection Mode
Loop Select
Creating Faces
Deletion Modes

Go into edit mode. Let's first delete all non manifold geometry. Deselect all with A, A. Press ⎈ Ctrl⇧ Shift⎇ AltM to select non manifold geometry. Press X and choose vertices to delete the unnecessary vertices.
Go into face selection mode. ⎈ Ctrl ↹ TabF.
Select the large n-gon which causes the strange face. The select dot show its center. Delete it.
Select the other problematic n-gons. Because some important vertices (marked red) are connected to only the face, deleting the face would be wrong, because these vertices would be deleted as well. Just delete the face with X > Only Faces.
We want to connect the following vertices with an edge, but they're already overlapped by another edge and face.
Hence, delete the faces and the overlapping edges first.
Now create the remaining face. Select multiple vertices, which you want to connect with a face with ⇧ Shift + Rightclick. Then press F to make an edge / a face.
To select the last edge loop, ⎇ Alt + rightclick on it.


How do I fix these faces? Weird shapes I'm having a problem with the faces in the corners of this pillow where they keep reverting back to a weird jagged shape that's very noticeable at certain angles.

I tried adding an edge in the middle which worked but then I have triangles which I would rather avoid. I also tried dissolving the edges but the faces did not keep that shape and just went back to how they were. I also tried removing the faces and manually filling them again which worked but only once like here:

I'm not really sure what else to try, any ideas? :(
Thanks

Click the faces which have that problem and subdivide those.
Or

Use a subdivision surface modifier(would increase the poly count


Driver: Scripted Expression (Copy and invert some Objects Rotation and apply it to another Object) I just started working with Blender Drivers and some Scripted Expressions.

To start off, I wanted to apply an objects rotation to another object, but inverted.

Here is what I did:

But it's not working and I don't know why, becuase when I type my expression into console, it returns the correct value that I need.

Scripted expression expects a mathematical function using the variable you set underneath (default name is "var", but you can choose your own, avoiding blank spaces or others special sign).

In this example I've set the Z rotation of the child object to be driven by Z rotation of the parent Obj. The name of the variable is "var_ob_par", and the scripted expression is " - var_ob_par".

It works!


Ball & Chute Interaction - Ball "sits on top" of chute I'm very new to Blender, and I want to roll a ball down a chute. I stretched out a cube, deleted three of its faces, then smoothed it out to make a trough shape & solidified it. Then I made a cylinder, deleted the face on either edge, and solidified it into a tube. Both are set as passive rigid bodies.

My ball does not recognize the empty space these deletions have created, however. If I try to drop my ball into the chute, it slides  along an invisible field and doesn't fall through the tube. If I try to put the ball "into" the trough instead of dropping it in, it flies away in a huff.

I think you can tell from the gifs what I'm trying to accomplish. Any idea what I'm doing wrong?

Sorry, just figured it out. Chutes needed their rigid body collisions to be set to mesh, not convex hull.


Animation nodes color output - how to bake to keyframes as base color I am creating colors for objects in animation nodes and want to write these colors to keyframes as base colors.
In my example the color of the 3 cubes is created by a random color node in animation nodes. Now I want to bake these colors to frames 1-30.
Then stop the animation nodes and manually keyframe colors (R, G, B Diffuse Color in the dope sheet) for the rest of the animation for the same cubes. (or use other animation nodes output)
How could I achieve that?
(The cube with "manual" material is for reference, how I want to set the colors in manual mode)

You need to use the Set Keyframes node. Link to the docs.
It is designed to keyframe transforms (Loc, Rot, Scale), but you can keyframe other properties by choosing Custom in the first dropdown.
Click on the + icon to add a new field, and type color (implied object.color, that is to say the object viewport color) because that's the property you want to bake the keyframes to.
Check Enable to, well, enable the node's behavior.

Now if you play the animation, it will bake the keyframes to ALL frames.
How to restrict the baking to a certain frame range :
Add a Time Info node and a Compare boolean node.

Result :


Hollowing out an object evenly? How do I take a mesh(currently working on the upper receiver of a gun) and hollow out the inside so that all the internal faces are lined up with their respective exterior face evenly throughout the entire mesh?

You might achieve the desired effect by using a solidify modifier or by extruding the faces and scale them along their normals using Alt + S.


Adding Labels, Angles, Domains on Objects for Making Math Models I am very new to Blender.  I have been looking for a program to create a model for visualizing different math concepts.  Blender looks promising as it provides the possibility for not only this, but graphical modeling far beyond as well, so I would like to learn it to build upon this knowledge continually.
To begin I would like to start by making an image similar to this:

I have been able to get some objects and planes created with some coloring and shading, but I haven't been able to find out how to get certain domains to be addressed individually, or how to get angle labels on these domains.
For example, in the image above, the ABC region has a different texture than the whole sphere. Is there a way to select a region where to objects intersect, etc. in blender?  How would this triangle on a sphere be created and labeled in Blender?
Thank you very much for any help, I greatly appreciate it and will continue to update this thread if I find any answers in the meantime.

There are many possible approaches. If you are going to animate this or want to play with the angles for the final render one possible solution are modifiers. Please bear in mind, that these are very specific questions and the solution might be somewhat complex, so I can only outline the basics and not every step. I will try to keep it simple.

First goal is to create a region ABC that auto-updates when we rotate the tori.

Make sure the 3D cursor is at the centre.

To create region ABC add a UV Sphere and a cube. Select the cube and scale it up a bit, so that it contains the sphere completely with a margin. Move one of its sides to the centre of the sphere in "Edit Mode". Back in "Object Mode" copy the cube two times and rotate the copies by 90 degrees around 2 different global axes. Lets name the cubes Cube.A, Cube.B and Cube.C. Move all cubes to layer 2. (ok, mathematically these cubes are now cuboids.. but lets call them cubes for simplicity)

Copy the sphere 2 times. Lets name the spheres Sphere.Fill, Sphere.Wire, Sphere.ABC.

Move Sphere.Fill and Sphere.Wire to layer 3. Select Sphere.ABC and add a "Solidify Modifier". Change thickness e.g. to 0.060 or less and offset to 1. Add 3 "Boolean Modifiers" and set the target to the 3 cubes respectively. Set "Operation" of all 3 modifiers to "Difference". This is, what it should look like:

For the angle labels add another UV Sphere and scale it down e.g. 0.5 and move its centre to one corner of ABC on the surface of Sphere.Fill. Lets name it Sphere.Cut. Add another "Boolean Modifier" to Sphere.ABC and set its "Operation" to "Difference", target to Sphere.Cut. Add an "EdgeSplit Modifier" to Sphere.ABC. Copy Sphere.ABC and change the Operation of the last "Boolean Modifier" to "Intersect". Lets name the copy Sphere.Angle. This is what it should look like:

For the text label of the angle add "Text" and tab in to change it to whatever you need. In the text properties under "Paragraph" change align to centre. Place the object centre of the text slightly above the surface of Sphere.Fill inside of Sphere.Cut and parent it to Sphere.Cut. Add a "Shrinkwrap Modifier" to the text and set the target to Sphere.Fill. Tick on "Keep above Surface". Change the offset until the text is above the surface of Sphere.Angle. This is what it should look like:

Some notes about materials. Enable Z Transparency for all materials. This allows to set "Z-Offset" which avoids unwanted flickering for overlapping geometry (also called Z-fighting). For Sphere.Wire switch the material type from "Surface" to "Wire" and "Z-Offset" e.g. of 0.1 or less. Increase the "Z-Offset" slightly for Sphere.Angle and Sphere.ABC and then again for the Text. For this simple example its enough to set "No Shadow" for the single sun lamp.

For the tori you can use bezier circles with another bezier circle as Bevel Object. Then you can parent those circles to the cubes respectively.

Afterwards rotating the cubes should update region ABC automatically. Sphere.Cut must be tracked manually. A rig might be needed for animation but this is beyond the topic.


Soft body and collision don't work I am beginner in Blender. When I try to make a bouncing ball (UV sphere marked as "soft body") on the Plane (mark as collision), sometimes the ball falls through the plane.

Or when it works correctly and then I try to extrude or modify somehow the plane, the ball falls always through the plane, even though the plane is marked still as "collision". What am I doing wrong? Thanks

The most likely problems are either due to flipped normals, fast moving soft body (moving so fast as to jump through the plane before collision can be detected), or inappropriate Collision settings.

The first thing to point out is that the collision is an approximation. The soft body solver steps the soft body vertices through a 'step' and compares the positions to any collision surfaces. If the new vertex position is within one of the collision 'zones' (ie, the 'Outer' and 'Inner' settings on the Collision panel) then it will be repelled by the surface on the next 'step'. If the step size is too large for a fast moving vertex to be detected then it can pass straight through a surface unnoticed. To resolve this issue you can tweak the Soft Body Solver settings - drastically increase the Min Step setting and the steps will be considerably shorter, resulting in the fast moving vertices being more frequently sampled and, hopefully, hitting the collision zones.

The next problem is with flipped normals. If a vertex approaches the opposite side of a surface then instead of hitting the surface it will be drawn through the surface to the other side. The normals should (almost) always point to the "outside" of the object so as to repel collisions to the exterior.

The final problem is setting the Internal collision bounds larger than the depth of the object. The collision settings are in scene units (so, by default, Blender Units). The default 'Inner' collision settings of 0.2 are only appropriate for objects that are more than 0.4 units in depth. For example, a cube with 0.4 units per side. This would mean that down to 0.2 units below the surface would be considered for repulsion from that closest surface but anything below that would be repelled out of the other side. If you set collision 'Inner' greater than half the depth of the surface then you start to get strange results where the top surface collision zone interferes with the opposite surface collision zone. IF the Inner is set to more that the total thickness of the object then you can end up with a situation where vertices close to the surface are drawn through the surface as they are within the collision zone of the far side of the object!

So, follow the following rules :

Keep Normals pointing 'out' of the object
Set Min Step high enough to ensure any vertex motion is not too great per step - faster objects require more steps but more steps take longer to calculate
Carefully select collision depths to avoid overlapping zones - avoid Inner being more than half the minimum thickness of the mesh.


bsurfaces gpl edition , script version throwing an error Looks like the bsurface addon is not supported officially according to this answer. It works fine when I am clicking on "Add Surface" button from GUI , but when I execute from script

bpy.ops.gpencil.surfsk_add_surface(edges_U=50, edges_V=20, cyclic_cross=False, cyclic_follow=False, loops_on_strokes=True, automatic_join=True)

AttributeError: 'GPENCIL_OT_SURFSK_add_surface' object has no attribute 'is_fill_faces'

This definitely doesn't feel like a context error, but more to do with the addon.

I would like to know if there is a fix for this problem ? Or otherwise please suggest what alternatives to look for bsurfaces addon that go well with scripting as well ?

Unlike

bpy.ops.gpencil.surfsk_add_surface(edges_U=50, edges_V=20, cyclic_cross=False, cyclic_follow=False, loops_on_strokes=True, automatic_join=True)

this

bpy.ops.gpencil.surfsk_add_surface('INVOKE_DEFAULT')

this works from script as well

but one drawback is we will not be able to pass edges_U & edges_V from code

for that I modified the addon itself in line 2970

self.edges_U = bpy.context.scene.edges_U
self.edges_V = bpy.context.scene.edges_V

I do the required calulcations and store them in bpy.context.scene & assign them in the addon code.

Hope this temporary hack can be used until the original authors fix the addon.


Add additional camera presets In blender we have a camera presets selector.

Some of the items are quite old now and there have not been many new additions. How would one go about adding new presets and what information about the camera would be required?

You just need the dimensions of the sensor.

Put those on the sensor width or height.

Then use the plus button (+) on the right of the preset to create a new one, and name it whatever you wish.

To delete the presets you don't need, use the minus button.

Presets are a .py file located in the Scripts folder within the blender progra's folder. In windows they would be in

C:\Program Files\Blender Foundation\Blender\2.78\scripts\presets\camera.

As an example, this is the preset for a Full Frame camera:

Full_Frame_35mm_Camera.py

import bpy

bpy.context.camera.sensor_width = 36

bpy.context.camera.sensor_height = 24

bpy.context.camera.sensor_fit = 'HORIZONTAL'


A real (smooth) sphere? I’m a first-time Blender user, and just got started with 2.8.

I want to make an animation where a sphere is zoomed from billiard-ball size to planet sized; a factor of over a hundred million.

That’s fine when spheres are mathematical geometry, as with POV-Ray.  But in Blender, everything is a mesh.  I’m tried looking into nurbs and blobs but I don’t understand it well enough — The blob (Metaball in Blender) allows specifying the number of polygons at render time anyway, but I can't apply a UV texture map.

How can I make a sphere that adapts its tessellation to the needed scale?

You can activate POV-Ray addon in user preferences.  A povSphere then becomes available among other primitives for Blender to add to the scene. It will behave like you're used to in POV and never show any tesselation at render time


Place a node over wires without it auto-connecting Sometimes I'll be trying to place a node and there is a wire beneath it in the way. By "in the way" I mean that if I place the node where I want to it will automatically connect in a way I don't intend it to. Is there a some way to simply drop the node in place without connecting the wires?

I've tried all the modifier keys but nothing worked.

Also, I don't want want to disable auto-connect entirely, but I would like to be able to momentarily disable it.

The auto-connecting feature is currently inseparable from the Node Editor's translate operations, but you can press Alt + D to Detach the node after moving it, effectively "undoing" the auto-connect.


Refresh an F-curve with Python after changing Extrapolation Mode After creating an F-curve for the default cube and then setting the Extrapolation Mode to 'LINEAR', the graph editor displays a very strange curve:

The script I ran in the Text Editor of a  new .blend file was:

import bpy

obj = bpy.context.object
obj.animation_data_create()
obj.animation_data.action = bpy.data.actions.new(name="MyAction")
fcu_z = obj.animation_data.action.fcurves.new(data_path="location", index=2)
fcu_z.keyframe_points.add(2)
fcu_z.keyframe_points[0].co = 10.0, 0.0
fcu_z.keyframe_points[1].co = 20.0, 1.0

fcu_z.extrapolation='LINEAR'

The F-curve can be manually "refreshed" by selecting a control point and hitting GRMB.

So my questions are:

Can I "refresh" the F-curve in the script?
Should I submit a bug report?

You don't set the coordinates for the handles.

Blender won't check if these are valid. In this case the right handle is initialized with the default value
(0.0, 0.0) which is invalid since the  x-coordinate of the left endpoint is 10.0. So handle_x > endpoint_x is violated here.

Moving the point blender will automatically recalculate the handles for the points.

BTW: keyframe_points.insert will recalculate the curve unless the option FAST is chosen.

This example works:

import bpy

obj = bpy.context.object
obj.animation_data_create()
obj.animation_data.action = bpy.data.actions.new(name="MyAction")
fcu_z = obj.animation_data.action.fcurves.new(data_path="location", index=2)
fcu_z.extrapolation='LINEAR'
fcu_z.keyframe_points.insert(10.0, 0.0)
fcu_z.keyframe_points.insert(20.0, 1.0)


Tetrahedron isn't proportional even though math seems to be correct I am creating an object from vertices and faces. I have written two functions that can convert from spherical coordinates to cartesian and another one for the other way around. I am generating the tetrahedron so that if a bounding sphere touches the vertices the radius is 1. The problem is that the even though the radius is equal to 1 for all four vertices the tetrahedron shape isn't right but then looks correct when the top vertex radius is 3/4. Weird. I am running this with Blender 2.9.
What do you suppose I did wrong? Or is there something weird about Blender (which I doubt).
import bpy
import numpy as np

def sphere_to_cart(r,theta, phi):
    x = r*np.sin(np.radians(theta))*np.cos(np.radians(phi))
    y = r*np.sin(np.radians(theta))*np.sin(np.radians(phi))
    z = r*np.cos(np.radians(theta))
    return x, y, z

v_tetra = []
# x,y,z = sphere_to_cart(1,0,0)
# v_tetra.append([round(x,7),round(y,7),round(z,7)])
v_tetra.append([0,0,0.75])
x,y,z = sphere_to_cart(1,120,0)
v_tetra.append([round(x,7),round(y,7),round(z,7)])
x,y,z = sphere_to_cart(1,120,120)
v_tetra.append([round(x,7),round(y,7),round(z,7)])
x,y,z = sphere_to_cart(1,120,240)
v_tetra.append([round(x,7),round(y,7),round(z,7)])
f_tetra = [[0,1,2],[0,2,3],[0,3,1],[1,2,3]]
name = "Tetrahedron"
mesh = bpy.data.meshes.new(name)
obj = bpy.data.objects.new(name, mesh)
col = bpy.data.collections.get("Objects")
col.objects.link(obj)
bpy.context.view_layer.objects.active = obj
mesh.from_pydata(v_tetra, [], f_tetra)

so = bpy.context.active_object
verts = so.data.vertices
print("Vertex info:")
for v in verts:
    print(v.co)

To illustrate I have checked the math:
print(v_tetra)
r,theta,phi = cart_to_sphere(0.000000001,0,1)
print(r,theta,phi)
r,theta,phi = cart_to_sphere(0.866,0,-0.5)
print(r,theta,phi)
r,theta,phi = cart_to_sphere(-0.433,0.75,-0.5)
print(r,theta,phi)
r,theta,phi = cart_to_sphere(-0.433,-0.75,-0.5)
print(r,theta,phi)

Which give the result:
[[0.0, 0.0, 1.0], [0.866, 0.0, -0.5], [-0.433, 0.75, -0.5], [-0.433, -0.75, -0.5]]
1.0 1e-09 0.0
0.9999779997579946 -1.0471848490249271 0.0
0.9999944999848749 -1.047194375741009 -1.0472102531819656
0.9999944999848749 -1.047194375741009 1.0472102531819656

Tetrahedron with unequal radii

Input is not correct

Diagram illustrating only the top view looks directly onto a tri normal.  Hence in top view the verts are 120 degrees apart. It appears you have also used this for front (for example) and wrongly assumed the other verts would be sitting on 30 degrees south (120 degrees from north).  In front view the triangle we see has an edge angle (The tetrahedron dihedral angle of 70 degrees) from the base, as seen in right ortho view (LHS)
In an answer to this question have hard-coded a regular tetrahedrons coordinate points.
https://blender.stackexchange.com/a/143372/15543
seen as coords in code below. Note these coords are for a unit edge tetra containing verts at (0, 0, 0) and (0, 0, 1) and aligned such that an edge is parallel to x axis.

Coordinates for a regular tetrahedron
Expressed symmetrically as 4 points on the unit sphere, centroid
at the origin, with lower face level, the vertices are:
$$v_1 = \left(\sqrt{\frac{8}{9}},0,-\frac{1}{3}\right)$$
$$v_2 =
> \left(-\sqrt{\frac{2}{9}},\sqrt{\frac{2}{3}},-\frac{1}{3}\right)$$
$$v_3 =
> \left(-\sqrt{\frac{2}{9}},-\sqrt{\frac{2}{3}},-\frac{1}{3}\right)$$
$$v_4 = (0,0,1)$$
with the edge length of $\sqrt{\frac{8}{3}}$.

Could have changed to match these coords,  instead for example sake have:
To make the origin at the center of geometry averaged coords, and set it as the origin (0, 0, 0).
Made all the distances from origin to point unit, scaled by inverse of length.  All edges have same length..
To skin quickly used the bmesh convex hull operator.
.. and finally reported the distance and latitude and longitude from the origin point.
import bpy
from mathutils import Vector, Matrix
import bmesh
from bpy import context
from math import degrees, pi

coords = [Vector(c) for c in (
    (0, 0, 0),
    (1, 0, 0),
    (.5, 3**.5 / 2, 0),
    (.5, 1 / 3 * 3**.5 / 2, ((3**.5 / 2)**2 - (1 / 3 * 3**.5 / 2)**2)**.5))]

o = sum(coords, Vector()) / 4

print("origin", o)

me = bpy.data.meshes.new("Tetra")
me.from_pydata(coords, [], [])
me.transform(Matrix.Translation(-o))
me.update()

# all have the same distance, not unit
for v in me.vertices:
    print(v.co.length)
# scale to unit.
me.transform(Matrix.Diagonal((1 / v.co.length, ) * 3).to_4x4())
bm = bmesh.new()
bm.from_mesh(me)
bmesh.ops.convex_hull(
    bm,
    input=bm.verts,
    )
bm.to_mesh(me)
me.update()

# make the object
ob = bpy.data.objects.new("Tetra", me)
context.collection.objects.link(ob)

# calculate and report radius / lat / lon (local space)
z_axis = Vector((0, 0, 1)) # north
y_axis = Vector((0, -1, 0)) # 0 longitude
for v in bm.verts:
    lat = pi / 2 - z_axis.angle(v.co)
    if v.co.xy.length < 1e-7:
        lon = 0
    else:
        lon =  y_axis.xy.angle_signed(v.co.xy)
    print(v.co.length, degrees(lat), degrees(lon))

Output, spherical coordinates (in degrees)
Radius, Latitude, Longitude
----------------------------

0.9999999701976772 -19.471218922405377 60.000001669652114
0.9999999701976772 -19.471218922405377 -60.000001669652114
0.9999999478459345 -19.47122575259455 -180.00000500895632
1.0 90.0 0.0   # north pole.

In both this version and yours the distance from the origin to vert is 1, however your input latitudes are not consistent with keeping equilateral triangle faces.
Result above suggest that for a regular tetrahedron with apex at north pole, the three other points are distributed 120 degrees of longitude apart on latitude 19.47 degrees south.


How to add butt to 3d model? I have a 3d model that I want to add a butt to. (I am not doing this for NSFW purposes). I have tried various techniques including the inflate tool and proportional editing, but the model appears blocky and out of shape. (subdivision doesn't fix this). What's the best way I can edit a model to add a butt.

the best way is sculpting at a low resolution with dyntopo or with multiresolution instead if you dont care pretty much of making a retopo after doing a dyntopo sculpt , because dyntopo is triangle based topology, but multiresoltion is quad based topology.
thats my two cents...if you need more info tell me...


Apply rotation and translation to bones(Math) https://stackoverflow.com/q/38541723/2495562

I posted the question on stackoverflow ealier before I realised here might be the right place to ask blender related questions.

I'm using blender 2.49 because the script was originally written for that version.

I'm trying to create animations using some transform data.

The original data contains a sequence of joints. Each joint has its own rotation and translation values, it may or may not have a parent joint. This sounds pretty much like bones in blender, right?

To set up the skeleton:

#pseudocode
for joint in joints:
    v = Vector(0,0,0)
    j=joint
    while j:
        v = j.rotation*v
        v = v + j.location
        j = j.parent
    joint.position = v

To process a certain frame:

#pseudocode
for joint in joints:
    v = Vector(0,0,0)
    j=joint
    while j:
        rot=j.rotation+j.curFrame.dRotation
        loc=j.location+j.curFrame.dLocation
        v = rot*v
        v = v + loc
        j = j.parent
    joint.position = v

To make things simple, I convert each joint into a small bone.

    for i in range(0, len(bones)):
        bone = Blender.Armature.Editbone()
        bone.head = Mathutils.Vector(0,0,0)
        bone.tail = Mathutils.Vector(0,1,0)
        bone.name = 'Bone.' + str(i)
        bone.parent = armature.bones['Bone.' + str(bones[i].parent)]
        armature.bones[bone.name] = bone

Then I move the bones to their desired locations, using the posebone trick to create the skeleton:

    pose=armObject.getPose()
    pose_bones=pose.bones
    #pose the bones
    for i in range(0, len(bones)):
        name = 'Bone.'+str(i)
        tran = transforms[i]
        pose.bones[name].quat = Mathutils.Euler(tran.rotX,tran.rotY,tran.rotZ).toQuat()
        pose.bones[name].loc = Mathutils.Vector(tran.locX, tran.locY, tran.locZ)
    pose.update()
    #update editbones
    armature.makeEditable()
    for i in range(0, len(bones)):
        name = 'Bone.'+str(i)
        armature.bones[name].matrix = pose.bones[name].poseMatrix
    armature.update()
    #reset pose
    for i in range(0, len(bones)):
        name = 'Bone.'+str(i)
        pose.bones[name].quat = Mathutils.Euler(0,0,0).toQuat()
        pose.bones[name].loc = Mathutils.Vector(0,0,0)
    pose.update()

So far so good. But when I apply the transform to a certain frame, the results are incorrect.

    for i in range(0, len(bones)):
        name = 'Bone.'+str(i)
        tran = frame.dTransforms[i]
        pose.bones[name].quat = Mathutils.Euler(tran.rotX,tran.rotY,tran.rotZ).toQuat()
        pose.bones[name].loc = Mathutils.Vector(tran.locX, tran.locY, tran.locZ)

By incorrect I mean the rotations seem correct, but the translations are all wrong. I guess it is because the transforms should be applied to the posebone's local space(the skeleton is correct because all transforms start from the center )? But how do I do that?

Well I solved the problem already. I realized the transforms are done in the bone's local space, so they need to be calculated with the editbone's matrix before applying to the posebone.

for i in range(0, len(bones)):
    name = 'Bone.'+str(i)
    tran = frame.dTransforms[i]
    pb = pose.bones[name]
    eb = armature.bones[name]
    m1 = eb.matrix['BONESPACE'].rotationPart()
    e1 = m1.toEuler()
    e = Mathutils.Euler(tran.rotX,tran.rotY,tran.rotZ)
    e2 = Mathutils.Euler(e1.x+e.x,e1.y+e.y,e1.z+e.z)
    m2 = e2.toMatrix()
    m = m2*(m1.copy().invert())
    pb.quat = m.toQuat()
    pb.loc = m1*Mathutils.Vector(tran.locX,tran.locY,tran.locZ)


How to Model Low Poly Nature Terrain I can't seem to figure out how to model low poly nature terrain.  I don't know what objects to use, and what to do from there.

This is a great example.  How do I make (model) this type of terrain? Would the best workflow be to make them random generated?  Or manually modeling them using sculpt tools, etc. ?

Ok, so, here we go. This will be the final result:

Beginnings

I came at this task with a systematic approach. I would grade everything by color and sculpt to pull out different colored landmasses from beneath a water surface plane (the lowest object in the scene). The cliff background, along with rocks, trees, and bushes, would come last.

Background Image

I downloaded the image from your question and imported it as a Background Image in the 3D Viewport Properties panel. I set the Display Axis to Camera, because it was the only relevant place that I would need the image. I also changed the Draw settings to Front because I would need to still see the image above my models; it's too complicated to do everything in Wireframe View.

Camera Settings

I also adjusted the Properties panel > Render tab > Dimensions dropdown settings so that the image wasn't stretched.

I keyed Numpad 0 to switch to Camera View, zoomed in, and checked 3D Viewport > Properties panel > View dropdown > Lock Camera to View.

Utilizing the background image, I aligned the ground plane and default cube to roughly the same orientation as the camera. Note how the grid, just barely peeking through the background image, appears to be on the same plane as the water.

Lighting

Sun Lamp

Since this is relatively simple, we'll knock it out now. Select the default Point lamp and go to the Properties panel > Object Data tab. Set the Lamp Type to Sun. Set the Size: value to 0. Click Use Nodes, and set the Strength: value to 3.0. Make sure the Color is Hex: value FFFECC.

HDR

For added realism, I prefer to use an HDR Image as an alternate light source.

Go to the Properties panel > World tab > Surface dropdown. Click Use Nodes. Click the dotted button next to the Color: input and choose Environment Texture.

Open an HDR Image. I am using the one from BlenderGuru's Cherry Blossom Tutorial.

Modeling

...and a bit of texturing.

The Water

I deleted the default cube to start and added a plane (Shift + A > Mesh > Plane). I scaled the plane up until I deemed fit (23.13). I then popped over to the Properties panel > Materials tab, ensured that I was in Cycles Render, and added a new material. I kept the default Diffuse BSDF shader but set the color to color of the water. To do that, I...

...went to the 3D Viewport Properties panel > Background Image dropdown.
...increased the Opacity: value to 1.
...went back to the Properties panel > Materials tab > Surface dropdown > Color Selection option.
...used the Ink Dropper to pick the water color.
...went to the Properties panel > Materials tab > Settings dropdown > Viewport Color.
...used the Ink Dropper to pick the Properties panel > Materials tab > Surface dropdown > Color.

You can do that or use Hex value BADDFE.

The Sand

...and basically steps for the dirt and the grass as well.

This is what I call the lightish brown stuff in the image (Hex: FFE1C8).

I duplicated the plane and moved it lower by keying Shift + D, then Z, then -.5. I keyed Tab to enter Edit Mode, keyed W to open the Specials menu, and selected Subdivide. I keyed T to toggle open/close the Toolshelf. Under the Subdivide dropdown, I changed the Number of Cuts to 10, the max.

I then subdivided again, but this time only used 3 cuts. I keyed Tab again to exit Edit Mode.

Next, I traveled to the Properties panel > Object modifiers tab and added a Triangulate modifier. I clicked Apply to apply the modifier.

I entered Sculpt Mode via the footer of the 3D Viewport. In the Toolshelf, I made sure that all mirroring was disabled. I, personally, enjoyed using a brush size of 17 px. and a strength of 0.5. I sculpted everywhere I saw sand. I did this until I felt content.

A gif of a bit of me sculpting:

The Dirt and the Grass

This is what I refer to the low lying green and dark brown coloring as. You will want to do the same thing as with the sand except that you will want to use a different material. Also, where materials are concerned:

Grass hex: DBE492.
Dirt hex: B18E7D.

What I've got so far (note that there were some white bars at the top and bottom of the image that I downloaded. I added these in for consistency's sake. I will include a blerb about how you can include them later. Note that the alternative is either shrinking the camera dimensions or making more scene):

The difference between the two:

Greyish-Brown Cliff

Hex: C4A888

I started by adding a Cylinder and scaling it up by a factor of 11. I then keyed Numpad 7, Numpad 5 to enter Top Orthographic View. I keyed Tab to enter Edit Mode. I keyed A to deselect everything. I keyed Z to toggle in/out of Wireframe View. I Box selected the following vertices.

I keyed X to open the Delete menu and selected Vertices. I then rotated my view and selected the top vertices.

I keyed . to switch the Pivot Point to 3D Cursor, which should be at the center of the scene. I keyed E, then S, then Shift + Z, then 2 to plateau my cliff face. I keyed Numpad 0 to revert to Camera View, A twice to select everything, and G, then Z, then 2.5 to move the cliff up. I keyed S, then X, then 2 to scale my cliff. I keyed G, then X, then -5 to move my cliff left. Lastly, I keyed Alt +  RMB while hovering over the back vertices that we extruded out of the top of the cliff to select them and G, then Z, then 4 to move it up. At this point, I have a cliff that looks like the following.

Now I subdivided it (3 cuts) and triangulated. And sculpted. After sculpting, I had something like the following. It's not totally accurate to the image, but it does look good.

Last thing for the cliff. I extruded and assigned the grass material to the same mesh for the grass at the top left of the cliff.

Background rest of the cliff

Stone hex: C3C3C3
Red Rock hex: E7A17D

There's no easy way for me to explain this, but I basically divided it up into chunks by color and made pieces out of various stretched and sculpted cylinders. This was my result:

But this was my scene. Not pretty, but effective:

Fillers

Pine Trees

Hex: 90C785

These I made by adding a cube, scaling it up, and scaling it down at the top.

Obviously I had to scale them slightly differently for each instance. Also, I did some occasional sculpting of the landscape beneath the trees to make it fit them, rather than vice-versa. After some work, I achieved this:

Rocks and Shrubs

For this, I added various low poly spheres which I triangulated and sculpted and placed around. I added no new materials, choosing to use the existing Pine tree, Greyish-Brown Cliff, and Red Rock materials. After adding these features, I achieved this:

The Trees

Tree Bark hex: 91604C

These I made through the simple system of extruding a low poly cylinder up and up. This was the trunk, for which I added yet another material, this one at a Hex value of 91604C The leaves were copies of a bush using the Pine Tree material again. How I arranged them was quite clever, if I do say so myself...and I do.

In the Properties panel > Scene tab, I turned off all Gravity.
I duplicated shrubs around the top of the tree.
I added a Force Field > Force with a Strength: value of -20 to the top of the tree.
In the 3D Viewport > Toolshelf > Physics tab, I Add Actived all of the leaves.
I Add Passived the tree.

The setup:

After simulating:

After simulating, which I had to do by separate trees, I had to click Bake to Keyframes for each leaf and set the Start: and End: values to the frame that I liked (119).

After making the trees, the last thing, I produced the a result that only needed some minor post-processing, which I'll explain next, to look like the image from the beginning.

Post-processing

I used 1000 Render Samples and 256x256 tiles because I rendered on my GPU. As a rough guide, refer to the following chart by BlenderGuru. Make your own tests to find out what is the optimal tile size for your system and scenes.

For the compositing, I used these nodes to add the top and bottom white borders:

How this works:

The two Box Mask nodes create a two white boxes (top and bottom) with a black background at the specified coordinates for the specified size.
The Color > MixRGB > Add node adds all values white (1) to the other creating two strips with a black (0) background.
This can be used as a Fac: between a chosen color (which just so happens to be white) and the rest of the image that I want to show.

Once again, the final result:

The .blend file:

ARadish's modified .blend file, in which the compositing and tree leaves were changed:

ARadish's compositing and corresponding explanation:

  The compositing was meant to add sepia-ish tones to the image, and make the ambient shadows darker, and orangier. I added an AO (ambient occlusion) render pass under "Render Layers" and strung this to the blue channel of the original image. After recombining RBGA, i ran a tweaked line of the AO into the black levels of the image using RGB curves. This gives me darker shadows without changing the over all contrast of the image. A tad of color balance for sepia made the image get that softer feel.

Result from ARadish's .blend:


I can't seem to select faces and edges? I'm following this tutorial to get started with blender: https://www.youtube.com/watch?v=Vp1sH6Cm1ww

When I try selecting an edge or a face, the program does not let me. However, I can select vertices, and I can, by result, select edges and face by Ctrl+clicking other vertices, but this is very inefficient and annoying.

Does anyone know a solution?

In edit mode you can change selection modes by pressing ctrl tab. Or just clicking this button in the 3D view header.

To select edges you want edge select mode.

To use more then one selection mode at a time, shift LMB  on ether the buttons in the 3D header or the ctrl tab menu.


How to create a CLOWN PASS for material selection in photoshop? I use photoshop for post processing my renders.
I would like to have a clown pass exported with the shadow, diff, and ao maps...
Is there a setting I'm missing ?

Dedicate render layer with material override

For this task I usually set up a dedicated render layer.

I render only the emission pass of the surfaces using a material that transform a given random number, one for each object, into a color of the color ramp.

To render all the objects with the same material without touching your original scene, you can use the Material box in the Layer panel of the Render Layers tab.

Here's a possible setup:

Note (1): you need just 1 sample to achieve the final look, so it should not affect much your rendering time.

Note (2): this works "per object", not "per materials". For materials, I would use the Material ID pass, but that's not automated.


How to scale proportionally? I need to scale an object like at the right (in attached Pic) linearly, when bottom will remain the same, and top will be scaled. With cube its easy to do, but object at the right retrieves edges out with total broken geometry.

I already tried to parent object to the cube and scale like at the left, but have no effect.

Proportional editing is available via the "O" shortcut, or through the menu button as below. The mouse wheel controls the area being influenced (circle indicator in 3rd picture).

[


Curved surfaces looking odd and Blocky with Subdivision I did my first attempt to model a shoe sole but I think I did some mistakes and I can't understand how to proceed.
Basically I found two problems:

I don't understand how to solve the bigger topology problems

I used edge crease to sharp edges because I can't understand how to add supporting loops without interfering with the main shape of which I'm satisfied.

I tried to absorb the number of loops to not modify the side curvature of the sole but this is the result:

If I add a loop for each detail the side shape change:

Not too many loops

Too many loops

The link to download the file is here

let me start by saying this is two question but anyway.
First things first... vertex pole count matters!

subdividing a model with different pole counts will give you different loop flow.

so the deformations you see is mostly because of how algorithm predicts how to smooth your flow. so if you want smooth surface, apart from some shrink-wrap work arounds, you need to keep your flow as clean as possible.
And on the blocky subject, as long as your flow is smooth, your result of subdivid will be smooth too. like this example with perfect flow of circle subdivided

for fixing this I recommend loop tools addon that is inside blender and you just need to enable it. it has an option for smoothing your edge flow called relax.


How to add a new Text Editor template? In Blender's built-in Text Editor, there's a Templates menu at the bottom with a bunch of pre-built templates for scripting addons. However, I have created a few new templates myself that I use frequently. Is there any way for me to add my templates to this menu?

In [version_number]/scripts subfolder of your Blender installation, or in any additional path(s) for scripts you've set in User Preferences, there's a folder templates_py (and one for osl too). Just put the templates there; in the menu, each _ in the file name will be converted into a space and each beginning letter of a word capitalized.


Is there a way to hide and show the timeline in blender 2.8 series? Just like the way the tools hide with "T" or the "N" for the propeties. I know ctrl+space hides everything but the the one your cursor is, but sometimes i need to unhide just a especific tab.
Thanks in advance for your help.

The Timeline is not part of the 3D Viewport, but it is a Editor Type with a window of its own. In the default start up file you can get rid of it by clicking on a bottom corner of the 3D Viewport and hold and drag it down over the Timeline.
(Alternatively you could also right click on the edge of two windows an select Join Areas)

Click and drag the corner back up to make the window appear again. Only now the window is another 3D Viewport so you'll have to change the Editor Type back to Timeline.
This for instance can be done to mouse-over a window and press (by default) Shift-F12 twice.

I'm not aware of any quicker way to do this : )


Is there any way to apply a modifier to multiple objects in order to make an animation? i'm making an animation of the objects (you can see them in the image) and as you can see they are separate objects, the thing is i want to curve/animate the objects separately with the SimpleDeform modifier (i need to make them 'move' as if they were underwater, but just sightly), but they are a lot, and i want an animation kind of ''harmonius'', so i wanted to know if there's any option to apply the modifier to all objects and then just move/modify keyframes on the dopesheet.

Is this possible? Thanks in regard.

Ctrl+L gives you the option to link the modifiers from the active object to all other selected objects.

This will overwrite the modifiers of the object being copied to, so there is a really useful plugin to copy any one of the modifiers and not overwrite others, which is called: 3D View: Copy Attributes Menu.

When this is enabled, use the hotkey Crtl+C to bring up the menu options, and use the copy selected modifiers option to copy your modifier.


HALF of the image is flipped on a curved plane? I'm a bit of a Blender novice, so be gentle.

I'm trying to create a simple movie screen using a curved plane. I created a 2D plane, applied a simple 90' curve, and UVMapped a single png for the texture.

When I first applied the UVMap, I noticed my texture started displaying from the center of my plane outwards to the right and was both backwards & upside-down. Rotating the UVMap 180' moved the left side of my image to the left side of my object and displaying properly, but now the right HALF is rotated 180' starting from the center of my plane.

WTH? How do I fix this? How do I rotate only half of my texture? (editing the png is not an option since the texture will change.) TIA

(Download the Blender file here.)

Press 5 on Numpad and Press Ctrl+1 (User ortho and turn to back ortho) The Image will spread.

In Edit Mode Press U and select Project from view

Drag and make a new window as UV Image Editor

Scale UV on X and Y axis untill it match the mesh.


Animation Group Order Using animation nodes I was able to make a procedural animation of a bridge made up of tiles coming from above and forming said bridge.

I created it by taking a plane, subdividing it 10 times, separating the faces, made them separate objects and added them to a group.
I use said group in a loop subprogram for the animation.

The issue arises when the tiles come in, they come in at a weird order. I wanted to know if there is a way to control the order of which the tiles(objects) come in? Is that possible or would I have to connect hundred of objects in the correct order in an object list.

Thank you for your time!

First of all, blender group is not reliable as objects order.

Otherwise, you need a fixed location of objects as a reference for sorting by location.
Given that they are moving around you have to consider only the final position (landed) for sorting.

This goes 2 ways:

you use instancer to copy same object. Here you need to sort the vectors positions (vector list) that give the location of objects (instances), and not the objects
if have a list/group of objects that are different, you have to use id key node (object submenu) to get the initial rot/loc . But first, make sure you set initial transforms (in 3d view, AN panel) for all objects.
This is slightly different and I'll not detail here.

I will detail the first case

For the examples below I use the template Grid Arrange.

Just use the grid order
This goes naturally if u use the respective template or similar.

Use a distance to object to sort
In comparison to above, use a vector/ vector distance node to compare each position to an empty (or something else)

U can further use some expressions
U can do the same by sorting the vector (landed positions) first
as distance to or as direction as shown in the pics with formula:

distance to:

sorted(list, key = lambda item: (item - point).length_squared, reverse = reversed)

direction:

sorted(list, key = lambda item: item.dot(direction), reverse = reversed)

where the inputs are: a vector list, a vector, a boolean

Please note that in all these case I basically sort the vectors, not the objects.
For the other case, you would sort the objects based on the list of (id key ) initial locations.


Select Quads and remove them Can someone please tell me how to select the inner quads and delete them, basically I'm learning to implement A* and want to create a navmesh that will later be used in unity.

Here's the image.

It could depend also on the resulting mesh you wish to obtain, eg:

a big plane with only 4 vertices?
a big empty plane with only 4 vertices?
the plane as it is but without inner quads?

see a couple of example below, using dissolve commands

with dissolve vertices, but you get a plane of more than 4 verts

or with dissolve edges

...you get the idea...

[edit]
in the tutoarial you are following inthe link above, it says

"Create a plane, subdivide it two times and then remove the inner four quads."

well,

first, it is wrong: to get the subdivided plane I see in that image, which has a total of 16 face after subdivision, you have to subdivide the plane 3 times, not 2.

then it seems to convert those inner 4 faces into a a big square.

so you can switch to select faces mode, selet the inner 4 faces, and simply "dissolve faces"... like this