Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Java Libgdx problem z modelami


matixd3

Rekomendowane odpowiedzi

Opublikowano

Zachciało mi się tworzyć grę w libgdx (3d) i bawie sie w robienie modeli w blenderze
 
Efekt:
1b973acaa501a2f4afe2ad26b33bfd73.png

Po lewej model w programie z podgladem modeli a po prawej w libgdx

Nie dosc ze tekstura jest zle nalozona na glowe to nie nalozylo tekstury na wlosy ;(

 

 

Kod:

import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.assets.AssetManager;
import com.badlogic.gdx.assets.loaders.ModelLoader;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.PerspectiveCamera;
import com.badlogic.gdx.graphics.g3d.Environment;
import com.badlogic.gdx.graphics.g3d.Model;
import com.badlogic.gdx.graphics.g3d.ModelBatch;
import com.badlogic.gdx.graphics.g3d.ModelInstance;
import com.badlogic.gdx.graphics.g3d.attributes.ColorAttribute;
import com.badlogic.gdx.graphics.g3d.environment.DirectionalLight;
import com.badlogic.gdx.graphics.g3d.loader.G3dModelLoader;
import com.badlogic.gdx.graphics.g3d.loader.ObjLoader;
import com.badlogic.gdx.graphics.g3d.utils.CameraInputController;
import com.badlogic.gdx.utils.UBJsonReader;

public class Game extends ApplicationAdapter {

	private ModelBatch modelBatch;
	private Environment environment;
	private PerspectiveCamera cam;
	private Model model;
	private CameraInputController camController;
	private ModelInstance instance;

	@Override
	public void create () {
		modelBatch = new ModelBatch();
		environment = new Environment();
		environment.set(new ColorAttribute(ColorAttribute.AmbientLight, 0.4f, 0.4f, 0.4f, 1f));
		environment.add(new DirectionalLight().set(0.8f, 0.8f, 0.8f, -1f, -0.8f, -0.2f));

		cam = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
		cam.position.set(1f, 1f, 1f);
		cam.lookAt(0,0,0);
		cam.near = 1f;
		cam.far = 800f;
		cam.update();
		ModelLoader loader = new ObjLoader();
		this.model = loader.loadModel(Gdx.files.internal("player.obj"));

        instance = new ModelInstance(this.model);

		camController = new CameraInputController(cam);
		Gdx.input.setInputProcessor(camController);
	}

	@Override
	public void render() {
		camController.update();

		Gdx.gl.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
		Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);

		modelBatch.begin(cam);
		modelBatch.render(instance, environment);
		modelBatch.end();
	}

	@Override
	public void dispose() {
		modelBatch.dispose();
		model.dispose();
	}
}

Jak model bedzie wam potrzebny to moge podrzucic ;)

 

Opublikowano

Cześć,

 

Ładny. Troche jak ten murzyn z GTA.

Temat nie służy ocenie moich super zdolności przy tworzeniu modeli lecz wyjasnieniu czemu poprarny model obj nie chce sie poprawnie wczytac do libgdx

Pozdrawiam.

Opublikowano

Cześć,

 

Z twarzą to wy gląda na krzywy offset.

Jeśli miałbyś rację to w innych programach ten model wyglądał by też źle a w blenderze i tym viewerze wyglada dobrze...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...