Jump to content

Tree leaves


VirtualKitten
 Share

You are about to reply to a thread that has been inactive for 672 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

3 hours ago, VirtualKitten said:

I am now wondering  if this LI  this bloat must be the lack of PHYSICS in importer which is substituting its own if you look at at Animesh  in world physics even though  didn't specify one it has a huge one generated PHYSICS by the importer . Do you have same thing  Aquila?

92468b929458df3bd989287b85e33567.png

 

This is the default Convex Hull physics shape the the uploader provides us if we don't specify a model to use for physics.

 

The High LI is from the Download cost not the Physics cost. Check the Download and Physics numbers in the mesh uploader after you hit the Calculate Weights and Fees button.

How do you reduce the Download cost ?

As @ChinRey has already explained many times in these forums and again here :

11 hours ago, ChinRey said:

Download weight is calculated for each of the four LoD models separately according to their file sizes and then the four values are weighed towards each other according to how much view area each cover within a radius of slightly over 181 m (I can't remember the exact number) with Lod factor set to 1.

By reducing the file size, mesh complexity, number of tris and vertices etc and or reducing the objects size,   BB,  radius.

 

 

Edited by Aquila Kytori
  • Thanks 1
Link to comment
Share on other sites

4 hours ago, VirtualKitten said:

Aquila Also I wonder if your experiancing wonderful low LI with the superbly written Avastar Export which is just to brilliant for words as I checked the Animesh check box on my in world tree and it made no difference to LI.

See my reply to Quarrel earlier in this thread.

 

or try exporting (with the Avastar exporter) the rigged tree from this .blend :

*removed

Blender 3.1.0

Edited by Aquila Kytori
  • Sad 1
Link to comment
Share on other sites

We are just going around in circles Aquila and you are now posting some of my old content on this forum as a download. this is going everywhere now please remove it from public forum . Can we please get back to the topic ?

Edited by VirtualKitten
Link to comment
Share on other sites

1 hour ago, VirtualKitten said:

We are just going around in circles Aquila and you are now posting some of my old content on this forum as a download. this is going everywhere now please remove it from public forum

A very much modified version of your original "hoop" tree !    But I have removed the link now.

 

1 hour ago, VirtualKitten said:

Can we please get back to the topic ?

Ok. We had (in my opinion) two options for lowering the LI cost. You have clearly eliminated one, animesh tree.

Having only one option left should make things easier because now you can put all your energy and concentration into doing tests on the beta grid to find the best chopped up version that uses smaller smaller BB's and gives the lowest LI.  Hint: chopping will probably include creating some custom lower LoD models.

BTW I don't think your ref. tree has any collision surfaces, just saying  ............... :)

 

Or was the topic about how to create the leaves? One answer is to do them like most trees in Sl (including your reference tree) :  use collections of billboards.

 

 

Edited by Aquila Kytori
Link to comment
Share on other sites

1 hour ago, VirtualKitten said:

Textures is rubbish repacked island marked seems and cat get them to sit right .

If you are having problems with some branches not having the same scale or orientation as the rest of the tree then you should

1: UV unwrap all the tree 

2: In the UV editor orientate / allign all the islands along the same axis.

3: Select all the UV islands and scale up to suit your texture before exporting.

 

Note: If your tree is composed of several objects then in object mode select all those objects > edit mode > select all > Uv unwrap all parts together.

In the following example I separated the tree into 8 different objects:

UV Unwrap all the parts at the same time:

24183380_1selectandUnwrapallpartstogether-min.thumb.png.72f4f3ff53f4097475395b9034d5567f.png

 

Orientate all the islands along the same axis (usually this will be vertically for a seamless bark texture) :

508345820_2Allignalltheislandsvertically-min.thumb.png.f4cc30984e7f21e959a06b0800ba462d.png

 

Scale up all the islands together to suit the texture that you are using :

891187696_3Scaleupallislands-min.thumb.png.107b995a9cde35c0b843b6626f6a481a.png

Link to comment
Share on other sites

1 hour ago, VirtualKitten said:

remade the _PHYS file  made 73li but had removed 13 parts strangely my mesh

is becoming slimer i dont know why and squarer 

3183f13c1aac2cc8ff46d5498b21283a.png

 

If Physics is miss- aligned then do a quick check that scale and rotation have been Applied. (Ctrl A)  Then check that BB(s) of Physics model(s) matches BB(s) of Visual model(s).

 

Link to comment
Share on other sites

6 minutes ago, VirtualKitten said:

ok am now ready to build the leaves any ideas please?

The very first thing to do is get a good idea of HOW the leaves will look. What kind of tree is it? Is it one gigantic canopy or lots of separate clumps? Find some reference images of real trees you want your model to look like. Or draw some sketches on paper.

A common trick that keeps graphics complexity down in 3D games is using multiple medium-sized panels with images of leaf clusters. You can get a good idea by looking through the pictures at http://www.sbgames.org/sbgames2011/proceedings/sbgames/papers/comp/full/03-92284_2.pdf or watching the video at

(You can use Blender to create and bake the leaf clump texture if you want, or you can draw it another way. The important part is the second half.)

  • Like 3
Link to comment
Share on other sites

10 hours ago, Aquila Kytori said:

The Animesh Tree and Tree Physics linked to a Root Prim to create a 3 object link-set and how after linking the Physics Shape Type is set for each object and how Root and Tree Physics will both be set to be 100% transparent. The Root prim is set to be Animated Mesh before linking.

Why does this need to be a 3-object linkset? Why not make the physics tree the parent?

Link to comment
Share on other sites

Good discussion and suggestions if the OP can understand them.

Yes breaking up a large build or structure into smaller pieces can have more basic physics shapes supplied and higher control over LOD triangles count at each level.

You can save some LI doing that - my most recent experiment is making individual house wall pieces and such - sometimes too many pieces will balloon the LI, sometimes a larger piece will, etc. Pain in the ass IMO - but also a learning challenge. Got spoiled by Sansar where you can optimize best on your end, but don't  have to worry about LI anymore.

That being said, the singlemost changer of LI that I constantly see is the blasted LOD4 or Lowest LOD.

image.png.78939231f8f5a00da8fc9536ec5402b3.png

No matter what the original mesh is like, no matter how you have optimized the mesh (sometimes beating even the importers suggestion - a shot of pride :D), the final LOD4 determines it all anyway.

Anything more than a simple cube shape is going to seriously multiply the effect at every level.

Try it :D Change the generator to something like 8 or less and see what happens to LI.

So to summarize, and in layman's terms that I would understand from experience and experimentation;

The bigger the mesh piece inworld will balloon the LI.

Using multiple pieces (like suggested to break apart each branch) will make each model smaller in theory, and will cost less for the overall linked piece.

BUT

The biggest in my opinion will always be LOD4, and some items simply won't look coherent using 8 tris anyway, so why bother.

 

Tree leaves?
Put these on planes,  you can group them together in large amounts for low LI cost as well.

1366640720_Screenshot2022-04-28131915.thumb.jpg.d30c660ef7c8d7b524023158f0a3b384.jpg

 

Tutorials?
Stylized Hand-painted Trees in BLENDER (Beginner Tutorial)

This is a very simple tutorial to see the workflow, and what is possible, and how we can construct an optimized tree.

I'm no expert on trees, and never uploaded one to SL specifically, but this tutorial really helped a lot.

I did upload to Sansar though :D

image.thumb.png.d795a75b525d1ef41de03651a31fa68d.png

 

Edited by entity0x
  • Like 1
Link to comment
Share on other sites

57 minutes ago, Quarrel Kukulcan said:

Why does this need to be a 3-object linkset? Why not make the physics tree the parent?

 

Good question Quarrel. I am happy someone is following along 😀

 

The reason is when I link the Animesh Tree to the Tree Physics model and set it to use the Animated Mesh option. the Animesh Tree gets displaced and then needs to be selected and repositioned to align with the Physics model.

The problem is when I enable the Edit Linked in the build floater and have the Animesh Tree model selected and then try to move the arrows up or down the Animsh Tree does not follow along. Selecting the Tree Physics model moves both the Tree Physics and the Animesh Tree models together.

In the gif anim. below the Animesh Tree is linked to the Tree Physics model (root). With Edit linked enabled I first I select the Physics Tree  model and move it then switch to the Animesh Tree and try to move that.

1246945177_Animtree.gif.1891ccd808c4bf0b8146f3aec2e0b83e.gif

 

When both Animesh Tree and Physics Tree are linked to a Prim as root object then I still cant move the Animesh Tree but I can move the Physics model to align it with the Animesh Tree. I hope that I have explained that clearly enough?

 

 

Link to comment
Share on other sites

8 minutes ago, Aquila Kytori said:

I hope that I have explained that clearly enough?

Yeah. SL doesn't let you drag an Animesh prim when it's a child in a linkset, so if you want to align it with something else in the linkset, you have to drag the other thing to align with it. Which you can only do if the other thing is also a child.

It's just another dumb thing you have to do to make SL "work right".

Link to comment
Share on other sites

 

1 hour ago, entity0x said:

That being said, the singlemost changer of LI that I constantly see is the blasted LOD4 or Lowest LOD.

image.png.78939231f8f5a00da8fc9536ec5402b3.png.4ac4902d00787c6d9fb5237487706028.png

 

For such a large object the Medium LoD will perhaps effect the Download cost a little but the Low and Lowest LoD's will have no effect on the Download cost at all !

 

Can I ask you to re- read Chinrey's reply to your question earlier in this thread

red and bolding is mine :

23 hours ago, ChinRey said:

It is related to the op's problem because with meshes as big as that trunk the (lower) LOD models will hardly affect the land impact at all, only the full model really counts.

Download weight is calculated for each of the four LoD models separately according to their file sizes and then the four values are weighed towards each other according to how much view area each cover within a radius of slightly over 181 m (I can't remember the exact number) with Lod factor set to 1.

For a 57x36x56 m object, the high LoD model is supposed to be used all the way to 146 m view distance which means it covers most of that area. The low model isn't supposed to be used until the view distance is 584 m and the lowest 1169 m so they are way outside that c. 181 m "cutoff distance" and don't affect the calculated download weight at all. The mid model cover a little bit of ground but not much so it only has a very small impact on the downlaod weight.

If we go to the other extreme of size - 0.01x0.01x0.01 m - the calculated swap distances are 0.03, 0.12 and 0.23 m respectively. That means the lowest LoD model covers nearly all the stipulated view distance so it's the only one that really affects the download weight; you can add as many tris and vertices as you like to the high model and it hardly affects the LI at all.

 

I just did a quick test.................

With default auto generated lower LoDs the Download cost is 167

639100105_DefaultlowerLoDs-min.thumb.png.d1d1302ddfc0f8ce50ab8f3bead16258.png

 

With the 3 lower LoDs manually set to their minimum values the Download cost is still 167 :

1362300816_MinimumlowerLoDs-min.thumb.png.7a3efaf4ba1ae68a17fc07efa1b648a1.png

 

And with the Lower Lods all set to use the High LoD model the Download cost is still 167  🙂

1383813200_LodsMaximum-min.thumb.png.e3d7602d501e2b3332c41f33f4872937.png

 

Edited by Aquila Kytori
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

2 hours ago, entity0x said:

That being said, the singlemost changer of LI that I constantly see is the blasted LOD4 or Lowest LOD.

Here is a little script that will tell which LODs are taken into account depending on the size of the object.
Obviously this just works when the object is already in-world. So I made me a very simple spreadsheet which uses the same BB-Radius formula as shown in the script, where I can enter the size of a mesh.

Here is the LSL script:
 

// Returns the Level of Details that will have an effect in the download weight calculation for each link in a linkset.
// Drop this script into the root, and touch the link you want to check.

list glLOD = ["HIGH", "MEDIUM", "LOW", "LOWEST"];

integer LODs(integer _link) 
{
    integer i;
    vector vScale = llList2Vector(llGetLinkPrimitiveParams(_link,[PRIM_SIZE]),0);
    float fRadius = llSqrt(vScale.x*vScale.x + vScale.y*vScale.y + vScale.z*vScale.z) * 0.5; // Bounding Box Radius Formula

    if (fRadius >= 43.4422)
        i = 0;
    else if (fRadius >= 10.8605)
        i = 1;
    else if (fRadius >= 5.43027)
        i = 2;
    else
        i = 3;
            
    return i;
}


default
{
    touch_start(integer total_number) 
    {
        if (llDetectedKey(0) == llGetOwner()) 
        {
            integer iLinkNum = llDetectedLinkNumber(0);
            llOwnerSay("Link number: " + (string)iLinkNum + " - LODs that affect the download weight: " + llList2CSV(llList2List(glLOD, 0, LODs(iLinkNum))));
        }
    }
}

My spreadsheet looks like this:
LOD_Calc.JPG.40d7a49b31e79c9cd0f5e34f53282754.JPG

Edited by arton Rotaru
  • Like 2
  • Thanks 1
Link to comment
Share on other sites

@Aquila Kytori Yeah it's going to take a few re-reads to understand what is going on, but I need to know this stuff as I would like to get into bigger builds but have been discouraged also by strange bloated numbers - even if I am making my models as efficient as possible.

I would agree, if I understand you so far what has been explained is that the object is so large that the lower LODs probably won't even come into play as the object is so large - while my usual 1m to 3m top size assets so far will blink out faster - using more LODs in the process.

I had this thought about such a huge tree that yeah, the smallest LOD won't even matter. Something to consider, I'll be reading this over and simmer on it.

@arton Rotaru Thanks, I will conduct some experiments between different assets and sizes see what returns. 😄

 

Ok, understanding up a few points: Was able to take an extra detailed chair that was stuck at 3 Li, and using the info presented, was taking into account how I wanted the chair to look at a certain distance when an LOD level kicks in, and adjusted the model tris to accommodate.

Example. I don't need this chair to look perfect 50m away.. Most likely it will be used in 10m - 20m range room tops. So as you can see I adjusted the LOD3 (Firestorm seems to have these numbers backwards Or I'm backwards) "LOD1" to be simple but hold majority of shape even up to 30m away,

image.png.a7e7ebb5f8a8571cc0a396d8a0fb5995.png

and after that a very simple box shape = low tri LOD4 (or Firestorm LOD0) why you'all confusing lol

So thanks, just upped my modeling efficiency again, understand a bit better, and will apply this strategy to any trees or bigger objects.

My next asset will have 2.5m -3m high object, but will have a troublesome 0.5 or less parts that need to stay visible as well (blinking out when someone pulls back the camera to take a picture is unacceptable) - and so far I have been using planes to make the  bounding box bigger - but it's a bit of a hokey strategy, would like best practices.

image.thumb.png.ef85a9456f7827bab19d8a69cb03b8a5.png

 

Edited by entity0x
Cuz I can
  • Like 1
Link to comment
Share on other sites

Hi entity ,you seem prolific , thanks for enjoying the posts I hope you are learning something too. The main thing I think your forgetting is its not just LOD'S .

I striped my mesh and got low 75 LI with the simple base model and custom physics and with 14 other parts this LI will rise but not be inflated or bloated as the default mesh was a big balloon in all sense of the word .

I think they was telling me to reduce vector loop numbers to get me editing it more :) which is not a bad thing.

We tried this LOD in some of the ropes rope but the rope disappears with low or zero LOD  4  with 3 li in a single link this can grow huge  fast . I am not sure this is a limitation of my graphics viewing distance. The blinking out is the default physics model. I had this with my tree default physics

I don't have an answer yet in total physics cost I think I am now understanding new shaders . They are not what we had before and they seems better used away from the original material. i.e Do not create a traditional material the shader does it. 

What I had missed is that the shader can create these slots and manipulate them to. I was trying to use both at the same time . clearly the shader created ones are different . However the real thing that I missed was the pull down menu of shaders that I had created selecting parts of the model in edit mode You can pull down and use a different shader  making them all the same and or using ones I set up. I would imagine your house is going to follow same principles as this tree but your physics shapes will be different don't try and copy the image to make the physics   the importer has strict settings about small triangles and wont let one in. Single plain mesh like 'Add Mesh circle' or 'Add Mesh plane'  reduce the vectors in the circumference then extrude it ,build it up, keep it within same size as models BB Bounding box. 

 

Thank you for that thank you for the leaves links but I wanted flat textures  of grouped leaves with transparency on marketplace.

 

{{Hugs}} D

Edited by VirtualKitten
  • Like 1
Link to comment
Share on other sites

55 minutes ago, VirtualKitten said:

Hi i cant get transparency to work

Do you have Material Properties > Viewport Display > Blend Mode  > Alpha Clip selected?

Example for a texture that already has a fully transparent background :

408137436_AlphaClip-min.thumb.png.cce1e8839dd257c440098d3607e568c3.png

Edited by Aquila Kytori
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 672 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...