text:
relationship between light intensity and 8bit grayscale
what is the relationship between light intensity (I) and the 8bit value of my black&white render output?
The background is that I want to simulate a sensor that sends a signal every time the intensity at a point (pixel) changes a certain amount.
The sensor should be invariant to lighting conditions so the real sensor measures photocurrent on a loglinear scale.
After reading this and this I think the sRGB scale is corrected in a similar way
But is the (8bit) grayscale value (for example rendered as a png file) then corrected in the same way? So if I want to check for loglinear changes in Intensity, I just compare the integer values?
I think yes, but I would really appreciate a second opinion

I've asked @troy_s to take a look, he can probably answer this.

Light is remarkably predictable and, as with most energies, strictly a linear phenomenon.
If we have a pixel of emissive energy, and we use photographic terms, our ability to perform math is ridiculously simple. To increase the amount of light by double, or in photographic terms a stop, we simply double the value. Want to go down a stop of intensity or halve the quantity? Easy, halve the value.
Our visual system on the other hand, is strictly nonlinear. We sense the visual stimuli and uniquely bend the values to meet the needs of our perceptual system. In particular, we bend a very specific range such that we can detect gradations acutely, while sacrificing the darker and lighter regions our iris has dialed into view.
Given that our devices are significantly lower dynamic range than any physical scene, we cannot however simply pass radiometrically linear ratios of light to our display / output referred contexts. If we did so, the values would appear vastly too dark, even with darker viewing conditions.
To compensate for this complex phenomena, the values need to be bent away from the radiometrically linear ratios such that the relative emission is roughly that which our eyes would expect to perceive the relative levels as expected.
Most imaging formats bake this bent version, also known as transfer curved or tone response curved, into the data itself and the curve varies by color space. Others, with unique design constraints, may or may not depending on file tags and metadata. EXR is one such example that specifically mandates a linear format for the data within.
Finally, the issue of black and white or grayscale adds another layer of complexity. Such a representation is typically an averaged luminance obtained from the RGB triplet. Every colorspace within an RGB color encoding scheme will have uniquely colored primary lights. These colors can be mapped to an absolute color model known as XYZ. The Y axis in this non orthogonal model is relative luminance. To obtain a greyscale representation of any RGB colorspace, one multiplies the Y position of each channel by the value.
TL;DR No you cannot rely on the data values in any given format to be representations of radiometric ratios. It varies by format and within a format, by color space. Further, even if you invert the two part formula for something like an sRGB JPEG, you will only arrive at a rough display linear value set that terminates at display referred 1.0, having compressed and discarded much more of the dynamic range from something such as a camera. EXRs on the other hand will often offer scene linear representations that require no transfer curve inversions. With focus on a sensor-like response, a sensor will capture largely linearized values with nonlinear responses near the edges of the sensitivity ranges.

so I should use openEXR, convert it to a grayscale image (how?? the rgb formulas shouldn't work) and  then use the log of it?

It depends on the source. If the source is a display referred image (0..1) then you can glean no more information than display linear. If the image is scene referred (0..infinity) then you have a much wider latitude of information. For sRGB curved images, invert the two part transfer curve via OCIO or such. I would need more information to provide better instructions.

I want to simulate a special kind of image sensor, that is sensitive to changes in intensity. It is a CMOS chip, that measures photocurrent on a logarithmic scale and compares that against a positive and a negative threshhold to signal "on-" and "off-events". My Idea is to render a scene in Blender and then compare the grayscale values image by image and pixel by pixel. This works pretty well but now I want to match the logarithmic scale of the CMOS chip as close as possible, so I'm looking for the most exact relationship between one of the output formats of blender and "real" light intensity

Sensors are not log, but mostly linear, with the aforementioned nonlinear toe and head. To convert to greyscale, a simple 3x3 matrix in OCIO will do it. http://blenderartists.org/forum/showthread.php?357273-How-to-Set-Cycles-Viewport-Render-to-Grayscale

this one is log, so it is capable to deal with different lighting conditions, but now know what to do. Use EXR, convert to grayscale with OCIO and then apply the same log transformation that is used in the sensor.
Thank you very much!

Whatever log transform the sensor is applying via hardware voltage will generally be well documented. Make sure to use the correct log transform that matches the footage.


text:
How to set armature default settings, so that X-Ray is checked when an armature is created?
I always want X-Ray to be checked when I create armatures. Is there a way to set this as default?

Don't know if this works for X-Ray, but for many properties the solution is to start from a new blend file, set the option the way you want it, make sure everything else is the same as when you started, and then save the startup file.  (File -> Save Startup File) or CTRL-U

@MartyFouts Thanks. I added an armature and ticked X-Ray, then Ctrl+U to save. After this, when I create a new file, an armature is pre-created with X-Ray ticked. But when I create another armature in this file, X-Ray is still unticked.

source: Stack Exchange

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

sort: votes


text:
Blender final render changes at last frame?
I'm not very experienced with 3D, only just starting out, so please bear with me.
I'm trying to render a scene for some 3D examples we need for work, and I'm trying to render the scene in Cycles, but something gets messed up at the last frame of rendering. While the scene is rendering just fine, it'll then switch to a weird foggy not-so-good-res render of the same scene.

Any help with fixing this would be greatly appreciated :) I'm pretty sure I've done something wrong but I don't know what, or where to find it!
Thank you

I really don't know what that is or how to fix it; but is it crucial to have that last frame in there? Deleting the frame might be a better approach. Hope you figure out what's the matter, and welcome to Blender.StackExchange!

Do you have nodes used to composite scene (or you can show Node Editor contents)? As it seems to be, you get that result at the last moment of rendering frame (when compositing will be proceeded, if it is present in scene), but not at the last frame.

The image looks like a Mist Pass (Render Layers > Passes). Your compositing could be doing this, could you please show the compositing setup (if any)?

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


text:
Creating a hill out of a plane
Is it possible to grab a group of vertices and pull them upwards. And instead of the having just that area go up, can all the other vertices move in a beautiful manner (don't know how else to explain it)?

What you're looking for is called proportional editing. It allows you to select a point or set of points, and when you move those points other nearby vertices will move along with them.
To use proportional editing, enter Edit Mode by pressing Tab, then look on the bottom of the window and enable Proportional Editing (you can also use the hotkey O while in edit mode to toggle proportional editing).

To the right of that menu there is the Proportional Editing Falloff menu, which lets you select how nearby vertices will be affected.

Once you have proportional editing turned on, select a vertex and move it, and the nearby vertices should move along with it. To broaden or narrow the effect, use the mouse scroll wheel.

Images are courtesy of the Blender Manual and the Blender Wiki.

Page Up and Page Down keys also increase / decrease the proportional edit size.  My mouse scroll wheel can be finicky.

Sometimes it's also may help to sculpt that plane even if it has no Multires, when just making dirty mesh.

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


text:
Automatic select vertices by given coordinates
I have a mesh with some thousand vertices and want to select a few specific. An external program choses the vertices i have to select. They are too many to do it manualy. My first idea was to take a look in the obj-file, look for my coordinates and use their line to select them in Blender. But thats not possible, because the IDs of the vertices in Blender are not given in the same order as the coordinates are written in the obj-file.
My new idea is to extract the required coordinates from the obj-file and look for them in Blender. I've already extracted the required coordinates in a txt-file.
Is there a Blender console command or script to select a vertex by given coordinates? I know that i can select a vertex by it's ID.

If the indices no longer correspond, you can:

use a brute-force proximity check
use spatial search structure (K-dimensional-Tree).

Template for getting a bmesh in Object or Edit mode can be found in:
TextEditor > Templates > Python > Simple Bmesh (EditMode)

Brute Force
For each coordinate listed in coords_to_find it will select the first vertex which has a similar 3d location. Due to numeric imprecision of 32bit floats we might use an Epsilon as a fuzzyness factor, and say "Any vertex coordinate found within linear distance Epsilon of a given coordinate is the one we want", then skip on to the remaining verts and coords.
Below is a slight modification of the Bmesh template, it assumes we have a mesh object in edit-mode, i happened to use a Suzanne model.
import bpy
import bmesh
from mathutils import Vector

coords_to_find = [
    (0.3203125, -0.734375, 0.7578125),
    (0.0, -0.2890625, 0.8984375),
    (0.453125, -0.234375, 0.8515625),
    (-0.6328125, -0.28125, 0.453125),
    (-0.796875, -0.125, 0.5625),
]

# Get the active mesh
obj = bpy.context.edit_object
me = obj.data
bm = bmesh.from_edit_mesh(me)

Epsilon = 0.00001

"""
Here we iterate over the lists of verts and coords. We remove
the coordinate from the 'coords_to_find' once it's found. this
decreases the number of comparisons on the remaining vertices.
-- it might also make sense to _break_ when 'coords_to_find' is empty.
"""

for v in bm.verts:
    for idx, coord in enumerate(coords_to_find):
        if (v.co-Vector(coord)).length < Epsilon:
            v.select = True
            print(v.co)
            coords_to_find.pop(idx)
            break

# Show the updates in the viewport
# and recalculate n-gon tessellation.
bmesh.update_edit_mesh(me, True)

KDTree
An alternative, which might be faster (especially noticable on larger objects) uses the built in KDTree module. There are 3 search functions find, find_n and find_range.
import bpy
import bmesh
from mathutils import Vector, kdtree

coords_to_find = [
    (0.3203125, -0.734375, 0.7578125),
    (0.0, -0.2890625, 0.8984375),
    (0.453125, -0.234375, 0.8515625),
    (-0.6328125, -0.28125, 0.453125),
    (-0.796875, -0.125, 0.5625)
]

# Get the active mesh
obj = bpy.context.edit_object
me = obj.data
bm = bmesh.from_edit_mesh(me)

size = len(bm.verts)
kd = kdtree.KDTree(size)

for i, vtx in enumerate(bm.verts):
    kd.insert(vtx.co, i)
kd.balance()

for idx, vtx in enumerate(coords_to_find):
    co, index, dist = kd.find(vtx)  # dist is the distance
    print(idx, vtx, index, co)
    bm.verts[index].select = True

# Show the updates in the viewport
# and recalculate n-gon tessellation.
bmesh.update_edit_mesh(me, True)

authors: Χρήστος Δούκος


text:
Increasing topology without affecting shape keys
I have a mesh with multiple vertex groups and shape keys, and I need to increase topology.
I'm using blend4Web, which doesn't export modifiers, therefore one should apply them to realize their effect.
So my question is is there any way to increase topology in edit mode without messing up the shape keys and vertex groups?

No you can not change vertex count without remaking all shape keys.

As an alternative approach you can duplicate the mesh that you want to add info to, and shrink wrap it to your original with the shrink wrap modifier. Be sure to keep an eye on your offsets though, and also be sure to restrict the rendering of the original. This allows you to drive the shrinkwrap mesh from the original object's shape key.

is there another tool,like the usage of the armature deformation ?

Dissolve X, Vertex Connect Path J, Knife Topology Tool K
With the Basis key active and all other keys set to 0.0, these operators allow me to thoroughly retopologize a character model (~18,000 vertices) and maintain shape key deformation and vertex weights long after rigging and adding almost one hundred shape keys. They use the current surface detail of the mesh to retain shape key/vertex group information, as opposed to destructive operators like Delete which have tendencies force a global recalculation of surface detail.

This is probably not a solution to the OP's problem but I post it anyway for the benefit of others who might stumble across this quesion looking for ways to manually add geometry to meshes with existing shape keys (i.e. not by applying modifiers):
I found that modifying the geometry of a mesh with existing shape keys can indeed be done under certain circumstances, i.e. if the new geometry is located in an area of the mesh that is not affected by the existing shape keys.
In that specific case you can define a vertex group that excludes the area of the new geometry and use it to restrict the shape keys' influence via the "Blend" option on each shape key. This way you can modify topology as much as you like as long as you keep away from that vertex group. I also recommend sticking to non-destructive mesh operators like the ones that @Michael pointed out in his answer, though.
I frequently do this with character meshes created with ManuelBastioniLab which come with a bunch of shape keys for facial expressions (and more recently also breathing and swallowing). With the above trick I can still add fantasy body extensions like spikes, tails or wings without having to sacrifice the shape keys. However, it would not work if I wanted to add geometry to the face, neck or chest areas.

Use a subsurface modifier.
You can then apply modifiers without losing shape keys in one click using this little helper:
https://lollypopman.com/2016/08/09/addon-shapekey-helpers/
(I guess it is for older blender versions, because I had to rename its files to match conventions of blender 2.79 but it works perfectly.)


text:
Weight painting. Should this be happening?
I was making an animation of the folding of a paper plane. The weight paint seemed like it was deforming the mesh uniformly, despite the fact that there was a gradient in the weight paint. To model this, I created a simpler version of the effect I want to achieve with a plane and a single bone. The weight paint does the same in this case as well:
The plane with its weight paint before transformation.

The same plane with the bone moved along the Z axis.
I thought the bone was supposed to alter the shape of the plane more gradually. Wasn't it supposed to form more of a domelike mesh?
Am I doing something wrong, or did I misunderstood the purpose of the weight paint?
The .blend file.

The difference between weights happens when a vertex is assigned to at least two bones, because Blender normalizes the values: in your example every weight is compared with zero weight on any other bone, resulting in full strenght for every vertex.
If you create a new bone and assign her an equal weight to all the vertices, move only the first bone and you'll see the gradient expected.


text:
How can I edit the bones in an armature without affecting the mesh parented to it?
I have figure that is made out of a set of separate objects, kind of like a marionette. I want to animate it with one, unified armature. I already parented my armature to the figure and made some testing animations. During this period I found out that the joints of the armature are not quite where they need to be for optimal posing. My problem is when I edit the armature in edit mode, the tweaked bones take the parented objects with them, deforming my figure.
To demonstrate this I have a small self contained example:
First I have my figure made of separate objects.

Then I create bones for them, separately, to eliminate the need to weight
paint later.

I parent the bones to the objects with the bone option.

Then I join the bones.
And then, when I proceed to parent the bones to each other, the first problem arises: the meshes deform with the bones, even though I did the parenting in edit mode.

Then finally, when I tweak the bones, again, in edit mode, the meshes deform further.

I also have the .blend file of the example.

could it be just needed to adjust/reset weights?

Thanks, the weight tip gave me a clue. I devised a workaround. I no longer parent with the bone option, rather with empty groups and put the corresponding vertices into each bone's vertex group.

I have the exact same problem, however I have far more bones and objects so weight-painting them all individually is a solution I would hope to avoid.

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


text:
How can I make a particle simulation into an animation?
I made a rain simulation in Blend4Web using particles. I want to make this into an NLA or keyframe animation, so I can use it as an input for either the Play Animation or the Play Keyframe node in the Blend4Web logic node editor.
Do you guys have any suggestions on how can I do that?

You'd probably better ask this in the product's forum maybe more people there know the plugin and can help you better https://www.blend4web.com/en/forums/

I think the option "Allow NLA" in particles option may help you but I'm not 100% sure. It really is better to ask on forums - there's even a chance that somebody will even make you working example :) Also you can attach your .blend file there.


text:
Why do my meshes get duplicated?
I have a mesh with a shape key. Somehow at some point it gets duplicated, sometimes several times. The duplicated meshes get the same name as the original, except they get the phrase _SHAPE_KEYS attached to them, like baseMesh_SHAPE_KEYS, and baseMesh_SHAPE_KEYS_SHAPE_KEYS and so on. I keep deleting them, yet they come back.
Does anybody have an idea why is this happening? Or is this the way blender handles shape keys, I just failed to notice it until recently?

Last time this happened I had a human body mesh with teeth as a separate mesh. I realized that I don't need the inner parts of the mouth, because the set of teeth had that as well, so I proceeded to get rid of it. I hid the teeth, deleted the nonrequired vertices from my body mesh. When I unhid the teeth I got back two objects. One that I hid, and another with the name teeth_SHAPE_KEYS.
It seems like a feature rather than a bug, but if is I fail to understand its purpose, and I don't know how do I prevent Blender from doing what it does.


text:
Adjusting Velocity Of Object
So I'm making a small game on Blender Game Engine and its racing. What i want is so that when a player presses w the car starts moving and slowly gains velocity. I know about the controller's that make an object move but i want to know how to make it BUILD speed as it progresses.(the reason i tagged this as python is because i am assuming this will take some python. Do i use Python for this)?

No python needed whatsoever.

How the  ziff is this a duplicate. the link given takes me to a question asking a completely different thing.

Actually, it doesn't require python. It requires the ... servo motion actuator:

Use the LinearVelocity to set the maximum speed, and the force limits to set the maximum acceleration.
For anything more complex than this, yes, you will need python.


text:
Camera moving at same speed as object
Making game in BGE. I need the camera to only move back and forth(up and down the x axis) but at the same speed as my object(car). For whatever reason parenting things in BGE doesn't do anything. i have tried copying the logic bricks that make the car move but for some reason the camera does not move if the logic bricks are servo motion. Right now the camera is set as a static object and ticked as an actor. I can't change it from static to dynamic cuz this would make it respond  to gravity which i do not want.

@eromod sorry. i'm quite young and haven't had time to do much blender. what does that mean?

nvm, just found out that constraints wont work in BGE, sry

Use the camera actuator.
It will try to keep the camera at a certain are relative to the target object.

Parent the camera to the object to follow (or to any child of the object to follow).
As each other child the camera will inherit the transformations (loc, rot, scale) from the parent.

Ensure the parent is moving as you expect.
Ensure you parent the right camera

You can move the camera (e.g. with the motion actuator) while parented
As a gimmick you can enable slow "parent". This makes the "follow" a bit softer, providing better camera feeling.


text:
How to automatically switch to camera view after entering preview mode
I'm making a small game in BGE and I have met a problem. I want this game to be played from a camera's view. But I have no idea on how to  automatically switch to camera view as soon as I enter preview mode. How do I do this? Is this even possible?
I really don't want to manually(Numpad0) switch to camera view when I go into preview mode.

WARNING: If you are a 100% python person, and hate my answer already, leave now, because, yes, we are using logic bricks.
You will need a "Scene" logic brick, on the "set camera" mode. Specify the camera and rig this to an "Always" sensor.

This works in a pinch, but it gives some extremely strange perspective depths, and I wouldn't recommend using it for this reason. The real way is to hit Num0 every time. Exhausting, I know.
Note: after further testing, it would appear that the weirdo bug is gone! :D I could be incorrect, but this would make this a valid method in releases 2.77-later at least. Happy blending.

well considering i've only spent like 3 hours on bge before and i've only done python outside of blender i couldn't care less if it has no python.


text:
Are there any other script delays besides sleep?
In my game i need a way to delay a script for x amount of seconds.
Generally I would use the following...
import time
time.sleep(x)

but when I use this Blender decides to crash.
Is there any other delays I can use that will not crash Blender or is there something wrong with the way I am using sleep?

Try: https://blender.stackexchange.com/questions/24549/bge-logic-bricks-setting-up-a-timer-that-reverses-at-some-point

Another one: https://blender.stackexchange.com/questions/41458/game-engines-tic-delay-in-python-how-to-do/41645#41645

Blender doesn't crash and you don't use it wrong. Because the BGE has only one thread you stop it for x seconds. So never use time.sleep(x) in BGE. What you can do instead is using a delay sensor, timer property or a variable that increments every frame. Here's an example for the last option that's probably the easiest one to do (taken from this thread from Blenderartists):
obj = cont.owner

if not 'init' in obj:
    obj['init'] = 1
    obj['timer'] = 0.0

obj['timer'] += 1.0 / logic.getLogicTicRate()

if obj['timer'] > 10: # 10 seconds
    #Do something

It basically just creates a property in your object and increases it every time the script is executed. If your script is executed every logic tick the property will count in seconds.
But you need to keep in mind that since you don't stop your script as it is but it starts over from the start every time it's called, all your variables defined like var = None will be gone (or have a new value). Meaning that if you have any variables you still need after delaying the script you'll have to store it either in your object (obj['var'] = None) or in the globalDict (bge.logic.globalDict['var'] = None).
The way you want it is that the script gets activated by a sensor and waits for a rotation to finish to apply a movement. What you can do is executing the script over and over again until then time is up and the executing the remaining part. And that's quite simple. Just add a property to your object (for example a property called execute). I guess the boolean type would fit the best for that so we'll use that one. Then add a property sensor, select your property, use the value True and activate True Level Triggering. Now the script gets executed when either the collision sensor or the property sensor or both are true. Now the property execute still needs to be controlled from the script. Therefore the lines obj['execute'] = True and obj['execute'] = True are needed. And the property obj['timer'] needs a reset after it's over 10 (in the example script) as well. obj['timer'] = 0.0 does the trick. And don't forget to import the logic module. Otherwise it's undefined and you'll get errors.
That's the full script:
from bge import logic
    obj = cont.owner

    if not 'init' in obj:
        obj['init'] = 1
        obj['timer'] = 0.0

    obj['timer'] += 1.0 / logic.getLogicTicRate()
    obj['execute'] = True # due to this the property sensor gets activated every logic tick and the script gets executed every logic tick.

    if obj['timer'] > 10: # 10 seconds
        obj['execute'] = False # now it doesn't get executed every logic tick
        obj['timer'] = 0.0 # reset the timer so that it can be used again
        #Do something

And here's the described logic brick setup:

but i can only have the script run once. so i can't have the property increase every time the script is run. the effect i am trying to create here is a car ramming a alien and when the car hits the alien hits the car it triggers a collision sensor and activates this code. the reason i want a delay is because when the collision sensor is activated the code applys a rotation.  after the rotation i want it to delay and then after x seconds applysMovement. sorry

There's no way of doing that without executing the script over and over again. You can't delay a script itself, only it's execution. The only way to delay the script and go on executing it would be time.sleep(x), but as I wrote it stops the whole game. It's like telling the game that it doesn't have to do anything for x seconds. And because it doesn't have to do anything it doesn't even draw a frame. But the way you want it is still possible with the way I suggested. I'll update my answer soon.

Whenever I run the code it gives me this:
NameError: name ‘logic’ is not defined:
The line it is referring to is 23 on which I have the following line of code:
obj['timer'] += 1.0 / logic.getLogicTicRate()
is there something I have to import to get logic or something?

logic is the bge logic module, so you need to import it first. Use from bge import logic. You can of course just import the bge module (import bge) and put bge in front of every logic in the script too. Whatever you like more


text:
How to slowly increase rotation speed of actuator
So i'm making a game in bge and i've came across a problem. It's a driving game and i noticed for turning if i just put a certain number for rotation in the actuator the steering would be messed up. So i tried coding it and came across a problem. Idk how to make the rotation speed go up slowly. sorry.
Code:
import bge
cont = bge.logic.getCurrentController()
own = cont.owner
#Sensors
leftSensor = cont.sensors["Left"]
rightSensor = cont.sensors["Right"]
#Actuator
turningSensor = cont.actuators["Turning"]
turning = 0
if leftSensor.positive:
    turning = turning - .03
if rightSensor.positive:
    turning = turning + .03
own.applyRotation((0, 0, turning))

I have tried using a while loop instead of a if so it will loop(like i want it to) but a while command will completly crash bge. How do i do this

Do not use use loops to describe timed sequences. This will cause your put your game on hold until your code finishes the loop. Your controller should describe how to perform a single step rather than the whole journey.

@Monster ...what?

Simply do not use "while" (until you understand the implications).

Timing
A logic brick represents the behavior of a single step. This step should be as fast as possible. It does not describe behavior that lasts longer than a single frame.
Therefore you should not try to describe a whole journey unless you want to finish it with one step. Even with that it has to be a fast calculation.
Bricks and Python
Your code reads an actuator but does not use it. Either the code is obsolete or it is missing something. I guess your original design was to reconfigure the actuator's parameter. Later you decided to use the applyRotation() making the actuator to act as actuator. Both ways are possible.
They do not make a difference regarding your question.
Model
A model describes the inner status of a specific aspect. In your case the aspect is how much to turn. So the model is "turning".
( A model can be much more complex. e.g. it can describe the status of a complete car including, speed, position, if doors are open, what lights are on ...).
Here the model describes how much to turn (single value).
Lifetime
You chose a variable as model. Please be aware that a variable exist only with the current processing of the code. It will not survive the exit of the controller. In other words you get a new variable at each single frame.
Thinking about a car model: your get a brand new car with each single frame .   (This might be a nice idea at the first sight, but it the car is always located at the car dealers place, without gas ).
You can see that at the console when you add print(turning).
It is better to keep the same model as long as the car exist. You need a model that survives when the controller's completed it's processing at the current frame.
There are several different ways to achieve that.
Property as storage
I suggest you use an object property. It will bind the "turning model" to the game object that performs turning. This allows different game object that all can perform individual turns.
The change to your code is minimal but has major impact:
import bge
controller = bge.logic.getCurrentController()
owner = controller.owner

PROPERTY_TURNING = "turning"

#Sensors
leftSensor = controller.sensors["Left"]
rightSensor = controller.sensors["Right"]

turning = owner.get(PROPERTY_TURNING , 0.0) # get your model from storage

if leftSensor.positive:
    turning = turning - .03
if rightSensor.positive:
    turning = turning + .03

owner[PROPERTY_TURNING] = turning # update the storage with the modified model

own.applyRotation((0, 0, turning))

I hope it helps

I'm sorry i don't think i worded this question right. what i want is the person to just be able to hold down the key for the rotation to happen not for u to have to spam the turn key

This code will process "turning" as long as one of the sensors is positive. Ensure the sensors remain positive as long as you hold the key (=no TAP!).

...have u legitimately tried this out. for me i have to tap everytime. wait. sorry. i'm a newb at blender since i have like no experience. u mentioned a object property. is this something i have to set up outside of the script?

This depends on your sensor configuration. You need to enable [True Level Triggering] otherwise the controller runs only when you press a key or release it.

+= is your friend. something like turning += 0.3 will incrementally keep adding 0.3 atop of 0.3 on and on until the script stops.

a += 1 is the same as a += 1. There is no functional difference.

"a += 1 is the same as a += 1." ok....

Sorry i meant a=a+1 is the same as a+=1 :D


text:
Find location of a specific point on a UV texture on the 3D object
I am creating a simulation to later on use with OpenCV to detect black and white square markers on an outdoor terrain. For the markers I am using the following texture:

The markers are applied to a terrain using a shrinkwrap modifier in my simulation. In order to verify my openCV algorithms I would like to know the exact position of the inner corner of the markers.
Is it possible to somehow mark the inner corner in my UV texture and be able to retrieve its position in the 3D object (after using the shrinkwrap modifier)?
Alternatively, how could I at least find the center of the marker object after the shrinkwrap is used (as I need the actual position of the marker on the rendered image)? This would assume that the inner corner stays in the center of the marker, which is not necessarily the case with the modifier. However, it is at least a starting point.
Thanks in advance,
Nils

I figured out a way, although I am not sure if it's the simplest solution:
In order to locate the inner corner of the marker I need a vertex at that point. Therefore I seperated the marker into two faces and created a UV map like this:

Next, using a script (see related lines below) I select the marker and apply the shrinkwrap modifier (it is important to apply it so that the positions of the mesh/vertices are actually affected).
Since these markers only consist of now five vertices, it is fairly simple to select the one in the center of the marker and read out its local coordinates. Finally, with the object's world matrix I can calculate the inner corner's global position.
# make the active object the current marker
bpy.context.scene.objects.active = marker

# apply the shrinkwrap modifier to access the exact marker position
bpy.ops.object.modifier_apply (modifier='Shrinkwrap')

# get the local position of the inner corner of the marker
# (assuming the additional vertex in the center is at index 4)
local_inner_corner_pos = marker.data.vertices[4].co

# calculate marker position with respect to the global coordinate system
global_inner_corner_pos = marker.matrix_world * local_inner_corner_pos


text:
Blender Python select stored object without name
I would like to create several cameras, and store them as follows:
a = bpy.ops.object.camera_add()
b = bpy.ops.object.camera_add()
c = bpy.ops.object.camera_add()

This command allows me to select the camera called "Camera.001"
bpy.data.objects['Camera.001'].select = True

But if my scene already contained several cameras before I created a, b & c, how would I select camera b without knowing its name?  This code doesn't work:
bpy.data.objects[b].select = True

Thanks for your help.  My python knowledge is minimal.

bpy.ops don't return items like that.
Instead, you want to work on the cameras and objects data blocks directly, like so:
camdata = bpy.data.cameras.new(name="Camera A")
a = bpy.data.objects.new(name="Camera A", object_data=camdata)

Then, link it to the currently active scene:
bpy.context.scene.objects.link(a)

You could then select the camera either, by just doing:
a.select = True

or by doing
bpy.data.objects[a.name].select = True


text:
About FPS bones
I was thinking about making multiple animations in my armature(rig) and i want to make all the animations with the weapons(a lot of them), i usually attach my weapons to bones for only that mesh and then i relationate the bones of the weapon and the character using constraints like child of( I keyframe this constraint).however, this makes me wonder that this would make my armature have to much bones for my game(I,m developing for android and the less bones you have the better is),it,s like for every weapon =two more bones in the blender file(not attached to characters armature more bones) , but i don,t know if the mesh is not rendered the bones as well aren,t rendered.
So, if the bones are rendered, another way to animate without making a lot of bones?


text:
Can I increase the range of armature frame ghosting?
When animating an armature for some kind of loop (like a walk cycle), I find the ghost feature to be very helpful. However, I can't seem to set the range higher than 30, nor the step higher than 20.
Currently I'm working on an animation cycle that completes in 80 frames, and I'd like to set the range to 40 and step to 40, so I can mirror the various poses the cycle goes through, without cluttering up the view with other states.
But as I mentioned above, the settings won't go over 30/20. Is this some known (maybe purposeful) limitation? Is there a workaround?


text:
Is there an easy way to create a corner from disconnected edges?
I would like to find an easy way to make Picture A look like Picture B without recreating the cube.  I can do this manually by removing faces and recreating the corner but it takes a lot of time and I have several models I need to do this on.  The target angles are all 90 degrees and all of the faces should be the same size.
Picture A

Picture B

I might be misremembering this, but I think there's a bevel modifier in Blender somewhere...

Blender does have a bevel modifier, but that's not what I need.  I'm trying to get from picture A to picture B, not the other way around.

Supposing that you have all non-instanced cubes, with different grid size, etc... so you can't use any trick and you have to model by hand your corner, there are two operators that can may help you:

"Run the previous action" (Shift+R) with automatic merge enabled
Grid fill

I'll start by deleting the messed part and than pick one of the edge path by selecting two vertex (Crtl+RMB), extrude once by snapping to the vertex grid, repeat with Shift+R several times and complete with a grid fill with appropriate parameters.

This looks like exactly what I was looking for.  Just a better work flow for what I need.  However, I can't find where I can make the extrusion snap to the vertex grid.  Where is this option?

If you look in the bottom right part of the gif, you can see the snap settings (vertex&closest). While moving th extrusion I keep pressing the Ctrl key to activate snaps (sorry I didn't record keypressed buttons on the screen).

Actually, I don't think it would take much time at all to be quite honest. You could get it done quite quickly with the F2 addon or adding and subdividing a cube with simple subdivisions, then duplicate the sharp corner to the other corners by setting the 3d cursor to the world origin (or to the center of the cube by selecting two faces on opposite sides and using the Shift+S menu to snap the cursor to the selection), setting the pivot to the 3d Cursor, and mirroring over each axis.
Also, if you need simple geometry like this, why are you using a cube that's divided so many times in the first place? Even for rounded corners like that you would probably have an easier time if you just beveled the vertices with several divisions and insetted the large faces of the cubes twice-it would even work well enough as a subdivision surface. And if all of the cubes are similar or the same why not use instances for them? (Alt+D instead of Shift+D, and you can change the meshes to instance by going to the Data tab of the Properties Panel and changing the Mesh Data from the dropdown menu) That way, when you edit one cube you edit them all, and your viewport will go faster to boot.
If you want to change a bunch of objects to be instances of the same object all at once, you can select all of the objects, make sure that the active one is the one that you want all the others to be instances of, then press Ctrl+L to bring up the Make Links menu and pick Object Data to link the mesh data. Note that this will set the other meshes' data to have zero users, so I recommend doing another incremental save after doing this.

There is a lot of detail on the opposite side of each cube and each one is different. You just can't see it in the picture.  I have been doing this by hand by adding a subdivided cube, like you mentioned, and replacing each corner with the necessary pieces of the new cube.  This works fine it's just kind of slow(or maybe I'm not very fast at it) and I have a lot of them to do.  What you mentioned about instances seems like a possible solution though.  I'm pretty new to Blender so I guess I have some research to do, I'm not sure how to use Links, Instances, etc.


text:
How to place all selected vertices is same position in UV map?
Given the following scenario, how could I quickly and easily place all of the selected vertices from two overlapping islands in the same position?

Select them and scale them to 0.

Select the two vertices, then press s, then 0.

Because they are just points in space, this will not effect the verts, but it will put them in the same place, because the vector "connecting" them will be scaled to zero.

There is a better method however.

Select an island.
Set "snapping" mode to vertices.
Grab (g) and hold ctrl to snap.
Move all islands to the same location.

Tip; UV select mode to "islands".

You can do something similar to multiple vertices at once by:

Moving them to relatively the same position. (l and g).
Select all (a).
Open the specials menu (w).
Choose "Remove Doubles UV"

If you have LOTS of islands!
As a final workaround method, if you have LOTS of islands, you can use this scaling hack. It is not technically a "good" method, but it works. The goal of this method is to scale everything down to one point, then blow it back up. To be able to blow it back up, we need to leave some geometric data, so we can't actually scale to 0.

Select all (a).
Select "Median Point" from the Rotation/Scaling Pivot menu.
Scale to a very small number (s, 0.0001, Enter).
Select "Individual Origins" from the Rotation/Scaling Pivot menu.
Scale the islands back to their original size (s, 10000, Enter).

The islands should now all have approximately the same origin. You can move them to your desired location.

If i have 100 island it will take time to select and position is there any alternate or one click

Okay, I found a way, although it's not really a "good" way. I will update the answer and it will be the last option.

Using that method I have had success, however, it has seemed to not work some times. I'm not sure why, but just try again if it fails. I hope it helps you. :)

[Snap] feature with UV Island Selection Mode may eliminate the need for fine movements of UV islands by the Blender User.
Image Editor showing UV of a cube with seams unwrapped.  Selection Mode is Island as indicated by the arrow.  One island is already moved.  New island selected. UV Cursor is set in the upper left hand corner.  You may set the cursor in a place that suits you and keep that location.
Press [Shift-S].
Choice .. Selection to Cursor (Offset)
will move the island to the cursor.  My islands have same dimensions. It looks like yours do too. Above.

Island is moved. Above.

All islands moved. The are on top of each other. Above.

Islands are Box Selected and moved to final locations.  This movement can happen first or be eliminated.  The pivot point may allow an improvement.

As an improvement.  The first snap of the cursor could have been the first island.  Potentially eliminating the last step above.  The cursor is more difficult to see in this image and is inside the UV island next to the arrow.


text:
How do I close an area using Python in Blender 4.1?
I want to close a panel from within my Python addon. Existing questions and answers seem to yield results that no longer work as they are very dated. The suggested code to run is:
override_context = bpy.context.copy()
area = [area for area in bpy.context.screen.areas if area.type == "DOPESHEET_EDITOR"][-1]
override_context['window'] = bpy.context.window
override_context['screen'] = bpy.context.screen
override_context['area'] = area
override_context['region'] = area.regions[-1]
override_context['scene'] = bpy.context.scene

areas = [area for area in bpy.context.screen.areas if area.type == "DOPESHEET_EDITOR"]

for area in areas:
    bpy.ops.screen.area_close(override_context)

This produces an error:
Traceback (most recent call last):
  File "/home/user/.config/blender/4.1/scripts/addons/some_addon/__init__.py", line 67, in handle_load_post
    viewport.close_animation_area()
  File "/home/user/.config/blender/4.1/scripts/addons/some_addon/viewport.py", line 34, in close_animation_area
    bpy.ops.screen.area_close(override_context)
  File "/usr/share/blender/4.1/scripts/modules/bpy/ops.py", line 106, in __call__
    C_exec, C_undo = _BPyOpsSubModOp._parse_args(args)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/blender/4.1/scripts/modules/bpy/ops.py", line 60, in _parse_args
    raise ValueError("1-2 args execution context is supported")
ValueError: 1-2 args execution context is supported


text:
Object transformations not applying when running Blender in batch mode
I have a list of translations and rotations from a rigid body calculation that I'd like to apply to an object using the frame_change_pre handler.
Both the translation/rotation text file and the script that defines the handler are stored in my .blend file.  When I open the .blend file in Blender and render the animation, the script works as expected.
My problem is that when I run in batch mode using the command:
/path/to/blender tossTest.blend -b -s 1 -e 8 -a
the transformations aren't applying in the output.
The following listing is the python script, script.py.
import bpy
from mathutils import Matrix
from mathutils import Vector

# Create 'posList' from 'positionDataSmall.txt', which is
# a text file stored inside this .blend file.
posList=[]
text=bpy.data.texts['positionDataSmall.txt']

for i in range(1,15):
    text.current_line_index=i
    line=text.current_line.body
    posList.append([float(v) for v in line.split(',')])

# The function that rotates and translates Suzanne using
# the position list array.
# Called by the handler.
def rotByIndex(n):
    if n<0: n=0
    if n>=len(posList): n=len(posList)-1

    mr=Matrix((posList[n][4:7],
               posList[n][7:10],
               posList[n][10:13])).to_4x4()
    vt=Vector(posList[n][1:4])
    mt=Matrix.Translation(vt)
    m=mt*mr

    obj=bpy.data.objects['Suzanne']
    obj.matrix_local=m

# The handler which gets called
def my_handler(scene):
    bpy.data.objects['Suzanne'].select=True

    rotByIndex(scene.frame_current-1)
    scene=bpy.data.scenes['Scene']
    scene.update()

bpy.app.handlers.frame_change_pre.append(my_handler)

And here's positionDataSmall.txt:
time,X,Y,Z,r11,r12,r13,r21,r22,r23,r31,r32,r33
0,0,0,0,1,0,0,0,1,0,0,0,1
0.1,-0.008852,0.17392,0.582415,0.937926,-0.024107,-0.345997,0.099391,0.974378,0.201766,0.332292,-0.223621,0.916284
0.2,-0.086264,0.395815,1.171942,0.813167,0.008713,-0.581965,0.179952,0.947084,0.2658,0.553515,-0.320867,0.768548
0.3,-0.208956,0.61547,1.709725,0.682634,0.027446,-0.730245,0.263186,0.922954,0.280871,0.681722,-0.383931,0.622778
0.4,-0.359143,0.832437,2.177802,0.559921,0.035089,-0.827802,0.347363,0.897075,0.273121,0.752213,-0.440487,0.490048
0.5,-0.517773,1.04868,2.556567,0.434674,0.045545,-0.899435,0.429578,0.867257,0.251652,0.791527,-0.495778,0.357337
0.6,-0.676588,1.264907,2.837416,0.301292,0.064759,-0.95133,0.506222,0.834588,0.217262,0.808053,-0.547058,0.218583
0.7,-0.835403,1.481143,3.020156,0.162968,0.092379,-0.982297,0.575247,0.799951,0.170788,0.801569,-0.592908,0.077121
0.8,-0.994218,1.697387,3.104786,0.023238,0.127698,-0.991541,0.634886,0.764235,0.113421,0.772239,-0.632158,-0.063431
0.9,-1.153033,1.913641,3.091307,-0.114327,0.16981,-0.978823,0.683614,0.728353,0.046628,0.720813,-0.663804,-0.199482
1,-1.311849,2.129903,2.979719,-0.246211,0.217638,-0.944465,0.720182,0.693225,-0.027883,0.648604,-0.687039,-0.327552
1.1,-1.470664,2.346174,2.770023,-0.369041,0.269958,-0.889343,0.743655,0.659749,-0.108203,0.557458,-0.701271,-0.444365
1.2,-1.629479,2.562454,2.462217,-0.479677,0.32543,-0.814865,0.753434,0.628783,-0.192277,0.449704,-0.706136,-0.546936
1.3,-1.788296,2.778741,2.056303,-0.575288,0.382638,-0.722933,0.749268,0.601116,-0.277952,0.328096,-0.701514,-0.632639
1.4,-1.947117,2.995036,1.552281,-0.653427,0.440118,-0.615897,0.731267,0.577455,-0.363034,0.195743,-0.687524,-0.699282

Some notes and things I've tried:

Register is checked for script.py in the .blend file.
Auto Run Python Scripts is checked and saved in the user preferences.
I've tried placing -y among the command-line arguments
I've tried storing script.py as an external file and loading it using -P script.py
When I print the matrix m in rotByIndex, Blender shows that it's getting and updating the matrix appropriately in batch mode.  So I know rotByIndex is being called on frame changes and that it has access to posList.

Does anybody know why my object isn't updating properly when not in the GUI?

What about calling bpy.data.objects['Suzanne'].update() before scene.update()? Not sure, but maybe this will help.

From the API documentation:

By default handlers are freed when loading new files, in some cases you may wan’t the handler stay running across multiple files (when the handler is part of an addon for example).
For this the bpy.app.handlers.persistent decorator needs to be used.

import bpy
from bpy.app.handlers import persistent

@persistent
def load_handler(dummy):
    print("Load Handler:", bpy.data.filepath)

bpy.app.handlers.load_post.append(load_handler)

authors: Вова Казаченко


text:
Is it possible to change frame rate by interpolation in blender?
I know Blender does not yet support interpolating frames using any sort of motion detection etc., but is there a simple interpolation routine that uses say alpha blending of adjacent frames to generate new frames, governed by the exact time of the new frame compared to the old frames.
The other way round, if I have footage from a high-speed camera, can I compress the source frames into less output frames using a similar blending routine, something like what games do to simulate motion blur?

Do you have simulations you want to avoid re-baking? You could increase your total number of frames, scale the location of your keyframes, and increase the scene's framerate.

It is actually the output of an engineering simulation where an even more complicated question will be how to deal with frames whose time stamps are not evenly distributed in time. It would be the ultimate application for this kind of interpolation routine, to be able to take engineering simulation time step images and make true-speed and true slow-motion or fast-motion videos.

There is a workaround using AviSynth for Frame Blending. However, the function existed until Blender 2.49 and hasn't been implemented again after the huge overhaul 2.5 project. And there's a recent tutorial on Cloth Slow Motion rendering, but be careful, it's got annoying sound and colors...

Another workaround is to use the -blend or -dissolve options of imagemagick. With a wrapper script to shift the percentages as need, that's probably a convenient option.

For simple results the VSE has a speed control effect strip.
With your strip selected ⇧ ShiftA->Effect Strip->Speed Control, you can then adjust the rate in the properties region N. This will alter the playback speed of the specific strip in the VSE.

To adjust the entire video speed you also have the time remapping settings.

Thanks @sambler, that looks almost exactly what I want, though I'm noticing something potentially frustrating, that the 'Enable Frame Blending' functionality was removed in 2.50. Do you have any idea if it is back, where to find it or when to expect it? Backward steps in software are always hard to stomach...

I didn't use the vse much before 2.50 so I'm not familiar with the old frame blending. 2.50 was a big coding change/refactor so some things were dropped. You might want to try adding a suggestion at rightclickselect

Frame blending was removed and will not return. Only hack for that is baking with Dynamic paint (using a frame sequence or movie) OR using an image mapped to a plane (in 3D view) and turning on Motion blur in the Blender Internal renderer.

It sounds like you might be an authority in the Blender development community, is there a rationale behind this decision?

Haha, nope. Just been around long enough to see it go. Rationale (IIRC) is that Blender is strictly NOT 'temporaly' aware. That is to say that each frame is independent of the next. You want access to other frames then you bake. There is no correspondence between fames, even drivers are assessed in the moment.

So in the ultimate case I'd like to use source frames whose timestamps are not uniformly distributed. With or without that, I wonder if you could update your answer with some more detail on how to bake using dynamic paint. Cheers!

authors: Алиса Николенко


text:
How do spotlights work in Blender cycles, without the caustic noise of an explicitly modelled spotlight?
In Cycles, if I use a spotlight object to illuminate a matte object, the matte surface is well behaved with little noise. If I explicitly model a spotlight, the cycles renderer has some terrible caustic noise, owing to the obvious fact that a spotlight is a very small, very bright source of light. If cycles raytracing uses a universal light path following solver, then a spotlight object should have all of the same noise issues present in a discrete model. It does not, how does it achieve this?

The lamp object set to Spotlight sends out light rays in limited defined directions, whereas a modeled spotlight - although you didn't exactly explain how you modeled it, but I would guess some kind of point light in a cone or simliar shaped object to reflect the flight in a certain direction - has a lot of scattered light in different directions to calculate. That's how I would suppose it's working. Also a lamp set to Sun sends a directional light in a defined direction, it's not a giant emissive sphere very far away from the center which would surely be harder to render as well.

So the curious thing about that is that cycles 'traces light backwards' from the camera, not forward from the light source. All I can think is that light sources are a special case where the first bounce is sent directly to the receiving material, which itself becomes the source for back-traced light...?

Well, more or less, I think there are more sophisticated videos on Youtube explaining raytracing engines then what I could tell you here in 600 characters per comment and actually this site is to help with problems using Blender, not educating about render engines.

Modeling and using lighting components such as lenses and reflectors adds complexity to the scene and will induce probabilistic effects on all of the traced rays.
Additionally, there are a couple of default render settings that decrease the amount of light added to the scene by transmission and glossy rays. (Indirect Light and Filter Glossy in this image)

In many cases, if you are willing to dedicate the machine-time, the image will eventually resolve to something that looks better and more accurate than a quick workaround, but this is one of those times where you have to decide if it's worth it to you.
Some suggestions:

Just use a "spotlight" light object and forget the rest.
If you need glass on the model, use the old transparency workaround.

Consider using an IES lighting texture, which should be able to give you some refraction and feathering effects that look more natural.

The reason I'm curious about how spotlights work is that they seem so much more efficient. The problem is that a real headlight has a very complex projection pattern from a field of effective emission sites. What I'd like is something like setting up a headlight in isolation, and kind of 'record' the projection pattern, and bring the 'recorded' light into a full model, where the projected light might be made up of say 1000 spotlights.
Also I haven't seen the 'is shadow ray', will have to look up what that and the IES light textures do.

As I said in my other comment above, the reason a Spotlight lamp object is much more efficient is that it's a simplified, for a certain use specialized light source. And as you say yourself, a real headlight is much more complex. No light source in real life is a simplified version of a light. Real light sources coming from light bulbs always emit light in all directions, only lenses, reflectors and casings create specific light patterns, and not only for 200 or 1000 samples but billions of photons. Your computer will not be able to calculate this in a reasonable amount of time, if ever.

@GordonBrinkmann Could you point me to something about how the raytracer is actually working for spotlights and what shortcuts it is using? I can't seem to find anything. I'm thinking even a handful of spotlights in a line each projecting a canned image might be a good answer.

@JCollins No I can't, I'm not a developer and have no deeper knowledge of how it works, and I don't think knowing the technical implementation of a raytracing engine will provide a solution on how to make a good headlight. Read the article about raytracing in Wikipedia if you think you need to know that, but that's like asking a physicist how spectral absorption of visible light works in order to find out how to paint a wall blue. Knowing how raytracing works is not explaining the different implementations of light sources in 3D softwares.


text:
Does blender still allow partial selection of vertices?
I can't see anywhere in the latest blender how to partially select vertices, say so that in a move operation, some vertices move less than others by the weight of their selection.
What are the search terms, terminology etc. I am even looking for?

Not sure if the designated duplicate is the best match here, but it's already happened I guess.  Another search term that you might look into is the use of "vertex groups".  By assigning vertices to vertex groups, you can modulate the effect that a modifier or shape key has on the vertex.

No, it's proportional editing. Though the linked duplicated topic explains how to use it but not how to turn it on. See Proportional Editing — Blender Manual


text:
Is there a way to make the active selection more noticeable?
I'd like to make the active selection color different because I can barely see it when I'm selecting faces. I have an object that I'm trying to UV map, and there are some tiny faces that haven't unwrapped the way I expected, which I can see in the UV map editor, but can't find in 3D view because the active selection is too hard to see.

Did you try it with wireframe shading?

Switch you view to user preferences. Select 3D View from the left.  You will find what you need
Consider Zooming.  Number Pad (.) period then you can zoom at center.
User preferences allows you increase the size of the outline and vertex dots


text:
Please wait/ loader in the while is loading another scenario
I need to put a loader, a please wait or something similar when I send the command to change the scenario in BGE. I really don't know how to implement this. Can anyone help me? Thank you

You want a loading screen something like this (or whatever)

The good news: It is possible in BGE
The bad news: It's complicated.
There is no 'slap a load screen onto a scene' button. This load screen is achieved because I actually load the scene in parts. On the first frame, the game loads in the level blend file (using LibLoad), then on the next few it grabs a whole bunch of ships. A bit later, I cache all the sounds, then I initilize a lighting manager, which has to regenerate all the shaders for the objects, and so on. Each of these is one of the steps of the load screen, and each happens on a different frame.
This is all done through some 'magic' python. A tutorial on how to do so would take days to write, so instead I'll give you some pointers:

Investigate LibLoad, it allows you to load content from one blend into another. This is how you will partition most of your loading
Investigate AUD, and do all your sound through it. This allows you to preload sounds
Figure out what the processor heavy part of populating your game world are. If you are spawning in high poly assets (like the player), this takes time even once they're loaded into the blend. So make it part of the load sequence.
Dynamically loading texture (such as the icons for the ships) using bge.texture.ImageFFMPEG, also takes time.

Is loading time a problem, or do you just want one because you think it will look cool? If it's not a problem, don't bother. If it is a problem, you're probably going to have to redesign how your game is structured such that it can be loaded and run incrementally.
Adding a loadscreen is not simple.
If you want an example, there is a simple loadscreen in my BGMC 21 entry. The system used for the loadscreen in the animated gif is far more comprehensive, but the game it is for is not yet released, so I'm keeping the code private for a little longer.

I need to put a loader, a please wait or something similar when I send
  the command to change the scenario in BGE. I really don't know how to
  implement this. Can anyone help me?

1) Show a scene that tells the audience that a scenario gets loaded.
It can be a simple text.

which is shown this way

2) after rendering one frame switch the scene

The last frame from 1) will be shown until the scene from 2) is loaded completely. The duration depends on the size and complexity of the next scene (and the speed of the hardware).
Ensure the first scene rendered at least one frame (therefore the delay sensor).
Be aware this method does not work with animations. The game will be suspended until the next scene is fully loaded. This also applies when the next scene is loaded as overlay or background scene.

Thank you Monster... So there isn't any method to use animations between scenes, is it? It's a really big lack for a game engine :(

It is possible, but different. Unfortunately this is not what you asked at the fist place (or at least not explicitly mentioned it). Therefore this is the simplest solution.


text:
Stopping a moving object in bge
I made a bowling-like game with bge. When the ball hits the pins they fall like they should do, because they are modeled as rigid body. But when I put them back in their position they start moving. I tried pulling up the damping to 1, setting cylindrical bounds and using these lines when I change position:
    cont = bge.logic.getCurrentController()
    target=cont.owner
    target.setLinearVelocity([0, 0, 0], True)
    target.setAngularVelocity([0, 0, 0], True)

but it isn't effective. Any suggestion?

You can't cancel velocities with a null vector (0, 0, 0). A null vector is treated as "no change".
You need to apply a very small velocity such as (0, 0, 0.00002).
This belongs to the Python code as well as the motion actuator.

Found exactly the same thing while building fly navigation for the game engine. Here, paired keys WS, AD & RF instantly cancel each other before accumulating linear velocity in an opposite direction. My plan for this was to inject zero with a dedicated Motion actuator (using Set rather than Add of course) but, as Monster says, zero won't work, while a very small value does (the smallest I found worked was 0.0001, slightly larger than Monster suggests).
I have to say, this seems a bit wrong to me because the mouseover "Set" should mean set in my book, but there you have it.
It's also hugely displeasing to think that the object you were trying to stop has just been drastically slowed (with all that entails for CPU efficiency!). Never fear: a low velocity processing threshold can be set in the Object's Properties (Shift F7) » World » Physics » Physics Deactivation » Linear Threshold
May your velocities be tamed! :-) Peace/love

I would not use Python to place the pins.
I suggest following:

Place the pin at the location they should be (each single one of them)
make a one frame action with RotLoc keyframe (i)
on reset play this action for exactly one frame.


text:
Blender Game Engine FPS slows down when encounters a specific object
I am a blender newbie and I am learning how to use BGE.
I've created a landscape with a castle,
put a character in the middle.
Done all the camera settings and started a BGE player.
everything ran completely smooth.
FPS was all ok from the certain distance, facing camera to the character.
but whenever the camera gets close to the character to the close distance
( probably 1,2m away) the FPS drops dramatically and it took me few seconds to
escape from the freeze.
I even lower the polygon count and the texture quality of the character, but
nothing changed.
My computer spec is quite new and it must have no issue running some low
quality background with mid quality single character.
if anyone knows whats wrong with this problem, please enlighten me.

May you post a screenshot of the physics setting of the player and of the .blend when the situation happens?

You probably have two rigid body objects colliding, with each other, but one or more has there location's locked so blender constantly tries to calculate the motion- which can't happen, so you get crazy lag.

If the problem is the Physics I recommend to enable Menu/Game/Show Physics Visualization

After that you will be able to see what the Physics Engine sees:

Be aware that any intersections of Bounding boxes (red box) increase calculation effort.
Intersections of the physics meshes (green and white meshes) will increase calculation even further.
Therefore they should be with less faces as possible.

green faces

are sleeping physics meshes = no calculation unless a wakeup call

white face

awake physics meshes = calculation until sleep.

red faces

bounding boxes around the physics mesh
physics sensor representations such as near and radar.

cyan

i do not know

Switch on Menu/Game/Show Frame Rate and Profile.

It will show you what part of the BGE eats most of the time.

With that information you can do further investigations and focus on the problematic area.


text:
Strange seams while rendering glass object
a newbie question that has probably been answered before, but I couldn't find a definitive answer:
I'm trying to render a simple glass container with some dark liquid in it, but I'm getting weird "seams" on the round edge of the container in rendered image. It's as if the normals are somehow miscalculated and causing the refractions to render incorrectly. This should not be the case, as I have recalculated the normals for the outside, as you can see from the image. I used the Solidify modifier to get the container, original mesh only had single faces for all the sides (and the rounded end) minus the top face, no other modifiers used. The liquid is a separate object that I created by copying the inside of container.
So, what's causing those seams to appear and what can I do to get rid of them?
The problem, circled with red:

A view from my editor, as you can see, normals seem to be OK:

Looks to me as there are some interior faces.

I tried selecting all interior faces and hitting delete, but nothing was removed ant the problem persists...

Assuming that you are using a default Glass shader, do the "artifacts" persist even if you lower the IOR value to 1? What happens if you use a trasparent shader instead?

Turning IOR to 1 results in the glass turning completely invisible in render. Using transparent shader looks like it should I think, it has no artifacts like the glass does.

I think you simply forgot to turn on smooth shading. See these examples (looks very similar to your issue):
Flat shading

Same geometry with smooth shading (and EdgeSplit modifier)

Yeah, I intentionally left smooth shading off, since I did not want it to affect  the square parts of my container. It didn't occur to me that it was actually the cause for those artifacts. I then enabled smooth only for the round part of the object, and that fixed the problem


text:
Fill tool not respecting the boundaries of my face selection mask
I'm trying to fill selected faces with color using the fill tool with face select mask toggled, but in the UV editor you can see that the fill is extending beyond the edges by quite a bit. I'm using Zero Brush here, but it happens in default Blender, too (ZB actually has a "fill threshold" option that lessens this problem but does not eliminate it.) Is there a way to stop the edges from bleeding over, period?

Edit: If the image is hard to see, full size is here overfill

This is done on purpose to make sure that those UVs are completely covered.
If you want to turn it off, set the Bleed to 0 in 3D view > Tool shelf > options:

However this may cause artifacts like this, where the pixels don't completely cover the entirely UV face:


text:
How to show / change local space vs world space?
See this blend file: https://drive.google.com/open?id=0B9fajYcxL7pvWmRubFN2bWk4cjg
Two objects (b and c) are parented to object A. If I move A, then b and c move with it and their location (x, y, z) remains the same. So that must mean "Location" is showing Local Space.
https://docs.blender.org/manual/en/dev/rigging/constraints/interface/common.html

In [local space] the parent of the object (or bone) is the frame of
  reference. Location is relative to the parent object origin. Rotation
  and Scale are oriented to the parent object axes. Only transformations
  to the object itself are taken into account. Transformations to the
  object’s parent and any other constraints higher up in the constraint
  stack are not taken into account.

Why does b have a location of 5,5 and c of 0,0? (we are ignoring z coordinates as we are not using them in this question) If they are both children of A, then should not they both show the relative local space coordinates? Why is c 0,0? As you can see the object origins are all in the center of each object.
Now try this. Move A to 10,10 and then duplicate it. Move the duplicate (let's call it D) to 5,5. Now we have two non-parented objects. D is in between World Center and A. Now make D a child of A. The coordinates do not change to Local Space. D will still show 5,5 instead of -5,-5! How can D and c both have the same x,y coords of 5,5 if they are both children of A and both on opposite sides of A? Shouldn't they have different coordinates whether it's showing local space or world space?
How can you change from viewing/editing local space to viewing/editing world space? How on earth does blender's location system work? Goodness gracious.

I would move the second part of your question with duplicating and elaborate on it with screenshots as it's a bit hard to imagine what's going there. As to the first part, afaik all the transforms are given in the global coordinates. The reason why coordinates of the child objects become kind of relative to parent is that child objects inherit transforms of the parent object, As to 0,0,0 coordinates for your C object - what transforms did it have before parenting?

I think the issue here is that the local coordinates you describe are not relative to the parent object.  If you put the child object in the exact same place as the parent object, the two objects won't necessarily have the same coordinates.  The child objects coordinates are relative to a point that was located at (0,0) when the parent was first assigned, and which rotates, translates, and scales with the parent object.

@MrZak The second part is simple. Move A to x=10, y=10 then duplicate A to new object D. Move D to x=5, y=5. Now make A a parent of D. It will still be at x=5, y=5. This makes no sense because D and b are both on opposite sides of A, both are children of A, and both have same location (x=5, y=5). How can this be explained? I'm getting the impression no one knows how blender coords work. You say "child objects become kind of relative to parent". What is "kind of relative"?

@LukasValine You say "child objects coordinates are relative to a point that was located at (0,0) when the parent was first assigned". So there is some mystery point that child objects are relative to which is lost forever after you move the parent?

@MrZak You ask "what transforms did it have before parenting?" How would I know that? Does a blender user have to keep a log file in a notebook of every transform to make sense of current coordinates? Please explain. Thank you.

"I'm getting the impression no one knows how blender coords work." the fact that you didn't receive answer to your question doesn't mean no one knows answer to that question. "Does a blender user have to keep a log file" No he doesn't.  "What is kind of relative?" Something which seem to be relative to some other object but in fact it might not be.  "How would I know that?" Easiest way is to unparent it and see what transform coordinates does it have. The reason I asked is because most likely 0,0,0 were its global coords. Maybe related

@MrZak I appreciate your response. My impression is based on many days of searching online and finding no information on blender's unpredictable coord system. Sorry for getting exasperated. I uploaded a 2nd blend file to show the second part. https://drive.google.com/open?id=0B9fajYcxL7pvdnlkUElTWFAydVU  Here you will see the new box D which is x=5,y=5 on the opposite side of A which is also x=5,y=5. As for the first part, I tried un-parenting box c and then it snapped back to world 0,0,0. if I re-parent with eyedropper, it moves to local 0,0,0 (center of A). (continued...)

@MrZak (continued) If I re-parent with Ctrl+P, it is still at 0,0,0, but it does not move (it stays at world-center). If re-parent with Ctrl+P (Keep Transform), it is exactly the same result as Ctrl+P with out keep-transform. Not why those two are the same and why using the eye-dropper moves the object.

Your second example is actually the same - object inherits transforms of the parent, so it becomes in local space of the parent. When moving D to 5,5 after duplicating A but before parenting you moved it to the same place where was B before parenting (because you moved A to 10,10 but before that A was at 0,0 and B was at 5,5, those 5,5 which still are preserved for that B because it's parented since then). Object C moved to 0,0 after unparenting because it was there before parenting. It won't move anywhere now if just parenting it with Ctrl+P.,see https://blender.stackexchange.com/a/26109/1245

So, the location of the object has nothing to do with the parent. When you move the parent, it moves the children, but the actual number in the location box does not change. Not because the location is relative to the parent, but because the global location gets "locked in" upon parenting, resulting in all children having locations which say nothing about where the object actually is. Blender must be the most confusing thing mankind has ever assembled. I'm going to design a multi-stage rocket while watching Donnie Darko to calm down.

Amen! (all I want to say...just keep writing to get the minimal letters...)


text:
Need advice on how to make chain link shape
I'm trying to make this chain:

The general shape of the link is like this:

I just need some direction on how to make this shape as its giving me a bit of trouble.

You can start with a simple shape 3x mirrored:

Once done, apply the mirror so that you can rotate the shape and add an array modifier (I was not able to find a way without applying the mirror):


text:
Copy location in local space

I have rigged train wheels, and it works, except when you rotate the train. The piston's "Copy Location" is using world space instead of local space, which causes it to go all wonky.

I tried every combination of "Local Space" and "World Space" on the "Copy Location" constraint, but nothing works.
blend file: https://drive.google.com/open?id=0B9fajYcxL7pvUWF4T0tRZHdLcFU

I tried changing "piston" constraint settings a bit, setting

world <==> world
adding X as contraint axis

then I animated the train rotation, to check and it seems to work now,

see the attached file. (btw, next time please use the same service I used, here http://blend-exchange.giantcowfilms.com/, it helps preserving example files for others in future).

edit:
as you say in commenmts, there were other issues on different train's movements.
I tried and probably you just need to add also Z axis to the piston contraint, and then ALSO add a location contraint for piston on Z, limiting max Z to its "deafult" Z location in local space, like this:

and it seems to behave well (hopefully) on all desired train movements...

Thank you. This works for driving side to side, but not if the train goes up or down a hill. Is there a way to make constraints relative to the local space of the train? So they always line up with the parent, no matter which way the parent moves?

I have tried moving the train also up or down, it seems to work here... can you provide an example file where you show this happening, it will be easier to check all needed movements...

By up or down, I mean whole train rotating on the X axis (causing the front and back of the train to go up or down, e.g. going up a hill). Example GIF here: https://drive.google.com/open?id=0B9fajYcxL7pva2JMNGxfUzVDZFE  And if I check the Z axis, the entire piston moves up and down like you would expect. Example GIF: https://drive.google.com/open?id=0B9fajYcxL7pvLWJWbHJNRUJnRDQ  And here is a blend file as requested:  https://blend-exchange.giantcowfilms.com/b/3401/

I just edited the answer, it seems adding Z and adding another contraint could work... let me know if you need an updated example file.

Wow, that works! Thank you so much! I been working on that for days. I can't say I understand it (strange that copy locations are in world, but still follows the local rotation of the train but the limit location is in local space) , but I glad it working!

@Xuan yes that "world" coordinate scope looks strange but rod1 and rod are using "world" coordinates too. Though, the limit Z must be "local". I can't say that I understand it completely... :D

Life becomes easier, if you parent all the bones to the main root bone. It allows using of local pose space with no troubles later, and rotate the whole rig just with this root bone.


text:
Blender Render (Internal) How to control smoke direction?
I am trying to create a smokey "afterburner" on a spaceship. How do you control the density direction to simulate different environments? In this case, I want to simulate space (zero density?), where "smoke/fire" looking effects should not go upward, but should disperse evenly in the emitter direction.

You can see in the picture when the emitter changes direction, the smoke does not change direction as you would expect in space.
I tried:

Turning down density on both smoke emitter (flow) and box (domain)

Smoke still goes straight up

Using particle system

The particles move in the desired direction, but the smoke always floats up

You have a few options here. You can either control the smoke using initial velocity, particles or using forcefields. Also to stop the smoke from rising turn off the temp difference which should be an option in the smoke domain. To stop it falling, under forces tab turn gravity to 0.

I was able to achieve non-rising smoke by turning "Temp. Diff." to 0, like you said, but in order to make the smoke "blow", I had to check "Initial Velocity" and turn up "Source" and "Normal". Thanks!

In Blender 3, it's gravity under Domain > Field Weights to be set to 0 to prevent smoke going up

I would use a wind forcefield with a strength of about 7. Make sure it's pointed in the same direction that you want your smoke to blow in. Keep it a little bit away from the domain, or else smoke would flow around it and it would look weird.

this solution worked for me. Thanks. ❤

Select your domain, go to Physics Settings > Field Weights and change Gravity to -1


text:
How can I select all the keyframe for an object or many objects?
Example 1:
I have object selected. How to select all the animation keyframes for that object?
Example 2:
I have 10 objects selected. How to select all the keyframes for all the 10 objects?
Goal:
I am to copy objects from one blender file to another. I want to keep the animation for the object but I want animation to happen at different time. So I need to select all the keyframe at once so I can grab them move them all at once.
Problem:
I cannot select the keyframe one by one, it would take too long. I cannot box select all the keyframe because there are too many objects (would take many pages of scroll down and box select) and cannot be selected on one screen. Plus the box select does not work good in dope sheet view. Even if you put the box around all the diamonds, it will not select all the diamonds in the box area. It will only select some diamonds. I have proof:

But this is beside the point. I want to select all keyframe for one object or for many object.

The selection commands are similar to editing a mesh IE "B" for box select (As you know) and "A" for select all.

Did you read my post? I do not want select all. I only want to select for one object or for many selected objects. Also, box select does not even work as I show in the picture.

I believe I found a close answer. Since Google was no help, I click on all the buttons. I found butted that looks like mouse pointer on dope sheet bar and it is called "Only incude channels relating to selected objects" and if you click that you will only see keyframe for selected object or objects. So if you select object first then click button you can then select all and only get the keyframe for selected object or objects. If no one post a better answer in couple days I will select this as the answer.


text:
How to add a face between two faces that connects them?
I'm having a bunch of trouble with this. I have faces going in a circle, but I want to add a face in between two of the faces to create the closed circle, but whenever I select the 4 vertices or the 2 sides, it selects every single side or vertices between the two... Making my problem.

Select both opposite edges of this gap, then press "F" to fill a face between them.

Also it sounds like you might be hitting 'alt-click' instead of 'shift-click' to select verts/edges.  Alt-click selects a loop of verts/edges, whereas shift-click adds or subtracts single verts/edges from your current selection.


text:
Spot light shows dimly through solid plane
I'm attempting to shine a spot light through text that has been cut out of a plane. The effect works pretty well, but some of the light from the spot light that is behind the plane shows through as seen in this picture:

The plane uses default settings and has no material or texture associated with it, though adding a solid black material has no effect on the render.
Lamp is set to Spot, Buffer Shadow, Halo, Step=1, Distance=10, Size=130.  Other settings are pretty much the default settings.
I've been playing with this for hours and can't seem to figure this one out.  Any ideas?
Thanks!

Have u trien switching on ray shadow?

Is it possible you could upload a .blend demonstrating this behavior?

Ray shadow does not give the right effect.  Here is a link to a dropbox folder containing the .blend file.  https://www.dropbox.com/sh/05831purpzk4x62/AAD4t7fO7uIvjs7sqrwAXnmZa?dl=0

I think is the blocking object, it's 2D. Try to get another one starting from a 3d even slightly extruded plane (extruding your gives me weird results), carving out the text. Then you might need a slightly more powerful (energy) spot, but in this way I got it working.

Looks like both of these solutions will work, but the modifier may be the easiest for my case.  Thanks!

Just tested.  Modifier worked great and was a quick solution.

@Aaron you should accept this answer (click the green checkmark) if it was the right answer.

No, I think he already chose the other one, using the solidify modifier to get the same result (i remember that answer) but now... is no more? weird.


text:
How to attach a texture to the first object of an array?
I seem to have the opposite problem to others:
I created an object (cuboid).
Mapped an image (png) as texture (mapping=repeat, coord=generated, proj=cube).
Now I make multiple copies of my object (arrays), the problem is that the texture repeats as if the whole array was mapped by a repeated pattern of my image in world coordinates.
Instead, I would like the image to map each copy of the object in the arrays in its local coordinates, i.e. I want to see the same image on each copy of the object.
Any help appreciated.
Here are the viewport and render screenshots:

For this you will probably have to unwrap your mesh or drop the array and just use independent objects.

In the texture properties, you will find an Image Mapping panel as well as a Mapping panel. In the Mapping panel, you want to select UV as the coordinates value.

You can then get better results by properly UV unwrapping your object to control which part of the image is used.


text:
Create a wire coil
I want to create this:
Note that wire lay chaotically, so spiral object not the same thing.
There is a cool way to do this task in 3ds max: https://www.youtube.com/watch?v=dAIrlxPUnqM
Basically he deform straight spline/curve and then bend it couple iterations (over 9000 degrees angle in max).

Blender can't bend that way with simple deform as I know, only up to 360 degree. Is there any other way to make wire wrapping similar to photo?

You can create it easily with a bezier curve spiral.

Activate the addon Add Curve Extra Objects in user preferences
Add a new curve spiral with Shift + A Add > Curve > Add Curve Spirals: > Archemidian
Adjust the number or turns as desired, about $8$ should suffice
Adjust radius growth to a low value, about one tenth of the total radius you set up.
Keep vertex count low, you won't need many vertex, curve will take care of the rest.
Set the type to Poly and adjust everything as desired, but make sure you leave the Height parameter at $0$
Rotate it in $Z$ so its end vertex are symmetrical, erase one end vertex if necessary so they both start and end at $X=0$

In edit mode move the end vertex 1/10 of the total radius down, and the start vertex 1/10th of the total radius up
In Edit Mode duplicate everything and move it up so the ends connect perfectly. Manually check that they do by moving vertex as necessary.

Now duplicate everything and move up double the previous height several times, enough to make the coil as big as required.

Convert to mesh, so you can quickly remove doubles and the ends connect, then convert back to curve with Alt + C menu

In Edit Mode set curve type to Bezier and handle types to Automatic
Bevel as desired.
Now use Proportional Edit set to Random fallof type to move or scale vertex around and give it a rougher random appearance as desired.

Excellent work with the animated GIFs! Very elucidating.

Could you have used the Array modifier to repeat the process? (question, not request)

Yes, you totally could, but since adding the 'randomness' would most likely require it to be applied afterwards, I decided too just stick to edit mode operations

Can you plz explain in little detail the 9th point how to connect the duplicate part with the top and below. Thanks

You may achieve it using Curve Extra Objects--> Torus Knot Plus. It's the laziest solution I guess :).

Enable the Curve Extra Objects add on in User Preferences (Ctrl+Alt+U).

Press Shift+A-->Curve-->Torus Knot Plus to add a spiral and play with its settings. Add another one, change its settings (to make it look slightly different from the previous one) and scale it to make the wire look more dense.

NOTE: You may use the proportional editing to make the wire look more messy.

Yes it can bend more than 360°, just input with the numpad.
Here's how I would do it (roughly):

Create Bezier curve
Make it straight
Scale it up by 10
Subdivide it with 100 cuts
Randomize
Add a "Simple Deform" modifier
Select "Bend"
Input 10000 degrees
In edit mode, rotate curve by 1.5° along Y axis
Set curve to Full
Set bevel depth to .005 and resolution to 2
Boom.
haha !


text:
Is it possible to change a value and the scale size, position, or rotation of an object can be affected by that value?
Im trying to create my own camera by adding a ruler and pull downs and have gotten it to work well.

The only issue is that when I change the "Focal Length" it does not match up to the the camera any more.

Is there any way to make the size & position change with the "Focal Length"?


text:
Move some items in part of an animation
I'm creating an animation of a logistic system with objects moving through several steps. Now we want to change the layout of the system, so to adjust the animation I need to change the x and y location of some (many) objects on some parts of the timeline.
My hunch would be to use the graph editor to change the x and y coordinates separately for all relevant objects and keyframes together.
Is there a way to filter the graph editor so you see and edit only e.g. the x coordinates of all selected objects. I know you can lock and hide the other coordinates but that requires a lot of clicking.
Other methods than using the graph editor are also welcome.


text:
VSE channel 0 as background of a scene
I want the film I edit in the VSE to be the background of a scene to move objects inside a real moving landscape or to make a title. What settings ? Thanks.

To preview your clip in the 3D viewport, set it as a background image/movie.

To render your scene, add the scene as a layer in the VSE above your movie clip. Set the scenes blend mode to alpha over.

Alternatively to the VSE you could combine your clip and 3D scene in the compositor. It is the same principle.

Thanks for these two options.  It helps me. I understand my mistake. I cannot choose the movie from the VSE. I must look for in the folder of the strip file and load it.
I want to move along the timeline with the bar time and see, as background of the 3D view, the current frame (from channel 0 of the VSE) even if I move on another strip. The background changes automatically at every strip.


text:
I want to add my own armature to armature menu
It would be super useful if I could populate this menu with my own custom rigs.

Although you can't add your armature design into that menu in particular, there are other ways you could go about doing it.
What I usually do is to save my armature rig in an entirely different file. In the event that I want to use it in another project, I just have to Append the armature over to the project.
Hope this helps :D

authors: Роман Носенко


text:
How to create a cube from two planes?
I am looking for a method to automatically join the vertices of two meshes that are stacked one upon the another. To be specific, how to create a cube from two planes, that are stacked one upon another with small distance in one of the axis.

Are those 2 planes in the same object?

Welcome to the site. Consider taking the tour, and checking out sections of the help center. Besides the information @Denis sought, what do you mean by "automatically".

Based on the information given, I think that the loop tools addon should help you. If you don't have it enabled then go to your user preferences and enable it.
This will require both planes to be a single object, so start by joining them with Ctrl+J.
Now, in the tool shelf, go to the loop tools section and with both opposing faces selected (which will be the inside of the 'cube') click the bridge tool (highlighted in yellow). If you have missing faces after the bridge operation then tick the remove faces option (highlighted in red) so it is disabled and the faces will come back.


text:
Incorrect Normal Calculations on a chair mesh when exported to substance
I have a chair that I will use inside a composition but when exported to substance it displays the normals incorrectly, let me explain.
In this image we can see the chair on the left has correct normals, hence the blue color, the chair on the right has wrong normals, hence the red color, theorically.

Yet when imported into substance the chair with the "correct" normals has them all messed up, while the incorrect chair has some weird shadows but is displayed better.

I have already tried with

recalculate outside
taking on and off auto smooth on object data properties
On edit > Normals > reset vectors

Does anyone know why this is happening and can help me?
I need the chair to be displayed with correct normals, not the weird shadow nor missing faces.

In Blender, Object mode, Right side Properties panel >Item tab > Transform > Scale...... can you check to see if the chair that is importing into SP with the inverted normals has any negative Scale values. For example:  X  -1.00 or Y -1.00  or  Z -1.00 (or all 3) If so then with the chair selected you wil need to apply the scale so that the values are positive values by selecting the chair and opening the Apply menu with CTRL + A and choose the Scale option. Then check the normals again and if necessary use the Recalculate Outside tool.

Omgg yes! That was it I cannot thank you enough, you are a lifesaver


text:
Batch export collections into GLTFs (Blender 2.8+)
This one would be a folowup on Question 168140, but compatible with 2.8+ (2.82. to be exact).
What I'm looking for is any solution to batch export multiple collections into GLTFs, preferably the GLTFs bearing the collections names. Tried modifying a few older scripts to work, with no luck whatsoever.
Thanks for any ideas, pointers, or help in advance. (Please keep in mind I have little to no idea what I'm doing regarding to scripting)

"Tried modifying a few older scripts to work, with no luck whatsoever." What have you tried exactly to modify the script of the linked q?

Search for how to reveal the "Blender Console" on your platform, and take a look for error messages related to scripts you run.  You can even paste error messages from the script into your question.


text:
Stretching in Object When Subdividing
Working on a project where it warps bottles using a lattice and curve.
The original one I'm referencing (1st Image) is what I'm trying to recreate. As you can see when a subdivision is applied it smooths out very well.
However with the one that i'm working on (2nd Image) when I add the subdivision modifier it does not smooth out, instead it looks stretched and creates vertical lines.

It looks to me in that tiny picture that your object is triangulated, and if so then you will definitely get artifacts when bending and stretching. If you can test your lattice and curve setup on a similar form made of entirely quadrilaterals, see if that doesn't fix the issue with the stretching.

Is there any way to convert triangles to quadrilaterals? Sorry about the small pic.

You can use Alt-J to convert tris to quads in face select mode


text:
Models are see through in edit mode
this is something that's been bothering me for a while and i've yet to find a solution.
sometimes when i'm editing a model the object is transparent in edit mode, i do not have wire turned on in display and limit selection is off.
Have tried to change face in preferences > theme but no luck. Also tried to change my clipping and it didn't help.
Is this a bug or am i missing something obvious?
Thanks.

Enable this button ("Limit selection to visible")

Also, you must setup more usefull limits here:

The result of "End"/"Start" mast be as low as it possible. Now you have 299621/0.000001=296210000000 - it is very big! Increase the first value and reduce the second, so that the result of the division becomes less than million.

i've tried that, doesn't work,

Can you provide blend file?

@KevinDoan I've updated the post

@KevinDoan  This looks exactly like a clipping problem.  Adjusting clipping distance should fix it.  Don't use 0.000001 ever.   0.1 or 0.01 is good enough.  Float precision is the culprit.

Clipping was correct, specifically making sure the ratio was right. Thanks.


text:
How to export a 2D stabilized movie clip?
So, in the default view, I switched the 3D main view to "Movie Clip Editor".
I then added a video clip, made a bit of 2D image stabilization on it.
I'm happy with what I have now, and I'd like to save it to an output file.
In the properties, I've set start frame to 1, end frame to the ending frame of the video clip. In Post Processing, both Compositing and Sequencer is ticked. Output is set to h.264, etc.
Now, When I click "Animation" in the Render menu, It renders an empty, gray image, that is as long as I selected, but is not the video clip I've been editing.
So, how do I do that?
Also: Suppose I want to use that finished (stabilized) clip in the sequence editor, how do I put that clip into the sequence editor? The only way I can add clips like that, seems to be just adding the original source movie, but I want the clip I've been working on. How do I do that?

Is "sequencer" checked under post-processing in the render settings?

@NᴏᴠɪᴄᴇIɴDɪsɢᴜɪsᴇ In the render settings? I can only find them in the Properties window, under Post Processing. And yes, it is ticked as I explained in my question.

Sorry, I'm tired, I missed that int he original post, I read it over twice to check for it too . . . My other suggestion is check your renderlayer settings

Have you setup the compositing nodes?

@sambler erm, I don't know what you mean. Perhaps that's the problem? I didn't set up anything besides my video and the video properties.

After setting up and tracking a video in the movie clip editor, you will want to use the tracking data to export an altered video. The adjusted video you see in the clip editor is only an in-memory adjusted version for feedback purposes.
To get a final adjusted video output you will need to setup some compositing nodes to adjust the "rendered" output. The minimum setup you will want is a movie clip input node, a 2D stabilization node and a composite node, a viewer node will let you preview the result behind the nodes if you enable the backdrop option.

Of course you can also add any other nodes to this for colour correction or adding 3D objects etc.
Now when you press render the result will match what is connected to the composite node.

I cannot use that clip in the sequencer right away, can I? I have to render the video first, and then use it to put into the sequencer as a strip, right?

You should be able to add a scene strip and see the composited result in the VSE.

Go into a Video Sequence Editor and add your Movie Clip via Add (ShiftA) > Clip... > <name_of_your_clip> at Frame 1.
In the Filter Properties (N) Panel of your Clip you can check Stabilize 2D Clip and Undistort Clip if needed.

But this will only do a 100% stable and not take into account properties like the new expected offset.