0
$\begingroup$

I recently started learning blender to complete an assignment from work. I have zero prior background in 3D.

I have this materials set up to color map an object based on a custom property that I have added called temp: material_node_with_viridis_color_ramp_based_on_temp

and this works well enough for a singular object: rendered_view_port

The temperature is set under custom properties:

property_panel

However, it is too cumbersome to build the entire scene by ctrl+D to replicate the object again and again. Therefore I would like to take advantage of geometry nodes to procedurally generate multiple instances of the same objects: enter image description here

However, now all instances inherit the same custom property and I can't configure the temp property individually:

rendering_with_geometry_nodes_and_material_nodes

What is the correct way to achieve the following with geometry nodes and material nodes?

(EDIT: here is a mock temperature time series containing 3 elements. The real data I wish to model contains ~120 elements hence calls for a geometry nodes approach.)

rack_1,rack_2,rack_3
298.79644051178195,298.9286408123435,299.5845554118656
299.29556809911725,297.18019108696825,298.5782519579047
298.9582901282149,298.57747858757165,298.7194679699762
298.78464954899067,299.2763111728231,297.90156175925154
298.4209643980167,297.28192629607224,298.9651290504314
299.08768233919994,299.78856444907115,298.0587144260095
298.46276163378803,298.710244249907,298.8818520436289
299.8253190023462,297.24198314497716,297.6590343467222
300.0409882815031,297.8232408357625,297.6284072770234
298.30032455647734,300.0110270892819,298.401089223576
299.525175114248,298.89695919915613,298.4304585453316
298.7366847592587,297.4724177033064,297.9543277947376
298.85413368328176,298.01263350684167,297.54479055110005
299.926789914878,298.52011087758143,297.26763161764165
297.36310817459366,297.21285020780317,297.22569548186345
297.4113878991046,298.38484654084124,297.9646508700194
297.2106551923209,298.6183759063041,298.5355603264858
299.6478595366438,297.88103362584366,299.3287298439184
299.4844702528495,298.91591700087594,298.574615102142
299.7600364447404,299.4097203587765,299.86215245830584
300.08585502669825,297.85750267231685,297.2556594137262
299.54747569265015,299.0114997008399,297.6919818646219
298.53443808675877,299.0688667288912,298.1655434783104
299.4915875288593,299.9956209033865,298.88248856419534
297.50482327760676,299.4848285018893,299.7082084736818
299.0697630639826,299.69503580937,298.2006058558697
297.58005986222713,298.6212597253088,297.95396604751323
299.98400675114874,297.70604576093814,297.3356675065287
298.7155449652502,300.1374458788789,299.6139104330943
298.39398581997153,297.53806728311605,298.28899932962
297.94366683631387,298.5643719580628,298.8646505862508
299.4727010683026,297.3542792977263,300.1006662545136
298.5184509966496,299.98155257205246,297.15478371181285
298.8553018466059,300.0447748225453,297.5863504220966
297.206369401309,299.3081671860119,299.48733298205804
299.00290649122763,298.19997853089046,299.5653824556235

rendering_with_distinct_objects

$\endgroup$

2 Answers 2

1
$\begingroup$

Your true question seems to be: "What is the correct way to achieve the following with geometry nodes and material nodes?"

It's hard to see why the Custom Property is so important in here.

This is how I would do it with Geometry Nodes:

enter image description here

But usually it's even easier to use the Object Info node in the shader, so that you don't need to use Geometry Nodes at all, just make instances or duplicates of the object and voila (Alt+D makes instances, Shift+R repeats last action, very fast):

enter image description here

$\endgroup$
3
  • $\begingroup$ Thank you for the proposed solutions. The Capture Attributes + Stored Named Attribute nodes seem neat. I will have to see whether this addresses my needs though: I used a custom property because I will have to import data from external sources (i.e. a csv file or a pandas dataframe) that specifies temperature time series for each of the instances. I have yet to reach the import part of my render. I will try your solutions and if it works I will post the final set up here. :) $\endgroup$
    – Tototony
    Jan 29 at 2:18
  • $\begingroup$ @Tototony Could you provide those external data sources perhaps, even a mockup with 3 values, for example. I'm interested in this problem. $\endgroup$ Jan 29 at 3:25
  • $\begingroup$ I have edited the original post to contain a mock temperature series. I hope this help clarify my dilemma. Thank you so much. $\endgroup$
    – Tototony
    Jan 29 at 5:23
0
$\begingroup$

Did you try this Add-on? https://github.com/simonbroggi/blender_spreadsheet_import

Seems to do what is needed:

enter image description here

(Ah, the Capture Attribute node is useless here, sorry about that)

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .