Eurobricks Citizen
  • Content count

  • Joined

  • Last visited

About jamesster

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

722 profile views
  1. Has anyone here pointed out Rocket Racer's logo on the racecar driver's torso? That's a neat shoutout.
  2. I'm fully expecting a tie-in video game. "Spiritual successor to LEGO Racers", though, is a tall order I'm not putting any expectations on.
  3. I've been playing LEGO Quest & Collect and noticed a figure that I didn't recognize: Front Back All the heroes in the game (except for three specifically made for it) are from official sets, and while some of them are obscure, I didn't think they'd have just made up an entire figure. After some digging I found he's actually a blacksmith from 10176 King's Castle... A strange choice from an anomaly of a set. But his torso in the set is plain black. Here's the print directly from the game - I don't recognize it. There's a few prints in the game that are modifications or recolors of existing ones, so I'm curious if this is one of those, or if it's entirely new.
  4. Hm, I'm not so familiar with AMD stuff - try right clicking on your desktop and seeing if anything helpful is in the menu that comes up. Also: Try opening the Device Manager (should come up if you just search for it in the start menu) and see what you have under display adapters. For example, here's mine:
  5. Ah, I've run into that on my laptop, which has two graphics drivers/devices - Intel integrated graphics, and an NVIDIA card. I had the problem you describe when LDD was set to run on the NVIDIA card, but it worked fine once I went into the NVIDIA Control Panel and made it use integrated graphics instead. I even had to do the same for other programs like Discord (a chat program), which would similarly refuse to launch or freeze if 3DVIA Printscreen was running (LDD was technically starting, but immediately freezing, so nothing would happen, despite the Task Manager confirming it was running).
  6. Looks like it's running out of memory while loading the 3DXML...? Odd; it's somewhat easier for that to happen on 32-bit builds since they have a memory limit that can be reached with very large models... But you're running the 64-bit version, and said it even happens with simple 3DXMLs. Hrm. Do you have other things running which could be leaving not enough room for 3DXML conversion? The converter has a memory footprint that's bigger than you might think (certainly bigger than I thought, and I made the thing... I'd like to look into optimizing that sometime). If that's not the issue, and it is something like another update interfering... hm. Well, I'll keep an eye on it and update it if I figure anything out. I'll be updating it to a new version of Unity sooner or later to take advantage of the 32-bit mesh index buffers introduced in Unity 2017.3 (won't affect actual conversion, just viewing within the program), but I'd like to wait for that version of Unity to be patched a bit first (the engine has had a history of putting out updates with significant bugs recently...).
  7. LEGO Quest & Collect (Mobile RPG)

    Well, the game had its grand launch in July (was only ever available in/around Asia), and in November it was announced that it'll be closing in February... https://www.facebook.com/legoquestandcollectgame/ So... yeah.
  8. More updates have happened since I last posted - mostly related to LEGO Universe-style color variation, but it also now comes in a 64-bit version, and mesh welding on large models now takes a fraction of the time it used to thanks to grappigegovert. Also revised the first post.
  9. Yeah, a friend of mine made that some years back - as far as I know, he didn't encounter any infringement issues, but was worried he might, and pulled it from GitHub himself preemptively. It didn't support flexible elements, textures/UV maps, or multi-color pieces though. That'd be the ideal solution - I imagine the hardest part in matching a 3DVIA Printscreen rip with that method would be re-implementing LDD's hidden surface removal (which LEGO patented, in fact), as that'd involve reverse engineering the connectivity system to determine what parts of a brick to hide or replace. With 3DVIA Printscreen, you get the model with that already done by LDD. Anyway, I've updated the program twice since I last added a reply here. In short: Colors and decorations are now given their proper LEGO names/IDs. 3DXML files don't contain this info, but the program has a list of all of LDD's colors and hashes of all its decorations - so it can accurately look up things it finds in the 3DXML and match them to their official names/IDs, without containing any actual LDD data/files itself. It's also capable of regenerating its internal lists from official LDD data, in case LDD ever adds/changes them in an update. The options for that are in the program's developer menu (accessed via Shift + D)... I'll probably put more details on the GitHub readme later. Added custom color palettes (for if you want to replace LDD's RGBA values/names with your own - I've included a custom palette file of the LEGO Universe MMO's color palette as an example). The program now automatically enforces valid OBJ/MTL names. So, no longer any chance of surprises with materials not loading because your MTL has a space in the name (which is officially disallowed by the format). There's a few other additions/changes, and a bug fix for how some colors were loading with slightly incorrect RGB values (bad rounding when reading from the 3DXML), but the above is the important stuff. Download link is in the first post, blah blah.
  10. Added material and texture loading/exporting today; first post updated accordingly. There's still one feature idea I might add if/when I feel like it: Comparing colors against a bunch of "known colors" to give them their proper LEGO color names (since LEGO color names/IDs aren't preserved in 3DXML rips). Would be much nicer to work with than Material0, Material1, etc.
  11. I've been working on other projects this month but took a quick break from them to add the LXF/LXFML camera position editing feature mentioned by @Jarema. Download link in the first post has been updated. Also did some comparisons in triangle count between 3D LEGO libraries/export methods, in case anyone was wondering just how much more optimized these models are, mostly thanks to LDD's hidden stud/tube removal - I added them to the first post, but here they are again: Certainly nothing to sneeze at if you're doing realtime rendering stuff, especially the more complex your models are. (And they can still be optimized further from the LDD captures, especially if you have specific usage in mind - for example, if the test house were in a game, players would be unlikely to see the tubes for the underside of the roof. So by removing them + making some misc other optimizations by hand, I was able to get the test house down to a mere 884 triangles! Which is probably optimization overkill, but I wanted to see how far I could go with it, haha.)
  12. Mike Rayhawk, who's done a lot of stuff for LEGO, shared something pretty funny/interesting on Twitter today. I've put each tweet in this quote, since embedding the tweets themselves would be rather clunky. You can read the original threads here and here.
  13. Yeah, there's an import script for 3ds Max as well, but both that and the method you described are dependent on using specific modeling software. I wanted a tool that would just work on its own, so I made one (or am still making, rather, as there's still material + textures to get to, but the geometry is the most important bit for my own personal usage). Also, I'd only alluded to this slightly, but the main benefit of using 3DVIA Printscreen captures from LDD is that the models immediately come out much, much more optimized for realtime rendering (in games or anything else interactive, aka nearly all my 3D LEGO projects) than with any other currently available method. Hidden studs and tubes are automatically removed, saving substantial amounts of work, and LDD's brick geometry is altogether far more optimized for realtime rendering than the LDraw library. Since most of Eurobricks is probably focused on making pretty renderings like the ones you linked to (very nice, BTW!), rather than interactive/realtime rendering projects, I'll add some text at the start of the topic mentioning that it's more useful for the latter.
  14. Thanks for the feedback! I'm not sure I can do anything about the first point, as it has to do with 3DVIA Printscreen, rather than my 3DXML to OBJ program (which only converts the 3DXML files 3DVIA Printscreen creates). But I can certainly add a feature to change the camera position in LXFML files automatically (and LXF files too, as they're just renamed ZIP files containing LXFMLs).
  15. 3DVIA Printscreen can capture LEGO Digital Designer models and save them as 3DXML files. It was discontinued years ago, but can still be downloaded from the web archives (direct installer link). Not many programs can load 3DXML files, so I made a program to convert them to OBJ. It does some other helpful things too. Download The resulting models are far more optimized for realtime rendering (games, AR, etc) than exports from other LEGO building software, thanks to LDD's hidden stud/tube removal. For example, a small house model that's 50350 tris exported from LeoCAD is only 13548 tris with this method - and with some additional tricks, only 2586 tris. More info here. I've only made this to work with LDD captures, compatibility with captures from other programs is not guaranteed. It will automatically name materials and textures with their official LEGO names/IDs. Setup: 3DVIA Printscreen should be configured so "Capture of textures" is on, and "Group by textures" is off. LDD should have high-quality rendering options disabled. 3DVIA Printscreen must be launched BEFORE LDD. Usage: Save your LDD model in 3DXML to OBJ's "Models" folder. Launch 3DXML to OBJ and enter your LDD model name in the first text box, then click "Move camera". This saves a new LDD model with the camera set in the proper position for 3DXML capturing. Open the new LDD model (it will have CAM_SET in the name) and capture it to a 3DXML file with 3DVIA Printscreen. Make sure it's saved in 3DXML to OBJ's "Models" folder, like the LDD models. Enter the name of your 3DXML file into the second text box in 3DXML to OBJ. I recommend leaving "Weld duplicate vertices" enabled. Choose a new color palette if you'd like, and click "Convert". It sounds more complicated than it is. Here's a model being converted and imported into Unity: Clicking the "Advanced" button will give you a bunch of options related to LEGO Universe-style color variation. However, making use of these features requires modding LDD, which I don't think is allowed to be discussed on Eurobricks, so I won't talk about it here. It's mostly only useful to people who are modding LEGO Universe and need to match its art style, anyway. LDD's hidden geometry removal gives pretty good results on its own, but with some trickery you can get even more mileage out of it: You can tell 3DXML to OBJ to not export bricks in certain colors, which is useful for "dummy bricks" only placed in the model to trip LDD's hidden geometry removal. In 3DXML to OBJ v1.8.0_Data\StreamingAssets, you will find "Color Export Exclusion.txt". Add the desired color IDs here, one per line. Covering studs is obvious enough, but tubes are a bit more finicky. Original LDD model, vs export with the dummy bricks excluded: A simple brick has the entire underside present. These quickly add up to loads of polygons. Placing 1x1 round plates across the surface causes LDD to replace the underside with two triangles. Nice! There's a small handful of other parts with this effect, but 1x1 round plates are the best. In fact, even just one 1x1 round plate can trigger this so long as the rest is still covered. Covering the bottom entirely will cause LDD remove it 100%. Beware: Some bricks, like those rounded 2x2 pieces, will look like they have the same effect as 1x1 round plates, but actually don't... They still leave much of the tubes intact. This trick is how I got that house with 13548 tris down to only 2586 tris - simply by capping off the bottoms of the roof and walls. More tips and tricks! If 3DVIA Printscreen is causing LDD to freeze and/or not launch, see this post. If you have developer mode enabled in LDD, you can press Shift W to toggle wireframe mode. You can also turn rendering of different parts of bricks on and off. LDD's bricks come in four sections, and can be toggled as such: K: Toggles studs Shift K: Toggles bottom and inside of tubes Q: Toggles outside of brick Shift Q: Toggles bottom and inside of brick You can use this to, for example, capture a model without studs, and use that as a lower LOD. Don't have developer mode enabled? Go to the same AppData folder as db.lif and developermode=1 to preferences.ini. You can add your own custom color palettes, just go to 3DXML to OBJ v1.8.0_Data\StreamingAssets\Custom Palettes and use the existing files as examples of how they work. If for some reason you need to, Shift R resets 3DXML to OBJ's saved preferences (resolution, most recent conversion options, etc).