Home Coding, Scripting, Shaders

Tech Artist - What are you working on: FOREVER Edition!

17810121356

Replies

  • commander_keen
    Offline / Send Message
    commander_keen polycounter lvl 18
    That looks great OutOfInspiration. Squish down the UI though because I dont think it would fit on my small monitor (1440x900).
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    to many items, looks very bloated and uber complicated to use. Maybe start with a basic mode that has only the most important things, and then some advanced mode that expands all the crazy settings that only a few people however really need ;)
    like this:
    totexcompressed.gif
    looks functional to me because it doesn't have to many UI elements although it could be even less. Like the resolution presets could be perhaps within a dropdown menu. Padding and channel id can use way less space as they are often only 1 or 2 digit numbers.
    Anyway the less buttons you can make it work with the more likely people won't be afraid using and installing it, and the less can be done wrong while using it.

    Maybe there is a way to work in 2 columns for the maps, or icons or something that works better in a grid or table. There are some scattered option buttons at the top as well, maybe hide them in one option panel? Also it seems you have twice a close button one from the panel and another one placed manually.
  • OutOfInspiration
    Offline / Send Message
    OutOfInspiration polycounter lvl 10
    cool great feedback.

    comander_keen: you can shorten the list down in the settings panel what you want to use. But there are indeed still elements who take too much room in the UI. and did not think about the resolution of certain monitors.

    Renderhjs, you are right, I could maybe just show the main default maps on install and that they can re-adjust it later.

    I'll try working on the top design (res, channel, padding,...) that it is more compact. But I want to avoid that things will get too hectic on a small space.

    For the two closing buttons. The reason is that when ToTex is docked you don't have the default window close button (but I'll toggle it visible when docked) thanks for telling.

    I could see for fitting Icons for each map but I think it will be quiet difficult for small size stuff, and I think making large thumbs will take way too much room.

    cool, any more feedback or suggestions more than welcome!
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    that it is more compact. But I want to avoid that things will get too hectic on a small space.
    There is always that tricky balance between noob and pro tool (i.e. poser / maya) or bloated vs. minimalistic (i.e. silo / max).
    But if you make a cut towards productivity (not functionality!) you should find a good middle path. Obviously as a developer your interests are more of a functionality nature (I have that too) but a user just wants a tool that doesn't get in his way, period!
    So things like:
    • to many buttons to choose
    • to many labels and listings
    • to long words to read
    • to much space to scroll (size)
    • elements that are not necessary
    all get in their way and increases frustration or less interest in using it to begin with. There are some very good examples out there how the 2 however can be bridged. I think a normal and expert mode could be a interesting move here.
    How you solve that expert mode is up to you, it could be a expander - or you group stuff to begin with in drop down menus or expandable things that show the most important ones to begin with.
    And just like classic UI design if it comes down to numbers 3-5 items always is good. 7+ is bad as it forces you to read through the whole stuff and search.
    I could see for fitting Icons for each map but I think it will be quiet difficult for small size stuff, and I think making large thumbs will take way too much room.
    Some hate it others like it, I would combine a icon or graphic with some pixel font in the image, or some indication like nrml = normal map, dif = difuse,... It needs to be a quick trigger so people will pick it up right after they looked at it for the first time. Color indicators can be great too but are hard to execute because it often starts looking like some disco graphics.

    Just check modo, blender 2.5, PS, or some other industry tools and what they used for icons in certain UI stages. Designing a good UI is often harder as scripting the fun parts but its almost if not more important.
  • Chai
    Offline / Send Message
    Chai polycounter lvl 18
    I never liked skinning in Maya, I have wrote a visualWeights tool, and revamped/optimized a controller someone made which is like max

    [ame]http://www.youtube.com/watch?v=OrqYYU69LH8[/ame]
  • OutOfInspiration
    Offline / Send Message
    OutOfInspiration polycounter lvl 10
    Thanks renderhjs,
    really great and solid tips. It is indeed a really difficult task to develop a good user interface, that works for everyone. And of course presentation is everything in a successful program.

    I'll work on a new design soon and I'll try to to block some designs out in PS. (if you don't mind i'll PM when I've a new solid result to show)

    Thanks and will post more soon :)

    Chai: looks cool, always good to see some similarity in maya from max. Maya is soo difficult to learn and some max-feeling in it is always nice :p
  • Andreas
    Offline / Send Message
    Andreas polycounter lvl 11
    Looking great Outof, looking forward to testing it!
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    OutOfInspiration:
    I took the liberty of another mockup
    totexuiredesign.gif
    there is only one button and its big and in the lower right corner (usually confirmation corner). Maps are placed in a multi list view (can be done with a dotnet control). You had some -maps names in the maps list I don't think that that is needed, just name them normal, complete,... try cutting down everywhere.
    I thought it could be a quick and cool idea to have a slider to quickly pick a preset for common resolution sizes. Maybe the width and height fields would even go away in the normal mode. In the lower left corner is a checkbox for the advanced mode, if you check it the maps list expands (scrollable) and some other settings appear perhaps. The channels are selected through a drop down menu (its more obvious that way that there will be only 1-4 or whatever). But again what I like most about this, just 1 big button that does the job for you, no big confusion.

    Anyway I try to get you some inspiration, could be a nifty tool with a nice UI.
  • Mark Dygert
    perna wrote: »
    renderhjs/OutOfInspiration: Yeah, you can remove the padding option too and just set it to the highest possible value. And: Remove "specular" bake, or put it in the "advanced" section. Who ever bakes specular? And it seems width and height are identical, in which case you don't need to state both values.
    I totally agree its not all that common to bake spec and it probably doesn't need to be cluttering things up.

    However, on a few occasions I have baked spec, more like just used the slot to output masks at the same time I'm baking diffuse and normal. IF I use the spec slot its for things like a secondary set of light scratches or a dirt tile set to UV2 (so the tile texture flows seamlessly across UV shells). It just helps to have those masks set up to automatically push out with the rest if I have to re-bake.
  • OutOfInspiration
    Offline / Send Message
    OutOfInspiration polycounter lvl 10
    thanks for all the reponse, really helpful tips.

    @renderHJS: I'll check out the possibilities of the listview.
    About the ChannelID, is it possible to check what Channels are used in the object? is it often just going from 1-4? If it is just 1-4 are people not going to be restricted?

    @perna: thanks, I looked it up and found out that padding just needs to be maxed out. and that it doesn't have any effect on the result. Cool :) saved some room. And will see what maps will be active in the default mode.

    @Mark Dygert: with the technique of the seamless scratches you spoke of, do you think I can implement something in ToTex? Can be interesting, what kind of tile-textures do you use for it? Maybe I can make a slot where you can link a texture to it and that it will bake it out with a cylinder unwrap on the active UV. (did something similar (Gradient TD) ). Think it is a interesting idea?


    So here is an mock-up I did in PS from your feedback, the new design already saved me 200px. So it s really helpful.

    So for the expert mode: (M button) I was thinking that I would place a button on the top next to 'settings', when pressed all hidden maps will be shown, and this can be toggled on or off.

    So padding is scrapped from the design.
    Resolution has only one slot, and buttons for moving up to a higher/lower value, like jump to 512, 1024, 2048, ... , Think it takes less place than a slider.

    'Send R2T' button is gone, and I'll place it when you right-click on Bake button or ctrl click (I'll see, since it is not a that common thing to use)

    Bake and openfolder is next to eachother, one line is easier to read and I think with the Icon it is clear enough what the button will do.

    what ya think?

    note: I forgot to place Channel, I think I would place it next to the resolution.

    ToTexUI_Preview1.png
  • rumblesushi
    OOI, that does look like a useful tool indeed. I'm going to play around with the existing one, and look forward to any updates.
  • rumblesushi
    I decided to benchmark my 3D collision detection routine recently, and it's fast. Very fast.

    Here's a demo - http://rumblesushi.com/grid2.html

    Hold 1 to add upto 1000 objects. Press C to switch to a FPS camera, which is a collidable object too.

    On the above demo with 1000 active objects I get 38 fps. The exact same demo with collision detection turned off, I get 46 FPS. So the vast majority of juice is spent on transforming/culling/rendering.

    For proper 3D collision detection in Flash it's pretty much as fast as it gets.

    Because it's a sphere to triangle routine, it's a lot more involved than a simple raycast. If the raycast fails, you need 6 more collision checks against the verts and edges. It's also recursive by nature, you can't finish the routine after finding 1 collision.

    When my first game is released I'm going to work on some blazing fast solid body dynamics. Especially after seeing the abysmal performance of jiglibflash, I'm inspired to see how fast I can get it running. JLF's performance is atrocious. Just 10 stacked boxes runs at 20fps. It beggers belief.

    I'm aiming for at least 50 stacked boxes running at 60fps.
  • rumblesushi
    Thanks Perna.

    You can press U to unlock the 1000 cap, but after 2000 ships object to object collision gets switched off, as too much juice is used (on object rather than environment collision) with that many objects in such a small arena.

    And this demo is more designed to test environment collisions rather than object.

    You're right, I should have added some larger objects, because although the object to object collision is basic, it takes mass into account, so large objects bash small ones away easily etc.

    But because this is a benchmark more than anything, I wanted to make sure the objects are no bigger than the nodes, so it's very fast to add/remove them.

    By the way I forgot to say, one of the reasons the routine is so quick is I'm using a grid as a broadphase, which has almost no overhead compared to an octree, and for low poly stuff, cuts down the collision checks by more or less the same amount.
  • rumblesushi
    By default, I'm not calculating collisions with any objects that are offscreen, they get completely culled, they get frozen effectively.

    However you can press M to force update on all objects, even offscreen, so no doubt you'll get a lower framerate, even if you're just in the corner etc ;)

    You'll probably get a more consistent (and lower) framerate after pressing M, but it's still going to be largely dependant on viewable objects, as rendering is always the bottleneck in my humble software renderer :)
  • OutOfInspiration
    Offline / Send Message
    OutOfInspiration polycounter lvl 10
    @rumblesushi:damn amazing for flash app, too bad I don't know anything about such things.
    Allready specific plans in what kind of games that you will make with this engine?

    So I published the new version of ToTex. Changed the UI completely with thanks to all the feedback. Quiet happy with the results. :)

    Feel free to test it out:
    http://sven.fraeysweb.be/tools/index.php?page=totex

    The resolution swap is solved with a second spinner, this makes it jump to the next wanted resolution size (the most common used from the power of 2)

    Expert mode shows all the maps of ToTex, you can toggle it, I think it gives a good usability for the user to access maps that they don't use that often.

    Any suggestions for improvement? :)
    thanks all!

    totex_2.3.png
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    tested it, feels very nice :) already a lot more lightweight. Some suggestions:
    • use a ImgTag instead of Bitmap UI control to place the logo at the top. The advantage is that it doesn't show the sunken 3d edge effect and it might look a bit more clean.
    • I closed it and then wanted to find it back, why was it not in a ToTex category where I gues anyone would assume it? I had to install it again to figure out in the '?' panel that its stored in 'OoiTools' . If it were me I'd just name it ToTex- less confusion for everyone.
    • it can look a bit funny on a dark theme because all your icons are not transparent. I guess this is minor but some alpha transparency for the icons could be nice or a forced background color for the rollout.
    • Get rid of the close button if its in normal floating mode, its just not needed and confuses a hell lot.
    • place the save settings buttons in the settings panel, just clean up those buttons at the top.
    • The dock thing is nice but is that button needed? can't it be placed in a context menu of the logo same with the about? They are not that important that they need to be visible all the time.
    • when you create the the dialog using createDialog you can modify the style (minimize, close button,...) wiht the [style:] attribute which takes an array of settings. Use perhaps the "#style_toolwindow" as its more suited for a tool window with a smaller font only the close button.
    • just like before the createDialog has a [menu:] property, maybe use that for the general buttons?
  • rumblesushi
    OutOfInspiration - thankyou. I've worked very, very hard to achieve performance leagues above any other 3D in Flash.

    In regards to games, I'm working on my first game now, an arcade style racing game, and have a handful of solid game ideas. Pretty much all fast, fun, arcadey games, plus a first person shooter.

    By the way, your baking tool should prove to be very useful to me. Seeing as it's a software engine with no dynamic lighting, I'm obviously going to be doing a lot of texture baking ;)
  • MattLichy
    @OutOfInspiration

    Yeah man, thats a pretty awesome tool you got there :D.

    I don't mind the new layout, I think it works well.

    What are the two spinners for though for the bake dimensions? Does that setup allow for non square images? If not, that would be one thing to add.

    It's a little picky, but might be nice to have a plus sign next to Projection to add a Projection modifier to the current object at the top of the stack :).

    Also, I like to turn off the cage while projecting alot of the time, and change the offset value, but it seems you are just using a projection, via cage only right now?

    Anyways, awesome stuff.
  • Warheart
    Offline / Send Message
    Warheart polycounter lvl 17
    Chai wrote: »
    I never liked skinning in Maya, I have wrote a visualWeights tool, and revamped/optimized a controller someone made which is like max

    http://www.youtube.com/watch?v=OrqYYU69LH8


    Chai, that looks really great. I've also revamped/optimised that same tool which is what I use to edit bind weights at the moment but I've only really had time make it usable. Also been meaning to come up with a method for visualising skin weighting while using that tool. Seems like you've already beaten me to it :)

    Do you have any plans to release those?
  • Kwramm
    Offline / Send Message
    Kwramm interpolator
    I feel like a hero after compiling and making ctypes, PIL, pyODBC and Qt work on Maya 2011, 2010, 2009 and 2008 both x64 and x86. Now all that's missing is the P4 module.... but maybe I'll just do that next year
  • Ben Apuna
    @Kwramm:

    It may not be as flashy and cool looking as what rumblesushi, OutOfInspiration, Chai, and commander_keen are up to, but judging from the ingredients in that python recipe you mention whatever it is you are currently cooking up (and the stuff you've posted before) sounds pretty awesome Kwramm.

    Keep up the great work!
  • OutOfInspiration
    Offline / Send Message
    OutOfInspiration polycounter lvl 10
    Happy New Year wished!
    @Renderhjs: thanks again for the suggestions! it is really boosting my UI-layout, and was able to throw some useless icons away and making it more compact! There are still some parts I need to change that you suggested.

    @MattLichy: thanks for the compliment. I did some new changes in UI and non-square renders is possible again, you have now a resolution slot in the configuration, if you want specific (non-square) renders.
    I really like your idea for the add-projection. It gave me a lot of ideas to play with and 'll work on it as soon as possible!

    But what did you mean with "i like to turn off the cage while projecting"? Are there other possibilities to bake high poly without using a cage? If so please do share how you do this, I'm curious :)

    So what changed: I removed all menu icons (except Expert en Settings), saving a lot of space. Moved the rest to the settings panel.
    Added a slot for adjusting render size to a non-square resolution, adjusting padding to lower size if you want (standard:64)

    Any more ideas or suggestions more than welcome!

    Download it here :
    http://sven.fraeysweb.be/tools/source/scripts/totex_v2.3.1.mzp

    totex_2.3.1.png
  • commander_keen
    Offline / Send Message
    commander_keen polycounter lvl 18
    I have been working on a cutscene editor for Unity. Its part of a larger adventure game framework.

    [ame]http://www.youtube.com/watch?v=TrWtCS4DrZE[/ame]
    advframework04.jpg
  • MattLichy
    Damn dude. They are going to want to hire you on over there soon.
  • Nysuatro
    That is very impressive commander_keen. Looking forward for more
  • Snader
    Offline / Send Message
    Snader polycounter lvl 15
    I'm so going to buy your stuff for Unity.
  • Peris
    Offline / Send Message
    Peris polycounter lvl 17
    hey keen, that looks really awesome! I would love to use something like that, not for cutscenes, but cool scripted animations in unity, like doors opening, moving machinery, platforms etc :)
  • Eric Chadwick
    You might find this interesting, kind of similar to your cutscene editor. A friend of mine is working on a node-based state machine editor for Unity...
    http://hutonggames.com/playmaker.html
  • premium
    Offline / Send Message
    premium polycounter lvl 13
    Hey nerdy people of polycount, isn't the time for 2011 thread? :P
  • Froyok
    Offline / Send Message
    Froyok greentooth
    premium wrote: »
    Hey nerdy people of polycount, isn't the time for 2011 thread? :P
    http://www.polycount.com/forum/showthread.php?t=79632

    Already opened, not sticked.
  • commander_keen
    Offline / Send Message
    commander_keen polycounter lvl 18
    Some more progress:

    I added 3 types of Curve Clip types.
    -Action: This uses a pre made script and the Curve Clip calls a function on that script and passes the interpolated value.

    -Direct Variable Access: this allows you to set a variable on the target object to the interpolated value. It operates on float, int or vector variables on any Component attached to the Target object.

    -Custom Expression: If you want something more complicated than direct access but dont want to make a new Action script for it you can quickly write an expression which is executed every time the Curve Clip is calculated.


    Direct Variable Access:
    advframework05.jpg

    Custom Expressions:
    advframework07.jpg
  • rumblesushi
    Keen and others, how are you producing gameplay videos? A desktop capture device or capture card?
  • commander_keen
    Offline / Send Message
    commander_keen polycounter lvl 18
    rumblesushi, i use camtasia.
  • Mongrelman
    Offline / Send Message
    Mongrelman polycounter lvl 18
    So much cool stuff.

    I second the request for Chai's maya skinning tool :)
  • Chai
    Offline / Send Message
    Chai polycounter lvl 18
    Mongrelman wrote: »
    So much cool stuff.

    I second the request for Chai's maya skinning tool :)

    Yes I really want to release it, even got in touch with original author who gave his approval and interest.

    However at the moment my tool is only compiled to 2010 32bit, in theory it should work 2008-2010 32/64bit.
    So I will put it on creative crash once its at least compiled for 2010 64bit as well.

    If anyone would like to help and recompile for other versions, would be much appreciated.
    You can get the working version + source here :
    http://www.svartberg.com/files/visualWeights_v0.9.rar
  • commander_keen
    Offline / Send Message
    commander_keen polycounter lvl 18
    Fixed up event system so now you can access any function on any component on any object and pass specific parameters to it though the GUI.

    advframework09.jpg

    heres an example cutscene im making to show some of the features, everything is animated in the cutscene editor.
    [ame]http://www.youtube.com/watch?v=Xhgc7M1PdAc[/ame]
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    that is very sweet Mr. Keen
  • arrangemonk
    Offline / Send Message
    arrangemonk polycounter lvl 17
    i wrote an erosion filter based on my old tv3x project
    erosion.jpg
    it seems to work

    http://dl.dropbox.com/u/1484680/polycount/erosion.zip

    there is an exe in there, and putting a bmp on that might end up in a result
  • Ben Apuna
    That erosion tool is pretty cool arrangemonk. I just tried it out and it works. Do you have any plans to develop it further?
  • arrangemonk
    Offline / Send Message
    arrangemonk polycounter lvl 17
    depends, what would you like to be in there?
  • Ben Apuna
    Just off the top of my head... it might be cool if the erosion could run at different strengths based on different RGB channels. That way you could define hard areas you don't want eroded like roads, and large rocks, or soft areas like beaches and rolling hills that get completely smoothed down. You could have RGB also influence erosion type (temperature changes, wind, and water) maybe? It might be an easier way to start generating specific terrains that way. All of that with alpha defining the height.

    Perhaps I'm over thinking it... some of that could be done fairly easily in Photoshop, like blurring areas to smooth them out or painting in roads.
  • arrangemonk
    Offline / Send Message
    arrangemonk polycounter lvl 17
    the rgb channels are already eroded differentially, i could maybe use different erosion algorithms for the different channels
    but i think i could harden the terrain based on the alpha channel

    at the moment the ersosion algo subtracts 1/3 of the difference between the pixel to the lower pixel and substracts it from the upper pixel.
  • Chai
    Offline / Send Message
    Chai polycounter lvl 18
    For anyone that was interested, my skinning tool is now available in creative crash.

    It is compiled in 2010 32bit/64bit (thanks Dr_Bob)
    The source is included, and should compile fine in 2008/2009.
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    Chai wrote: »
    For anyone that was interested, my skinning tool is now available in creative crash.

    It is compiled in 2010 32bit/64bit (thanks Dr_Bob)
    The source is included, and should compile fine in 2008/2009.
    it says:
    We couldn't find the file you're looking for. Sorry.
    also do you have some more screens to see it in action?
  • Chai
    Offline / Send Message
    Chai polycounter lvl 18
    renderhjs wrote: »
    it says:
    We couldn't find the file you're looking for. Sorry.

    also do you have some more screens to see it in action?

    Oh yeah, apparently the file is still pending moderation, you can get it here.
    It seems the video is locked as well, if you're too lazy to go back 2 pages just [url=http://www.youtube.com/watch?v=OrqYYU69LH8[/url]check it here[/url]. :)
  • kodde
    Offline / Send Message
    kodde polycounter lvl 19
    Like Froyok mentioned earlier, why are we still posting in the 2010 thread?

    Anyways, first try at terrain texture blending shader. Quite simple but powerful. I'm considering refining this shader and going for even better blending.

    [ame]http://www.youtube.com/watch?v=TjLPJ9NEGks[/ame]
  • commander_keen
    Offline / Send Message
    commander_keen polycounter lvl 18
    Taking another stab at voxel rendering. This one only renders 12 triangles and uses early termination per fragment when ray marching the volume. I am going to completely change the rendering shader to do plane intersections, which will make it pixel perfect and probably a bit faster.

    On my graphics card at that resolution it runs at over 500fps constantly, but there are some performance problems on OpenGL (mac) and older graphics cards.

    Web Player
    voxelrenderer02.jpg
  • CrazyButcher
    Offline / Send Message
    CrazyButcher polycounter lvl 18
    cool stuff, if you want to go into more details on volume rendering, I can recommend:
    * adaptive hitpoint refinement (if you do isosurfaces, basically a binary search and you decrease the ray stepping distance)
    * interleaved sampling, you offset each ray randomly a slightly bit, that way you can get rid of some pattern artifacts.
    * and use deferred shading if you have isosurfaces, also for isosurfaces there is tricks to work with distance fields that can give you AO like effects
    http://www.iquilezles.org/www/articles/raymarchingdf/raymarchingdf.htm
  • kodde
    Offline / Send Message
    kodde polycounter lvl 19
    And another attempt at texture blending:

    [ame]http://www.youtube.com/watch?v=f33bRL5hZOA[/ame]
  • PolyHertz
    Offline / Send Message
    PolyHertz polycount lvl 666
    Updated my xyzWindow script for Maya 2011. Now has auto-refresh, supports curves and pivots, and all the 2011 related bugs fixed:

    http://www.polyhertz3d.com/forumjunk/xyzWindow_v3.mel
17810121356
Sign In or Register to comment.