Remove Localization Remove Sprite Remove Tile
article thumbnail

Cocos Shader Tutorial 1.0 - about UV

Cocos

By default, the 3D Shader of Cocos will multiply the tile Tilling and add the Offset, and it also supports the flip repair for RenderTexture. _pass = this.node.getComponent(Sprite).material.passes[0]; Use the water wave effect on the 3D meshes This is only for 3D planes with tiled UV Mapping. x,waveFactor.y-uv0.y); x,waveFactor.y-uv0.y);

Shaders 98
article thumbnail

D20 RPG – Board

The Liquid Fire

A lot of people asked about making 2D maps and how to use different types of tiles like water vs dirt. For this lesson I created a couple of simple images to use for tile maps. This asset will be sort of abstract data, and can be “skinned” with specific tiles at a later point. They are available in this package here.

Tile 52
Insiders

Sign Up for our Newsletter

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Trending Sources

article thumbnail

D20 RPG – Pathfinding

The Liquid Fire

In that project, we had some unique challenges thanks to a non-square board where tiles were optional. In addition we had to consider tile heights – and whether or not a unit could jump as high as needed. In contrast, the pathfinding in this lesson will be for a 2D square board with no missing tiles.

Tile 52
article thumbnail

Full UI Upscaling, Part 1: History and Theory

Grid Sage Games

Another reason to have a decently large map view in the first place is, again, the sheer size of maps to explore, and the potentially high level of local activity out there. So ranges should for the most part be kept within that value. We’re going to need some powerful QoL features to make that playable in a serious capacity!

Tile 52
article thumbnail

D20 RPG – Positional Awareness

The Liquid Fire

Because of the grid-based nature of my game, I position my sprites at whole number coordinate positions like "(2, 3)". Next I make a local variable for an optional Entity that is initially set to null. Therefore I needed to create my own array that could be re-used. I added the "results" array field for that purpose.