我正在使用libGDX,Tiled Map和Box2D制作平台游戏.我想应用一些着色器.
我想要一个坚持英雄的小插曲效果.对于晕影效果,我使用了本教程.我遇到的问题是:如果相机是固定的,我会得到我想要的.小插图坚持英雄.但是,如果相机移动,这发生在滚动平台游戏中,则晕影效果不会影响英雄.
看来我必须考虑相机位置来计算晕影效果的坐标,但我不知道怎么做.这是我用于插图的片段着色器:
varying vec4 v_color;
varying vec2 v_texCoord0;
uniform vec2 u_resolution;
uniform float u_PosX, u_PosY;
uniform sampler2D u_sampler2D;
const float outerRadius = 10, innerRadius = 1, intensity = .5;
void main(){
vec4 color = texture2D(u_sampler2D, v_texCoord0) * v_color;
vec2 relativePosition = gl_FragCoord.xy / u_resolution - vec2(u_PosX, u_PosY); //Position of the vignette
relativePosition.x *= u_resolution.x / u_resolution.y; //The vignette is a circle
float len = length(relativePosition);
float vignette = smoothstep(outerRadius, innerRadius, len);
color.rgb = mix(color.rgb, color.rgb …
Run Code Online (Sandbox Code Playgroud) 我有问题用libGDX获得流畅的字体.我已经在这个网站上搜索了,在google上,我在这里和这里尝试了这些问题的解决方案,但我的字体渲染效果一直很差.
例如:
我尝试了几种方法,并且总是得到与上图所描述的完全相同的结果.
我用来生成字体的一种方法是:
public static BitmapFont generateFont(String fontPath, float size){
FileHandle fontFile = Gdx.files.internal(fontPath);
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(fontFile);
FreeTypeFontGenerator.FreeTypeFontParameter params = new FreeTypeFontGenerator.FreeTypeFontParameter();
params.genMipMaps = true;
params.magFilter = TextureFilter.MipMapLinearNearest;
params.minFilter = TextureFilter.MipMapLinearNearest;
params.size = (int)Math.ceil(size);
generator.scaleForPixelHeight((int)Math.ceil(size));
BitmapFont f = generator.generateFont(params);
return f;
}
Run Code Online (Sandbox Code Playgroud)
我尝试的另一个策略是在AssetManager中加载字体:
FileHandleResolver resolver = new InternalFileHandleResolver();
assetsManager.setLoader(FreeTypeFontGenerator.class, new FreeTypeFontGeneratorLoader(resolver));
assetsManager.setLoader(BitmapFont.class, ".ttf", new FreetypeFontLoader(resolver));
FreeTypeFontLoaderParameter size4Params = new FreeTypeFontLoaderParameter();
sizeParams.fontFileName = "Fonts/GOTHIC.TTF";
sizeParams.fontParameters.size = (int)Math.ceil(2*Gdx.graphics.getWidth()/9);
sizeParams.fontParameters.genMipMaps = true;
sizeParams.fontParameters.minFilter = TextureFilter.MipMapLinearNearest;
sizeParams.fontParameters.magFilter …
Run Code Online (Sandbox Code Playgroud) 我正在使用 libGDX,我想重现我们可以在 Terraria 或 Go To Hell 等游戏中找到的水行为。水必须能够在重力作用下流动并使其形状适应容器的形状。
实际上我真的不知道要开始,因此我没有代码可以显示。我找到了一些关于水效果的教程,例如 Box2D 的反射或物理效果,但没有我想要的项目。如果你有一些线索那就太好了。
谢谢 !