AragoniteDragon Posted July 22, 2019 Posted July 22, 2019 I'm trying to program entities using .obj files but I cant seem to figure out how to go about rendering them. I was basing my render code on the ones used for vanilla mobs. I tried using the the OBJLoader to load the model but the entities just load in as white boxes. I read somewhere about baking the model but I couldn't figure out how to obtain the Function<ResourceLocation, TextureAtlasSprite> as it is a protected static. Can somone explain what I should do? Render file: Spoiler public class RenderBaneling extends RenderLiving<EntityBaneling> { public static final ResourceLocation place = new ResourceLocation(Reference.MOD_ID + ":textures/entity/baneling_diffuse.png"); public RenderBaneling(RenderManager manager) throws Exception { super(manager, (ModelBase) OBJLoader.INSTANCE.loadModel(new ResourceLocation(Reference.MOD_ID + ":models/entity/Baneling1.obj")), 0.5F); } protected ResourceLocation getEntityTexture(EntityBaneling entity) { return place; } protected void applyRotations(EntityBaneling entityLiving, float p_77043_2_, float rotationYaw, float partialTicks) { super.applyRotations(entityLiving, p_77043_2_, rotationYaw, partialTicks); } } Experimental Model (with baking???) Spoiler public class ModelBaneling implements IModel { public ModelBaneling() { } @Override public IBakedModel bake(IModelState state, VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter) { try { IModel model = OBJLoader.INSTANCE.loadModel(new ResourceLocation(Reference.MOD_ID + ":models/entity/Baneling1.obj")); state = model.getDefaultState(); format = new VertexFormat(); ResourceLocation texture = new ResourceLocation(Reference.MOD_ID + ":textures/entity/baneling_diffuse.png"); BanelingSprite sprite = BanelingSprite.makeAtlasSprite(texture); bakedTextureGetter = new Function<ResourceLocation, TextureAtlasSprite>() { @Override public TextureAtlasSprite apply(ResourceLocation t) { return sprite; } }; IBakedModel bmodel = model.bake(state, format, bakedTextureGetter); return bmodel; } catch (Exception e) { e.printStackTrace(); return null; } } } Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.