• подарки оптом, подарки опт
  • сувениры оптом, сувениры опт
  • бизнес сувениры
  • бизнес подарки
  • сувенирная продукция
  • купить футболки
  • бейсболки
  • ежедневники, ежедневник
  • подарки для женщин
  • подарки для мужчин
  • стеклянные двери
  • стеклянные перегородки
  • cтеклянные лестницы
  • изделия из нержавейки
  • The Razer Hydra 3D model

    I wanted to have a 3d model of the Hydra controller for visualization purposes and as a template to create 3D printable accessories for it. Since a professional 3D scanning is quite expensive I decided to use the excellent 123D Catch (Project Photofly) service which reconstructs objects from several photos.

    The featureless black plastic material of the Hydra offers little for tracking so as a first step I needed to add some texture to it. I sealed the openings the best I could and then peppered the surface with baby powder.

    http://www.zspline.net/blog/wp-content/gallery/misc/HydraModel01.jpg

    With these high contrast reference points in place I took 82 pictures and let 123D Catch do it’s magic. The result was reasonably good, although far from being ideal:

    http://www.zspline.net/blog/wp-content/gallery/misc/HydraModel02.jpg

    The shiny plastic buttons on the top reflected the lights which confused the system so that area is a mess. The also reflective bumper and trigger got through in a much better shape.

    I used this raw model as a 3D reference to manually build a subdivision surface model in modo:

    http://www.zspline.net/blog/wp-content/gallery/misc/HydraModel03.jpg

    It’s too imprecise for accessory design but should be fine for visualization tasks.

    Razer Hydra 3D model pack.
    Contains the PixarSDS model (.lxo) and polygonal meshes (.obj).

    Hydra_Model.zip

    Written on January 15th, 2012
    Categories: My projects, Uncategorized


    A new PC for my parents.

    One of the side projects I had during the holidays was buying and setting up a PC for my parents.

    http://www.zspline.net/blog/wp-content/gallery/misc/MSIWindTop.pngThey had a crappy old notebook, a usability wreck so I felt that it’s time to get a proper machine for them. I checked out several All-In-One machines and ended up buying an MSI Wind Top AE2240. It’s 2GB RAM, P6200 CPU and integrated video card is just enough for the stuff my parents want to do: browsing the web, watching HD videos, flying around in Google Earth.

    Of course the hardware doesn’t really matter if accessibility suffers so I tried to make sure that the PC is simple and fun to use, with special attention to the needs of the senior, technically less inclined audience:

    Steamlined.
    I uninstalled all the bloatware, promotion materials, free trials, disabled third party registration notifications and auto updates. (I swear I heard a sigh of relief from the case.)

    Big text.
    Changing the system font size, Firefox’s default page zoom and UI font size made sure that most things are easy to read. A few apps like Picasa still maintain their small fonts which is unfortunate.

    Big UI.
    The Windows 7 skin has conveniently sized UI elements and with a few extensions, Thunderbird and Firefox can be tweaked in this regard. At first I installed Chrome but it failed the usability test: the tab close button is annoyingly small and the developers expressed no interest in changing the UI or allowing tweaking. Chrome is dead to me.

    Localization.
    Microsoft, Google and Mozilla are all scrupulous about localizing so that’s good. I ditched our earlier email app, TheBat, because it failed to provide Hungarian localization for its latest version for 9 months now.

    Less clutter.
    I got rid of all the desktop icons and pinned the most common apps to the taskbar. If other, less frequently used software is needed then the quick search feature provides a simple and intuitive solution: push start button, start typing what you want, click on the desired item.

    Visual flare.
    Switching from the default XP look to Win7 Aero was a pretty big step by itself but I wanted more shine. The now empty desktop has a background image and a few gadgets showing the time, date and weather forecast. Instead of the abandoned and somewhat resource wasting MS gadget implementation I used the excellent XWidget.

    Automated backups.
    On the old laptop I set up Cobian Backup so once a week it showed a prompt to plug in the backup pendrive, backed up all photos and mails for about 4 hours then showed another prompt indicating that the backup was done and the pendrive should be removed (so it’s safe from lightning strikes).
    However this time around I used Cloudberry Online Backup to save things to my S3 bucket in the background. With our stable, 1 megabit upload bandwidth and block level backups enabled it takes about 4-5 minutes on average so the service runs every day. Of course the first commit of the 16 Gb data took just over 40 hours, but it was well worth it, especially considering how cheap and secure S3 storage is.

    Less wires.
    I tried to keep the number of wires to the minimum. The keyboard and mouse are wireless (Logitech MK520 bundle because the stock MSI peripherals are crap) so only the printer, the router and the power brick is linked physically to the PC, making it relatively simple to migrate the unit.
    I tried my bluetooth headset but window’s BT management is as useless as ever so I couldn’t make it work for more than a few seconds. Now I’m leaning toward buying USB headphones because the stereo jacks are very hard to reach unlike the two USB slots at the side of the bezel.

    So after using it for a few weeks now, the machine seems to be a work horse. The touch screen is sort of a gimmick but does make certain things more fun. The Intel video card is indeed a joke, so slow that even the reliable VLC misses a beat every now and then in demanding HD videos. Fortunately PotPlayer plays back everything without a hitch, even 1080p@60Hz material, so all is well. (Windows Media Player’s output is butt ugly thanks to the lack of filtering so I stopped considering that early on.)

    The hard drive is spacious and the screen is nice to look at with proper colors and sensible view angles. The inbuilt speakers are exactly what one would expect, nothing special.

    All in all I’m rather satisfied with the system but more importantly the target audience seems to be happy using it too.

    Written on January 8th, 2012
    Categories: My projects


    Thoughts on programming

    In the past 5 weeks I was helping out the programmers however I could, that’s why I didn’t update this blog as regularly as before. In spite of spending less time on making pretty things and more looking at screens full of text, I’m quite happy how the past month turned out.

    I’ve been programming (or more like scripting, if a real coder reads this) on and off in the last 15 years (with the first few in high-school) but I only worked on smaller, self contained tools, never on complex systems with other programmers.
    In the case of Gavit I still didn’t want to touch the code at all. I figured that system design, documentation, modeling/texturing, game/level design and special effect authoring will be enough on my plate. It will be best if professionals take care of the code side, ones who know the engine inside out so stuff will be done the most efficient way possible.

    What I only realized recently is that there is room for me to contribute to the programming tasks, especially when it comes to experimental and engine agnostic solutions.

    http://www.zspline.net/blog/wp-content/gallery/misc/Code01.jpg

    The programmers I hired live on the other side of the globe and work on many projects at once. When I sleep they work, when I wake up they’re about to leave the office. I have a very limited window to chat with them and they have limited resources to fulfill my wishes. Turnaround time is long and communication is relatively difficult, in spite of the absolute professionalism and total good will of the participants. It’s just an inherent problem with remote work situations.

    As the holiday season came up I felt that I can’t avoid chipping-in the programming tasks. I did smaller stuff for the project before but that was just messing around in Notepad++ which was fine but I figured this time around I’ll need proper tools for the job. I installed VisualStudio with nFringe and jumped in.

    My productivity instantly increased ten fold.

    There are so many things which are basically the waste of the time of a veteran programmer. You don’t need 10 years of experience with Unreal to be able to derive velocity from a series of positions, to smooth mouse input or convert between two coordinate systems. With some common sense and google skills a surprising amount of practical problems can be solved, as they arise.

    http://www.zspline.net/blog/wp-content/gallery/misc/Code02.jpg

    With a proper IDE having my back the tasks became puzzles to solve. The proper architecture (made by real coders) often guided my hands when I wanted to extend functionality. I knew what I wanted to do, the logical structure made it clear where to put the stuff and after looking up a few examples I knew how to do it properly.

    And I can’t stress enough how much help I got and keep getting from James and Sam. They’re patient enough to explain things to me and don’t hesitate to correct my sometimes sloppy programming practices.

    All in all, as a technical artist I really enjoy the tremendous freedom casual programming gives me.

    Written on December 14th, 2011
    Categories: Gavit, My projects


    Gavit Dev Diary #20: Ragdoll posing

    We had to cut Gavit’s character related features (for now) but since characters are somewhat important in games and stories I’m looking into alternate means of showing figures and communicating intentions.

    The most obvious solution is posing ragdolls, as seen in the following video:

    I used the Razer Hydra in both hands to control pairs of reach targets for ragdoll bones: Head and hips, left and right hands, left and right feet. (Those are the red/green wireframe blobs on the video.) The pairs were selected using buttons while the camera was rotated with the thumbstick.

    I learned the following lessons during this mini project:

    - Input with 6 degrees of freedom is nice although movement perpendicular to the screen is hard to judge.

    - Controlling two things at once does not help posing. I ended up focusing on one hand while tried to keep the other in place.

    - 6 control points for a human body is the absolute minimum. Controls for shoulder, chest, elbows and knees would’ve made work faster and the result better. (Why didn’t I just copy Motionbuilder…)

    - Clay-like, very tight  joints would’ve made things easier but I couldn’t set up the physics asset that way. (For some reason 0,0,0 velocity target with 9999999 force had no effect at all… o_O )

    - Actor relative positioning (as opposed to camera relative one) is confusing.

    So it seems that ragdoll posing can be helpful provided that the poser rig does the following:
    - Select and work with only one control point.
    - One hand manipulates control point, other adjusts view.
    - Choice between local and camera relative transformations.
    (So it would be a poor man’s Motionbuilder.)

    Animating a character real-time will need a different, more marionette like setup, which will be the challenge for the next few weeks, after I finished one more prototype in the pipeline: an Arcade Volleyball homage.

    Written on December 4th, 2011
    Categories: Gavit, My projects


    Gavit Dev Diary #19: Hydra integration

    We got the Razer Hydra motion controller working in UDK. There are a few issues left to solve but the basic functionality is up and running so I was able to throw together a very simple game to show off motion controls.

    This is Reflection Pong where you must prevent pieces from falling into the pool. (You also have a very heavy hat and can’t look up, so must use the reflection to see where the bits are falling from.)

    I was holding both controllers and thus controlling both paddles. It needs some getting used to but feels intuitive after a while.

    The basic setup of the “machine” (which links the input to the actual entities on the map) was done in a few minutes, the majority of the time was spent on tweaking parameters. (And debugging/fixing code.) I had to restrict movement on the “forward” axis, effectively constraining the rackets to a plane, to compensate for the lack of depth perception. The position data is 1:1 mapped but rotation uses a multiplier: one degree of real life rotation produces 2 degrees change in-game, which makes it more comfortable for the wrists.

    Written on November 25th, 2011
    Categories: Gavit, My projects
    Tags: ,


    Gavit Dev Diary #18

    I’ve implemented a counter shader in Unreal, similar to the one I made in ShaderFX:

    I managed to correct a huge mistake I made back then so now there is no numeric precision related visual degradation present. Float precision still causes a problem but that affects the actual value shown on the counter: at 7 digits the displayed number is occasionally off by 1.

    Toward 10 digits the issue becomes much more serious so I’ll need to come up with some sort of a solution. I hope I’ll be able to simplify the math involved (to more operations we perform the more precision we lose) but if nothing else helps then I will just duplicate the tree and process the incoming value in two parts.

    The Razer Hydra integration progresses somewhat slowly these days. Position and thumbstick data is handled alright but the rest (rotation, acceleration, velocity) is still not implemented. I’ll need at least rotation to be able to make a minigame where one must bounce a ping-pong ball from one paddle to the other to get points (displayed on a fancy counter).

    Written on November 18th, 2011
    Categories: Gavit, My projects


    Image woes

    UPDATE: Things seem to be fine again.

    I’ve just realized that at some point something went sideways in the database and several image links are broken or weird looking.

    So far only older tutorials seem to be affected but I haven’t checked everything yet. I’m working on it, hopefully can fix (hack) everything in the next 48 hours.

    Written on November 8th, 2011
    Categories: Uncategorized


    Prefab icon fix

    I hate UnrealEd’s default icon for prefabs: it’s big and opaque, obscuring nearby actors. Here is an alternative image for it:

    http://www.zspline.net/blog/wp-content/gallery/misc/PrefabSprite.png

    It’s a .PNG file with transparency and it should be imported into the
    Engine/Content/EditorResources
    package, replacing the existing icon.

    Written on November 7th, 2011
    Categories: Uncategorized


    Updated photoshop panels

    I spent last week installing a 120Gb SSD and setting up the windows 7 from scratch. I had some free time after reinstalling all the applications so I dived into Adobe Configurator and updated my utility panels to CS5:

    For download head over to the My Photoshop Panels – CS5 manual.

    Written on October 31st, 2011
    Categories: My projects, Scripts, Uncategorized


    Pinball prototype video

    Here is a short video showing the current state of the pinball proto:

    In the upcoming weeks I’ll add special effects and a dot matrix display, finish the environment and come up with some sort of a “story” so it’s not just random gameplay.

    Written on October 21st, 2011
    Categories: Gavit, My projects
    Tags: