• Holopad - A Hologram modelling GUI/exporter
    49 replies, posted
One day last year I got annoyed because I was trying to make a detailed holo model and twiddling numbers in E2 isn't fun. Instead of doing the logical thing - flip the computer through the window and go outside - I decided to spend more time creating Holopad than finishing that model would ever have taken :v: What this thing does is allows you to create a hologram model with a modelling program (like 3DSMAX or Blender) and then export the model into an E2 chip - without ever touching a line of E2 code. I tried making the layout of the editor as intuitive as possible, and so far I haven't heard (many) complaints. We've used it so far to create vehicle parts, hats, characters and weapons, and I can't wait to see what you'll do with it! I think that Holopad is complete enough to release it to a wider audience, but be aware that it's still in development. (that being the reason why I decided to post here :) ) I've been testing it with friends for a while now and we haven't discovered any huge bugs for a while, so today I'm setting it loose. [h2]Pix for clix;[/h2] UFO to E2 in 10 seconds; [img_thumb]https://dl.dropbox.com/u/902553/Pictures/Screens/Holopad/release/lol1.png[/img_thumb] [img_thumb]https://dl.dropbox.com/u/902553/Pictures/Screens/Holopad/release/lol4.png[/img_thumb] [img_thumb]https://dl.dropbox.com/u/902553/Pictures/Screens/Holopad/release/gm_construct0004.jpg[/img_thumb] Now with holoModelAny support! [img_thumb]https://dl.dropbox.com/u/902553/Pictures/Screens/Holopad/release/lol3.png[/img_thumb] [url=https://dl.dropbox.com/u/902553/Pictures/Screens/Holopad/release/gm_desertdriving0006.jpg]Screenshots[/url] [url=https://dl.dropbox.com/u/902553/Pictures/Screens/Holopad/release/gm_desertdriving0007.jpg]of the[/url] [url=https://dl.dropbox.com/u/902553/Pictures/Screens/Holopad/release/gm_desertdriving0010.jpg]development[/url] [url=https://dl.dropbox.com/u/902553/Pictures/Screens/Holopad/release/freespace06_v2-10054.jpg]process[/url] [h2]Super Classy Art Gallery[/h2] Programmer art by me; [img_thumb]https://dl.dropbox.com/u/902553/Pictures/Screens/Holopad/release/lol2.png[/img_thumb] Superior art by [url=http://steamcommunity.com/profiles/76561198033561836/]The Emperor of Justice!!![/url]; [img_thumb]https://dl.dropbox.com/u/902553/Pictures/Screens/Holopad/release/emperor.jpg[/img_thumb] More art incoming! [h2]Downloads![/h2] The current release can be found below. This addon runs on GM 12! [url=http://code.google.com/p/holopad/downloads/list]Google Code (.zip)[/url] [url=http://holopad.googlecode.com/svn/trunk/]SVN Download (Google Code)[/url] [h2]Usage[/h2] In order to use Holopad, download it from a link above, put it in your addons folder, open your console and type Holopad. Bind it to a key if you like :v: The buttons on the top strip are basic commands: save/load from project file, export to E2, spawn/delete holos, and the various tool-modes you'll be using to make your model. When you select a tool-mode, relevant operations will appear in the panel on the right. You can spawn holos by clicking on the "Spawn Holos" button and then selecting a holo from the spawn menu on the left. Make sure to save your progress regularly in Project files by using the "Save to PRJ" button. [b]EXPORTING TO E2 IS NOT THE SAME AS SAVING YOUR WORK[/b] If they're needed, I'll create a series of video tutorials on how to use the editor. I can't start on these right now but I'll definitely do so when GM13 comes out. [h2]Bug reports and suggestions![/h2] I'm damn sure that I'm not the perfect programmer, so there will be times that you'll come across a bug or two. If you find a bug, [url=http://code.google.com/p/holopad/issues/list]please report it in here[/url], PM it to me or send me an email. I'll love you forever (0.1% homo). If you have an idea for a feature or an improvement, please contact me in the same way as if you had a bug (easier for me to find!) Half of the features in Holopad were requested by my beta team, so I'm more than likely to add your suggestion too if it's sensible! [h2]Planned features[/h2] The current TODO list can be found at: [url]http://code.google.com/p/holopad/wiki/TheAlmightyTODO[/url] [h2]Credits[/h2] I did most of the work (code, textures etc), but I'd be far behind if not for these people; [b]Cre8or, Lubstar, PcmciaKai, The Emperor of Justice!!![/b] (sorry if i forgot anyone) : The contributing beta team [b]The Emperor of Justice!!![/b] created the default "Holopad" Project file [b]The Gluttony community[/b] for putting up with my development thread :v: [b]Vercas[/b]; contributing a holo creation template and creating the vON de/serializer (tyvm, it rocks!) [b]The FP build community[/b] for helping me test the earlier versions of Holopad. [b]The FP lua community[/b] for answering questions and being awesome. [b]Divran[/b] for fixing the scaling problems with tiny holos. Have fun!
I've been watching your progress on this for a while and i'm glad to see you finally finished it. I hope you keep improving it, because things like this keep WIREMOD alive.
I can't wait to finally make some detailed gauges for my cars! Thanks so much for this, especially in conjunction with unrezt's new alphabet models.
Updated! Added model selection window and holo selection list. [img_thumb]https://dl.dropbox.com/u/902553/Pictures/Screens/Holopad/release/hurrdurr1.png[/img_thumb][img_thumb]https://dl.dropbox.com/u/902553/Pictures/Screens/Holopad/release/hurrdurr2.png[/img_thumb] [b][url=http://code.google.com/p/holopad/downloads/list]Download from google code[/url] or checkout the svn.[/b] And some more art from The Emperor of Justice!!!; [img_thumb]https://dl.dropbox.com/u/902553/Pictures/Screens/Holopad/release/lol1.jpg[/img_thumb][img_thumb]https://dl.dropbox.com/u/902553/Pictures/Screens/Holopad/release/lol2.jpg[/img_thumb][img_thumb]https://dl.dropbox.com/u/902553/Pictures/Screens/Holopad/release/lol3.jpg[/img_thumb] One of my beta guys is having trouble with this update but I can't replicate his problems. I'm putting it down to installation difficulties :v: Tell me if you come across the same, I didn't change anything that could kill the startup though.
Thanks so much for this great tool. I've already accustomed myself to manually coding holograms, but I'm sure this will cut down on time immensely once I get used to it.
New version, BETA 5.3 (released due to prominent bugfixes) Download/SVN at [url=http://code.google.com/p/holopad/downloads/list]Google Code[/url] Changelog (i love svn!); [code] Fixed entity dialogue not showing changes in the scene. Fixed small logic error handling entity selection dialogue. Removed debugging print calls from entity dialogue. Fixed number boxes not updating in the scale and angle windows. Reverted optimization on angular snap which broke it. Oops! Added viewport lighting persistence Added new grid styles. Added support for changing grid styles. Added grid style persistence. Increased E2 export precision to 6DP Using compact number representation in E2 exporter Today is the 26th! TODO: automate the date. [/code] [img]https://dl.dropbox.com/u/902553/Pictures/Screens/Holopad/discogrid.png[/img]
I don't care how long it will take, but I'll convert my existing E2s to holopad files just to see how badass that'll look in a WYSIWYG-style 3D editor. Have all of my cookies.
Do you think that at some point you will make them have physic meshes? It would be a great addition in my honest opinion.
Unlikely, sorry. The scope of the project is a holo modelling studio, solid holos don't really fit in there. Not even sure if it's possible in GM12. I've seen some amazing things in GM13 though so here's the deal; If you manage to convince someone to create an addon which generates collision meshes for a group of models and then manage to get the addon into the Wire core or UWSVN, then sure I can add that! :v:
New version, BETA 5.4! I've implemented a new E2 exporter which is more compact than the old one and supports unlimited holos and clips! No bugs or faulty exports so far. [highlight]This update uses the NEW error() E2 function. Update your wiremod before using![/highlight] Download/SVN @ [url=http://code.google.com/p/holopad/downloads/list]Google Code[/url] [img]https://dl.dropbox.com/u/902553/Pictures/Screens/Holopad/holopad_2012-08-27.jpg[/img]
I keep finding myself Trying to hold shift and moving a hologram to instantly clone it. Think you could add in that feature? It's used a lot in 3ds Max, Maya, ... Spore xD Perhaps While on the subject of popular hot keys: Shift+Drag :Clones selected hologram Control + Click : Select Multiple Holograms Control + Shift + Drag : Draw Bounding Box to select multiple Holograms Delete : Deletes Selected Holograms. Clicking the actual hologram should be able to select it as well, instead of being forced to use the handle. Clicking Handles multiple times to cycle holograms in the same space.... Clicking an Item in the list should immediately select the hologram corresponding Drag Items in the list to reorganize I'm really just spit balling, but it'd make the program so much more intuitive =D triple edit! On another note, it seems your new version of exporting is messing with clips? [img_thumb]http://cloud.steampowered.com/ugc/560950979429282565/5BC3D763DC00FF108F99EDB668793BA449856B56/[/img_thumb]
I don't mean to be a hassle, but being new to holograms and learning them with e2, this latest exporting method is exceptionally complicated to me. I don't understand why my runOnTick(1) commands don't seem to be working anymore, or why it's not updating the needles to rotate. It's like theres something else going on in this new code and i.. I just don't understand what im reading.
[QUOTE=Vicious713;37436449]I don't mean to be a hassle, but being new to holograms and learning them with e2, this latest exporting method is exceptionally complicated to me. I don't understand why my runOnTick(1) commands don't seem to be working anymore, or why it's not updating the needles to rotate. It's like theres something else going on in this new code and i.. I just don't understand what im reading.[/QUOTE] Find which one of the Holos[#,array] is your needle. Go down to HoloSpawned write a new holoAng(#,ang()) inside the function brackets to overwrite the holo angles, and put your RPM code in there. Example: [CODE]#[ Unnamed Holo ]# [U][B] Holos[6, array][/B][/U] = array(vec(0.0000, -32.9132, 41.2338), vec(0.3000, 0.3000, 13.0740), vec4(255, 255, 255, 255),[B] [U]ang(0.0000, 180.0000, 0.0000)[/U][/B], "hq_rcylinder", "", 0) ########## TotalHolos = Holos:count() if (0 > holoClipsAvailable()) {error("A holo has too many clips to spawn on this server! (Max is " + holoClipsAvailable() + ")")} } #You may place code here if it doesn't require all of the holograms to be spawned. if (HolosSpawned) { #Your code goes here if it needs all of the holograms to be spawned! [U][B]holoAng(6,This:toWorld(ang(0,180+RPM/Stuff,0))) # and put your RPM code on this using the 6th Index as we see up on the array[/B][/U] }[/CODE]
[QUOTE=Vicious713;37433804]I keep finding myself Trying to hold shift and moving a hologram to instantly clone it. Think you could add in that feature? It's used a lot in 3ds Max, Maya, ... Spore xD Perhaps While on the subject of popular hot keys: Shift+Drag :Clones selected hologram Control + Click : Select Multiple Holograms Control + Shift + Drag : Draw Bounding Box to select multiple Holograms Delete : Deletes Selected Holograms. Clicking the actual hologram should be able to select it as well, instead of being forced to use the handle. Clicking Handles multiple times to cycle holograms in the same space.... Clicking an Item in the list should immediately select the hologram corresponding Drag Items in the list to reorganize I'm really just spit balling, but it'd make the program so much more intuitive =D triple edit! On another note, it seems your new version of exporting is messing with clips? [/quote] Thanks, I'll re-add the old exporter as an option until I figure out what's wrecking your export. Can you send me the savefile of that model so I can use it in debugging? (should be in garrysmod/data/Holopad) The only reason the circle handles are in Holopad is because clientside models don't have collision meshes, and therefore I can't use traces to determine which holo you want to select. You have to use the handles because I can't think of any alternative that will work once coded. Multi-click selection cycling and list re-organizing are not currently feasible. I will make them so if they become a popular request. Also yeah keyboard shortcuts are on the TODO list, they'll appear eventually and I'll be sure to include the ones you listed. Cheers! Also, one of the reasons I added the naming feature in Holopad is so that you can easily find your holos in the E2 code ;) [b]EDIT;[/b] Holopad BETA 5.4.1 adds a checkbox to the E2 Export window to allow exporting with the old E2 format. [url=http://code.google.com/p/holopad/downloads/list]Google Code[/url]
What about adding a 'New' button, to make it easier to start from scratch, instead of saving a blank file and loading it. heh :D
Apparently the reason my clips were weird had something to do with my private server not having holos set to being any model at all. >.>
So I'm in the clear? Thanks for posting back, I was checking over my code and was a little worried :v: Took a break today. The monkeys will resume work tomorrow!
New version, BETA 5.5! The real reason I wanted to put this update out quickly is because of the third item in the changelog. A few people were getting confused about the new E2 export code, so I made an intermediate-level tutorial on it: [url=http://code.google.com/p/holopad/wiki/NewE2ExportFormatHOWTO]New E2 Export format: HOW TO.[/url] Tell me if the tutorial is confusing. Tips for clarification, etc. This is not a tutorial on how to E2, just one on the export format. [code] Added Autosave options to the Save button Removed the clip-plane warnings. Added wiki link to the new E2 exporter. Fixed bug in persistence library concerning boolean false. Verified that autosaves do not overwrite original project files. [/code] Download/SVN @ [url=http://code.google.com/p/holopad/downloads/list]Google Code[/url] [img]https://dl.dropbox.com/u/902553/Pictures/Screens/Holopad/holopad_2012-08-30.png[/img]
This is probably one of the coolest things I have seen made for gmod. Good work!
Will there be an ability to Import holograms?
Potentially. I'm trying to avoid parsing E2 code (because that would suck) but I realized it'd be a lot easier to make someone spawn their E2 and then Holopad can scan the holograms in the world and copy them into itself. That's what I'd aim for if I'm ever going to add that feature.
This is sex
I downloaded this. It's kinda cool. But can you explain how the models render? I've asked and no one answered.
Assuming you mean the models inside the viewport? A collection of ClientsideModels which get drawn in the panel's paint hook using a 3d camera. Check out lines 678-774 in lua\holopad\gui\DViewport_Holopad.lua for details. In other news I haven't been spending a lot of time on holopad recently, other work has arisen and I'm getting prepared for uni. I'll get back to this soon.
Hey guys, this is not dead! I've been spending a lot of time preparing for my new term at uni and I'm in the middle of moving my things back into the dorms. However, whenever I gave myself some free "candy coding" time, I've been working on a system to futureproof Holopad - and allow for unlimited, arbitrarily complex operations in one panel. It's an app store! :D [img_thumb]https://dl.dropbox.com/u/902553/Pictures/Screens/Holopad/holopad_2012-09-16_1.png[/img_thumb] [img_thumb]https://dl.dropbox.com/u/902553/Pictures/Screens/Holopad/holopad_2012-09-16_2.png[/img_thumb] i'm holobaq (lololollo)
New version, BETA 6! Tools and bugfixes! [code] Cleaned up most unnecessary print calls Fixed dangling timer bug in E2 and File dialogues Fixed the entity dialogue Added the tool system! Added Tool selection list button and tool "app store" Added Mirror tool - courtesy of Wenli's Precision Alignment tool. Added Measure tool Fixed viewport materials sticking when changing lighting modes Removed "max holos" from viewport statistics Added Utility branch in Entity inheritance tree, for use in tools Fixed some cloning bugs. Added ability to define planes by normal and position (currently internal, thanks FPtje!) Fixed bugs in the Model object Misc code cleanup Added "Exportable" attribute to all Entities in anticipation of new Tool system Optimized scaling procedure Spring cleaning! Scaling parent holograms now correctly scales child positions Fixed entity dialogue opening off-screen due to the screen clamping code... what the- [/code] Download/SVN @ [url=http://code.google.com/p/holopad/downloads/list]Google Code[/url] Check my progress on BETA 7 @ [url=http://code.google.com/p/holopad/wiki/TheAlmightyTODO]The TODO page![/url] [img]https://dl.dropbox.com/u/902553/Pictures/Screens/Holopad/holopad_2012-09-16.png[/img]
Uri Geller thought he was hot shit when he bent spoons with the power of his mind. That's old news, now YOU can bend SPACECRAFT with the power of YOUR MIND (+ mouse)!!! [img]https://dl.dropbox.com/u/902553/Pictures/Screens/Holopad/holopad_2012-09-17.png[/img] [code]Added plane materials (clip and mirror) Added "clip along mirror plane" option to the Mirror Tool - BE CAREFUL: the tool does not check for plane intersections - it just clips everything! Added units to the Measure Tool - correct assuming that 1 GLU = 1 inch![/code] Download/SVN @ [url=http://code.google.com/p/holopad/downloads/list]Google Code[/url] Check my progress on BETA 7 @ [url=http://code.google.com/p/holopad/wiki/TheAlmightyTODO]The TODO page![/url]
I think you just won the game. [b]Next step:[/b] Blender: Garry's Mod Holo Expression 2 Edition (Animations + Bone system)
I'm beginning the process of adding keybinds to Holopad. I've quickly added two basics: CTRL+A (select all) and DEL (delete selected). I've got the following planned: [code] ALT+RDRAG: selection box CTRL+C: clone selected CTRL+N: new scene with confirmation CTRL+S: save as, overwrite last named savefile else open save dialogue CTRL+P: export as last named export else open export dialogue WASD: camera controls (pan in hammer mode, rotate in studio mode) [/code] Any requests?
I can't get it to open. I've got the SVN fullt updated, its in addons, in its own folder, I can't figure out why it won't open. Ideas?
Sorry, you need to Log In to post a reply to this thread.