🤑 Indie game store🙌 Free games😂 Fun games😨 Horror games
👷 Game development🎨 Assets📚 Comics
🎉 Sales🎁 Bundles


A member registered Dec 19, 2017

Recent community posts

This set looks great.  Can't wait to see some actual games rocking assets made from it!

Let me know if you figure out how to get the isometric tiles to look seamless.  The lighting used keeps me from turning my models into isometric sprites.

Would definitely like the ability to use custom textures, then be able to export the model textures as an obj, and actually have the texture copy with it.

I created a hilly terrain collection for Asset Forge.  It has hills/paths/trees/rocks.  Can download it for free on my website:  fertilesoilproductions.com

(Edited 1 time)

Definitely need a 1st-person fly camera "ASDF+QE" - like what's used in Minecraft when flying.  Unity uses this when right-click is held.  Magicavoxel implements this perfectly, giving the option to toggle between Orbit and Free cameras.   Just please keep the pitch control linked to the camera's X axis.  Programs that allow true free cameras are just dizzying.

A recommendation for the current orbit camera:  hold the middle-mouse button and move mouse to move the camera target left/right/up/down relative to the camera's current angle"Quaternion".  This would allow the target to lift and drop, so this tool could be used better for structures with roofs.  Lastly, in orbit mode, could use  the same 1st-person controls to control the camera's target, while the right-button still orbits the target.  Again, this is how Magicavoxel does this and it is the best control scheme I've ever used.

Update with some simple code:

Code for panning the orbit camera:

   // If the middle mouse button is held down
   if (Input.GetMouseButton(2))
       // Get pan speed (distance between camera and camera target divided by 25)
       float panSpeed = Vector3.Distance(cameraTarget.transform.position, mainCamera.transform.position) / 25;
       // Pan camera, based on mouse movement, relative to the direction the camera is facing
       cameraTarget.transform.Translate(mainCamera.transform.right * -Input.GetAxis("Mouse X") * panSpeed);
       cameraTarget.transform.Translate(mainCamera.transform.up * -Input.GetAxis("Mouse Y") * panSpeed, Space.World);    }

Of course cameraTarget is the parent of the camera. I imagine you have the camera orbiting around it.  mainCamera is pretty obvious =)

The panning code is fairly standard, but I never liked the scale in speed of most panning cameras, so I did a straight-forward pan-speed increase the further the camera is zoomed out.

(Edited 1 time)

I have a new website:  https://www.fertilesoilproductions.com/

I hope to have plenty of content on it in the near future.

Added Hilly Terrain collection

(Edited 1 time)

Thanks for the compliment.  I enjoyed making them.  I also posted these models on opengameart.org and referenced Asset Forge in the descriptions.

Speaking of Asset Forge, I can't wait to see more updates to this great tool .  It's only scratched the surface of how useful it will eventually be.

Thank you very much for the offer.  I just created a Patreon page after reading your reply.  Even if there are no donations, I appreciate the compliment that my models are worth actual money.  I will update my post with a link to my Patreon account.

(Edited 12 times)

These are completely free and able to be used in personal or commercial projects.

Donations are always appreciated but never required:  https://www.patreon.com/fertilesoilproductions

My new website (contains direct download links for collections):  https://www.fertilesoilproductions.com/

Hilly Terrain

Google Drive link:  https://drive.google.com/open?id=1-seInYJHQBmErOU7IPjZHSav90eLanvJ


Google Drive link:  https://drive.google.com/open?id=1uu1Nk2jpDxdg9ahk9ppwd_R-xmGCDsNn


Google Drive link:  https://drive.google.com/open?id=1RUEU6RpukvtosUdsZP1ZnPabByF1UhQ_


Google Drive link:  https://drive.google.com/open?id=1qWolwX8glzyGQOByKg3cGe6WPPbZ-Pr1

Website containing all collections:  https://www.fertilesoilproductions.com/

It may be possible that using that many sprites would be more CPU-intensive than going low-poly 3D.  You may want to convert your project to 3D with a fixed-angle orthogonal camera.  This way you still keep your look, but take advantage of any angle you want, and maybe even a decent shadow system.

(Edited 1 time)

In Unity, you can download a post-processing stack to replicate the effect.  https://itch.io/t/173235/unity-scene-set-up-lighting has instructions on replicating the exact look in the Assetforge, using Unity.

Post-process Ambient Occlusion uses quite a bit of processing power compared to baking it in, using Unity's Enlighten.  If you plan on using the exported model for a mobile game, then bake the AO, instead of using the technique Assetforge uses.  Besides, when you bake lighting, you get some seriously amazing lighting effects that go way beyond simple Ambient Occlusion:  

pS:  Don't forget to set your models to static, so they are calculated in the lighting bake.

(Edited 4 times)

Many programs don't export to wavefront OBJ in a way that's friendly to Assetforge.  I've had to use 3 programs to tranform my models and fix the edge hardness.

A source model edit interface would greatly improve this process.  Here are some ideas:

  • Scale:  1 button press to uniformly scale model with largest dimension being scaled to a specified number.  By default this would be 1 of course, but for some models with overhanging parts, this should be able to be changed to 1.05 or 1.1.
  • Translate:  Another 1 button press to move model to a specified location.  By default, it should be centered at 0x0x0, but may need to be moved to the edge of the 1x1x1 box for walls or down 0.5 for floors.
  • Rotate/Flip:  90 degree rotation and flipping along any axis.  Maybe even an option to simply flip Y and Z axis due to how many modelers export models on their sides (Wings 3D gives this option on OBJ import).
  • Edges:  Make all edges hard.  I don't care to make some edges hard and some soft, since that level of manipulation can be done in a 3rd-party program.  Just a quick way to fix soft edges that many 3d modelers export obj with.

Since you're already doing most of this with models that are already placed,  I know you don't have to reinvent the wheel to implement these features. 

I like what you've done so far, been disappointed by the lack of the most basic features like copy/paste, and am hesitant about the future of this program due to its slow development.  Please give me some hope.


Anyone who was as frustrated as I was, I found an easy way to import custom models into Assetforge.

I use Wings 3D - completely free.

You can import OBJ files, with Y and Z axis already swapped.  If you do this, turn on swap axis during import and turn off swap axis during export, otherwise the model will end up in the same orientation it started at.

To scale and translate the model to the right position for Assetforge, you first have to create a bounding box.

  • Go to Tools > Bounding Box > Bounding Box, and set the bb Dimension values to (x=1, y=1, z=1) and set the bb Center values to (x=0, y=0.5, z=0).  If your model has a little overhang, enlarge the dimension X and Y values as needed.
  • Click to select the entire model - which is easier by clicking red cube at top to enter object mode.
  • Perform scale by clicking Tools > Bounding Box > Scale to Saved BB > All.
  • Perform translate by clicking Tools > Bounding Box > Move to Saved BB > All.

To make all edges hard, with the model selected, change to line mode by clicking the cube at the top with a red line.  Right click anywhere in the viewport, click Hardness > Hard.

If you find it more convenient to save multiple models in one file, you can import the entire file of modular pieces.  You can fix edge hardness on the entire batch at once.  Then, you can select each model to export separately and transform/scale/rotate it.  Then you can export selection, instead of exporting the entire file.

Lastly, I use a trick, to avoid having to move models that don't need to be centered at 0,0,0 such as wall.   When I create the model, I overlay a cube on the model "with the cube's center being at true 0x0", to represent it's offset, and I scale/translate the cube with the model, then delete the cube.  The result is a wall that stays on the edge of the bounding box, instead of being centered.  For objects that are taller than 1, I use the Tool > Put on Ground.

I hope this helps someone.