Jump to content

Josh

Staff
  • Posts

    24,629
  • Joined

  • Last visited

Everything posted by Josh

  1. Did you try creating a new project and making sure that also does not work?
  2. Make sure "whole program optimization" is disabled in the VS project settings.
  3. It looks like they just put out an update. I am on 17.8.0. It is very rare for VS to break compatibility between updates, even between major versions (i.e. 2019-2022) I don't know for sure that is the problem but I will update to 17.8.2 today.
  4. Josh

    VR Performance Test

    1000 independently animated zombies, scene is GPU-limited. Notice the CPU time stays very low.
  5. Thank you, will be fixed in next build that goes up.
  6. Here is an updated version I used to generate C# documentation: chatgpt.zip https://www.ultraengine.com/learn/Entity_AddPointForce?lang=cs
  7. Some of those details are actually wrong...
  8. Really? What did you learn that you did not know before?
  9. It's coming!... https://store.steampowered.com/app/1403760/Ultra_Engine/ https://store.steampowered.com/app/444570/Ultra_Engine_Pro/
  10. Probably the same issue as seen here, but there was not a thread dedicated to it yet:
  11. Fixed bug where render-to-texture was sending the framebuffer size to the shaders, not the texture buffer size. This fixes most light cell errors in VR rendering. Change to the lighting position reconstruction formula, project sync is required to get the newer shader.
  12. I thought there was a regkey or environment var you could set to adjust the Vulkan timeout setting but I can't find it... https://github.com/KhronosGroup/glTF-IBL-Sampler/issues/8
  13. This is VK_ERROR_DEVICE_LOST: https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkResult.html It probably means the GPU is taking too long to complete the task. I only get this if I run my laptop on battery power.
  14. Many arguments are optional and will supply a default value if you do not use them. The jump parameter is optional.
  15. You need more parameters for SetInput: https://www.leadwerks.com/learn?page=API-Reference_Object_Entity_SetInput Syntax SetInput(number angle, number move, number strafe=0, number jump=0, bool crouch = false, float maxaccel = 1, float maxdecel = 0.5, bool detailed = false, float maxrotationspeed=5.0) Parameters angle: the angle the character faces. move: the forward movement of the character. strafe: the horizontal movement of the character. jump: the jumping force to apply. crouch: set to true for crouching mode (included for future development) maxacceleration: the maximum acceleration the character may use to speed up. maxdecelleration: the maximum acceleration the character may use to slow down. detailed: set this to true for characters that have a camera mounted on them. This will provide more accurate physics, but will also be more expensive to calculate. maxrotationspeed: this is the maximum speed the entity can turn, in degrees per physics step. self.entity:SetInput(0, 0, 0, 10) should make you jump.
  16. Here's an example: --Load FreeImage plugin (optional) local fiplugin = LoadPlugin("Plugins/FITextureLoader") --Get the displays local displays = GetDisplays() --Create a window local window = CreateWindow("Ultra Engine", 0, 0, 1280 * displays[1].scale, 720 * displays[1].scale, displays[1], WINDOW_CENTER | WINDOW_TITLEBAR) --Create a framebuffer local framebuffer = CreateFramebuffer(window) --Create a world local world = CreateWorld() local cam = CreateCamera(world) cam:AddComponent(CameraControls) cam:SetPosition(0,1,-1) --cam:SetFov(70) local sz = Vec2(framebuffer.size.x * 0.25, framebuffer.size.y * 0.25) local texbuffer = CreateTextureBuffer(sz.x, sz.y) cam:SetRenderTarget(texbuffer) local cam2 = CreateCamera(world, PROJECTION_ORTHOGRAPHIC) cam2:SetRenderLayers(2) local sprite = CreateSprite(world, framebuffer.size.x, framebuffer.size.y) local mtl = CreateMaterial() local fam = LoadShaderFamily("Shaders/Unlit.fam") local tex = texbuffer:GetColorAttachment(1) mtl:SetTexture(tex) mtl:SetShaderFamily(fam) sprite:SetMaterial(mtl) sprite:SetRenderLayers(2) cam2:SetPosition(framebuffer.size.x * 0.5, framebuffer.size.y * 0.5, 0) --Load a map local mapname = "Maps/start.ultra" local cl = CommandLine() if type(cl["map"]) == "string" then mapname = cl["map"] end local scene = LoadMap(world, mapname) while window:KeyDown(KEY_ESCAPE) == false and window:Closed() == false do --Update the world world:Update() --Render the world to the framebuffer world:Render(framebuffer) end
  17. This component now supports animation and is shown in the default starting map.
  18. Third-person component is updated to support animation. Default start map now uses robot player model with third-person component. Added VR player component.
  19. The lighting in Ultra is going to be quite bright by default. If global diffuse / specular reflection maps are enabled, they affect everything. You can darken this by lowering the IBL intensity value in environment settings, but that's probably not a good idea... Environment probe volumes should be used to make indoor areas darker. For accurate lighting, you should never use ambient light in Ultra. The environment reflection maps and probes should provide all indirect light. See PBR Lighting here: https://www.ultraengine.com/learn/pbrmaterials You can get the same look as Leadwerks by settings IBL intensity to zero, but Ultra is supposed to provide accurate PBR lighting. To get the most out of it, you need to understand some details about PBR and lighting. Ultra is giving you a more realistic model of lighting, whereas Leadwerks was a more artistic "adjust-the-colors" kind of renderer. The fact is, if outdoor terrain is exposed to the sky, even on a cloudy day, it will look pretty bright everywhere except enclosed indoor areas.
  20. Parent your widgets to scrollpanel->subpanel. Call SetArea to set the size of the entire subpanel. The widget will take care of the rest.
×
×
  • Create New...