Jump to content

Recommended Posts

Posted

So I'm trying to render a ludicrously big entity. Approximately 350 blocks long.

 

I am pretty much at a loss on how to increase it's render distance high enough for practical use. I've tried setting the tracking range to 400 and I've increased the renderDistanceWeight. It's pretty apparent that I'm running into some other limitation (or I'm missing something very obvious) but I'm rather new to this and I'm clueless as to what it is.

 

 

Now the obvious solution would be to scale down the size of the model. But that's no fun now is it?

Posted

Your entity is larger than the entire volume of world being loaded.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

Sorry, made a mistake, it's 280 blocks, not 350, I'm thinking of the wrong scale. Still completely ridiculous but at least it fits now with some degree (albeit very slight) of reason

 

That's still 17 chunks long.  The loaded size of the world is typically only 15 or so.

Even at the maximum render distance (21 chunks) your entity is still 83% of that full diameter.  There is no way in HELL you are going to make this work.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

You could say that entities are capped by two things:

 

1. If they are loaded to world.

2. If they are being tracked.

 

1st one won't allow you to see entities beyond chunks loaded by server (and sent to client) simply because those chunks and their entities are not there (not loaded).

So yeah - loading is something close to 15 chunks (about 256 blocks I think).

 

2nd is a tracking cap, which is directly related to chunks being loaded - entity tracking is capped at 256 blocks (or something like that).

 

Now, one could ask if it would be possible to beat it?

You could load chunks manually and send them to clients manually. Solving 1st problem probably wouldn't require ASM (I am assuming that since in vanilla itself there is a situation, often when you have lag, when you move you don't load new chunks, but old stay far away - logically you could simply load/send ones far away).

 

The real problem is with 2nd since it is capped internally - you can track it back from EntityTracker#addEntityToTracker to stuff like #setViewDistance and other distance-related stuff which is directly capped by 15. So yeah - it will require ASM to override shit-ton of stuff - almost impossible to do that. :)

1.7.10 is no longer supported by forge, you are on your own.

Posted

Perhaps the best option would be to cut it to half the original size (which was oversized anyway). 175 blocks is still big but we've gotten stuff in this size range to work fine in the past. An extra 50 blocks or so on the render distance (which is apparently 200 right now but I'm not sure I believe that) would make it mostly bearable. It also looks like I'd have to make the texture at half scale anyway, don't fancy using 8k textures.

 

I think for now I'll take the cheap (sensible) option, hopefully it'll still function fine at a reduced size. I can only really handle banging my head against one "impossible" task at a time.

 

Might come back to this problem later though.

Posted

You could split the entity into multiple smaller entities.

 

That sounds like it could work, the model is already structured so it can be easily cut into segments. Might get a bit complicated dealing with the collision but it's certainly possible, just a bit too big of a job to be done now.

 

Cutting it into two, with one entity at either end should do it right?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.