public void init() {
    cam = new PerspCam().initProjection(70, Display.getAspectRatio(), 0.01f, 100f);
    cam.setPosition(new Vector3(0, 0, 0.5f));

    sheet =
        new SpriteSheet(
            Texture.fromFilePath(FilePath.getResourceFile("resources/coin_sprinkle.png")), 32, 32);

    Sprite sprite = new Sprite();
    sprite.getAnimation().addFrame(sheet.getCell(0, 0), 0.25f, TimeUtils.Unit.SECONDS);
    sprite.getAnimation().addFrame(sheet.getCell(0, 1), 0.25f, TimeUtils.Unit.SECONDS);
    sprite.getAnimation().setEndCallback(sprite.getAnimation()::start);
    sprite.getAnimation().start();

    model = new BillBoardModel(sprite, 0.2f, 0.2f);
    model2 =
        new BillBoardModel(
            Texture.fromFilePath(FilePath.getResourceFile("resources/texture.png")), 0.8f, 0.8f);

    scene = new Scene3D();

    // Add the entity to the scene
    scene.addChild(entity = new Entity3D(model, new Cuboid(Vector3.ZERO, 1, 1, 1)));
    entity.setPosition(new Vector3(0, 0, 0.2f));
    scene.addChild(new Entity3D(model2, new Cuboid(Vector3.ZERO, 1, 1, 1)));
  }