A downloadable Script

Download NowName your own price
⚠️ Requires Aseprite 1.2.10 Beta 2 (or newer)
Read here how to install Beta version

This script lets you create boxes of various sizes in Aseprite.

You can set a custom color for each of the sides, set a highlight and stroke color. You can also choose between two types of the corners: 2px and 3px. You can read more about the differences here.

There are two versions of the script: Regular and Lite. Lite version generates a stroke only boxes, intended for quick prototyping with basic wired box without any colors. Using Regular version you can set a custom color for each of the sides of the box. By default it will generate shades of your current foreground color.


Features

  • Custom X, Y and Z size of the box
  • Custom colors for Stroke, Highlight and each side of the box
  • Two types of the corners: 2px and 3px (Read more)
  • Optional Lite version of the script with a basic wired box for quick prototyping

Requirements:


Known issues:

Currently, Regular version of the script has some limitations of the box size. It is somewhere in the range of 30×30×30 but may vary. For example, you can have a box of 10×40×30 or 5×40×35 etc. Just try to mix and match different dimensions.

As far as I know, Lite version doesn't have this issue. Hopefully, I'll be able to fix this limitation in future updates.


Installation:

  1. Open Aseprite
  2. Go to File → Scripts → Open Scripts Folder
  3. Place downloaded LUA files into previously opened directory
  4. Restart Aseprite

You will find installed scripts under File → Scripts menu. You can add shortcuts to each script under Edit → Keyboard Shortcuts (Read more)

You can also create a separate folder for these scripts for better organization (Read more)


Special thanks to @davidcapello for giving tips on how to improve the code 🙌

Download

Download NowName your own price

Click download now to get access to the following files:

[KAM] Isometric Box Scripts (Regular + Lite versions) 10 kB

Comments

Log in with itch.io to leave a comment.

Hello, 

Getting errors on both: 

Isometric Box (Lite).lua:54 attempt to index a nil value (field 'activeSpirite')

Isometric Box lua:70 attempt to index a nil value (field 'activeSpirite')

Hello again, 

Well, I guess I´m dumb, everything is fine!

I had no project open, i just started the program and tryed to run the script without haveing a project open... I know i read the sentence here somewhere but still didnt connect the dots.

Merry christmas and thank you for a wonderfull script.

Hey, glad that everything worked out at the end! 

Sorry for the confusion, I should probably add a message that you need to have an opened project to use the script

Happy holidays!

Heyy
I got error Box:159: attempt to index a nil value (field 'activeimage')

The error only occurs if I try and create a box in another frame of animation other than the first one, so like, If i go and try to create a box at frame 3, I can't, I need to go back to frame 1 to do it


Oooh. Thank you for reporting this bug. Somehow, I've never encountered it, since I usually draw the box only at the first frame.

I'll take a look at what's happening there. Thanks again and sorry for the inconvenience

Nah, don't worry!
I'll be really glad if you can fix it, but I don't want you to turn away your focus :v

Glad I was able to see this, as I've seen no one has reported this yet over here

Yeah, thank you again for pointing out! You are probably the first one to run the script in a frame other that the first one, hah. I have a major update for this script in the works, so hopefully this bug won't appear in the future

Box.lua:70: attempt to index a nil value (field 'activeSprite')

Hey,

Please make sure that you have created a new Sprite in Aseprite before running the script

Will this work on windows 11?

(-1)

._. uhmm does it work on Libresprite...

✨I'm poor ☆*: .。. o(≧▽≦)o .。.:*☆✨😻

Hey, sorry, this script requires Scripting API that is present in Aseprite version 1.2, which is not available in Libresprite :-/

I believe there are no scripting capabilities in Libresprite whatsoever

😭Aah lol it's fine... welp in all cases i was planning on trying to save up and buy aseprite :D 😻ill download your extension when i get it hehe

Anyway, tysm for replying that fast, you're a good developer ~( ̄▽ ̄)~☆ didn't expect you to be that quick lol⚡, please keep up the amazing work!!! ✨(★ ω ★) Good luck hehe 🙏

(1 edit)

You are welcome! Hope you'll like this script when you'll get the chance to use it!

Aseprite is free. You just have to go to github and compile it yourself (this is legal and completely intended by the Aseprite devs).

Also I am pretty sure you can use/run scripts in Libresprite.. not sure about its API capabilities tho.

Hope this helps! Check out develop.games (from piratesoftware super cool guys tbh).. I don’t want to assume at all.. but well.. itch.io and pixel art leads me to think that maybe you could use something like the above listed site!

Good luck, Have fun :)

(+1)

I am also poor well more of a cheapskate. Everything works fine if you just compile Aseprite by hand!

I need help. :/ It says Aseprite cant load.

Hey, sorry you've encountered the error message.

Did you follow installation instructions from the above? 

You need to put script files into Aseprite's scripts folder. You can locate it using menu "File → Scripts → Open Scripts Folder". Then restart Aseprite, and you'll be able to run the script from the "File → Scripts" menu

Deleted 1 year ago
Deleted 1 year ago
Deleted 1 year ago
Deleted 1 year ago

got it!!

🙌

I'm getting an error on certain files but some files are fine? I get this error, "Isometric Box.lua:159: attempt to index a nil value (field 'activeImage') but im using the same values that worked in another file

I'm sorry you encountered a bug. Are these files made using RGBA color mode? This version of the script only works with RGBA sprites. You can change color mode of your file using menu: Sprite → Color Mode → RGB

Tysm! That worked! 🫡

Glad to hear!

Im getting an error unfortunately. It says, Aseprite can't load. 

Wow! Amazing tool <3

Wow, this is such a useful tool for brainstorming iso environs. thank you for this! 

Request: have the option to have 4 pixel corners. this is generally desirable when making art for videogames.

also would like this

Many thanks for this!

What settings should I use for Size if I'm trying to keep it 32W x 16H or 64W x 32H? Can you explain exactly how the Size is measured? For example if I do 7 left, 7 right, and 10 height, where are the measurements happening exactly? Because if I do a 5Lx5Rx10H box, the total width from furthest pixels is 22 and the height of the box is 21. Just want to make sure I understand how to use it better. Thank you!

Hey, these are dimensions in isometric 3D space. Left and Right dimensions are measured in 2px units, and the Height of the box is just 1px unit 

I believe, calculating 2D width would look like this: (Left × 2) + (Right × 2) + 2

The height is a bit tricky though, and would probably envlove some logic.

The main idea behind this script is thinking in isometric space in terms of units, instead of 2D plane and pixels

This was super helpful! If I needed something to absolutely be 32 across even, I can always just pull the side black edges in a single pixel each. But this tool is great. Thank you

Does this work on v1.2.9?

Should work just fine. I'm on 1.3, but I don't remember any issues in 1.2.9

Love this extension, but are there any plans to make 4px corners or adjustable corner sizes?

Heyo! I am wondering if this works for the lastest full version (1.27) and 1.3.04 beta
This looks very interesting but i have that doubt

Hope you the best!

Hey, I'm on the latest 1.3 beta5 and it works without any issues on my end

Thanks! I will get it then

im trying to make 16x16 boxes exactly touching the edges but it just doesn't work. its always too big or too small.

also same with 32x32, both edges are just one pixel away from the edge of the canvas

Hey, by 16x16 and 32x32 you mean document size? 

I'm trying to draw a square isometric box by hand and it iseems like it's not possible to fit it in properly using 2px or 3px corner (pixels at the center of the box). You can draw a 4px corner and it will work. 

This script doesn't support it, but you can generate a 3px corner box and then mirror it, to make it a 4px corner one.

Thank you for this! This is a very useful tool.

Glad you found it useful! 

I just download the plugin, but doesn't seem to work, jsut creates a empty layers sometime and sometimes it does nothing...(Aseprite last version to date)

Can you check the Sprite → Color Mode, please? This script requires "RGB Color", and might fail to work in other modes.

(+1)(-1)

Mano, felizmente vejo que funcionou...eu acho... mas obg aeeee

(-1)

Alguém pode me ajudar?


It’s still being updated? doesn’t worked in 1.2.18

Hey, I'm using 1.2.18 and it works on my end. Please make sure the color mode of your document is set to RGBA

Let me know if you are still having any issues.

I tried again on 1.2.19 and worked, thanks!

It's free?

I was able to patch the script  which was causing issues generating larger boxes with the regular colored version! now it works great! :D

Only the lite version works in Aseprite v1.2.16.3, for some reason the normal version doesn't seem to draw any boxes in that version...

Can you check the Color Mode of your document? It should be in RGBA mode

(I've tested both scripts in 1.2.16.3 and seems like everything works on macOS)

I just recheck again and both the lite and normal version of the script works as intended now. I am not sure why it didn't work the first time when I tried to run the script though. 

Anyway, thank you for such an amazing plugin.  :)

Glad to hear :)

Hope you'll find this script useful!

(+2)

Could you add the option to disable adding a new layer and instead just drawing it on the current layer?

Added to todo list!

I miss the option to change the isometric to other axonometric projections. I normally do a custom trimetric and would be very nice to have this tool!

I started implementing this feature just yesterday! I'm in the process of rewriting everything from the ground up, using the latest Aseprite API additions.


This will allow adding features like a custom angle for the axonometric projection. It already works (it's not a box yet though, haha):



Any updates on this? Love the script as it is and would love to see it expanded :)

(1 edit)

Hey Dawkwark - I had a small request - 

In the current version when one creates a Isometric Box,
eg Left 10, Right 15, Height 30.

The layer name of derives from those size values, but instead of the sequence being
Left, Right, Height - it re-sorts it to
Right, Left, Height 

Can you please correct this so it reads the same format i.e
Left, Right, Height 

Thanks 

(+1)

Noted!

Thank you for this very nifty tool! I hope you make more Aseprite tools! 

You are welcome! I have few more tools in the works. Hopefully, I'll be able to release something new soon!

I am happy to continue supporting your project :) 
I'd be super excited if you think any of these two features can be made in the future

1. Change the angle of the incline when creating a cube - 

Eg - following examples 

2. Ability to make isometric cylinders out of circle 

Thanks for suggestions!

1. “Isomteric” angle is one of the most requested features! And since the recent API update, I might be able to implement this feautre. I will think about it.

2. Well, I have another isometric script in the works, which can potentially solve this. 

All in all, I'm up for making more tools for Aseprite and I already have some stuff in the works, but it takes time to polish everything for the final release. 

I even think about making some kind of Early Access to these tools for those who don't mind missing manual/instructions or some features. 

Excellent 

Id be down for an early access like service to try out these tool

hi! i have a small problem, when i go on file on aseprite to find the scripts folder thing, it isnt there so i don't know how to access the script itself. i'm big confused :/

Please make sure you have installed Aseprite Beta: https://www.aseprite.org/beta

This was quite useful. If you set up a git repo for this, I'd be happy to pull request along some of my additions. In my version I needed bigger cubes so I rewrote your recursive implementation of floodfill to use a loop and a queue to speed up performance and allow it to go past the limits of the C stack for size (I was capping at about 30x30x30 pixels).

(1 edit)

Ooh! This is awesome! I will set up a repo and send the link to you. Thanks!

(+1)

Repo is up: https://github.com/darkwark/isobox-for-aseprite

Thanks! Pull request has been placed.

Great! Thank you! I'll do some code clean up and release updated version!
Do you have a Twitter account or something like that, so I could mention you in the description?

Sure, @AimlessZealot

Great stuff, thanks! 

I was poking around in the script (the normal one not the lite one), and was wondering whether it would be better to replace the undo/redo command  for refreshing the screen at line 286 - 287  with a single call to the Refresh command. Not sure if one way is better than the other, but I did find that the undo/redo calls didnt always work in my own scripts, while refresh seemed to work every time.

I believe these lines were added by @davidcapello as a temporary solution, because app.refresh() didn't work correctly with my script on Windows in the Beta 2 or something like that. But it was probably already fixed in the latest Beta releases

nice

Thanks man!

Looks so cool, nice one!

Thanks :)

this is not for windows right?

(1 edit)

This script is for Aseprite. It is available on Windows, macOS and Linux.

This is amazing! :D Great work!

Thanks!

(+1)

It's beautiful, I can't wait to use this.

Hope you'll find it useful :)

The asesprite beta crashes immediately for me T_T I still have to troubleshoot. Maybe it's possible to fix?

I'm only able to use Asesprite by using the existing release.

I've heard people had some crash issues on Windows 10 because of the wrong beta branch. Make sure you have selected branch called beta - Beta version - Preview features in Steam. 

https://twitter.com/AlphieStudios/status/1063348105599344641

(+1)

Nice! Definitely my favorite script so far ^-^

Thanks!