Jump to content

Josh

Staff
  • Posts

    24,627
  • Joined

  • Last visited

Everything posted by Josh

  1. I am going to mark this as solved. I think you just need to cast the entity to a sprite. Let me know if there is still a problem when you get back.
  2. I sent an example project to try to produce the error.
  3. 0.9.6 Fixed a few bugs in the editor.
  4. I had some problems with some of the logic in the code that handles MSAA and had to edit that shader. I think the current version is fixed.
  5. Whatever material the sprite uses should be using the unlit shader.
  6. You need quaternions and Slerp(). It's the only way to interpolate between arbitrary rotations.
  7. It seems like all that stuff is in there: void Sprite::BindClass(sol::state* L) { L->set("SPRITEVIEW_DEFAULT", SPRITEVIEW_DEFAULT); L->set("SPRITEVIEW_BILLBOARD", SPRITEVIEW_BILLBOARD); L->set("SPRITEVIEW_XROTATION", SPRITEVIEW_XROTATION); L->set("SPRITEVIEW_YROTATION", SPRITEVIEW_YROTATION); L->set("SPRITEVIEW_ZROTATION", SPRITEVIEW_ZROTATION); L->new_usertype<Sprite> ( "SpriteClass", sol::base_classes, sol::bases<Entity>(), sol::meta_function::index, &Entity::dynamic_get, sol::meta_function::new_index, &Entity::dynamic_set, "SetClipRegion", &Sprite::SetClipRegion, "size", sol::property([](Sprite& s) { return s.size; }), "mesh", sol::property([](Sprite& s) { return s.mesh; }), "SetViewMode", &SetViewMode, "SetText", [](Sprite& s, std::string t) { s.SetText(t); } How is sprite_ledgemarker being created? Are you sure the variable is a sprite? I noticed the sprite casting is missing, so I am adding it now. You may need to do this, once it is updated: local sprite = Sprite(entity) sprite:SetViewMode()
  8. Call Camera->SetLighting(false) on any cameras that do not use lights! This will prevent directional light shadows from calculating for that camera, and will prevent it from uploading a light grid to the GPU each frame.
  9. Ah, that makes sense. The depth range has a limited precision, so this is behaving pretty much as I would expect. What you are seeing is z-fighting.
  10. The entity method takes roll into account, and tries to make the best decision. The Mat4 method is simpler.
  11. It may. Aligning an object to a vector is an ambiguous operation.
  12. Is this after calculating GI or after loading the scene from a file?
  13. I think those are the mipmaps, being fed into the wrong position.
  14. I can't find any thread about this issue, but I remember talking about it in last week's meeting. I was able to produce the error in @Andy90's program, but in a new project the error did not occur: Do you think there might be some code you added that could be causing this?
  15. Use mat.GetQuaternion() to get the exact rotation.
  16. Oh, I think I know why. It's pointing straight down, so you activated Gimbal lock.
  17. Strange...you would expect a lot of problems if these functions were off... Mat4 m; m.MakeDir(Vec3(0, 0, 1), 1); Print("Mat4"); Print(WString(m[0])); Print(WString(m[1])); Print(WString(m[2])); Print(WString(m[3])); Print("Quat"); auto q = m.GetQuaternion(); Print(WString(q)); Print("Euler"); auto r = q.Euler(); Print(WString(r));
  18. See void Mat4::MakeDir(const Vec3& dir, const int axis)
  19. 0.9.6 Today's fixes are uploaded...
  20. This would not be too difficult to do, if you just had a hook that got called in the right place...
  21. Can't you just use camera->SetRenderTarget to render to a texture?
  22. I have a collection of 57 high quality rock models I have permission to include with Ultra. However, they need LODs and colliders created. The convex hull / convex decomposition tool will work fine, no need to model new colliders by hand. I also have some trees, some of which can be used as-is, but with many of them we want to try to remodel it using what we have learned recently about making game trees. Anyone interested in working on these? It will work better if you have Unwrap3D, MantisLOD, and maybe Gigapixel AI for some upscaling. The results will be freely available to all Ultra users.
×
×
  • Create New...