How do I fix this Wrist Twist Issue Does anyone know how to fix this pose issue when rotating hand over the x axis?

Many Thanks
Liam

You don't tell a lot about what's the issue and you're trying to do.

From your last picture it might be that the orientation of your bone is not aligned on the others. Display the axis visibility in the Properties panel > Object Data > Viewport Display > Axes. If that's the case, select it in Edit mode and CtrlR + value to rotate, or ShiftN to automatically align.

Also, maybe you should try this:

Make sure that your arm has enough topology.

For your armature, in the Properties panel > Object Data > Viewport Display, choose Display As > B-Bones (bendy bones) so that they you can twist them (CtrlAltS to scale in Edit mode).

Select your forearm bone and segment it.

Give it a Copy Rotation constraint, Space > Pose Space/Pose Space. You can reduce its influence if you want.


How to set distance of Freestyle line rendering? I would like to have thicker lines near camera and a lot of thinner in some range of distance from camera.

How can I achive this?

I tried 'Distance from camera' modifier (I tested all settings. Including "Invert" checkbox) and the only results I'm getting is the opposit effect: thicker lines far from camera and thinner near camera.

What should I do?

The Distance modifier scope is to control the line's thickness with its distance from camera. The main parameters are four:

Range Min: the distance of the camera's nearest object from the camera itself
Range Max: the distance of the camera's fartest object from the camera itself
Value Min: the bottom value of the graph
Value Max: the top value of the graph

The values

Notice that I'm talking about the graph and not the resulting thickness (that is the curve itself) because I would like to suggest that is not a good idea to set a Max value lower than the Min value.

The values should be defined in order to set up the graph (if you choose Linear insead of Curve you are just forcing the curve to be straight, but the concept is the same), then you can tweak the curve to get the desired result.

The range

To quickly get the correct Range Min&Max value you can use the built-in function Fill range by selection. Basilcally you'll just have to pick two object, push the button and you'll automatically have the fields filled up.

Once the four parameters are set up, you can focus on defining the curve. In your case you should draw a top to down strahight curve to get higher values at the beginning of the range and lower at its the end as shown in the image above.

If you would like to use the Linear option, you should activate the invert option in order to flip the straight curve.

Conclusions:

Start from filling the four parametrs with appropriate values.

In your case you left the default Range parameters (0-1000). I can't see the scale of your model, but I can guess that they are not appropriate. Give it a check.

Start from using very different Min Max values (e.g 1-50) to see the effect clearly and then lower them once you are sure that all works...

...and make sure the modifier is ENABLED FOR RENDER or you'll not see any of its cool effects! :)


Is there a good way to make a "perfect" dome? Since a UV sphere has poles, the best way to make a "perfect" sphere is subdividing a cube and casting it to a sphere, so there is no pinching. You can make a hemisphere by deleting the bottom half.
However, the vertices don't go around it in flat rings, so I can't use this method to make, say, a top third of a sphere.
Is there a better way to make a third of a sphere without a pole at the top?

You can instead just use the boolean modifier in order to cut away the quad sphere. It should still keep all-quad geometry but the faces near the cut could be squished.
Important notes:

Using subdivision surface on a cube will not give you a perfect sphere. The corners will always be slightly lopsided.
Instead: Enable the "Extra Objects- Mesh" addon inside Edit->Preferences->Addons. This comes with Blender. Then, when you add a new object you can choose "Round Cube" inside the mesh section. Choose that, and switch the operator preset to "quadsphere" to make a truly round quadsphere.


Move objetct perpendicular to the viewport The easiest way to move an object (G key) moves it parallel to the viewport.

BUT, is there any way to move it PERPENDICULAR to the viewport? That is, in depth but not just constrained to the XYZ axis/planes?

You have to set the transform orientations to "view", then press G Z, move the mouse and confirm with left click.

If your view is orthographic you will not see any apparent movement but you can read the distance you're moving in the top left corner of the 3D window.


How can scene metric scale be used as node input? Can I use metric scale as node input?

Managed to do it via driver. Not sure if it the right way to do this.


Frameserve to external ffmpeg? I want to frameserve rendered images to an external ffmpeg binary for x264rgb/lossless encoding (its much faster/smaller/efficient than PNG/FFV1). In Blender 2.7x there was OUTPUT->FRAMESERVER that could be used for that (via PPM format - like this) but that function seems to be removed in 2.8x.
I also tried cmdline rendering but its not honoring the pipe (it uses the '-' char literally creating local files):

blender -b ~/Blender/test.blend -o - -x 1 -F BMP -a | ffmpeg -hide_banner -y -framerate 30 -i - -c:v libx264rgb -preset veryfast -tune animation -qp 0 -pix_fmt rgb24 blender.mkv

External renderfarm software (flamenco, crowdrender, etc) are not acceptable as they are either too bloated or not freely available (registration). Rendering all to BMP first and encoding afterwards with ffmpeg is not a goal either. Its wasting too much HDD space.

So the question is: How to frameserve to an external ffmpeg binary?

Blender 2.82
Arch Linux 5.6.15

https://lists.ffmpeg.org/pipermail/ffmpeg-user/2015-July/027532.html
First Solution
My first solution involves taking the rendered image, saving it to a single tmp.png, then appending that to an ffmpeg mp4 at the end of every frame.
First we need to bootstrap
ffmpeg -r 24 -f concat -safe 0 -i video-input-list.txt -safe 0  -pix_fmt yuv420p -crf 23 -r 24 -shortest -y video-from-frames.mp4

video-input-list.txt looks something like this:
file 'tmp.png'

next we need to copy the frame's boostrapped video into a temp video with do_ffmpeg_with_tmp.sh :
ffmpeg -i input1.mp4 -filter_complex "concat=n=2:v=1:a=0" -r 24 -f concat -safe 0 -i video-input-list.txt -safe 0  -pix_fmt yuv420p -crf 23 -r 24 -shortest -y video-from-frames.mp4```
This ends up copying the video to a temp as well since the input cannot be the same as the output in ffmpeg.

Next we need to call all this in Blender :
```import bpy
def render_image():
    print("after render", bpy.data.filepath)
    scene = bpy.context.scene
    scene.render.image_settings.file_format = 'PNG'
    scene.render.filepath = "tmp.png"
    bpy.ops.render.render(write_still = 1)
    os.system("do_ffmpeg_with_tmp.sh")
    # increment to next frame

while bpy.context.scene.frame_current <= bpy.context.scene.frame_end:
    render_image()
    bpy.context.scene.frame_set(bpy.context.scene.frame_current +1 )

This is all to say that doing it with a video and image buffer that ffmpeg concats at the end of every frame is doable, but image sequences are better. if you're worried about space, you could write a script similar to this one that changes the location of the storage after every 1000 frames or so, then compile the files together later through image sequences and video concatenations.
Second Solution - piping output
I looked into getting a pipe out from blender:
The main issue is that blender is noisy and piping out
If you want blender to pipe you need to have it return a png image and flush stdout.
ffmpeg cannot read a piped in image without image2pipe https://superuser.com/questions/426193/multiple-png-images-over-a-single-pipe-to-ffmpeg-no-file-writes-to-disk.
We convert image to png data and send it accross the noisy wire.
import base64
import zlib
import struct
import sys
import os
def render_image():
    print("after render", bpy.data.filepath)
    scene = bpy.context.scene
    scene.render.image_settings.file_format = 'PNG'
    scene.render.filepath = "./tmp.png"
    bpy.ops.render.render(write_still = 0)

def png_to_base64(png_bytes):
    return 'data:image/png;base64,' + base64.b64encode(png_bytes).decode()

def img_to_png(blender_image):
    width = blender_image.size[0]
    height = blender_image.size[1]
    buf = bytearray([int(p * 255) for p in blender_image.pixels])

    # reverse the vertical line order and add null bytes at the start
    width_byte_4 = width * 4
    raw_data = b''.join(b'\x00' + buf[span:span + width_byte_4]
                        for span in range((height - 1) * width_byte_4, -1, - width_byte_4))

    def png_pack(png_tag, data):
        chunk_head = png_tag + data
        return (struct.pack("!I", len(data)) +
                chunk_head +
                struct.pack("!I", 0xFFFFFFFF & zlib.crc32(chunk_head)))

    png_bytes = b''.join([
        b'\x89PNG\r\n\x1a\n',
        png_pack(b'IHDR', struct.pack("!2I5B", width, height, 8, 6, 0, 0, 0)),
        png_pack(b'IDAT', zlib.compress(raw_data, 9)),
        png_pack(b'IEND', b'')])

    return png_bytes

render_image()
bpy.data.images['Render Result'].save_render("/tmp/tmp.png")
r2 = bpy.data.images.load("/tmp/tmp.png")
print("*#*#*#")
print(img_to_png(r2))
#file = open('/tmp/stufff.png','wb')
#file.write(img_to_png(r2))
#file.close()
sys.stdout.flush()
print("*#*#*#")

To compensate for the noise we use a runner:
import sys
from subprocess import check_output
render_progress = check_output(['blender','--background','--python','pipe_image.py','scripting_ffmpeg.blend'])
msg = render_progress.split('*#*#*#')[1]

print(msg)
sys.stdout.flush()

This is what we use to pipe png files out. However the only remaining problem to be solved is to pass the frame in through the runner and find the amount left in the render, and to put the runner in a while loop to output piped data.
This should provide piped image output to the ffmpeg. Its a very complex process.Maybe even needlessly so. I explored it though.


Convert an image with black background to a black and white Is there a way to convert an image with a bleck background to a bleck and white so that I can use it as a mask in Cycles?
Here's the idea - From this:

To this:

I'm creating this Earth scene from "blenderguru.com" (link below) howeever, the clouds in Cycles are not visible enough and part of the clouds is fully transparent -

Internal -

Cycles -

Internal material -

Cycles material -

I don't know what it does in the Internal, but I expect the same result in Cycles. If anyone can explain to me why do clowds are less visible in Cycles?

Earth tutorial - http://www.blenderguru.com/tutorials/create-a-realistic-earth/

to create a mask from BW image you can use this nodes :

you can change the threshold for different results


Slow playback and frame regression The playback isn't synced. Audio can not be heard. The frame cursor continously jumps back to already played frames.

Blender 2.79#5db8ac9 (2017-09-11 10:43)

Things I had done with this file.

video editing in the sequencer
executed script with codemanx's addon to set keys on strips
rendered
animation node to display tc with text strip

Things I tried to solve the playback

Frame Dropping instead of AV-sync > works, but I can't hear audio
delete all strips and data blocks
disabled all addons
hide all but one area
reopened Blender, reopened the file
check Blender's playback capabilities in another file (works)

I have lots of editing in this file, which would be difficult to reproduce in a new file. That's why I need a way to fix this.

Restarting my computer solves this. Even though playback seemed fine in all other files, the playback was restored in this file as well after rebooting my OS.


I have created a glove on Blender and I want to apply Voronoi on it's surface via Sverchok. How can I do that? How can I apply Voronoi 3d in a model/object that I have created in Blender. I have created a glove and I want to apply Voronoi as a texture on its surface through Sverchok.

It's not exactly clear to me what is texture for you (image or image' geometry representation)
import this node tree in sverchok with import panel (copy link)
https://gist.github.com/86bc3942e438f8b78313afa21858daad


How to have rounded (beveled?) edges in inset? As per the attachment, I'd like to have rounded (beveled) edges in the places marked, and then inwardly extrude the face in question (or can extrude first, then round the inset face). Many thanks in advance if someone can tell me how to do this.

I tried using edge loops, scaling the loops out towards the edges of the inset face, and then scaling down the edges with proportional editing, but that didn't work.

You can effectively do it extruding first.

Inset I
Extrude inward E
Select the inner edges
Bevel CtrlB and tune the amount of bevel edges with the mouse wheel or with the numpad + and -

In 2.79 (as you have here)

Or in 2.8 you can also use the new tools (keyboard short cut are still available, though)


Move object towards/away from camera in 2.8? I can't figure out how to make an object move towards or away from the camera view in 2.8. Any help?

Change the Transform Orientation to View

Now you just press G to grab along Z.


Blender debugging step problem I know this question may not be directly related to Blender, but maybe it does! Please correct if I am wrong!

I can build and step debugging on Blender 2.78 prior to Xcode 8.1, but something get broken since Xcode 8.1, my situation is as follows:

build and run blender build from Xcode, following the directions in : https://wiki.blender.org/index.php/Dev:Doc/Building_Blender/Mac
set break point on run_cpu(), and read_node()
run blender build, select cycles render and select render mode
it should stop at both breakpoints prior to Xcode 8.1,
while not stop at read_node() since 8.1

My environment is MacOS Sierra.
For completness, the checkout commit is cf8f6d1 from blender git.

For those who also get stuck here --- after trying a week, I get a way to workaround.

Use the Xcode debug window to set command like 'b func' instead of using the GUI breakpoint (blue arrow) is working.

Obviously it is Xcode to be blamed for.


What is the correct context area for bpy.ops.uv.snap_selected? I'm trying to execute the command bpy.ops.uv.snap_selected(target='PIXELS') in Blender Python, but i keep getting that context is incorrect.
I've run the following Python script in order to find the correct context
import bpy

#all the area types except 'EMPTY' from https://docs.blender.org/api/current/bpy.types.Area.html?highlight=area%20type#bpy.types.Area.type
types = {'VIEW_3D', 'IMAGE_EDITOR','NODE_EDITOR','SEQUENCE_EDITOR','CLIP_EDITOR','DOPESHEET_EDITOR','GRAPH_EDITOR','NLA_EDITOR','TEXT_EDITOR','CONSOLE','INFO','TOPBAR','STATUSBAR','OUTLINER','PROPERTIES','FILE_BROWSER','PREFERENCES'}

#save the current area
area = bpy.context.area.type

#try each type
for type in types:
    #set the context
    bpy.context.area.type = type

    #print out context where operator works
    if bpy.ops.uv.snap_selected.poll():
        print(type)

#leave the context where it was
bpy.context.area.type = area

But I'm getting nothing printed. I've tested this with the operator bpy.ops.uv.pack_islands for example and I'm getting results.
Why I'm getting no valid area type for bpy.ops.uv.snap_selected? Is it a special operator? Can it be run from Python code?

Turns out you have to modify not only the area type but also the ui_type for this to work. For the specific case of bpy.ops.uv.snap_selected operator, the area_type is IMAGE_EDITOR and the ui_type is UV. This piece of code works:
bpy.context.area.type = 'IMAGE_EDITOR'
bpy.context.area.ui_type = 'UV'
bpy.ops.uv.snap_selected(target='PIXELS')


Can you paint parts of an image onto another image? Is there a way to paint parts of a source image onto a canvas image?

It's also important to use scale while painting.  For example, if the source image is a heart, can I paint it on the canvas image in different sizes?  How can I do this?

You need to use the texture painting tools:

Hit Tab to enter edit mode
Hit A to select everything and then UV unwrap you object Usmart UV project
Change your view to the UV image editor
Open your image that you wan't to paint on (You can create a new blank one as well)
Change your view back to 3D
Change into texture painting mode:
In the slots tab, set the painting mode to image, and select your image from the drop down.

Set up your brush
Configuration:

Set the Texture to you're image:

Set the brush mapping to tiled adjust the settings to make it look right.


Delay in showing menus, tooltips, 3D cursor: Actually, delay in showing everything So, where do I start.  When I click on a menu, what I expect to happen is to see the menu expand so I can see all the options.  You know, like every other program out there?  Instead, nothing happens - until I move the mouse over the area where the menu was supposed to be, and then the menu appears the way it's supposed to.

Tool tips have the same issue.  When I hover over a button or something, nothing happens.  Unless I move the mouse and it happens to move to the same spot that the tooltip was supposed to appear in.  Then I see the tooltip appear (usually very briefly).

One more example: I'll left-click to reposition the 3D cursor.  Nothing will happen.  If I sit there and wait, the 3D cursor will appear to remain exactly where it was before I moved it.  Unless I, for example, rotate the viewport or do some other action, and then the 3D cursor will magically appear in the new location (where I left-clicked earlier).

I'm using Windows 7, and this has happened to me in both 2.76b and in 2.77.  I tried both the 64-bit version and the 32-bit version.  I don't have a clue what's happening.

Anyone?  I'm just starting to get into Blender, and this is an increasingly major obstacle as I'm trying to learn some of the basics.

This sounds like a graphical issue, either from your GPU or graphics drivers; for this sort of problem you should always post what your graphics card is so it helps solving your problem.

You mention having no dedicated graphics processing unit, only an Intel integrated one, which are largely regarded as low end and known to often cause problems with blender, so that is most likely the origin of your problem.

Not exactly sure how to solve your graphical glitch, try upgrading your drivers to the latest version.

After that you could open blender, go to the User Preferences > System Tab > Window Drawing Method and play around with the options in the dropdown menu, see if any other besides the default one work better for your particular machine. Make sure you save settings and restart Blender in between changes.

Also try turning off any multi sample if it s turned on, in the menu right after the previous one.


How to follow a path by curve points rather than length? I am trying to visualise some physics simulations in Blender. The simulation result is a path that an object travels over time. I am importing the collection of points as a curve into Blender using a python script. I then use a "follow path" constraint on the object and set the curve as the target.

So far so good. However, the motion of the object is not as I expected. Blender seems to interpolate the motion along the distance of the path. The spatial co-ordinates are correct, but the time doesn't match.

For example, assume that the points are (in 2D for simplicity):

(0,0)  (1,1)  (4,4)

And I want to run the animation for 20 frames. I expect the object to be at (1,1) on frame #10.

However, what Blender does is, it takes the length of the total path and then interpolates. Since the last point (4,4) is much farther away, on frame #10 the object is not at (1,1) but somewhere between (1,1) and (4,4).

My workaround was to write a script instead of using the "follow path" constraint. The script inserts keyframes at each position in the simulation at the corresponding frame numbers. In the example above, key frames will be inserted at frames 0, 10 and 20.

The script is hacky and slow. My question is, can this be done in a better way?  I suspect this will be very useful to many people who try to visualise data.

Manual solution

You could achieve this manually.  Start by giving the object a Follow Path constraint and setting the target to be your curve.

In this example, we have 3 control points (of a Bezier curve) and 20 frames.

Go to frame 1, and keyframe Evaluation Time to 0.  Also make sure to set Frames to 20. (these settings are found in the Object Data tab of the curve).

Now, go to frame 10 and slide the Evaluation Time until it appears that the object is at the same location as your second control point and keyframe it.  (being in Edit Mode allows you to see the control points)

Finally, repeat the above process to ensure that object will be at the third control point at frame 20.

Python Solution

If you have too many control points to go through by hand, then scripting this would be possible too.

The script could start off by calculating the lengths of each segment of curve.  You'd have to numerically integrate the formula for the cubic Bezier curve (numerical integration because it can't be solved analytically).  If you could successfully install SciPy into Blender, you could use their integration functions, otherwise you could write your own script using Gaussian quadrature or any other numerical integration algorithm).

Once you have the lengths, the user could input a list whose n-th entry specifies at what frame the object should reach the n-th control point.  Set the Frames property of Path Animation to the last frame in the list.  For each entry in list, set the Evaluation Time to be the sum of lengths of segments up to that control point divded by the total length multiplied by the last frame.


Keep rig feet flat on the ground (IK Rig) So I have an IK rig setup; however, when I move the pelvis down to make the character squat the feet fall through the ground. e.g.

How can I set it up so that when I move the pelvis down the feet stay flat and do not rotate beneath the surface of the ground?

One simple solution is to select the foot bones and uncheck the "Inherit Rotation" option.

Another interesting foot behaviour can be achieved parenting the Foot bone to the LegIK bone instead of Shin (and leaving the "Inherit Rotation" Checked).

Anyway the foot rigging is one of the most complex situation in human rigging; so, to improve your leg, you can type "How to rig a leg" on Google and find tutorials like this https://www.youtube.com/watch?v=0U3NjTvwdWI.


Combine several textures into one This might have been answered before, but my problem is a little bit more complicated. I'm porting some WW2 warship models and they have lots of different small models like cranes, anchors, lifeboats and whatnot. Each one of those models has its own material, making it absurdly complicated to export them all as textures one by one.

This is the problem I'm currently facing, as you can see on the right there are dozens of individual materials, and my goal is to join them all into a single one if possible so I don't have to export them one by one:

I think that if you want to keep the quality of the textures maybe you need to make 4 or 5 materials, or a very large texture for all. For one material you need to join a couple of meshes, make a "Lightmap Pack" unwrap and then a bake of the textures, that way you'll have a single texture for all the meshes you have joined


Blender - Flamenco local server setup I am in a process of installing a local Blender Flamenco server on Debian Stretch. So I first downloaded all the source files for key components:

Flamenco: https://developer.blender.org/diffusion/F/repository/master/
Pillar: https://developer.blender.org/source/pillar/repository/master/
Pillar Python SDK: https://developer.blender.org/source/pillar-python-sdk/

I did this using GIT which I first installed using sudo apt install git and then:

git clone git://git.blender.org/flamenco.git
git clone git://git.blender.org/pillar.git
git clone git://git.blender.org/pillar-python-sdk.git

Then I opened the top directory of the Flamenco using cd flamenco and I opened the README.md file which states that in order to install Flamenco you have to pass these five steps:

  Install requirements with pip install -r requirements-dev.txt
  Install Flamenco Server locally with pip install -e .
  Add Flamenco as Pillar extension to our project
  Give a user 'subscriber' or 'demo' role to obtain flamenco-use capability, or set up your own mapping from role to flamenco-use and flamenco-view capabilities
  Run ./gulp

So I first executed pip install -r requirements-dev.txt which failed when trying to install mypy component. It failed because pip uses python2 which is softlinked to python2.7 on Debian Stretch, but mypy needs python3 which is softlinked to python 3.5 on Debian Stretch. So I had to execute this using pip3 instead of pip:

pip3 install -r requirements-dev.txt

This resulted in an error:

current_app: 'PillarServer' = LocalProxy(_get_current_app)
           ^
SyntaxError: invalid syntax

I solved this error with a help of experts on Stack overflow (topic) where they told me that syntax used is actually Python 3.6, so I installed Python 3.6 from GIT Hub (here) using commands:

wget https://github.com/chriskuehl/python3.6-debian-stretch/releases/download/v3.6.3-1-deb9u1/{python3.6_3.6.3-1.deb9u1_amd64,python3.6-minimal_3.6.3-1.deb9u1_amd64,python3.6-dev_3.6.3-1.deb9u1_amd64,libpython3.6_3.6.3-1.deb9u1_amd64,libpython3.6-minimal_3.6.3-1.deb9u1_amd64,libpython3.6-stdlib_3.6.3-1.deb9u1_amd64,libpython3.6-dev_3.6.3-1.deb9u1_amd64}.deb
sudo dpkg -i *.deb

In order for this to work I had to delete the softlink /usr/bin/python3 which was pointing to python 3.5 and create a new softlink /usr/bin/python3 pointing to Python 3.6:

sudo rm /usr/bin/python3
sudo ln -s /usr/bin/python3.6 /usr/bin/python3

And then I again used command pip3 install -r requirements-dev.txt which worked. The installation of dependancies succeeded so first point of the procedure was done. Next point was to execute pip install -e . (still inside flamenco directory) but I rather used:

pip3 install -e .

And this worked as well. But now I am stuck! Third point is totally indescriptive. So how in the whole universe I should know what these next steps mean:

  Add Flamenco as Pillar extension to our project
  Give a user 'subscriber' or 'demo' role to obtain flamenco-use capability, or set up your own  mapping from role to flamenco-use and flamenco-view capabilities
  Run ./gulp

Well gulp is inside flamenco directory but I can't figure out the two steps preceeding it. Any help from Blender community would be welcome.

Oh man, I've been through this pain myself in the last week. I was able to get Flamenco up and running but I'm afraid I have zero help when it comes to the issues you're having with permissions.

The first thing is - everything is Python 3. Everything. I configured mine on CentOS 7. This script gets me pretty close to having everything working:

The basic gist is:

Install a LOT of pre-requisites, a lot of which you won't find out until you actually go to compile something. In the case of CentOS/RedHat:

git2u unzip gcc npm openssl openssl-devel libffi-devel python36u python36u-pip python36u-devel libffi-devel python-pip

Install docker and run docker images for Mongo, RabbitMQ and Redis
Check out ALL the components (pillar sdk, piller, blender-cloud, flamenco, a bunch of other things)
From within the blender-cloud repo:

Create a virtualenv for Python that points to a Python 3 runtime
Run the pip install
Run ./gulp (you need to have NPM installed, which is one of the prerequisites)

The documentation on https://pillarframework.org/development/install/ is out of date. You do not need to do the steps for urler

My CentOS script for doing this is below (do not invoke the script as sudo, it will elevate itself when required):

sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm
sudo yum install -y epel-release
sudo yum install -y open-vm-tools yum-utils net-tools nano git2u unzip gcc npm screen openssl openssl-devel libffi-devel python36u python36u-pip python36u-devel libffi-devel python-pip

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce

sudo systemctl enable docker
sudo systemctl start docker

sudo systemctl stop firewalld
sudo systemctl disable firewalld

sudo docker run -d -v /data/db:/data/db -p 27017:27017 --name mongo mongo
sudo docker run -d -p 6379:6379 --name redis redis
sudo docker run -d -p 5672:5672 --name rabbit rabbitmq

sudo mkdir /data/storage
sudo chown -R markness:markness /data

mkdir ~/data
cd ~/data

git clone http://git.blender.org/pillar-python-sdk.git
git clone http://git.blender.org/pillar.git
git clone http://git.blender.org/attract.git
git clone http://git.blender.org/flamenco.git
git clone http://git.blender.org/pillar-svnman.git
git clone http://git.blender.org/blender-cloud.git

sudo pip install --upgrade pip
sudo pip install virtualenvwrapper

sudo pip3.6 install --upgrade pip

echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.bashrc
echo "export PROJECT_HOME=$HOME/Devel" >> ~/.bashrc
echo "source /usr/bin/virtualenvwrapper.sh" >> ~/.bashrc

source ~/.bashrc

cd ~/data/blender-cloud
mkvirtualenv blender-cloud -p python3.6

pip install -r requirements-dev.txt
./gulp all

It probably won't get you completely on track, but I hope it helps.


Object with custom opacity gradient I would like to create an object with a custom gradient in opacity.

I start with a curve (or more generally, a function of all three coordinates) that contains opacity values for the object I want to display. So for e.g. a cube extending from 0 to 1 in all three dimensions, that function would spit out the opacity value I want for each point in the cube. That way, I can model a cube with exponentially falling opacity or even an opacity that falls and rises  again when going away from the center.

Does anyone have an idea how to achieve this?
Thank you!

I expect you want more than this.. but it's a start ..

In principle, you can just make the color or density of a volume absorption shader a function of your chosen texture space. Here, Object Space is used. Its origin is at the object's origin, and is measured in Blender units along the object's local axes. So this default cube has 0 a its center and runs from -1 to 1 in all directions.

The function here is e^ -(x^2 + y^2 + z^2)..

Instead of mapping to a gradient, you could put in a threshold, map to Alpha instead.. all sorts, it depends exactly what you want..


Jagged/Black edge artifacts when modeling I don´t know if this is a bug only to me or a common problem, for I don´t know why it occurs.

I had a problem once before where some edges of my model got jagged with black holes when switching to rendered mode (or actual rendering). Answers I got said that I modeled in too much detail or too small, and used the combination Subdiv Modifier/Auto Smooth/sharp edges wrong.

Now I have a way more problematic thing. I have a really simple scene, but most of the edges have this annoying jagged problem. I build this model in a higher scale (since the last one was too small).

I used the Subdiv Modifier/Auto Smooth/sharp edges again, but if I toggle on/off the Subdiv Modifier/Auto Smooth/sharp edges/seams, shade smooth/flat, won´t help at all. These artifacts just keep showing.

Does anyone know why this occurs?

Shaded Flat and zoomed in for a better look on the artifact.

My hardware specs are

GPU: Asus M5A78L-M LX3
GPU: NVidia GTX 750 StormX OC
CPU: AMD FX6300 @ 3,5 GHz
8 GB RAM
Windows 7 Professional 64-bit

Reduce your Clipping Distance for both the viewport and/or camera.

You have it set to $0.1$ - $10`000$ while you work at around a scale of $1$.

If you reduce the Clipping Distance to something reasonable like $100$, the artifacts disappear.

Clipping distances are used to calculate the Z depth buffer, which is the scene depth information, since it is limited to the available grey scale values of an image stretch across the whole depth of what is displayed, if the values are too far apart there is not enough precision left to represent minute details.

Always keep these values as close as possible to comfortably work, and with a magnitude matching your scene unit scales.


Texturing problem looks like broken image i am having a problem right now, i add some image for floor but when i was trying to rendering, i am taking this view. How can i fix this ?

You seem to have two identical shapes and polygons in exactly the same places. One set of polygons has the texture and the other doesn't. Double-check this by right-click selecting anything in that space. Then press M and 2 moving whatever was selected to Layer 2. Whatever geometry stays behind will tell you which object, textured or not, you selected.

X Delete what's not needed. If what you needed was moved to the second Layer, press 2 along the number row (not numpad) and Right-Click select it and press M and 1 to move it to the first layer.

Blender Render and Cycles do not play well with sheets of polygons in identical locations.


How to importing all active hosting servers as server list into blender game engine? Hello I have a simple favor to ask that how can I import all active hosting servers IP address and Port address as a server list into blender game engine like multiplayer fps games like Call of Duty, Halo, Battlefield etc. There is no haste I can wait about till a month or more.
Please It will be a great favor for me for my small game project that I am currently working on. Thank you.

To name a few, there are numerous, Python network modules out there, for example socket, pickle (and cPickle).


How to make bones follow each other instead of individually? Now i know this may sound weird but I am wondering if there is a way to make bones follow each other once subdivided. E.g. the last bone to bend with the others before it. The reasom behind this is im wanting to do a creature that has tentacles coming out of a mouth that is a hole (sort of like how HL:2 has those barnacles on the cieling - only thing i can compare to). I want these tentacles to be sparatic and flailing in the air much like how some flood forms are seen in Halo Wars 2.

Or if there is another way or tutorials out there you guys can help me with. I have used 3DS And maya and they have different IK solvers for this like when moving the hand of a character the arm will follow etc.

Thanks guys, im really wanting to learn how these AAA studios did these advanced models.

I agree with Frederik's comment on your original post, using either the spline IK or bendy bones would be how I would approach the problem if you wanted to have animation control over the tentacles. For the flailing, you could parent the IK targets to empties that are randomly animated using noise/sinusoidal modifier on the animation curves or the "wiggle" feature in animation nodes.

Another way to approach it if you don't care about being able to pose the tentacles could be to use cloth physics for each arm as is done for a rope in this post: How To Simulate a Rope. You could use hooks as is done in the tutorial, or alternatively use a wind and turbulence force field on the "ropes" to get them to wiggle randomly. In the example below, i used the skin modifier on the cloth "string" to give the tentacles some mass and a subsurf modifier, then duplicated the objects around the hole. The wind and turbulence fields give them the "wiggle".

Of course this is just one suggestion. You could combine methods and have one or two you animate and the others random. Hope this is helpful?


Knife project on subsurf-object leaves artifacts I have a plane with subsurf modifier, And a circle to cut(knife project) with. The hole is cut, but it leaves mesh(artifacts) inside of it.

Creasing (Ctrl E) works on the outer edges only, leaving the artifacts.

Why is this happening?

The knife tool is creating ngons, which are faces with more than 4 vertices.
Ngons and tris do not work very well with the subdivision surface modifier. See When should N-Gons be used, and when shouldn't they?
When working with subserf, you pretty much always want to use quads (faces with four vertices) exclusively.
Instead of knife project, you could make a rough circle shape out of quads and then use the subserf to round it out:

What I did in the gif:

Inset the plane (I).

Then in edge select mode (⎈ Ctrl↹ Tab), ⎈ Ctrl⎇ Alt⇧ Shift RMB on the edge ring created by the inset to deselect it.

Subdivide (W).

Switch to vertex select mode (⎈ Ctrl↹ Tab) and delete the center vertex.

Make the inner loop circular with the To sphere operator (⎇ Alt⇧ ShiftS), or the circle operator of the bundled loop tools addon.

Extrude the shape to make it 3D (if you want), and add a constraining loop cut to make the subserf stay closer to the shape of the base geometry (⎈ CtrlR+E to make the new cut aligned to the existing edge loops, and F to pick between the edge loops you want to align to).

Make the outer edges of the cube/plane sharp with edge crease (⇧ ShiftE).


Picture projection on smoke simulation? It's been a little while i'm using Blender now, but I never did try to simulate smoke yet.

I have to work on titles for a little movie and I was wondering if it was possible to make a picture projection on a smoke simulation (using Cycles) and if you had some directions to handle this?

Thanks!

You can use a spot light and add an image as texture to it.


Adjust physical bounce of the emitter particles I have set collisions for the object, but when the particles collide and bounce back, they look very rigid: how can I make it look more natural (like sparks)?

Image (click for higher resolution)
Video (link to Youtube)

With Rotation checked, set Randomize to 0, and turn off all velocity in the Velocity segment, like this:

Now your particles should spawn based on the initial rotation of your blueprint object, and only rotate once they bounce off of something.


Can't use Gizmo's in any view but camera view This seems to be a new bug with Blender 2.79. I've personally never had it happen before and now it's happened twice in a very short period of time.

For no apparent reason, my gizmos (translate, rotate, scale) will stop being selectable in any view but camera view.

Going into the camera view by pressing Numpad 0 will allow me to use the gizmo's but as soon as I exit camera view, I can no longer use them.

This has happened with two files so far and to continue using gizmo's I've had to append the objects in that file over to a new file. I've tried numerous things to try to restore the gizmos but have had no success.

Have I managed to accidently press some key which is stopping me from using gizmos or is this a bug?

It just happened to me (not first time) and I've found the issue.

I don't know why, but you only have to uncheck Lock to Cursor on 3D View's Properties Tab. You may accidentally checked it.


switching timeline frames in logic editor (help) http://www.pasteall.org/blend/33571

I have setup 3 cubes and a camera ,the camera has 3 set frames on the timeline that move to each of the 3 cubes.

what i want is to be able to use the scroll wheel of the mouse in BGE and toggle between thoughs 3 frames.

how can this be done?

Use a mouse sensor to run an action. In the action actuator you can specify the start and end frame to play. You will need a property to track where you are and run a different part of the action for each value.

Personally I wouldn't use the action keyframes, I would use a simple motion for the camera.

When a mouse wheel up event happens and the location property is less than 4, the camera is moved 10 units on X and adds 1 to the location property. Simply repeat for the opposite direction.


Render missing part of the object I'm rendering a cartoon figure, it's working fine in Render preview, but missing the feet in final render. This always happen when the cartoon is far from the camera. I have set the camera Clip End to 2000 but still the same. Could anyone help to identify the problem? Thanks a lot!

The Render preview:

The final render:

You have most likely made the object, that are your feet, not visible in the render. See if your little icon looks like this when you select the affected object. If it is, then press that icon and it should make the object visible again.


I want to mix Cycles shaders based on self shadow I have a sphere (world) that I want to reveal the night lights on. I can use a normal node and manually rotate the DOT product, then I use this as a factor mix between Day time shader and Night time shader.

But I want an interactive version so I only have to move the light in 3D view.

I guessed that maybe I could take the Lamp's position as a driver value and modify the position normal of my sphere. See screeny:

But I can't figure the math to take all angles into account.

Turns out this is pretty easy to do. "Easy" as in "you're deprived of doing all the fun math manually" ;)

Add three Value nodes (or a single Combine XYZ node) into which drivers can be added. I prefer the three value node approach in case you want to access individual axes later on.
Add drivers to each of the value nodes by right clicking on each and selecting Add Driver.
In the Graph Editor and switch to Drivers mode in the header (1).

Ensure that both the object using the material and the value nodes are selected, then repeat the following until all the drivers are set up:

Select the next driver in the driver list on the left of the graph editor
Select the driver target, in this case the point lamp (you can press E while hovering over this field, then click on the lamp in the 3D view for a speedier selection workflow)
Set the transform type to X, Y, or Z Location, making sure to pick the right one for each driver
Set the driver type to Sum Values. We don't need any fancy scripted python stuff, and avoiding the Scripted Expression setting will prevent the drivers from being disabled for security reasons.

If you put the drivers on value nodes, connect them to a Combine XYZ node.
Add a Vector Math node set to Normalize and connect the Combine XYZ node. This will ensure the values from the driver are scaled down to the 0..1 range.
Note that only the first input of the normalize node is used, so I've hidden the extraneous sockets with ⎈ CtrlH.
Take the Dot Product of the normalized location and the object's normals (obtained from either a Texture Coordinate or Geometry node) via another Vector Math node.
Adjust the scalar result of the dot product to suit our needs better with some math nodes and a colorramp:

The resulting gradient should update in real time:


Can a material be reflective, but not reflect a light source? I want to have a reflective floor, but have it not reflect rays coming from a light. Using Blender 2.90, Cycles. I want the light to create glossy reflections on the other objects in the scene, so I don't want the usual solution of Light > Visibility > Ray Visibility > Glossy off.
Is there any way to get the effect I'm after? Maybe by using the Light Path node somehow?

It seems that this is ultimately the problem of inhibiting the creation of shadow rays from camera rays incident on the floor. Therefore, we can detect them by looking for rays with a 'Ray Depth' equal to 1. Since we only care about rays coming from the floor, we can use a separate object positioned above it to act as a filter.
Ideally, this would be it: use a mix shader to permit everything but shadow rays with depth equal to 1 from passing through. Unfortunately, it seems that the glossy shader labels some of its shadow rays as glossy, so until this is fixed you have to work around it by selectively making parts of the floor purely diffusive.
Using the naive solution:

Workaround:

Example using a somewhat smooth, metallic 'Principled BSDF' in place of 'Glossy BSDF'.


Custom pie menu not working with keyboard shortcut anymore I was making a custom pie menu and all was well, I had set it up to activate when 'E' was pressed. Suddenly blender crashed, and I reopened it, and then the whole thing didn't work anymore. I tried coping and pasting working versions of the code (from other questions on here) and they no longer worked. I tried removing the keyboard shortcut manually, and found there were like 8 of the exact same one there so I removed all but one, still nothing, I then removed that last one and run the script, it made a new one but still didn't work. I then removed that one and made a new shortcut manually, still nothing. For a while though it did work in the properties panel and outliner, but not the 3D View, but now it doesn't work in any of those. I also tried putting back the line of code that activated the pie menu as the script is run and that works, but the items I had in the pie menu before this happened are no longer there. And there are also no errors in the console or info panel either...I'm really not sure what happened, could someone take a look at my code and see if there's something wrong with that or if theres anything else I've missed...Thanks, Matthew

*Update*

I've now got it going again in the 3D Viewport, but my items are all still missing...

Here is my code:

import bpy
from bpy.types import Menu

from bpy.props import BoolProperty

class VIEW3D_PIE_template(Menu):
    # label is displayed at the center of the pie menu.
    bl_label = "Macbook_Controller"
    bl_idname = "object_mode.mc_pie_menu"

    def draw(self, context):
        layout = self.layout
        # get the camera, use a poll method to check no cam
        scene = context.scene
        camera = scene.camera.data
        pie = layout.menu_pie()

        pie.prop(camera, "iSight_Camera_Indicator", text="iSight Camera Indicator")
        pie.prop(camera, "dirt_dust", text="Dirt and Dust")
        pie.prop(camera, "menubar_dock", text="Menubar and Dock")

def register():

    #iSight Camera Indicator
    bpy.types.Object.iSight_Camera_Indicator = BoolProperty(
        name = "iSight Camera Indicator Toggle",
        description = "Toggles the iSight Camera Indicator ON and OFF",
        default = False
    )

    #Dirt and Dust
    bpy.types.Object.dirt_dust = BoolProperty(
        name = "Dirt and Dust Toggle",
        description = "Toggles the dirt and dust ON and OFF",
        default = False
    )

    #Menubar and Dock
    bpy.types.Object.menubar_dock = BoolProperty(
        name = "Menubar and Dock Toggle",
        description = "Toggles the menubar and dock ON and OFF",
        default = False
    )

    bpy.utils.register_class(VIEW3D_PIE_template)

    wm = bpy.context.window_manager
    km = wm.keyconfigs.addon.keymaps.new(name = "Window",space_type='EMPTY', region_type='WINDOW')
    kmi = km.keymap_items.new("wm.call_menu_pie", type = "E", value = "PRESS")
    kmi.properties.name = "object_mode.mc_pie_menu"

def unregister():
    bpy.utils.unregister_class(VIEW3D_PIE_template)

if __name__ == "__main__":
    register()

    #bpy.ops.wm.call_menu_pie(name="object_mode.mc_pie_menu")

In your register function you are adding properties to bpy.types.Object but in the menu you are displaying properties of a camera, which doesn't have the properties you registered.

You need to adjust your register function to add the properties to bpy.types.Camera


Shadesmooth visible in solid view but not in rendered view I made a beveled corner and applied 'Shade Smooth' in EditMode.
It works in solid view, but not in rendered view.
Did I do something wrong? :)

Rendered:

Technical Details

The problem is not with the normals nor with the smooth shading. It is the result of the algorithm in the ray tracing engine used to determine lighting. Set the size of the sun to zero, and you will see one sharp line between the lit and dark area. Basically, the calculated normals would suggest that the surfaces should be lit, however geometrically the surface is facing away from the light, so the lighting will not be caluclated.

Possible Solution

Generally such biases are always present for smooth shaded meshes, simply because the surface is only approximated with polygons. The better the approximation, the less these glitches appear.

In you case, the problem is, that there are 90 degrees sharp edges shaded smooth. Those are not really realistic either. You could make them sharp either via Properties Panel / Mesh / Normals / Auto Smooth or by adding an Edge Split modifer.

Here is the issue isolated and the Edge Split added:


fur in falling softbody simulation not coming with the object I am making a simple softbody simulation in which the object has fur. but when i play the animation the fur of the object stays in the same place while the object falls:
this is my first time using the fur effect do please tell how to solve this
Here is my blend file:

Change the order of your modifiers.
First soft body.
like this:

UPDATE: answer to your 2nd question:
yes you can, check hair dynamics


How to create a kinetic depth effect illusion? I am trying to create a 3D object with a texture of white dots on a black field (like stars). I also want the background to have the same texture such that, when static, the object appears invisible (the kinetic depth effect). How would you recommedn doing that?

At its simplest, something like this?

Create an environment-sphere, and put the camera and target object inside it.

Give the sphere your desired star-field texture in its object space, something like this:

Give the target a copy of the material: you will change its texture-scale manually to match the background as closely as possible.
Give the camera a reasonably long focal length. (Here, 100mm.) The more closely the camera approaches orthographic, and the more distant the target from the camera, the less apparent variation in texture-scale there will be between the near and far points of the target, but you sacrifice some perspectival visual cues.

For this sort of result:

I guess you could automate the scale of the texture according to the distance of the shading-point from the camera, but I'm not sure the resultant 'swimming' of the object through the texture would help.. I haven't tried it.


How to fix overlapping materials? I was following along with Blender Guru's tutorial on this Chair here, and I got to the point where he begins the UV unwrapping section. I was doing fine until I noticed that once I applied the material, the back of the chair leg now has this overlapping of the material. I heard it is called Z-fighting. I moved the vertices over each other, and away from each other, but no luck. Merging doesn't do anything. When I alt-click, both vertices are selected.

The line goes across the whole leg here.

I have tried moving the seams, adding more, removing some, but the problem persists. Also tried to merge by distance, which does work, but not entirely. Some parts of the leg do no overlap, but the rest of the mesh, such as the bottom half of the leg, still has the problem, except this time it is warped.

Here is where it overlaps.

There is this thing over here as well.

I've looked online, and didn't find much of what I was looking for. There were either different solutions for different shapes, or none at all. I was really invested in the tutorials and had fun moving along, but this wall is starting to bug me, and I would like to figure this out
EDIT: Here is the file: http://www.mediafire.com/file/6ulfx6lrcwbisaa/chaircopy.blend/file

Thank you

You have non-connected edges and faces overlapping, I guess your problem comes from that, you need to correct this: Delete the faces loop, use the Bridge tool to reconnect the edges, mark seam again and unwrap.


Random Image Sequence Start Frame I'm making a movie that has a scene that kind of imitates the speech scene in Star Wars 7. https://youtu.be/MPhHl2DpD4E?t=1m1s

Note how the storm troopers all perform similar motions but they are all slightly different? I realize that these storm troopers were probably 3D models, but in my scene, they will be a person in front of a green screen (thus alphamasked image sequences in a large array of planes). As I can't see a way for the random output from the object info node to plug into the image sequence offset, how can I randomly drive this parameter per each plane?

This is a round about way to do it, and will not perfectly randomize the textures, but I used this technique to randomize a drawn animation of grass for a project last year.


Elegant way to adjust this angle (which has another object which must stay parallel to it) Hi,
So I decided i want a steeper angle on this hollow wedge.
I want to move the green vertices to where the red marks are.
but the object marked purple is embedded in the face, and if I just move the green vertices, it will deform and look awful and wreck my nice flat face.
purple object also protrudes through the face to the other side.
Anyway, how would -you- sort this out?

heres a wireframe view, i've attempted to rotate the lot, but the bottom vertices need to be extended to EXACLY in the right place, but i dunno how to ensure that precision

see my response to Nascent space above,
the missing link was to then change 'transform orientation' to normal, which allows me to scale the face along its face.
BUT not as elegant as hoped, because i ended up having to carefully line up the bottom vertices with the face of that bottom plate. error there doesn't bother me as much, but its not perfect, so still interested in ideas


Volumetric Lighting not showing very well I'm making an old dusty attic render and I've come across a bit of a problem. (Or several)
I'm using 300 samples and the Denoiser, and as you can see in the following picture the rays are not showing very well in the render but they are in the preview, this I could live with, but would still like help and tips on why it is doing that.. What is more, I have a sun lamp on the right side of the model and the rays are coming out on the left side where there is less if any light. My sun lamp is a 5 in emission value and the size is 1, and the light bounces are 1024. What is going on!?

In order to have volumetrics work with a sun lamp you need to create a box around the scene and have it use volume scatter.

Volumetric lighting will not work with a sun lamp and volume scatter used in the world settings (read: Volume Scatter in World makes the sky turn black).

If you are using a window, then the default glass material will not allow for direct light to go thorough. You need to modify the glass material with a node setup like this:

(read: How can I make a more realistic glass shader? and How to illuminate the darkness inside glass objects in Cycles?)


Why can I not put an edge loop around this model? I am unable to add an edge loop around the outer edge of this model (around the rim), and it is driving me crazy trying to work out why.

All faces in the model are quads (verified with Select Faces By Sides);
I have removed all doubles;
The relevant faces seem to be connected (verified by dragging them about).

Despite the above, you can see that any edge loop will only go through 6 faces and stop.

I made the object using mirror and array modifiers. I expect this is reason, but I cannot explain the persistent effect now that the modifiers have been applied.

I'm sure this is embarrassingly obvious, but I am clueless.

I don't know why it happens but I know how to resolve:
Every part of the mesh where there are 2 faces loops between two spokes, delete the 4 vertices inbetween (they also are not selectable as edge loop), then recreate them, extruding or bridging edge loops and then loop cutting and grabbing in the right position.

Edit: deleting and recreating just one vertex is enough.


Is there a way to use Sverchok's ScriptNode without defining in_sockets? Is there a way to use Sverchok's ScriptNode without defining in_sockets? So, writing a script using constants and creating out_sockets solely?

No, and this is by design.

"ScriptNode" is the oldest of the available script nodes, the most recent iteration of the scriptnode is ScriptNode Lite (SNLite). Let me suggest using that instead because it exposes quite a bit more back-end functionality.

Find SNLite's development thread / docs / examples: here

One way around this, is a dummy socket.

"""
in dummy v
out verts v
"""

verts.append([])
verts[0].extend([[0,0,0], [1,0,0], [2,0,0]])

If you really don't want to see the socket, then you might do

"""
in dummy v
out verts v
"""

self.inputs[0].hide_safe = True

verts.append([])
verts[0].extend([[0,0,0], [1,0,0], [2,0,0]])

In the above example, the self represents the class instance of that node.


how can i convert a vertex of a plane into bezier with handle? i want to make a plane with rounded edge. Can i change the vertex into bezier with handle?

No, not the way you describe. You can convert a mesh to a collection of Straight splines using Alt+C in object mode, but the resulting Curve object doesn't have handles you can drag away from the Knot. (more about this later)

A simple mesh based solution is to use ctrl+shift+B with the vertex selected and drag out to generate the Bevel, or Fillet (to fillet use mouse wheel to set to number of cuts)

Regarding Spline / Bezier based 2d surfaces i recommend the answers to this question: Make a quarter curve with curves

You can convert the plane to a Curve object (using Alt+C as mentioned earlier, but this creates a Curve of type 'Poly', which means it doesn't have handles, only points. The curve object can be recast as a bezier type (but not easily from the UI, at least I'm not privy to any method). You can use the built in python console to convert the curve from 'POLY' to 'BEZIER' and it will create the handles in the right places too. Also remember to set the Curve type to 2D (from 3D) else you won't see the surfaces

>>> # after you've converted the plane to a Curve object using Alt+C
>>> obj = bpy.data.objects['Plane']
>>> obj.data.splines[0].type
... 'POLY'
>>> obj.data.splines[0].type = 'BEZIER'   # this sets it


Access body of Message actuactor through logic bricks Is there any way to get to the body of a message using just logic bricks?
It is possible to set the body using the Message actuator; yet I see no way to access the body when using the Message sensor.

I know you can get to it using python, and it is quite useful, but is there any way to get that same data using the logic bricks?

No, there is no way.

The reason is simple: what should happen when there are two or more messages?

There are way too much options to process a body (and several bodies). The information you could get is if an message with a certain content was received. The filter by subject already does that.

I agree the API looks inconsistent, as you can set a body without any use (without using Python). I see it as simplification, when you have a lot of simple message senders, but just a few  (more complex) listeners. I usually use the body when I have more information than the pure existence of a message (subject) can express.


How to apply a material (e.g. dirt) over an object that already has multiple materials? I have a fairly complex object which has multiple materials in different faces. I would like to cover the whole thing in dirt (for example noise texture).

I know I can use multiple UV's (this technique http://www.andreucabre.com/2012/02/multiple-uvs-and-decals-in-cycles.html) but that would require to re-create the existing thing in a different manner (using UV's and nodes instead of multiple materials)

Is there a way to cover the whole thing with a semi-transparent texture?

I'm using cycles.

One way would be to add a node group right at the end of all your materials:

This way you would only need to setup/change the dirt shader stuff once, and it'll be used by all your materials the same way.

The nodes inside the group might be something like this (though it really depends on what you're doing):

More info about node groups:

User Manual
Blender Cookie tutorial


How to fix ugly bevel in inner corner? so I feel a bit sorry about asking the probably 1000th question about the bevel modifier. Long story short, I'm having some issues with an ugly bevel in my model and I don't quite understand what's causing it:

Now, it seems to me that there might be a relation to that additional edge that I have in the green box and which I don't have in the red box. However, when manually inserting an edge on the left side like I have on the right side, it doesn't change anything (selecting both vertices, then 'F').
Also, from what I know there are no inner faces in my model.

I've checked through other bevel related questions. The closest one I could find was this one:
How to fix Beveled intersections/corners/inner edges?

Still, is there any difference for me using the bevel modifier instead of the one that works on the mesh directly? Also, I'm not quite sure what a good topology is supposed to look like.

Any ideas?

Your edge theory is right. The face the corner is in is something called an N-gon. It is usually discouraged due to several problems with its internal handling.

When you create that edge using F, the created edge does not separate the face, so the N-gon stays. In order to actually cut the face, use the Knife Tool K in Edit Mode. Select one of the vertices. You will see there is now a square and a purple line. Now click on the other vertex and hit Enter. Now, the N-gon is separated.

The N-gon gets split into more N-gons, so you might want to use the Knife Tool more to separate it into quads and triangles (which is good topology).

Your corner is now fixed.

Documentation on Knife Tool: https://docs.blender.org/manual/en/latest/modeling/meshes/editing/subdividing/knife.html


I have a folder of X number of textures, I wish to render the same image X number of times, once for each texture I have a model with the material set up, but I wish to change an image texture on this model for each frame. In the past I have set up an image texture node and mix shader for each texture but this is time consuming.

I wish to automate the process a little and have it so that blender sets the number of frames to be rendered to the number of textures / image files in any chosen folder and for it to load each texture for each frame.

I believe this should be doable in python but I am rather new to scripting in python. Is anyone able to point me in the right direction for this?

Use an image sequence as input for your Image Texture node then render an animation.

When clicking the folder button in the Image Texture node to browse for files make sure you tick the option Detect Sequences to the bottom left of the File Browser.

Pick all images in the folder and set them up as an animated texture sequence, adjust the sequence speed so it matches on picture per scene frame.

You will have to make sure your image files have consistent naming and identical file format, so Blender can detect them as a sequence. That means a base name similar across all files, plus a numbering scheme. Say something along the lines of Base_File_####.extension.


Why does one of my objects disappear when I render? I'm new to Blender and I finished one scene. Everything is good when I look at the scene in the object mode or rendered preview, but when I actually render the scene, my doughnuts disappear and the icing starts looking very sharp and edgy. Please, look at the attached images.
Could someone tell me what I'm doing wrong?

My assumption is that it is hidden from the render. Go to the outliner and make sure that both the eye and camera aren't grayed out.

Otherwise make sure that all of the following optios are checked (make sure object is selected).

Edit

Icing:

In the modifier tab make sure render of the subdivision-surface is same as view.:


Trim Sheets are they possible in blender? Can trim sheets be made in blender?. And if so does anyone know of a tutorial on them, the ones i have come across all seem to be for 3DS Max.

Yes, there is nothing limiting to a particular modelling program with that workflow. Sure, there are differences how you would do different things but if you have good knowledge in Blender these steps could easily be transferred.


How to set up keyboard shortcut for bounding box viewport shading? I want to set up key shortcuts for viewport shading modes. Problem is, I can’t figure out which keyword is the mode for Bounding Box.

I’ve got the other ones working, Rendered, Material, Textured, Solid, Wireframe all work.

I’ve tried the following: BOUNDINGBOX, BOUNDING_BOX, BOUNDING, BOX, BOUNDS, and several variations, none work.

Here are the user input values:

Might you know which keyword works for “Bounding Box”?

Thanks.

Edit: In case it helps, the Context value is: space_data.viewport_shade

Go over to the 3D View Header, right click over the Viewport Shading Mode menu and choose the option Online Python reference.

That should take you to the Blender's Official Python API Documentation where you can learn all about it.

There you will learn that the the viewport_shadeproperty is an enum that accepts [‘BOUNDBOX’, ‘WIREFRAME’, ‘SOLID’, ‘TEXTURED’, ‘MATERIAL’, ‘RENDERED’]string values.

The one you are looking for would hence be BOUNDBOX.


Scipy Function as Node (sverchok addon) I am trying to use the scipy.interpolate.interpn function within blender. I assumed the only way to do this is to utilize the sverchok addon, so my first attempt at using this function is with the sverchok addon, but let me know if there is a better way to do this.
Although I have some basic knowledge of python, I think I am a bit out of my depth here. Nonetheless, I tried writing a script to use with the Scripted Node Lite node in sverchok:
"""
in in_points v
in values s
in xi v
out out_values s
"""

import numpy as np
import sys

from sverchok.utils.logging import exception, info
from sverchok.data_structure import zip_long_repeat

try:
    import scipy
    from scipy.interpolate import interpn
except ImportError as e:
    info("SciPy module is not available. Please refer to https://github.com/nortikin/sverchok/wiki/Non-standard-Python-modules-installation for how to install it.")
    raise e

out_values = []

for everypoint in xi:
    new_values = interpn(points, values, xi, method='linear', bounds_error=True, fill_value=0)

    out_values.append(new_values)

Here is what I get when I try to use the script as a scripted node in blender:

error screenshot
here are the files I am working with: https://drive.google.com/file/d/1a2a0l3rghzAbP91JEAb-mZXQZYpiLEsG/view?usp=sharing
If anyone could help me utilize this function in blender, or have any improvements for the script above, I would greatly appreciate it! Thanks,

Here is an example of simple Sverchok usage, allowing you to interpolate between the two csv files.

use the value slider on the LERP node to Linearly Interpolate between the lists of coordinates. Feel free to ask questions about this, but I don't think this requires SNLite unless you really want to use code.
If you really want to use code you need to explain what you want to achieve with the two csv files, how they are to be interpolated. You have a nice simple example which you should be able to experiment with outside of Sverchok, from the Blender Text Editor.
set up your points, point and values as numpy arrays, and ignore SNLite until you can make it work purely from the TextEditor evaluation/execution. Once you know what python to write, converting the script to something that can be loaded into SNLite is trivial.


I can't turn off mirroring I've switched to Blender 2.8 a day ago and things are very confusing for me.

Here's what I did: I created a model and applied mirror modifier and then applied it. Then when I started editing vertices in edit mode, the vertices were being edited symmetrically.
How do I turn off this symmetric editing behavior?

Maybe you have the X Mirror option enabled in the Properties panel > Active Tool > Mesh Options?


Cycle Nodes problem. Have no idea where to put ColorRamp I have no idea where to put a Coloramp node...it is really confusing.

I was texturing an object that i made, but as you can see, it's not going as planned...i scaled my diffuse in the UV map editor, and put in a Texture Coordinate node, and attached the the bump, the specular map to the mix shader, and used a mapping node for the normal maps. However as you can see, the diffuse..isnt quite working well, since there is a colorRamp missing...i am so confused about where it should be.

Here I have a specular map:

And here I don't have a spec map:

The specular map that i had was way too powerful(went back to ShaderMap3 and inverted the value)
@Carlo made me realize that i should have put the output from the bump to the diffuse
I didn't needed of a ColorRamp, the specular map was at fault.

Thanks @Carlo


Shortcut list txt for node wrangler does anyone know if there s a shortcut list (txt) for the node wrangler (not the list in the preferences). There s a lot of helpful shortcuts in this addon but i find it annoying to go to the preferences all the time. i d like to put the shortcuts in a txt note in my node editor until i learned all the ones i need...Thanks for your help
mooopstar

Go into the addon's code, grab the kmi_defs and print the variables.

for kmi in kmi_defs:
    print(kmi[len(kmi)-1].ljust(60), end="")
    if (kmi[1]):
        print("Ctrl ", end ="")
    if (kmi[2]):
        print("Shift ", end ="")
    if (kmi[3]):
        print("Alt ", end ="")
    print(kmi[0])

This is the output.

Merge Nodes (Automatic)                                     Ctrl Shift NUMPAD_0
Merge Nodes (Automatic)                                     Ctrl Shift ZERO
Merge Nodes (Add)                                           Ctrl Shift NUMPAD_PLUS
Merge Nodes (Add)                                           Ctrl Shift EQUAL
Merge Nodes (Multiply)                                      Ctrl Shift NUMPAD_ASTERIX
Merge Nodes (Multiply)                                      Ctrl Shift EIGHT
Merge Nodes (Subtract)                                      Ctrl Shift NUMPAD_MINUS
Merge Nodes (Subtract)                                      Ctrl Shift MINUS
Merge Nodes (Divide)                                        Ctrl Shift NUMPAD_SLASH
Merge Nodes (Divide)                                        Ctrl Shift SLASH
Merge Nodes (Less than)                                     Ctrl Shift COMMA
Merge Nodes (Greater than)                                  Ctrl Shift PERIOD
Merge Nodes (Z-Combine)                                     Ctrl Shift NUMPAD_PERIOD
Merge Nodes (Alpha Over)                                    Ctrl Shift NUMPAD_0
Merge Nodes (Alpha Over)                                    Ctrl Shift ZERO
Merge Nodes (Color, Add)                                    Ctrl Shift NUMPAD_PLUS
Merge Nodes (Color, Add)                                    Ctrl Shift EQUAL
Merge Nodes (Color, Multiply)                               Ctrl Shift NUMPAD_ASTERIX
Merge Nodes (Color, Multiply)                               Ctrl Shift EIGHT
Merge Nodes (Color, Subtract)                               Ctrl Shift NUMPAD_MINUS
Merge Nodes (Color, Subtract)                               Ctrl Shift MINUS
Merge Nodes (Color, Divide)                                 Ctrl Shift NUMPAD_SLASH
Merge Nodes (Color, Divide)                                 Ctrl Shift SLASH
Merge Nodes (Math, Add)                                     Ctrl Shift Alt NUMPAD_PLUS
Merge Nodes (Math, Add)                                     Ctrl Shift Alt EQUAL
Merge Nodes (Math, Multiply)                                Ctrl Shift Alt NUMPAD_ASTERIX
Merge Nodes (Math, Multiply)                                Ctrl Shift Alt EIGHT
Merge Nodes (Math, Subtract)                                Ctrl Shift Alt NUMPAD_MINUS
Merge Nodes (Math, Subtract)                                Ctrl Shift Alt MINUS
Merge Nodes (Math, Divide)                                  Ctrl Shift Alt NUMPAD_SLASH
Merge Nodes (Math, Divide)                                  Ctrl Shift Alt SLASH
Merge Nodes (Math, Less than)                               Ctrl Shift Alt COMMA
Merge Nodes (Math, Greater than)                            Ctrl Shift Alt PERIOD
Batch change blend type (Mix)                               Ctrl NUMPAD_0
Batch change blend type (Mix)                               Ctrl ZERO
Batch change blend type (Add)                               Ctrl NUMPAD_PLUS
Batch change blend type (Add)                               Ctrl EQUAL
Batch change blend type (Multiply)                          Ctrl NUMPAD_ASTERIX
Batch change blend type (Multiply)                          Ctrl EIGHT
Batch change blend type (Subtract)                          Ctrl NUMPAD_MINUS
Batch change blend type (Subtract)                          Ctrl MINUS
Batch change blend type (Divide)                            Ctrl NUMPAD_SLASH
Batch change blend type (Divide)                            Ctrl SLASH
Batch change blend type (Current)                           Ctrl COMMA
Batch change blend type (Current)                           Ctrl PERIOD
Batch change blend type (Next)                              Ctrl DOWN_ARROW
Batch change blend type (Previous)                          Ctrl UP_ARROW
Link active to selected (Don't replace links)               Ctrl K
Link active to selected (Replace links)                     Ctrl Alt K
Link active to selected (Don't replace links, node names)   Ctrl QUOTE
Link active to selected (Replace links, node names)         Ctrl Alt QUOTE
Link active to selected (Don't replace links, output names) Ctrl SEMI_COLON
Link active to selected (Replace links, output names)       Ctrl Alt SEMI_COLON
Reduce Mix Factor by 0.1                                    Ctrl LEFT_ARROW
Increase Mix Factor by 0.1                                  Ctrl RIGHT_ARROW
Reduce Mix Factor by 0.01                                   Ctrl Alt LEFT_ARROW
Increase Mix Factor by 0.01                                 Ctrl Alt RIGHT_ARROW
Set Mix Factor to 0.0                                       Ctrl Shift Alt LEFT_ARROW
Set Mix Factor to 1.0                                       Ctrl Shift Alt RIGHT_ARROW
Set Mix Factor to 0.0                                       Ctrl Shift Alt NUMPAD_0
Set Mix Factor to 0.0                                       Ctrl Shift Alt ZERO
Mix Factor to 1.0                                           Ctrl Shift Alt NUMPAD_1
Set Mix Factor to 1.0                                       Ctrl Shift Alt ONE
Clear node labels                                           Ctrl L
Modify node labels                                          Ctrl Alt L
Copy label from active to selected                          Ctrl Alt V
Detach outputs                                              Ctrl Alt D
Link to output node                                         Ctrl O
Select children                                             Ctrl RIGHT_BRACKET
Select Parent                                               Ctrl LEFT_BRACKET
Add texture setup                                           Ctrl Shift T
Add Principled texture setup                                Ctrl Shift Alt T
Reset backdrop image zoom                                   Ctrl Z
Delete unused nodes                                         Ctrl X
Frame selected nodes                                        Ctrl Alt P
Swap Outputs                                                Ctrl S
Connect to Cycles Viewer node                               Ctrl Shift Alt LEFTMOUSE
Reload images                                               Ctrl R
Lazy Mix                                                    Ctrl RIGHTMOUSE
Lazy Connect                                                Ctrl Shift RIGHTMOUSE
Lazy Connect with Socket Menu                               Ctrl Shift Alt RIGHTMOUSE
Set Viewers Tile Center                                     Ctrl LEFTMOUSE
Align selected nodes neatly in a row/column                 Ctrl Alt EQUAL
Revert node back to default state, but keep connections     Ctrl BACK_SPACE
Node Wranger menu                                           Ctrl Shift Alt wm.call_menu
Add Reroutes menu                                           Ctrl Shift wm.call_menu
Add Reroutes menu                                           Ctrl Shift wm.call_menu
Link active to selected (menu)                              Ctrl Shift wm.call_menu
Copy to selected (menu)                                     Ctrl Shift wm.call_menu
Switch node type menu                                       Ctrl Shift wm.call_menu


Strange graphics glitch when working with very small units(milimeters) It all works nicely until one point, then everything looks like on the image (both in edit and object mode). Even when I save and reopen the file. :S

The issue is that you set the clip range to a very large value:

By setting the end clip to such a large value you are loosing precision. Blender can no longer resolve geometry that is close to each other. The issue is called Z-fighting, the same as when you have geometry that is occupying the same space in the scene (This happens in all 3D software not only in blender). As a rule your start and end clip settings should be so that they encompass your scene, but not a lot more. Why would you need to set the end distance to trillions of Km when you are working with objects are a few centimeters long?


Why does my softbody have a hole in the bottom? When I play the simulation, the softbody has a hole in it. The container has the default settings.

physics tab

If by 'hole' you mean the cavity that has formed under the sphere where the bottom surface has become concave, then that is a limitation of using Soft Body simulation to simulate what you consider to be a solid.
The Soft Body simulation in your example is simulating the object's surface only. This means that there is no internal structure to push the deformed surface back out. The surface is made up of vertices and edges and the simulation tries to move the vertices so as to get the edges back to their preferred lengths and relative angles.
In your case, the deformation has pushed the bottom of the sphere beyond flat and it has effectively folded back on itself. Since there is no internal structure to resist that deformation it has 'flipped' inside out and found a new 'at rest' position - where the inverted geometry can reach the edge's preferred lengths.
One solution is to add internal geometry to allow the simulation to 'push' those surfaces back out again. One way of achieving this is to criss-cross the inside of the mesh with "struts" of edges which can oppose the deformation and act as internal material pushing back out.
To achieve this, go into Edit mode,select a vertex and Shift-select the opposite vertex, then hit F. This will create an edge spanning the middle of the sphere. Repeat this for vertices in many opposing directions (keep the spread even so that the internal "pressure" is evenly distributed.
Now running your simulation should have the soft body reacting as if it has internal structure.


I can't see through the reference image in wireframe I can't see through the reference image in wireframe
that view is truly wireframe
Is there anyone who knows what happened?

You mean see the reference image through the objects in your scene? If that is the case one option would be to press "Shift-Z" in order to see the scene transparent. There is of course a button as well for it next to the wireframe button. in the picture below I have both wireframe mode and show x ray selected


UV Grid not showing up I am currently learning to texture a model and I encountered a problem after unwrapping: the UV grid (checkerboard pattern) is only showing up on certain parts of my model and not in the others.

Do you know how to fix it, please?

Thank you very much!

You probably didn`t unwrapped whole mesh. go to edit mode select all faces and when unwrap.


Painting designs onto object I'm trying to create a 3D textured model of a boomerang based on this image

I have a good model and have applied a wood texture to it, but I'm pretty stumped when it comes to creating the designs in a way that looks convincing. If anyone knows a good way to approach this the help would be greatly appreciated. Here's my model so far:

Create the designs in photoshop or whatever image editing program you use. Export them with alpha.

In your material node, add a new image texture and mix it with your regular wood texture. Go to texture paint mode and load your art from photoshop as a texture for the brush. Set the brush mapping to Stencil and orient your view appropriately.

Here's a tutorial on how stenciling works in Blender: https://www.youtube.com/watch?v=VnfTSXWF21A


Render issue, part of character is missing I'm new to blender and following lots of tutorials to get to grips with this programme. So far so good but I have hit an issue. I have created a character but when I go to render the image, all except for the central body shows? The body is showing as the original shaping blocks not the styled and coloured clothes. Am I missing something very obvious? I have attached a screen grab which shows my character and the render image on the left.

Apparently, you have a hidden object obscuring the body of your character. Press Alt+H to unhide all hidden objects or check the outliner for objects with the "closed eye"-symbol:


Inset not even, even with object scaled in object mode I'm scaling my rectangle in object mode as suggested, and then insetting two faces in edit mode. Yet the inset is still uneven. I can only guess it's because I'm using decimals. I'm scaling thus:
x: 2.92
y: 6.2
z: 0.35

If it really isn't possible to inset this evenly, what are the alternatives to getting an accurate inset?

After scaling in object mode.

press ctrla and select scale

notice the scale resets to 1.000


Image applied as a UV texture is deformed I am trying to apply an image with a horizon line of a city on a plane.

The face I'm trying to apply it to is like a trapezoid shape.

But when I preview the render in rendered view, the horizon line seems skewed (bottom right preview):

If I change the size of the two vertices on the left in UV image viewer, I get a rendered preview that makes me feel like the plane isn't really plane, and that Blender is adding an invisible edge to deal with this:

I've found this question here "How to flatten a face to avoid distortion (make an ngon planar)", but none of the solutions on this question helped solve it.

Blend:

Note: this model is inspired from the works of Patrick Hughes.

I think that for what you are trying to do you need to set the right ortho view and unwrap using project from view (bounds):

Then set your material to actually use that newly created UV map as coordinates:

If you still have some deformation, use a subsurf modifier, but instead of the default Catmul-Clark subdivision use Simple


Random Actuator change "int_max" via Python so I'm relatively new to Python in BGE (and just Python in general, really.) and I'm trying to make a script that changes the maximum integer on a random actuator. I hovered over it, and it said to type "int_max" but I got an error.

    import bge
    from bge import logic as l

    cont = l.getCurrentController()
    own = cont.owner

    Dif = own['DIF']
    Timer = (19 - (Dif * 3))
    Rand = cont.actuators['Random']

    if cont.sensors['Always'].positive and Dif != 0:
        Rand.int_max = Timer
    else:
        if Dif == 0:
            Rand.int_max =

I have no idea how to change the maximum integer for the actuator, what the attribute is called. Does anyone know how I could change it, or if my script is wrong? And is there any way for me to check what the attribute is named for an actuator/sensor? Thanks a bunch! (If you need more info I'm happy to oblige)

Without knowing the error it's hard to guess, but I think it's caused by a syntax error in the last line. If you don't set a value for Rand.int_max, python won't execute this script. To get detailed information about the error, you can open the Blender Console (Window > Toggle System Console).

So instead of Rand.int_max = write Rand.int_max = [some integer].

But, you can't set int_max directly via BGE Python. Instead you have to use a call to Rand.setIntUniform(lower_bound, upper_bound)(API). lower_bound is int_min, upper_bound int_max.

A few other things you could improve:

Timers are actually floats, but Rand.setIntUniform() requires an Integer, so put the timer value into int().
Instead of else: if Dif == 0: you can write elif Dif == 0: (or just else: if Dif is never negative).
If you only need the logic module and no other bge modules, you can delete the first line, you only need the second line (from bge import logic as l).
Variable names in python are in snake_case by convention, so don't call your variables Dif or Rand, call them dif or rand instead. But this is a matter of taste, your code is working the same regardless of the naming conventions. The Blender API calls (like getCurrentController() are in CamelCase because Blender is written in C and C++ and these languages use CamelCase.
If you want to activate (= execute) the Random Actuator after setting the value, add cont.activate(rand)(API) to your script. Other than the other Controller types, a Python Controller doesn't execute all connected Actuators by default.

So here is a version of your code that should work:

from bge import logic as l

cont = l.getCurrentController()
own = cont.owner

dif = own['DIF']
timer = int((19 - (dif * 3))) # Convert the result to int
rand = cont.actuators['Random']

if cont.sensors['Always'].positive and dif != 0:
    rand.setIntUniform(0, timer)

# just 'else' if dif can't be negative
elif dif == 0:
    rand.setIntUniform(0, 0)

# If you want to execute the Actuator
cont.activate(rand)


How does scaling work in Blender, *exactly*? Transformation matrices in Blender (skip if you want)

Transformation matrices in Blender are by design limited to a certain type of 4x4-matrix that is less general than just any old invertible matrix. For example, shear operations are not possible.  Blender's transformation matrices are precisely the matrices that satisfy the following conditions, I think:

The first three columns are mutually perpendicular and end in a 0.
The last column is of the form (a,b,c,1) where (a,b,c) represents a translation.

(I'm using the convention that a transformation matrix M is applied to column vectors v as M*v, as is usual in mathematics.)

My question

Suppose that M is the transformation matrix of a Blender object (and therefore satisfied the conditions above). I now apply a scaling of factor 3 along the global x-axis. How is the resulting transformation matrix calculated?

One would naively expect that the first row of M just gets multiplied by 3. (As opposed to scaling by 3 along the local x-axis, in which case the first column of M gets multiplied by 3.) But this is not what happens, as the resulting matrix would not satisfy the first condition above anymore.
Instead, all of the columns of M get rescaled in some way.

  How is the transformation matrix of an object changed when I scale along the global x-axis?

An illustration

Start with the default cube. Rotate it by 30 degrees along the y-axis (ry30Enter).
Now rescale by 3 in the x-direction (sx3Enter). The object gets rescaled by 2.646 in its local x-direction and by 1.732 in the local z-direction. Where do these numbers come from? (They seem to equal sqrt(7) and sqrt(3), respectively. So their squares sum to 1+3^2, which is probably relevant.)

Observations (added)

If we rescale along a global axis by a factor x, and this results in rescaling along the local axes by factors (a,b,c), then we always have a^2+b^2+c^2 = x^2+1^2+1^2.

Also, rescaling along global x by 3 twice is not the same thing as rescaling along global x by 9.

Note: I don't need an explanation of the mathematics behind transformations, matrices or quaternions. I'm familiar with those.

I wondered the same, and when I saw that there was no answer here, I looked it up in the source. Dealing with signs is complicated, but without considering signs, the method is as follows. The sources work with 3x3 matrices (position doesn't influence scale), so I'll do the same here.

Let $S$ be the original scaling matrix, and $R$ be the original rotation matrix. Now, to scale by a new matrix $N$, calculate $A = S\times R\times N$ and obtain the new sizes on each axis by calculating the Euclidean norm of each row of $A$.

In your case:

  Suppose that M is the transformation matrix of a Blender object (and therefore satisfied the conditions above). I now apply a scaling of factor 3 along the global x-axis. How is the resulting transformation matrix calculated?

Take the $3\times 3$ matrix $M' = S\times R$ by discarding the last row and column of $M$, then obtain $A = M'\times\left[\begin{matrix}3 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1\end{matrix}\right]$. Now, the new X scale is $\sqrt{a_{11}^2 + a_{12}^2 + a_{13}^2}$, the new Y scale is $\sqrt{a_{21}^2 + a_{22}^2 + a_{23}^2}$, and the new Z scale is $\sqrt{a_{31}^2 + a_{32}^2 + a_{33}^2}$. Use these as the elements of the diagonal of the new scaling matrix, $S'$. The new $3\times3$ matrix is obtained as $S'\times R$ and the $4\times4$ matrix by adding back the last row and column of the original $4\times4$ matrix.

For your example:

  Start with the default cube. Rotate it by 30 degrees along the y-axis (ry30Enter). Now rescale by 3 in the x-direction (sx3Enter).

we have $S = I$ (no scaling on the cube to start with), $R = \left[\begin{matrix}\cos 30°&0&\sin 30°\\0&1&0\\-\sin 30°&0&\cos 30°\end{matrix}\right] = \left[\begin{matrix}\sqrt3/2&0&1/2\\0&1&0\\-1/2&0&\sqrt3/2\end{matrix}\right]$ and $N = \left[\begin{matrix}3 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1\end{matrix}\right]$. Now $A = S\times R\times N = \left[\begin{matrix}3\sqrt3/2&0&1/2\\0&1&0\\-3/2&0&\sqrt3/2\end{matrix}\right]$ so the new scale on X is $\sqrt{(3\sqrt3/2)^2+(1/2)^2} = \sqrt7\approx 2.646$, on Y is 1, and on Z is $\sqrt{(-3/2)^2+(\sqrt3/2)^2} = \sqrt3\approx 1.732$.

The code can be found in source/blender/editors/transform/transform.c in function ElementResize(). Function TransMat3ToSize() extracts the norm of each row and deals with signs.


Faces are Missing when Import from Blender to Unity I am having a very weird issue with Blender. I have created a model of a mansion, with each face on the roof being a flat, solid object. However, when I import the model into Unity, the outer faces of the roof are missing.

I have tried subdividing and triangulating the mesh as other posts have recommended. However, the faces are still not showing in Unity.

Any help would be greatly appreciated.

Ok, it turns out that the issue was indeed inverted faces. After inverting it in blender the faces rendered correctly.


Dnytopo constant at 6 looks really bad, not like video I am following (blender 2.8) So found this 'beginner' tutorial on blender 2.8 that makes this nifty low poly scene.  3 minutes in I am like 'um not getting the same thing'.  Tried it several times and cannot figure out what I am doing wrong when going into sculpt mode from relative to constant at a resolution of 6.  It looks nothing like the video which I follow as far as I can tell to a T...

https://www.youtube.com/watch?v=0lj643VmTsg

and my result:

It is so course and nothing like what he gets about 3.5 minutes in?

I found this same issue coming into the tutorial, and one of the things I did was check the comments and a user with the name Daium said to try setting the resolution to 60. I think it is because this person in the tutorial had a different scale with numbers. anyway I tried it and it worked.


Make Blender recalculate non-faceweighted normals? Seems like a silly question but I've been trying to have blender generate normals without weighting the faces into it, in order to then extrude along normals. At the moment, it seems like Blender is grabbing the normals of all faces around the vertex and multiplying with face size to get the vertex normal. I'd like a simple average, to result in a 45 angle at a 90 face junction. Can I do that automatically?

Should be pretty clear what I mean from the image - the normals closer to the camera are tilted more towards the normal of the face that goes off-screen, which is larger. I'd like them to be a simple average, which would be bisecting the angle between the faces.

From your comment it seems you wish something that the solidify modifier maybe can do easily:

which after enabling viewport display gets:

You can use vertex group to partially apply.

Surely your project is more complicated and different, but since not much of it was shown above...


Object Positions Reset On Blender Load So I am attempting to make a modular environment in Blender, so I'm modeling many pieces in one scene to make sure they all match up properly before separating them out.

However, whenever I restart Blender after saving and closing it, many of my grouped objects (and their subobjects) have positions reset NOT to where I placed them.

For example, take a look at this:

Here you can see that the door pieces are in the "open" state, when I left them closed AND the "column" for the wall on the left has been moved from being flush with the wall (on the side) to being inside it.

It appears to be trying to move all of the objects to 0,0,0 which is what is messing this up. I'm not sure if it's an object hierarchy problem, but here is my hierarchy if anyone has ideas there:

Wall_Normal (parent)

Wall_Normal_Column (child)

Empty Axis Object (parent)

Door_Left (child a)
Door_Right (child b)

Is there a reason why object positions (and their relative subobjects) aren't being saved?

Thanks to lemon/atomicbezierslinger, they were exactly right!

I had a few animations placed on objects that I had decided not to use, yet had not deleted. The frame 1 keyframe of these animations was set to 0 - resulting in the effect described above.

Simply deleting the animations (since I am not using them) fixed the issue!


change the way wireframe is diplayed I have no clue what i did. In the first picture you can see what i dont want. When in wireframe mode I want to be able to have it look like it does in the 2nd picture. I have no idea what i did but i need help i am a major noob.

To optimize the viewport speed, by default Blender does not show all edges in wireframe mode.  To force it to draw all edges on a particular object, go to the object data panel of the properties view and check draw all edges under the display rollout.

Here is an example:


Types of Edges In a Triangulated Mesh I added the triangulate modifier on a mesh and then applied it. For this mesh in edit mode, I see two types of edges, thick bright ones from the original mesh and thin black ones, newly created by the modifier.

Now if I create a new bmesh having new faces with the same vertex coordinates of the triangulated mesh, all the edges in the new mesh are uniform color.

The new mesh also has slightly different shape. Is there any explanation for the two types of edges in the original mesh and is it possible to replicate them in a new mesh, so that I get exactly the same shape?

The difference is: smooth attribute value of the edges with orange border is False, that of the ones with black is True. I guess, the new edges added by Triangulate modifier are smooth. So when recreating a mesh vertex by vertex, one needs to copy the edge.smooth attribute along with the vertex coordinates.


how do i make a ramp around a corner? how do i curve a ramp around a corner like this?
whenever i try something, it's just frilly.

is there any good method to do this?

EDIT: people didn't understand, so here:

Make an auger, (see below) and scale to suit.

Delete the sections you don't want.

Extrude it's ends to provide entry/exit platforms.

Extrude all vertices down in the Z axis for thickness if necessary.

(the cylinder at center is optional)

Auger Blade -
-========-

Add a Curve path, leave it a, straight line.

Add the "Screw" modifier.  The bezier will turn into a solid disc.

Increase the "Screw" slider to watch the  Auger forming up.

Increase the "steps" to improve the circumference curvature.

Use ATL-C in Object mode to convert it to mesh.


I rendered a 2000+ frame AVI movie with Blender Render and it corrupted, why? I wanted to make a movie showing of a 3d model, 2250 frames long, Blender Render, AVI, but after I rendered it it won't open, and when I open it in After Effects only 7 seconds is available. Why is this? Is there some setting that one can change to render it without it getting corrupted. There was nothing happening, it was running alone, no errors.

Don't really know what screenshots I could add, it just won't open any media player and is always just 7 seconds long in editing programs. If there's a question that needs to be answered to solve this, I'll try my best to answer it. I'm sorry if it's anything obvious, but I've never done a render as long as this so I'm maybe doing something wrong, I don't know..

EDIT: Tried the video editor in Blender. File still corrupted

Sorry to hear about your file; that can certainly be frustrating. I'm not sure why it became corrupted, but the best practice is always to render an image sequence. That way, if something goes wrong you can resume from where you left off. Plus, you can also open the sequence in After Effects (or any program that supports image sequences, including Blender) and re-export as an video file of your choice, if you need it to be one contiguous file. See this video as an example. I hope this helps.