new official editor for ogre

The place for artists, modellers, level designers et al to discuss their approaches for creating content for OGRE.
Post Reply
User avatar
xgEditor
Gnoblar
Posts: 8
Joined: Tue Aug 21, 2007 3:44 pm
Location: china
Contact:

new official editor for ogre

Post by xgEditor »

i make a editor for ogre,has some basic functin for edit scene.
http://sourceforge.net/projects/xgeditor

this is the first release version of the xgEditor. i like share my work with everybody.
feature:
*add mesh file to scene
*add particle file to scene
*add light to scene
*add help box to scene
*move rotate object
future feature:
*add sound object
*terrain object edit
*water object edit

Image
Image
Image
Image
Image
Image
Image
    Last edited by xgEditor on Sat Jan 26, 2008 7:17 am, edited 10 times in total.
    User avatar
    xgEditor
    Gnoblar
    Posts: 8
    Joined: Tue Aug 21, 2007 3:44 pm
    Location: china
    Contact:

    usage,this usage maybe help for everybody

    Post by xgEditor »

    :)
    2007-8-12 21:13
    you must edit xgEditorConfig.xml after your download.
    xgEditorConfig.xml
    the editor use xgEditorConfig.xml plugins.cfg ogre.cfg as the config file,the editor don't use
    resources.cfg.
    the xgSceneViewer.exe use resources.cfg plugins.cfg ogre.cfg as the config file.
    <?xml version="1.0" encoding="GB2312" standalone="yes" ?>
    <xgEditorConfig>
    <!--if you want reconfig the render api(dx or gl) or the editor start failed,set runSuccess to
    0,when editor start failed or crashed,editor will set this value to 0 so that you can reselect the
    render, because some error maybe caused by render config error,so when start failed, maybe it will
    start success next time-->
    <runSuccess>1</runSuccess>
    <!-- record the window frame layout,generate by editor ,don't modify it manually -->
    <frameLayout>layout2|name=property;caption=property;state=2044;dir=2;layer=0;row=0;po
    s=1;prop=128450;bestw=256;besth=50;minw=-1;minh=-1;maxw=-1;maxh=-1;floatx=225;floaty=
    108;floatw=264;floath=78|name=tools;caption=tool;state=2044;dir=2;layer=0;row=0;pos=0;prop
    =135372;bestw=300;besth=100;minw=300;minh=100;maxw=-1;maxh=-1;floatx=8;floaty=54;floa
    tw=308;floath=446|name=view;caption=workspace;state=1020;dir=5;layer=0;row=0;pos=0;prop=
    100000;bestw=16;besth=16;minw=-1;minh=-1;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=-1;
    floath=-1|name=log;caption=log;state=2099198;dir=2;layer=0;row=0;pos=3;prop=36178;bestw=1
    24;besth=60;minw=-1;minh=-1;maxw=-1;maxh=-1;floatx=218;floaty=712;floatw=132;floath=88|
    dock_size(2,0,0)=302|dock_size(5,0,0)=18|</frameLayout>
    <!--internal use for record directory visit history -->
    <resInsertToolDirInitDir>U:\setup\data\mesh\laser\laser.mesh</resInsertToolDirInitDir>
    <!--editor will load all xml file that defined game entity in entityXmlRootDir,you can study
    data\entity\entity.xml for it's format -->
    <!--the game entity is some tag that you can put into editor's scene and scene file, the game
    entity always representation by some mesh in editor ->
    <entityXmlRootDir>U:\xg\bin\data\config\entity</entityXmlRootDir>
    <!--resRootPath must use this format as c:\mesh\ not c:\mesh -->
    <!--editor will save all resourceLoaction which under resRootPath to scene file's
    resourceLocations element use related path,other's use absolute path-->
    <resRootPath>U:\setup\</resRootPath>
    <!--the path must in this fomat data\mesh\ not data\mesh -->
    <!--editor will load all the path list in resPathList to ogre's resourceLocation-->
    <!--after load this path,the editor will refresh the editor's particle list,so if you want some
    particle list in editor's particle list, you'd better put particle's dir in this list. there is another two
    way to add particle to particle list also,one way,when you click some .mesh file in editor's resource
    explorer , editor will check that mesh's path in the path list that ogre have loaded, if it is not
    exist,editor will let ogre load the path of the selected .mesh file, after ogre load this path,the ogre
    will add all the particle's define template in this path,and also materail and other things that ogre'
    load method can do,after ogre load this path,editor will refresh the particle list.way two,you can
    drug one or more .mesh file from windows explorer direct to editor's view window,editor will
    check and load the .mesh file's path at first,then load those mesh in droped, in the same time,
    editor will refresh particle list also, because when ogre load some new path, it will load particle
    defined file,materail etc.-->
    <resPathList>
    <path>data\mesh\editor\</path>
    <path>data\particle\</path>
    <path>data\materials\programs\</path>
    <path>data\materials\scripts\</path>
    <path>data\materials\textures\</path>
    </resPathList>
    <!--editor will load all the directory of entityMeshRootDir and its subdir to ogre's
    resourceLocation, not use ogre's recusive method but insert it and it's subdir muanul one by
    one.-->
    <!--why we need this path,it's mainly used for editor's entity window's entity list,there is only
    some mesh name in the entity config always, so if we don't load those path that those mesh file in,
    the editor won't find those location,so we need entityMeshRootDir to be define, let editor load
    those path and it's sub path.-->
    <entityMeshRootDir>U:\setup\xgEditorSetup\data\mesh\</entityMeshRootDir>
    </xgEditorConfig>
    2007-8-12 21:17
    tool usage
    -->prs
    first select the opration method
    use mouse select the object with left mouse down and don't let it up,move mouse,the object
    will move.
    when mouse move,try use with Ctrl Alt for other function

    -->resource exporer

    -->mesh
    first select a mesh file
    when you click some point of view window,it will drop the mesh at that position

    -->particle
    editor will list all the particle that ogre has loaded current,you can add particle path
    to resPathList in xgEditorConfig.xml so that editor will load it when starting.

    -->entity
    editor will load all game entity file define in xml file,those xml file must put in
    <entityXmlRootDir></entityXmlRootDir> directory,you can study data\entity\entity.xml for it's
    format.

    -->sector and ai navi tool
    this is use for my project, you can use it if you need

    2007-8-12 21:22
    when error occured,editor will out the error message to the console window with the xgEditor
    2007-8-12 21:40
    the editor's .scene.xml file
    the editor will save all filesystem path to scene file,when xgEditor.exe or xgSceneViewer.exe load
    scene file,all of the resourceLocations will load into resource find path.
    2007-8-12 21:44
    the xgSceneViewer can load that .scene.xml that generated by xgEditor.
    the src of xgSceneViewer.exe is more useful for those who want know how to load the editor's
    scene.xml file.
    2007-8-12 22:44
    compile
    the xgEditor's src denpend on follow wonderful library when it's deving.
    ogre-win32-v1-4-3 in dll mode
    wxWidgets-2.8.0 in dll mode
    wxpropgrid-1.2.5 in dll mod
    vc_2005_sp1 which is needed by ogre
    Last edited by xgEditor on Tue Aug 28, 2007 3:16 am, edited 4 times in total.
    Chaster
    OGRE Expert User
    OGRE Expert User
    Posts: 557
    Joined: Wed May 05, 2004 3:19 pm
    Location: Portland, OR, USA
    Contact:

    Post by Chaster »

    Neat. I have a few questions:

    1) What scene format does it save/load to? DotScene?
    2) What is a "Help Box"?
    3) When you add a water object - what will that consist of?

    Chaster
    User avatar
    jacmoe
    OGRE Retired Moderator
    OGRE Retired Moderator
    Posts: 20570
    Joined: Thu Jan 22, 2004 10:13 am
    Location: Denmark
    x 179
    Contact:

    Post by jacmoe »

    Looking forward to seeing the source in the CVS repository. :wink:
    /* Less noise. More signal. */
    Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
    OgreAddons - the Ogre code suppository.
    User avatar
    xgEditor
    Gnoblar
    Posts: 8
    Joined: Tue Aug 21, 2007 3:44 pm
    Location: china
    Contact:

    reply

    Post by xgEditor »

    :D
    help box ,is some box,you can use it for some tag.
    scene format is a custome xml scene format, so it is perfectly suit with editor,the src of load this scene format has been added, xgSceneViewer_src_2007_8_12.rar.
    a warter object,could be some basic function warter object as ogre demo,or be made by a complicated system,this is futurce function,now it's under plan
    User avatar
    jacmoe
    OGRE Retired Moderator
    OGRE Retired Moderator
    Posts: 20570
    Joined: Thu Jan 22, 2004 10:13 am
    Location: Denmark
    x 179
    Contact:

    Post by jacmoe »

    I see that it is based on wxWidgets and Ogre (of course).

    Really like the particle editor screen shot! :)

    Keep up the good work - will give it a whirl later. :wink:
    /* Less noise. More signal. */
    Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
    OgreAddons - the Ogre code suppository.
    grizzley90
    Gnome
    Posts: 318
    Joined: Wed Jan 18, 2006 7:22 pm
    Location: Montreal, Canada

    Post by grizzley90 »

    What makes this editor the official ogre editor? :? :? There are a billion different ogre editors out there... I like sinbad's.
    User avatar
    xgEditor
    Gnoblar
    Posts: 8
    Joined: Tue Aug 21, 2007 3:44 pm
    Location: china
    Contact:

    replay

    Post by xgEditor »

    grizzley90 wrote:What makes this editor the official ogre editor? :? :? There are a billion different ogre editors out there... I like sinbad's.
    i like that snap also :D
    Skorpio
    Kobold
    Posts: 37
    Joined: Sun Sep 24, 2006 9:32 am

    Review

    Post by Skorpio »

    Hello xgEditor,

    I had a chance to look at your program and I think it shows a lot of potential. It is fast and like it because it supports XML.
    I would like to use the XML support to generate python-ogre scripts. This would make it really easy to create scenes by just dropping the meshes.


    I have a couple of questions.

    How do you stop placing meshes? I placed one of my meshes and I could'nt stop placing meshes.

    Can you move the meshes once they are placed?

    I tried editing the path to where all the OGRE resources are, but I could not get the material to be displayed with the mesh.
    I'm using the standard OGRE folder structure
    media\models
    media\materials\texture
    media\materials\scripts


    Here a few suggestions to make your program a lot better.

    1. provide a Top view (y=300,x=0,z=0) so that meshes can be dropped in the xz plane and then adjust the y axis

    2. Animation currently does loop only, it would be nice to have One-time-only check box

    3 provide a way to provide multiple camera-view points.




    Great work!!

    Best Regards,
    kcbanner
    Goblin
    Posts: 208
    Joined: Sat May 05, 2007 4:49 pm

    Post by kcbanner »

    Just wondering...how is this "official", did the Ogre devs ask you to do this for Ogre?

    Not sure if you're aloud to say its an ""official"" editor just because it uses Ogre...
    User avatar
    Falagard
    OGRE Retired Moderator
    OGRE Retired Moderator
    Posts: 2060
    Joined: Thu Feb 26, 2004 12:11 am
    Location: Toronto, Canada
    x 3
    Contact:

    Post by Falagard »

    It's not official :-)
    User avatar
    jacmoe
    OGRE Retired Moderator
    OGRE Retired Moderator
    Posts: 20570
    Joined: Thu Jan 22, 2004 10:13 am
    Location: Denmark
    x 179
    Contact:

    Post by jacmoe »

    But it's a nice name. :)
    Besides, I think it serves a purpose: sparking some interest.
    I think this project looks promising. It's on wxWidgets and is in a CVS already. I'll keep an eye on this.. :wink:
    /* Less noise. More signal. */
    Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
    OgreAddons - the Ogre code suppository.
    User avatar
    xgEditor
    Gnoblar
    Posts: 8
    Joined: Tue Aug 21, 2007 3:44 pm
    Location: china
    Contact:

    re

    Post by xgEditor »

    jacmoe wrote:But it's a nice name. :)
    Besides, I think it serves a purpose: sparking some interest.
    I think this project looks promising. It's on wxWidgets and is in a CVS already. I'll keep an eye on this.. :wink:
    thanks :)
    User avatar
    xgEditor
    Gnoblar
    Posts: 8
    Joined: Tue Aug 21, 2007 3:44 pm
    Location: china
    Contact:

    Re: Review

    Post by xgEditor »

    Skorpio wrote:Hello xgEditor,

    I had a chance to look at your program and I think it shows a lot of potential. It is fast and like it because it supports XML.
    I would like to use the XML support to generate python-ogre scripts. This would make it really easy to create scenes by just dropping the meshes.


    I have a couple of questions.

    How do you stop placing meshes? I placed one of my meshes and I could'nt stop placing meshes.

    Can you move the meshes once they are placed?

    I tried editing the path to where all the OGRE resources are, but I could not get the material to be displayed with the mesh.
    I'm using the standard OGRE folder structure
    media\models
    media\materials\texture
    media\materials\scripts


    Here a few suggestions to make your program a lot better.

    1. provide a Top view (y=300,x=0,z=0) so that meshes can be dropped in the xz plane and then adjust the y axis

    2. Animation currently does loop only, it would be nice to have One-time-only check box

    3 provide a way to provide multiple camera-view points.




    Great work!!

    Best Regards,
    thanks for you suggestions, i will make editor more usefull in future ^_^
    thanks for everybody that like my work :)

    i have to say that the operation of editor is more differ with other editor. i just want the operation more convenience, some normal way is not very convenience.

    if you want stop placing meshes,just click other tool item lik prs ,camera etc. the mesh that follow mouse will disappear :)

    once the mesh is placed, click prs in tool window,then select a method that you want apply to target,the default method when you clicked prs is pos_free mode,in this mode, click some object in scene like mesh and hold left mouse button on,then move the mouse,that object will be moved in xz plane,with press ctrl key,the object will moved in y axis

    rot_free mode, click some object in scene like mesh and hold left mouse button on, when move mouse,the object selected will be rote in a free mode.

    rot_axis mode, when move moue,object will rot with y axis,with ctrl it will rot with x axis,with alt will rot with z axis.

    if you want editor display object with material correctly, the editor must load and analyse this path first, put your path into <resPathList> or put the root path of all resource to <entityMeshRootDir>, or ,put all materail that belong to a mesh in this mesh's folder,the material should be displayed well.

    if you click a mesh file in resource explorer, if editor can't find that mesh in the path that have loaded, editor will load that path first then load that mesh, and be attention that after every loading of new path , the editor will refresh the particle list in resource exploerer.

    you can drug some .mesh file from windows exploerer and drop them to editor's view window, those mesh will be placed in the position of mouse when droped.



    :)
    kcbanner
    Goblin
    Posts: 208
    Joined: Sat May 05, 2007 4:49 pm

    Post by kcbanner »

    Hi,

    Are there any plans for linux support of this?
    User avatar
    jacmoe
    OGRE Retired Moderator
    OGRE Retired Moderator
    Posts: 20570
    Joined: Thu Jan 22, 2004 10:13 am
    Location: Denmark
    x 179
    Contact:

    Post by jacmoe »

    It's based on wxWidgets and Ogre, so should be cross platform by design.
    /* Less noise. More signal. */
    Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
    OgreAddons - the Ogre code suppository.
    kcbanner
    Goblin
    Posts: 208
    Joined: Sat May 05, 2007 4:49 pm

    Post by kcbanner »

    Yea, people often say that, of course the libraries are compatible...but do you use windows.h, etc without checking the OS, or even provide an alternate method.

    I'm kinda annoyed lots of times by windows devs that just assume it will Just Work on linux when they use things like windows.h, or sometimes they just include their .vcproj when they should include a Makefile (or even a premake script).
    User avatar
    jacmoe
    OGRE Retired Moderator
    OGRE Retired Moderator
    Posts: 20570
    Joined: Thu Jan 22, 2004 10:13 am
    Location: Denmark
    x 179
    Contact:

    Post by jacmoe »

    They should?
    I don't think so. It would be really trivial for someone on Linux to provide a makefile or a premake script, no?
    And, since the code is in a CVS repository near you, it is only a matter of submitting a patch to the tracker.
    /* Less noise. More signal. */
    Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
    OgreAddons - the Ogre code suppository.
    kcbanner
    Goblin
    Posts: 208
    Joined: Sat May 05, 2007 4:49 pm

    Post by kcbanner »

    Yea, if you want support in a project your interested in then thats what you do.

    I wasn't referring to this project in particular, just other projects I've seen advertise "cross platform!" when really they don't provide the build files or improperly use windows.h

    I'll steer back on topic now ;p

    -kcbanner
    User avatar
    jacmoe
    OGRE Retired Moderator
    OGRE Retired Moderator
    Posts: 20570
    Joined: Thu Jan 22, 2004 10:13 am
    Location: Denmark
    x 179
    Contact:

    Post by jacmoe »

    kcbanner wrote:I wasn't referring to this project in particular, just other projects I've seen advertise "cross platform!" when really they don't provide the build files or improperly use windows.h
    In that case I couldn't agree with you more! People shouldn't advertise something they can't deliver.
    In this case, we are talking about two veteran libraries proven to work on the major OS'es.
    <hijack mode off />
    /* Less noise. More signal. */
    Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
    OgreAddons - the Ogre code suppository.
    User avatar
    xgEditor
    Gnoblar
    Posts: 8
    Joined: Tue Aug 21, 2007 3:44 pm
    Location: china
    Contact:

    Post by xgEditor »

    jacmoe wrote:
    kcbanner wrote:I wasn't referring to this project in particular, just other projects I've seen advertise "cross platform!" when really they don't provide the build files or improperly use windows.h
    In that case I couldn't agree with you more! People shouldn't advertise something they can't deliver.
    In this case, we are talking about two veteran libraries proven to work on the major OS'es.
    <hijack mode off />
    :)
    It has potential that can run on other platform because it is based on excellent wxWidgets and ogre, but, it is dev in windows originally, so it is need some work to compile on other platform and it is normal that can't compile directly in other platform.
    In future i will try compile it on linux, it is exciting work that make it usefull for everyone that need it. :D
    Post Reply