Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Unsupported Software
  • Search

2D Animation app `Nime' : please pre-alpha-alpha test it

This forum covers all Gentoo-related software not officially supported by Gentoo. Ebuilds/software posted here might harm the health and stability of your system(s), and are not supported by Gentoo developers. Bugs/errors caused by ebuilds from overlays.gentoo.org are covered by this forum, too.
Post Reply
Advanced search
14 posts • Page 1 of 1
Author
Message
Genjix
Apprentice
Apprentice
Posts: 163
Joined: Thu Jun 23, 2005 7:35 pm

2D Animation app `Nime' : please pre-alpha-alpha test it

  • Quote

Post by Genjix » Sun Nov 13, 2005 11:32 pm

Hello,

you don't know how excited I am to be finally releasing this project to the community

Example Video: http://genjix.robloach.net/nime.avi
Example Video (XVid/mpeg4): http://genjix.robloach.net/nime1.avi
Example Video (MP42): http://genjix.robloach.net/nime2.avi
Example Video (DivX3): http://genjix.robloach.net/nime4.avi

http://genjix.robloach.net/nime.tar.bz2
http://genjix.robloach.net/nime.tar.gz
http://genjix.robloach.net/nime.zip

(The last 3 videos should be playable using the DivX player bundle http://www.divx.com/divx/play/download/)

Nime is a 2D animation application for Linux (not yet ported to windows, although it shouldn't be too hard work). This program is mainly concerned with animating cel's - NOT drawing them. You could day this program is built for animating anime (hence the name).
This is in response to the poor quality and unavailability of OpenSource 2D animation programs.

Currently all I know of are KToon and F4L (both in alpha/beta), and as far as I know neither of them has the concept of grouping objects into tree's and no `camera'.
Objects are grouped in layers and the same transforms you can apply to an object you can apply to a layer. So basically you end up with a tree. If you need a global camera just move the root node around and it acts like a camera. Scaling a layer, scales its objects around the screen center (zooming in and out - but scaling an object does so at its center).

KToon's and F4L movement's are limited to keyframes for a whole scene (as opposed to per object and layer in my program), and seem more suited to designing computer drawn frames (as opposed to animating ready drawn frames that could be drawn using a mix of scanner, inkscape and gimp).

Currently supported is translating, scaling, rotating and alpha blending your cels, with linear interpolation (inbetweens) for those as well.

As an example:

Code: Select all

<scene>
	<!--not yet implemented-->
	<!--<library></library>-->

	<layers>
		<layer name="camera">
			<!-- static centered background -->
			<object name="absolute background">
				<image name="" src="data/absbg.png" />
				<keyframes>
					<keyframe n="1">
						<move x="400" y="300" />
					</keyframe>
				</keyframes>
			</object>
			
			
			<object name="moving rotating changing object">
				<image name="1" src="data/object_frame1.jpg" />
				<image name="2" src="data/object_frame2.jpg" />
				
				<keyframes>
					<keyframe n="1">
						<move x="0" y="100" start="1" />
						<rotate angle="90" start="1" />
						<opacity value="2" start="1" />
					</keyframe>
					
					<keyframe n="50">
						<move x="1000" y="0" />
						<switch image="2" />
					</keyframe>
					
					<keyframe n="100">
						<move x="0" y="800" stop="1" />
						<rotate angle="180" stop="1" />
					</keyframe>
				</keyframes>
			</object>
			
			<!-- nested layers -->
			<layer name="crowd">
				<!-- two objects -->
				<object name="crystals">
					<image name="matthew" src="data/crystals.png" />
				</object>
				<object name="tree">
					<image name="jacob" src="data/tree.png" />
				</object>
			</layer>

			<!-- zoom this layer out starting at frame 1 to 100 -->
			<keyframes>
				<keyframe n="1">
					<scale factor="1" start="1" />
				</keyframe>
				
				<keyframe n="100">
					<scale factor="0.5" />
				</keyframe>
			</keyframes>
		</layer>
	</layers>

	<options>
		<screensize width="800" height="600" />
		<loopdelay delay="0" />		<!-- loop delay time for preview animation -->
		<save-as path="/tmp/img_" />	<!-- where to output frame images -->
		<output file="output.avi" />	<!-- ouput avi file -->
		<automatic-encoding />		<!-- perform automatic compiling of images into avi -->
	</options>
</scene>
As you can see keyframe info can be applied to objects (leaf or node in tree talk) or layers (branch in tree talk). So a squadron of flying ships can be animated on one layer (with delta translation differences caused by animation in the objects position).

To build it you need:
SDL
SDL_image
SDL_gfx
python
boost (boost_python)
Optional:
mplayer (mencoder)
ImageMagick (convert)
(above 2 packages are needed for rendering an avi)
gimp-gap (alternatively if you want to manually encode the avi by hand - consult README)

This is a very crucial time... I need everyone I can get. At this point in time I am working on a gui configuration tool and amongst programmers I also need artists who can help me create some truly wonderful looking animations that will generate enough interest to get the project going.

email: genjix at gmail doat com

Please tell me what you think!
Top
amne
Bodhisattva
Bodhisattva
User avatar
Posts: 6378
Joined: Sun Nov 17, 2002 6:00 pm
Location: Graz / EU

  • Quote

Post by amne » Mon Nov 14, 2005 10:43 am

Moved from Multimedia to Unsupported Software.
Dinosaur week! (Ok, this thread is so last week)
Top
babo
Guru
Guru
User avatar
Posts: 477
Joined: Tue Aug 10, 2004 11:26 am
Location: Ljubljana
Contact:
Contact babo
Website

  • Quote

Post by babo » Mon Nov 14, 2005 8:13 pm

well I think this is great news

I'd like to do as much animation as is possible in linux. ktoon is closest now. I also tryed gimp-gap which I like couse I get pressure sensetivity of wacom and I also used cinepaint a bit.

I am emerging boost now and will try it later. I am willing to to contribute animations. I just need to have nime working.
Top
babo
Guru
Guru
User avatar
Posts: 477
Joined: Tue Aug 10, 2004 11:26 am
Location: Ljubljana
Contact:
Contact babo
Website

  • Quote

Post by babo » Mon Nov 14, 2005 9:27 pm

I get this error when I try to run ./configure

Code: Select all

rasta nime # ./configure 
using python path /usr/include/python2.4
rm: cannot remove `/tmp/out.so': No such file or directory
boost python path not found!
please open up this file and change BOOST_PYTHON_OPT (for boost python's parent include directory and boost python's linker options e.g BOOST_PYTHON_LIB="-I/path/to/ -lboost_python"
!!!! only use the parent directory for the boost include (i.e -I/usr/include NOT -I/usr/include/boost) !!!!
EXAMPLE: BOOST_PYTHON_OPT="-I/usr/include -lboost_python"
rasta nime # 
I emerged boost. Should I emerge something else?

and I am starting an ebuild:

# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

Code: Select all

DESCRIPTION="2D animation software"
HOMEPAGE="http://genjix.robloach.net/"
SRC_URI="http://genjix.robloach.net/${PN}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""

DEPEND="media-libs/libsdl
        media-libs/sdl-image
        media-libs/sdl-gfx
        dev-lang/python
        dev-libs/boost"

src_compile() {
    cd work/nime
    ./configure || die "configure failed"
    make || die "make failed"
}

src_install() {
    dobin ${P}/work/nime/nime || die "dobin failed"
    dodoc README
}
It's far from perfect or even working but it's a start.
Top
pussi
l33t
l33t
Posts: 727
Joined: Sat May 08, 2004 9:28 am
Location: Finland

  • Quote

Post by pussi » Tue Nov 15, 2005 10:36 am

babo wrote:I'd like to do as much animation as is possible in linux. ktoon is closest now. I also tryed gimp-gap which I like couse I get pressure sensetivity of wacom and I also used cinepaint a bit.
Have you heard of Synfig? I didn't try it yet but it looks really promising. There are ebuilds at bugs.gentoo.org too.

EDIT: Here's links for the ebuilds: synfig synfig-studio ETL

And sorry for off topic :(
Top
Genjix
Apprentice
Apprentice
Posts: 163
Joined: Thu Jun 23, 2005 7:35 pm

  • Quote

Post by Genjix » Tue Nov 15, 2005 2:31 pm

babo:
tell me where the headers for your boost install are

Code: Select all

 $ ls /usr/include/boost
also do

Code: Select all

  $ ls /usr/lib | grep boost | grep python
you should get /usr/lib/libboost_python.so in the list.

lets say you have boost headers install in /some/path/boost and the boost python library file is called boost-python (in /usr/lib)
then open up the configure file and change and change

Code: Select all

#!/bin/sh

PYTHON_INCLUDE=""
BOOST_PYTHON_OPT="-I/some/path -lboost-python"    # change this line
SDL_OPT=""
SDL_IMAGE_OPT=""
SDL_GFX_OPT=""

(capital i for include path and lowercase L for library file)
Top
babo
Guru
Guru
User avatar
Posts: 477
Joined: Tue Aug 10, 2004 11:26 am
Location: Ljubljana
Contact:
Contact babo
Website

  • Quote

Post by babo » Tue Nov 15, 2005 8:21 pm

ok, both ls-s give me correct values, so I entered:

Code: Select all

BOOST_PYTHON_OPT=" -I/usr/include/ -llibboost_python"
and I get this error:

Code: Select all

rasta nime # ./configure 
using python path /usr/include/python2.4
./configure: line 29: [: -I/usr/include/: binary operator expected
using SDL options "-lSDL"
using SDL_image options "-lSDL_image"
using SDL_gfx options "-lSDL_gfx"
rasta nime #
Top
Genjix
Apprentice
Apprentice
Posts: 163
Joined: Thu Jun 23, 2005 7:35 pm

  • Quote

Post by Genjix » Wed Nov 16, 2005 10:27 pm

extremely sorry, but it was a small error on my part... uploaded fixed version.

the the lib part isn't neccessary in linker options.

Code: Select all

  BOOST_PYTHON_OPT=" -I/usr/include/ -lboost_python"
but I find this extremely strange since boost is exactly same location and names as on my system yet the configure stage is find...

Code: Select all

  $ echo "#include <boost/python.hpp>" > /tmp/main_boostpython.cpp
  $ echo "BOOST_PYTHON_MODULE {  }" >> /tmp/main_boostpython.cpp
  $ g++ -shared /tmp/main_boostpython.cpp -I/usr/include/python2.4 -lboost_python -o /tmp/out.so
     /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../../i686-pc-linux-gnu/bin/ld: warning: creating a DT_TEXTREL in object.
  $
if you copy and paste that into your konsole you should get that same output... do you.

Thank you babo :), a gui tool is nearing alpha and should be ready for alpha testing soon.
Top
babo
Guru
Guru
User avatar
Posts: 477
Joined: Tue Aug 10, 2004 11:26 am
Location: Ljubljana
Contact:
Contact babo
Website

  • Quote

Post by babo » Thu Nov 17, 2005 11:32 am

this is what I get:

Code: Select all

$ echo "#include <boost/python.hpp>" > /tmp/main_boostpython.cpp
$ echo "BOOST_PYTHON_MODULE {  }" >> /tmp/main_boostpython.cpp
$ g++ -shared /tmp/main_boostpython.cpp -I/usr/include/python2.4 -lboost_python -o /tmp/out.so
/tmp/main_boostpython.cpp:2: error: invalid function declaration
$
I should mention I am running amd64.
Top
Genjix
Apprentice
Apprentice
Posts: 163
Joined: Thu Jun 23, 2005 7:35 pm

  • Quote

Post by Genjix » Thu Nov 17, 2005 2:03 pm

ok, good. now if you try

Code: Select all

$ echo "#include <boost/python.hpp>" > /tmp/main_boostpython.cpp 
$ echo "BOOST_PYTHON_MODULE(out) {  }" >> /tmp/main_boostpython.cpp 
$ g++ -shared /tmp/main_boostpython.cpp -I/usr/include/python2.4 -lboost_python -o /tmp/out.so 
it will definetly work (I know the include path is correct).

The new uploaded version should compensate with the ./configure step now... so try that out quickly.

Thanks ;)
Top
babo
Guru
Guru
User avatar
Posts: 477
Joined: Tue Aug 10, 2004 11:26 am
Location: Ljubljana
Contact:
Contact babo
Website

  • Quote

Post by babo » Thu Nov 17, 2005 3:26 pm

this is what I get with boostpython.cpp test

still get this if I don't change anything:

Code: Select all

$ echo "#include <boost/python.hpp>" > /tmp/main_boostpython.cpp
$ echo "BOOST_PYTHON_MODULE(out) {  }" >> /tmp/main_boostpython.cpp
$ g++ -shared /tmp/main_boostpython.cpp -I/usr/include/python2.4 -lboost_python -o /tmp/out.so
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/ccm3Ga3e.o: relocation R_X86_64_32 against `init_module_out()' can not be used when making a shared object; recompile with -fPIC
/tmp/ccm3Ga3e.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
$
and still don't get ./configure to work, the error is like before the new versions vere uploaded
Top
Genjix
Apprentice
Apprentice
Posts: 163
Joined: Thu Jun 23, 2005 7:35 pm

  • Quote

Post by Genjix » Sat Nov 19, 2005 11:27 am

hmm, no idea... seems extremely strange. The new gui release is coming soon, but it will also be using boost-python
try...

Code: Select all

BOOST_PYTHON_OPT="-lboost_python -I/usr/include/python2.4 -fPIC"
if that doesn't work I have no idea. I think this is probably my cue to be switching to autotools as opposed to custom configure files :P
Top
babo
Guru
Guru
User avatar
Posts: 477
Joined: Tue Aug 10, 2004 11:26 am
Location: Ljubljana
Contact:
Contact babo
Website

  • Quote

Post by babo » Sat Nov 19, 2005 4:45 pm

still don't get it on amd64, but I just got back my old x86 laptop and it compiles whithout problem there.
Top
Genjix
Apprentice
Apprentice
Posts: 163
Joined: Thu Jun 23, 2005 7:35 pm

  • Quote

Post by Genjix » Sun Nov 20, 2005 2:53 pm

Hi again,

just thought I'd post a picture of how development is getting on with the gui tool
http://tinypic.com/fwpyjo.png
  • o ignore the stupid slider at the bottom of the screen, I will
    eventually add a way of visualising which frames have keyframes and
    which do not involve that Delete Keyframes and Add keyframes buttons.
    Therefore scrolling the slider along every frame to see where your
    keyframes are will be uneccessary.
    Do you think it would be ok to do this as a list of the keyframes on
    the right hand side and keep the slider and you can be right click the list entries
    for insert&add , delete operations)?

    o Not everything is visible atm in the object properties panel (top
    left), like rotation, current image, scale and the objects name (might
    make this when you double click the objects tree entry in the tree
    view (bottom left))

    o I've decided to go with seperating objects and images - i.e theres a
    global list of images which you give names and objects can reference
    those loaded images by their names (handles) as opposed to having an
    internal list of images (allows objects to 'share' images and only
    load them in once). This will enable me later on to have some kind of
    'image panel' where you can drag and drop images onto the current
    image text field or something similar - I'm aiming to completely get
    rid of text input as much as needed in the future, so you no longer
    have to reference the images by a name.
Last edited by Genjix on Sun Nov 20, 2005 3:07 pm, edited 1 time in total.
Top
Post Reply

14 posts • Page 1 of 1

Return to “Unsupported Software”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic