Page MenuHome

Geometry Node Material doesn't work properly with shared mesh in BGE
Closed, ArchivedPublic

Description

Category: Rendering

BUG 1) Objects with shared mesh doesn't use Geometry properly in BGE.
Even with the material applied to the object, the Geometry always works as Global Geometry.

File orcoNodes_01.blend (press "p")


Windows Vista, Blender 2.48 64bits official Build and BlenderSVN
NVidia GeForce 9600

Details

Type
Bug

Event Timeline

sorry i was editing it and forgot to edit the title as well.
Right Title:
"Geometry Node Material doesn't work properly with shared mesh in BGE"

It looks like it might be a problem with Nodes instead of the BGE.
I was playing around, trying to reproduce the bug, and I found that in Blender Internal, the other sockets' previews in the Node Editor agree with their renders, but not the Global socket, which renders a solid green even though the preview is fine.

Dalai's particular problem is he is using shared meshes (as noted in the title of the report). The individual nodes work as expected if the meshes are unique.

So, the problem at hand is that the converter currently assumes that a mesh will always have the same material (which is true in the vast majority of cases). Meshes are tied to material's in the form of material buckets, so meshes are related to materials. When the converter goes to convert a mesh, it checks to see if it has already converted that mesh, if so, it just returns the already converted mesh object. This means that it will also have the same material. One possible solution to this is to check and make sure the returned mesh uses the same materials. However, what do we do if this check fails? Register the same mesh again with a different material? The BGE also assumes there are not duplicates in mesh names, so we can't just have the same mesh name twice. I guess we could possibly add the mesh to multiple material buckets.

What are your thoughts on this Dalai?

Aaron Carlisle (Blendify) closed this task as Archived.Sep 30 2018, 6:27 PM
Aaron Carlisle (Blendify) claimed this task.