In this tutorial, we'll talk about the view-distance setting of your Minecraft server. This setting allows you to change the viewing distance on the server-side; it determines the radius in which the player can see the world. With a high value, your players will see further, at the expense of performance (RAM / CPU).
The challenge is to adjust the value of this parameter for your servers properly. It may depend on the power of your Minecraft server, the available RAM, and the number of plugins you use on your server.
This setting can drastically improve your performance in the 3D view by not showing (clipping) objects beyond a certain distance from the camera viewpoint. This sets the distance in units at which Hammer will stop drawing in it's 3D view. If you are finding the 3D performance to be too slow, set this to a lower value. It has no effect on the compiled map running in the Source Engine.
When this feature is enabled, bilinear filtering is done on textures resulting in a smoother non-pixelated look when viewed closeup. Disabling this may result in a speed increase on older video cards.
The distance in world units at which models will render as 3D mesh models in Hammer. Models outside this distance will render as simple bounding box shapes. Decrease this distance to improve Hammer rendering performance. It has no effect on the compiled map running in the Source Engine.
When this is enabled, "mouselook navigation" will be available. The "z" (lowercase z) hotkey toggles this mode on and off. While on, moving the mouse will change the camera orientation in the 3D View, and the "WASD" keys can be used for forward, left, backward, and right movement.
When you are using the mouse to navigate through the 3D view, if this is enabled pulling the mouse backwards will cause the view to look upward, and moving the mouse forward will cause the view to look downward.
User's of some video cards may find that when selecting objects in the 3D view, the furthest object will get selected rather than the one you clicked on. If you experience this problem, enable this to reverse the selection order.
The max value for the back clipping plane and other, such as model render distance, is not enough to cover the whole map size (in Source). Sometimes this is needed for visibility when making big maps. You can follow this tutorial on how to achieve this.
In Minecraft, view distance dictates how many chunks a player can see when looking in a certain direction. With this configured on the server, it will limit the amount of data (in a chunk radius) that is sent to every player. Increasing this number will enhance the distance that each player can see, though at the cost of RAM (memory). Keeping this value low will reduce the distance that a player can see, however will load less chunks around the player, and therefore decrease the RAM (memory) usage on the server.
Scroll down to the bottom of the panel, you will see the View Distance option. Using either the slider bar or the text box field, you can change how many chunks each player will load. Don't forget to press the Save button in the lower right, and when your server is next restarted, the server will be using the new value.
The server.properties will be in the main directory of your File Manager. Depending on if you're running modded Minecraft or not, you might see more files and folders than what is shown in this screenshot. Locate the file, select it, and click the "Edit" button. There will be a view-distance line where you will change the integer value. Remember to Save your edits! Your change will go into effect on your next server restart.
We founded Nodecraft with a mission to make multiplayer gaming easier for player-owned game servers. We promise to serve gamers with the best quality service, real customer support, & innovation above all else.
I have a DX11 render setup with a camera and a lot of objects. I want to check if the objects are visible through the camera at a given time. If they are not visible I want to increase the camera distance till they are visible. The distance the camera has to move back is calculated rather than an iterative process where is checks and simply moves back a certain amount and checks again.
Using the FOV of the camera gives the angle of opening. For simplicity lets assume that the total field of view of the camera is basically a cone, which should make these calculations a lot easier, since then we only need to consider angles in one plane and it becomes simply a 2D problem
If you have multiple objects you simply sort the angles and only calculate D for the largest one. If all objects are already in view it will move forward to zoom in as close as possible so the outermost object is just visible, since D will then become positive.
How about computing the bounding box that contains all your objects and make your camera moves to depends on it ? This way you would not have to FrustrumTest one by one and wait for the camera to reach the last.
I am partly doing that already with the position of the camera. The Center of interest, or target of the camera is already in the center of that imaginary bounding box or rather its calculating the average position of all objects I want to focus on. So its just the distance I need to work out.
So now the question becomes, how do I get the height of the bounding box for a box that is aligned to the camera? And then I would need to do 2 calculations, right, one of the height of the bounding box and one for the width of the bounding box and then just use the larger of the 2 distances!?
thanks for your reply. Yes, I think the first step would be to find the bounding box of the objects, but in the camera space, so that to have the bounding box in view with the front 4 points of the bounding box intersecting with the rays of the frustrum (with some adjustment for the aspect ratio of the bounding box to match the aspect ratio of the frustrum. That way you can assure that you just have to translate the camera and always perfectly fit the bounding box.
what i thought: compute the bouding-box in worldspace and then only translate the 8 corner-points of that bounding-box to viewspace. from those 8 points frustrumWidth = maxX - minX and frustrumHeight = maxY - minY.
Hm, but isnt the bounding box going to be different, depending on the reference space? The bounding box in view space might have a different shape to one in the world space. Since I only want to translate the camera and not rotate it, the bounding box has to be generated in the same rotation.
So, create a bounding box around the geometry. Find the largest distance between the bounding box center and one corner - basically creating a bounding sphere. Find the distance of the camera using Tan. Move camera target to center of bounding sphere.
Now that I finally understand what to do, the next question is, how do I correctly get a bounding box around an arbitrary number of transformed geometry? It seems like this should be calculated on the GPU, but I cant find out how to do it properly.
Any help much appreciated! I think it would be a very helpful little camera addon to be able to move the camera to fit all objects. Its available in pretty much all 3D software and its used there constantly. Trying to find your way back to your objects using the cameras in vvvv can be a pain in the ass and usually we just end up doing everything around 0,0,0 so that you can easily reset the camera, but camera distance is also a problem, especially when combined with near and far clip plane. The same node could be used to very accurately calculate the optimum near and far clip plane, since this needs to happen for depth information to be optimal (for example for DoF), especially if it has to work at small and large distances.
@antokhio true, always best to work it out yourself. I think I am finally getting somewhere. Proof of concept is working using the bounding sphere. I am sure there is a much more efficient way to calculate the sphere (lots of decomposing transform matrixes, which is always computationally expensive), but hey at least its working. Its not a function that is running all the time, but only for one frame to reset the camera.
For stuff like that Grasshopper really is the one to beat. You can do all sorts of vector calculations really easily and more importantly have visual representation straight away. I wish stuff like that was as easy in vvvv and it could be, but I guess thats not really a focus of vvvv. Learning by doing or experimentation is not something you do in vvvv when it comes to geometric or mathematical operations unfortunately.
Saving and loading outfits and parts requires to find where to save to or load from. To find a PAC outfit or part, the file navigation dropdown is where you browse to find the desired item. Hovering over each outfit or group will open the dropdown to one level deeper, where you can find their contents.
You can load PAC outfits from URLs, the example PAC outfits, and locally-stored PAC outfits, and locally-stored temporary backup outfits (from the current PAC configuration, backups are stored occasionally so that one can recover lost work).
When saving outfits, you can create new folders and files, overwrite (WARNING. IT WON'T BE RECOVERABLE IF OVERWRITTEN) or delete an existing outfit, or define the autoload (automatically loaded on spawn) outfit.
To add parts, one can right click a part to add a child part to it from the parts dropdown containing the parts' categories. One can also click the (+) icon to the right of the hovered-over part to open the part search menu to find a specific part.
On the other hand, loading parts from a file replaces the selected part with the loaded topmost part's settings. This is important to keep in mind when importing parts from different PAC outfits because loading wrong parts at the wrong levels can cause issues of a few kinds. To mitigate this, we could come up with some good practice that can reduce the unwanted actions resulting from misuse. For example, creating a new root group so that one can load a root group from another outfit makes it easier to view the parts in that group so that one can choose which parts to drag into the current outfit's groups.
c80f0f1006