Pick Our Brain

Open Source Contributions + Knowledge Sharing = Better World

  • Creating a realistic Milky Way in C4D without particles.

    Share this post:
    : Creating a realistic Milky Way in C4D without particles.
    Making a realistic galaxy in C4D with particle systems can be tedious and lead to costly render times.  Fortunately, there’s another method that’s much easier to setup and very render friendly.



    Step 1. The below Milky Way image can be downloaded from NASA’s website.





    Step 2. Open C4D and add a basic disc object to your scene.  (Add Object > Disc).





    Step 3. Create a new material and assign the image from above to a Layer Texture in the Luminance channel. (Create > New Material > Luminance > Texture > Layer).





    1. Add a Gradient (2D – Circular) layer Overlay.





    1. Add a Noise (Luka) layer Overlay.





    1. Add a duplicate Image layer with an Add blend (optional).




    Step 4. Check the Color channel in the Material Editor and add another Layer Texture.





    1. Copy and paste the Noise texture from the Luminance channel a leave the blend type as Normal.



    1. Copy and paste the Gradient Overlay from the Luminance channel.





    Step 5. Using Photoshop, create a high contrast black and white version of the original image.  This can be done by adding a Hue/Saturation Adjustment layer and taking the Saturation value to 0.  (A Levels Adjustment layer can also be added to tweak the black and white values and create more contrast).





    Edited Image.






    Step 6. Return to C4D and Check the Bump channel in the Material Editor and load the black and white image you just created into the Texture slot.  Then increase the strength to 3000%.



    Step6.jpg




    Step 7. Finally, check the Alpha channel in the Material Editor and load the same image as above into the Texture slot.



    Step7.jpg




    Step 8. Apply the Material to the Disc in the scene.





    Step 9. Make the Disc Editable, switch to Polygon Mode, and then select all the geometry.



    Step9.jpg


    Step 10. Right click to bring up the Mesh options dialogue box and select the settings icon next to Subdivide (Mesh > Commands > Subdivision > Settings).  Then increase the Subdivision amount to 6.



    Step10.jpg




    Step 11. Right click to bring up the Mesh options dialogue box and select the settings icon next to Triangulate. (Mesh > Commands > Triangulate).


    Step11.jpg





    Step 12. Add an Explosion Effector and apply it to the Disc with the following settings.


    Step12.jpg
    Strength: 1.5%
    Speed: 20 cm
    Angle Speed: 100°
    End Size: 0
    Randomness: 100%



    Step 13. Group the Disc and Explosion Effector into a Null Object.






    Step 14. Create 3 Lights and add them to the Null Object. Scale the lights accordingly so their size increases as they radiate from the center of the Milky Way.



    1. Make the center light a pale yellow color with a 100% Intensity.



    Step14a.jpg

    1. Make the second light a brighter yellow color with a 150% Intensity.





    1. Make the third light a pink/orange color with a 75% Intensity.






    Step 15. Select the Null Object and then the Coord. Tab.  Set a keyframe on frame 1 for the Rotation with H at 0°.  Move to frame 500 and set the H value to 10°.


    Step15.jpg



    Milky Way Render.



    MilkyWayRender.jpg


    To add a simple starfield, follow the steps below (optional).



    Step 1. Create 3 Spheres.  In the Object tab, set the Radius of the Spheres as follows:

    Sphere: Radius .15 cm



    Sphere.1: Radius .25 cm



    Sphere.2: Radius .5 cm





    Step 2. Create a New Material with only the Luminance and Glow channels enabled.  (Create > New Material).


    1. Set the Luminance to a yellow color with a brightness of 200%.



    StarStep2.jpg



    1. Set the Glow to white with the following settings:



    Brightness: 100%
    Inner Strength: 0%
    Outer Strength: 500%
    Radius: 10 cm
    Random: 0%
    Frequency: 1




    Step 3. Duplicate the material twice.  Change the color of each of the new materials to blue and pink.  Then assign one material to each of the Spheres.



    Step 4. Create a MoGraph Cloner Object and assign it to the 3 Spheres.  (MoGraph > Cloner).  Use the settings below:





    Mode: Grid Array
    Clones: Random
    Size: 1000 cm





    Step 5. Create a MoGraph Random Effector and assign it to the Cloner Object.  (MoGraph > Effector > Random).






    Stars render.







    Milky Way composite with stars.
    MilkyWayRenderStars.jpg


    Milky Way animation.

  • ScienceCasts: Strong Magnetic Fields Found Inside Stars

    Share this post:
    : ScienceCasts: Strong Magnetic Fields Found Inside Stars

    Great animation work in this short piece from Science@NASA that illustrates researchers using NASA’s Kepler space telescope have found evidence of strong magnetic fields in the cores of stars–a finding that could upset theories of stellar evolution.

  • ScienceCasts: Methane Stinks? On Earth, Mars, and Beyond

    Share this post:
    : ScienceCasts: Methane Stinks? On Earth, Mars, and Beyond

    NASA is sniffing out the sweet smell of methane on Earth, Mars and beyond. It’s a greenhouse gas and, in some places, possibly a sign of ancient life.

  • V! Message: private, member-to-member conversations, loosely-coupled

    Share this post:
    : V! Message: private, member-to-member conversations, loosely-coupled
    V! Message initial trade inquiry form for Trade To Travel

    The Client’s Need: Communication

    One of our clients, Trade To Travel, had an urgent need to allow their members to communicate directly with each other: their staff were overloaded having to act as intermediaries, shuttling queries and clarifications between guests and hosts who were trying to organize trades. Unfortunately, they were not in a position to rewrite their legacy application to support this new feature.

    We white-boarded out some ideas about communication flow, and figured we could write a new application using a modern framework and integrate with theirs via minimal read-only access to a few of their database tables.  Their team wasn’t comfortable with this since their application was hosted by a private hosting company and ours would reside in the AWS cloud, possibly with no fixed IP they could whitelist.

    Integration: Loose-Coupling Solution

    We realized there was no point in designing a solution unless we could determine how we could integrate with their application to get the data we needed. At a minimum, we’d need the names and email addresses of the guest and host so we could alert them of trade opportunities and replies, and also some details about the property under discussion.  How could we get that without database access?  A link from their application to our messaging solution could include all the information we needed — as query parameters or form fields — but this would be sniffable and expose member email addresses; it would also allow spoofing and hijacking of conversations.
    After some discussion with their development team, we came up with a loosely-coupled, easy-to-implement way to get the information we needed securely: it only required their developers to implement a single API endpoint, which they were able to do in a couple hours as just another ASP page.
    With this resolved, it was fairly straight-forward to implement the application to create new conversations based on trade requests, each of which had any number of queries and replies until a resolution was reached: trade accepted, declined, or cancelled.

    How it works

    Here we describe how the application works, following the flow the user would experience: first a link on the application page to the V! Message application, integration via back-channel, then a discussion of the conversation flow and resolution.

    V! Message dataflow diagram: click to expand in a new tab

    Integration

    A Trade To Travel member authenticates to the application and searches the collection of properties as normal.  When they select one, they click a link to “Submit trade request”.  This connects to our application (instead of the old email form); it supplies in the URL request parameters only the ID of the member making the inquiry (the guest) and the ID of the property — neither of which is sensitive data.
    The V! Message application receives the request and — before displaying anything to the guest — makes a back-channel request to the Trade To Travel application’s new ASP endpoint with the same guest and property ID, and also a shared secret to prevent outside access; this traffic is not sniffable by the guest, it’s server-to-server.  The ASP replies with a JSON body which gives us the member’s and property host’s first and last name, and email address, as well as name, location and some other other details of the property.  These are stored in V! Message’s own database, but only the member and guest first names are exposed, never their email addresses.

    Conversation

    V! Message first checks its database to see if there’s an in-progress conversation matching this guest and property ID, and if so, resumes it.  It presents a page with the trade request details and conversation so far, and a form to continue the conversation.
    If it’s a new query by the guest about this property, we generate a unique conversation ID and redirect the guest to a page for this trade inquiry. It presents a form requesting the desired trade dates, number of adults and children, and so on.
    The guest submits the form and V! Message sends an email to the host on behalf of the guest, with a Trade To Travel “From:” address rather than the guest’s own address.
    The host receives the email alerting them of a trade inquiry, and clicks the email link that takes them to the V! Message app, using the unique conversation ID and a checksum to prevent session hijacking or subversion by the guest.  They review the request and can Accept or Decline the request, or reply with a message of their own — perhaps to request clarification or indicate the dates are inconvenient. 
    The host submits the reply, and as above, V! Message sends email to the guest’s address using a Trade To Travel “From:” address to preserve privacy. Again, the email link uses the unique conversation ID and a checksum to prevent tampering.
    The guest has the opportunity to continue the discussion, or Cancel the request if they cannot work something out with the host.
    This email-and-web conversation continues until the host Accepts or Declines, or the guest Cancels. When resolved as Accepted, V! Message sends an email about the trade with a link to Trade To Travel’s staff so they can finalize the deal.
    Note that neither the guest nor the host has had to login to the V! Message application: the unique conversation IDs and checksums stand in for the security that authentication would otherwise provide.

    Branding via Theme

    In a previous engagement with Trade To Travel, we rebranded their legacy site with a modern, responsive theme, without touching any of their code or servers; we hope to write a blog post about that work in the future.
    We used the same theme to brand the V! Message application so it felt seamless to the members engaging in trade conversations.  Our theming solution also allowed us to nest this new application under the Trade To Travel URL so members wouldn’t be concerned about going off-site and SSL certificates would continue to work. This helps adoption by members. 

    Cloud-Based

    Most of our work these days is done in the cloud, and we’ve focussed on Amazon Web Services. We’re using a pair of inexpensive EC2 instances behind an Elastic Load Balancer to avoid single-point-of-failure, and a dual-Availability Zone RDS running PostgreSQL for our fault-tolerant database.

    The application’s written in Python, using the excellent Pyramid framework and SQLAlchemy ORM.

    It’s working well and we can save our client money by using small instances now, knowing we can easily scale up (or out) if the need arises.

    Benefits

    Since the roll-out, we’ve seen members self-service inquiries with rapid and fruitful exchanges. One of the benefits neither we nor our client anticipated is that guests can now take a shotgun approach to finding trades: since they can query multiple hosts on their own, they can engage several at once — something that would have been very time consuming for staff before.

    Benefits for members and client:

    • Guests can quickly explore more properties since conversations are easier to establish and more direct.
    • Simple structure to inquiry/response forms keeps conversations focussed on a simple goal — accept, decline, or cancel.
    • Mobile-friendly responsive website makes conversations and decisions easy when on-the-go.
    • Member email addresses and full names remain private.
    • No new passwords needed for members.
    • Cryptography-based IDs and checksums prevent conversation snooping and hijacking.
    • All communication stays within the application, discouraging side-deals.
    • Trade to Travel staff are only required once a trade has been accepted.
    • Staff have access to the full history of the conversation to finalize the trades and help resolve any questions.
    • Easy to integrate, requiring minimal changes to the client’s application: a link from app’s page and back-channel query endpoint.

    Other Use Cases

    We expect there are other peer-to-peer or social-network applications that could benefit from this inter-member communications platform without requiring a major re-work to the code base and back-end. Contact us if you’d like to know more.

  • ScienceCasts: Reshuffling Heat on a Warming Planet

    Share this post:
    : ScienceCasts: Reshuffling Heat on a Warming Planet

    Way cool animation on this ScienceCast for the Science Mission Directorate of NASA.

  • Taking Shortcuts in C4D

    Share this post:
    : Taking Shortcuts in C4D

    One of my favorite things about working in Cinema 4D from Maxon is how you can make it your own. With access to all of the keyboard shortcuts, toolbars, and layouts, you can fine tune the program to work better with your daily workflow. In college I learned how to model and animate in Maya. Then my first job out of college was a C4D house and anyone that’s tried to make that switch knows the growing pains. Below is a handy app translation guide.

    Screen Shot 2016-07-22 at 11.30.37 AM.png
    Credit: Autodesk. View the full PDF here.

    Using this chart, I brought back some of my favorite keyboard shortcuts from Maya without overwriting important C4D tools that I might use in the future. This brings us to the most important Cinema 4D shortcut of them all:


    Customize Commands (Shift + F12)

    The best shortcut is the one that helps you make more shortcuts. This is where you can search through all the C4D commands by name, or by shortcut keys. All you have to do is select the command you want, and type your new key(s) into the shortcut box at the bottom.


    If you choose a keystroke that is already assigned to another command, Cinema will warn you before replacing the keystroke.



    Keep in mind that after you make your changes to the keyboard shortcuts, they will not be saved until you save the current scene you’re working on. Once you do, it will update the shortcuttable.res file in your prefs folder. A quick way to navigate to this folder is through your Preferences window in C4D.

    There you’ll find shortcuttable.res in the prefs folder. With that file it’s easy to save your commands when upgrading to a new version of Cinema 4D or to keep your commands consistent across multiple computers.













    My Favorite Shortcuts

    Now that I’ve explained how and why to customize, I’m going to share some of my custom shortcuts. Some of these are from the Maya switchover but most are from a repeated need for a quick one-button command in a specific project.
    • Content Browser (Shift + F11): I use this so much to grab objects or textures from GSG plugins or my content library.
    • Rectangle Selection (Q): This is mostly for those Maya users who come into C4D and hate the live selection tool. This overwrites the Create New Key command but I’ve set that to S because of Maya habits.
    • Frame Selection (F): I use this so much that it needs to be somewhere in reach of my left hand. Just personal preference. Note, this overwrites Cinema’s command to Goto Previous Frame but…
    • Goto Previous Frame, Goto Next Frame (Page up, Page down): This is to keep consistency across C4D and After Effects.
    • Toggle active view (Spacebar): Just like Maya
    • Grow / Shrink Selection (<,>): Super useful when modeling and working in point mode.
    • Add Null Object (Command + Shift + N): Nulls are great, they deserve a shortcut.
    • Scroll to first active (Command + Shift + F): Comes in handy when you have a complicated scene with lots of objects. Just click one in the viewport, execute your command, and boom there it is in the objects window.
    • Select Texture Tags/Objects (Command + Shift + T): Came about from one specific project with a particularly messy TurboSquid model.
    • Drop To Floor (Command + Down): Drop to Floor is a super useful plugin that drops the lowest point of an object to 0 on the Y-axis.
    • Reset PSR (Command + 0): I use this every day. Perfect for bringing an object to 0,0,0.

    These are just a few of the changes I’ve made to increase the speed of my own workflow based on the commands I use the most. These definitely won’t work for everyone and I encourage animators to update their shortcuts regularly whenever they find a need. If there any shortcuts that you have made that you think make C4D easier, please share them in the comments section below.
  • ScienceCasts: Monitoring Air Quality

    Share this post:
    : ScienceCasts: Monitoring Air Quality

    How did we miss sharing this one?

    A global effort to monitor air quality is in the works as the US, Korea, and the European Union prepare to launch geostationary satellites capable of monitoring pollutants and other aerosols.



    Visit http://science.nasa.gov/ for more.

  • Use anti-RSI

    Share this post:
    : Use anti-RSI

    A quick and dirty tip for keeping yourself alert and healthy at work: use an anti-RSI app. I’ve been using Time Out for years and have found it great for keeping my eyes fresh, my wrists free from carpal tunnel, and blood flowing to my legs.

    We hear so much information about standing (or sitting) at work all day, but at this point it seems most experts agree that the key to a healthy workday is to change it up periodically. Anti-RSI apps are intended to prevent or reduce the symptoms associated with repetitive stress injuries, and here are just a few ways you might use one to break up your day: 
    • Take 15 seconds to do one of the following: 
      • Stand up and stretch your legs
      • Reduce eye stress by focusing on something across the room, or extremely close up
      • Walk over to a whiteboard and hone your diagramming skills (a combo move!)
    • Change from sitting position to standing (or reverse)
    • Spin in your chair madly and whisper self-affirming statements (when you do this, tag us on Instagram, Twitter, or Facebook)
    There’s not a whole lot of restrictions for how you move, the key is changing it up. So don’t be bashful, get moving!
  • ScienceCasts: Planetary Defense

    Share this post:
    : ScienceCasts: Planetary Defense

    Another great video from NASA Science. Where do they get that amazing animation?

  • V! Studios Joins Instagram. Like and Follow, It’s Kind of the Thing to Do.

    Share this post:
    : V! Studios Joins Instagram. Like and Follow, It’s Kind of the Thing to Do.
    While we have long had a presence on Facebook and Twitter, V! Studios has joined the ever-growing
    ranks of Instagram.
    Content is king and V! Studios strives to post and share
    content that entertains, inspires, and most importantly reflects the amazing
    work that the our team produces for every project and every customer.
    V! Studios stands apart from many other companies by
    successfully combining left and right brain skills to weave technology,
    information, and the arts into innovative and effective products and services
    for its customers.
    Leveraging Git for versioning control our development team, the left brain, works to master non-linear workflows.
    A photo posted by V!Studios (@the_v_studios) on

    Meanwhile our right brain, the creative team, utilizes the
    latest in animation tools to create dynamic presentations for our clients.
    A photo posted by V!Studios (@the_v_studios) on

    To keep up with our latest projects and musings follow us on
    instagram:

    @the_v_studios

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors