Thursday, June 12, 2014

Lantern

Made a lantern for some hard surface practice, as well as to try out Marmoset Toolbag 2. The lantern comes in two parts; the inner part with the wick and fuel, and the outer part that it can be placed in to for easily carrying around when lit.

Tuesday, February 11, 2014

Maxscript stuff

One of my favorite tools to use while modeling in Max is bridge, it probably gets used more then any other tool with the exception of connect. So I thought I'd post the script I wrote for it.
What makes this script useful is that not only can it do standard bridges between edges, faces, and borders (in both Editable Poly and Edit_Poly modes), but it can also bridge two connected edges to form a triangle; something normal bridge can't do. Sure this could be done with the create tool but I find it much nicer to have as many functions on one hotkey as possible.

From quite a bit of use I can say the script is bug-free afaik, but if anyone ends up using it and has problems let me know.



macroScript BridgeReplace
category: "GregsScripts"
 (
 erStat = showEndResult
 showEndResult = false
 setCommandPanelTaskMode #modify    --Needed for the next command to work.
 curSelStack = modpanel.getCurrentObject()  --Gets the current modifier.
 
 if (superClassOf $ == GeometryClass) then
  modClass = classOf (modPanel.getCurrentObject())
  
  ------------------------------------------
  if (modClass == Editable_Poly) then
   (
   --NOTE: bridging border edges in edge mode tends to give more twisted results then in border mode.
   if ((subObjectLevel==2 or subObjectLevel==3) and ($.selectedEdges.count >= 2)) then
    (
    $.bridgeAdjacentAngle = 0
    Edgs= polyop.GetEdgeSelection $ as array

    EdgA=PolyOp.getEdgeVerts $ Edgs[1]
    EdgB=PolyOp.getEdgeVerts $ Edgs[2]

    tmperf=0
    if (EdgA[2]==EdgB[1] and Edgs.count==2) do ($.CreateFace #(EdgA[1], EdgA[2], EdgB[2]) ; tmperf=1)
    if (EdgB[2]==EdgA[1] and Edgs.count==2) do ($.CreateFace #(EdgB[1],EdgB[2],EdgA[2]) ; tmperf=1)
    
    if (tmperf==0) then ($.EditablePoly.Bridge ())
    )
   else if ((subObjectLevel == 4) and ($.selectedFaces.count >= 2)) then
    ($.EditablePoly.Bridge ())
   )
   
  ------------------------------------------
  if (modClass == Edit_Poly) then
   if ((subObjectLevel==2 or subObjectLevel==3) and ((((curSelStack.getSelection #Edge) as array).count) >= 2)) then
    (
    Edgs= ((curSelStack.getSelection #Edge) as array)

    EdgA=PolyOp.getEdgeVerts $ Edgs[1]
    EdgB=PolyOp.getEdgeVerts $ Edgs[2]

    tmperf=0
    --FlipFace is just to get around a weird selection bug with the EditPoly modifier.
    if ((EdgA[2]==EdgB[1]) and (Edgs.count==2)) then
     (
     curSelStack.CreateFace #(EdgA[1],EdgA[2],EdgB[2])
     curSelStack.ButtonOp #FlipFace
     curSelStack.ButtonOp #FlipFace
     tmperf=1
     )
    if ((EdgA[1]==EdgB[2]) and (Edgs.count==2)) then
     (
     curSelStack.CreateFace #(EdgB[1],EdgB[2],EdgA[2])
     curSelStack.ButtonOp #FlipFace
     curSelStack.ButtonOp #FlipFace
     tmperf=1
     )
    if ((EdgA[1]==EdgB[1]) and (Edgs.count==2)) then --This is an extra step for problem geometry just in the EditPoly modifier.
     (
     curSelStack.CreateFace #(EdgB[1],EdgB[2],EdgA[2])
     curSelStack.ButtonOp #FlipFace
     curSelStack.ButtonOp #FlipFace
     tmperf=1
     )
    
    if (tmperf==0) then (curSelStack.ButtonOp #BridgeEdge)
    )
   else if ((subObjectLevel==4) and (((($.Edit_Poly.getSelection #Face) as array).count) >= 2)) then
    (curSelStack.ButtonOp  #BridgePolygon)
  
 showEndResult = erStat;
 CompleteRedraw()
 )


Wednesday, September 4, 2013

So much dust...

Took a really bad model I did back in 2006 (when I first started to learn texturing) and tried re-texturing it without any other modifications.
Left one is the original from '06, middle is the repaint, right is an overpaint.



Thursday, July 18, 2013

Here's some old works of mine I was asked to post. One interesting thing to note is the head of the troll-looking guy was was done completely in Sculptris during its beta (I was one of about 5-6 testers before pixologic bought them out) and was featured briefly in its release trailer/promo.





A sketch I did yesterday in ZBrush:

Saturday, May 11, 2013

A piece I did last night while playing with the painting tools in 3DCoat. Uses the default head mesh, I just did the painting part. Color map only, no AO bake.