Creating a room (HELP ME PLEASE)

Hi guys,



then I have to make a small application in JME.



As an example of the final result, you can view the following video on youtube



http://www.youtube.com/watch?v=GqK7BTjlp7o&feature=related



I have to make a room with a table etc etc… The graphics must be such that in the video. At the beginning of the video there is a room, I must make the same thing.



Can you help me please?

Hi, welcome to the jME Community Helping Office.  :mrgreen:



Sorry, but, I think it will help all of us, if you specify it a bit more.

So… What do you want to do with the room? or the Table? Only look at it?



Well…

You say, you want a room with a table in it. Well, if you only want a static scene to be viewed in jME - this is how I understand your problem - you have to make it in a Modeler of your choice (e.g. Blender) and then you can import it.



The way you import it, would depend on the modeler you chose. (There will be some nice tutorials, if you stick to Blender)



Hope that helps!

What interests me is to have a room with a table and using the mouse or keyboard can turn inside the room, as shown in the video of youtube

Well then you have to create the Models first.



Then you can easily create a Class in Java, which extends SimpleGame and put your loading code into "simpleUpdate()".



And there you are. (Camera Looking and Moving is all done already in SimpleGame!)

Ok, thanks for your valuable suggestion.



Then repeat, I create a room with three walls, desk, this is done, the export with Blender and load jMonkeyEngine.



Then I have to implement some features, such as the user must have the ability to upload images or pdf files. I can do this?



Thanks for your time and help.

Someone please help me?

Read the manual? Check the tests? For your case you would want to disable the FirstPersonCamera being used in SimpleGame and instead put the camera where you want it. Run your program, position the camera how you want it to be and then press C to display in the output the camera position and rotation, then set it at init after disabling the FirstPersonCamera.

Hello, can you give me a link that explains how to use this type of camera?

Call the method setEnabled(false) on the FirstPersonHandler that is in SimpleGame, and the use the methods setPosition/setDirection in the Camera in SimpleGame to put it in the proper position which you found out previously by pressing C (see my post before on how to do this).

Hello, thanks for having responded.



I understand what I mean. But I can not put it into practice.



You place the code that I use to load the object .3ds.



I hope I can help





import java.io.BufferedInputStream;

import java.io.ByteArrayInputStream;

import java.io.ByteArrayOutputStream;

import java.io.File;

import java.io.IOException;

import java.net.MalformedURLException;

import java.net.URL;

import java.util.HashMap;

import java.util.logging.Level;

import java.util.logging.Logger;



import jmetest.flagrushtut.lesson8.Vehicle;



import com.jme.app.SimpleGame;

import com.jme.bounding.BoundingBox;

import com.jme.input.ChaseCamera;

import com.jme.input.FirstPersonHandler;

import com.jme.input.thirdperson.ThirdPersonMouseLook;

import com.jme.math.FastMath;

import com.jme.math.Quaternion;

import com.jme.math.Vector3f;

import com.jme.scene.Node;

import com.jme.scene.state.CullState;

import com.jme.scene.state.ZBufferState;

import com.jme.util.export.binary.BinaryImporter;

import com.jmex.model.converters.MaxToJme;



/**

  • Started Date: Jun 26, 2004<br>
  • <br>
  • This class test the ability to save and write .3ds files

    *
  • @author Jack Lindamood

    */

    public class TestMaxJmeWrite extends SimpleGame {

        private static final Logger logger = Logger.getLogger(TestMaxJmeWrite.class

                .getName());



        public static void main(String[] args) {

       

            TestMaxJmeWrite app = new TestMaxJmeWrite();

            if (args.length > 0) {

                app.setModelToLoad(args[0]);

            }

            app.setConfigShowMode(ConfigShowMode.AlwaysShow);

            app.start();

        }



        private URL modelToLoad = null;



        private void setModelToLoad(String string) {

            try {

                modelToLoad = (new File(string)).toURI().toURL();

            } catch (MalformedURLException e) {

            }

        }



        protected void simpleInitGame() {

       

       

            if (modelToLoad == null) {

                modelToLoad = TestMaxJmeWrite.class.getClassLoader().getResource(

                        "jmetest/data/model/stanzasucuilavorare.3ds");

            }

           

            try {

                MaxToJme C1 = new MaxToJme();

                ByteArrayOutputStream BO = new ByteArrayOutputStream();

                C1.convert(new BufferedInputStream(modelToLoad.openStream()), BO);

                Node r1 = (Node)BinaryImporter.getInstance().load(new ByteArrayInputStream(BO.toByteArray()));

                //Node r = new Node("parent stuff");

                //r.attachChild(C1.get(new BufferedInputStream(modelToLoad.openStream()), BO));

                //r.setLocalScale(.1f);

                r1.setLocalScale(.9f);

             

               

                if (r1.getChild(0).getControllers().size() != 0)

                    r1.getChild(0).getController(0).setSpeed(20);



                Quaternion temp = new Quaternion();

                temp.fromAngleAxis(FastMath.PI /2, new Vector3f(0, 0, 0));

                rootNode.setLocalRotation(temp);

                r1.setLocalTranslation(new Vector3f(-10,10,-10));

                //rootNode.attachChild®;

                rootNode.attachChild(r1);

            } catch (IOException e) {

                logger.log(Level.SEVERE, "Failed to load Max file", e);

            }

        }



       

    }





    Michele

This will not work with google translate. Nobody will write the software for you, no matter how often you ask.

I know that nobody writes software for me. But I have some practical example. So I could study the operation.

Anyway I solved my problem. Now I managed to upload my subject but not in format 3ds  but in format obj.

Now I have only set up the camera.

You can access the current active Camera through the renderer:

Set location and direction like that:


DisplaySystem.getDisplaySystem().getRenderer().getCamera().setLocation(new Vector3f(1,1,1));
DisplaySystem.getDisplaySystem().getRenderer().getCamera().lookAt(new Vector3f(0,0,0), Vector3f.UNIT_Y);