mirror of
https://github.com/exogen/t2-mapper.git
synced 2026-07-15 16:34:49 +00:00
use correct squareSize in TerrainBlock, account for missing coordinates
This commit is contained in:
parent
70c2a08eec
commit
7d78be42af
2 changed files with 12 additions and 3 deletions
|
|
@ -194,6 +194,14 @@ function TerrainMaterial({
|
||||||
export function TerrainBlock({ object }: { object: ConsoleObject }) {
|
export function TerrainBlock({ object }: { object: ConsoleObject }) {
|
||||||
const terrainFile: string = getProperty(object, "terrainFile").value;
|
const terrainFile: string = getProperty(object, "terrainFile").value;
|
||||||
|
|
||||||
|
const squareSize = useMemo(() => {
|
||||||
|
const squareSizeString: string | undefined = getProperty(
|
||||||
|
object,
|
||||||
|
"squareSize"
|
||||||
|
)?.value;
|
||||||
|
return squareSizeString ? parseInt(squareSizeString, 10) : 8;
|
||||||
|
}, [object]);
|
||||||
|
|
||||||
const emptySquares: number[] = useMemo(() => {
|
const emptySquares: number[] = useMemo(() => {
|
||||||
const emptySquaresString: string | undefined = getProperty(
|
const emptySquaresString: string | undefined = getProperty(
|
||||||
object,
|
object,
|
||||||
|
|
@ -210,11 +218,12 @@ export function TerrainBlock({ object }: { object: ConsoleObject }) {
|
||||||
const q = useMemo(() => getRotation(object), [object]);
|
const q = useMemo(() => getRotation(object), [object]);
|
||||||
|
|
||||||
const planeGeometry = useMemo(() => {
|
const planeGeometry = useMemo(() => {
|
||||||
const geometry = new PlaneGeometry(2048, 2048, 256, 256);
|
const size = squareSize * 256;
|
||||||
|
const geometry = new PlaneGeometry(size, size, 256, 256);
|
||||||
geometry.rotateX(-Math.PI / 2);
|
geometry.rotateX(-Math.PI / 2);
|
||||||
geometry.rotateY(-Math.PI / 2);
|
geometry.rotateY(-Math.PI / 2);
|
||||||
return geometry;
|
return geometry;
|
||||||
}, []);
|
}, [squareSize]);
|
||||||
|
|
||||||
const { data: terrain } = useTerrain(terrainFile);
|
const { data: terrain } = useTerrain(terrainFile);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -213,7 +213,7 @@ export function getProperty(obj: ConsoleObject, name: string) {
|
||||||
export function getPosition(obj: ConsoleObject): [number, number, number] {
|
export function getPosition(obj: ConsoleObject): [number, number, number] {
|
||||||
const position = getProperty(obj, "position")?.value ?? "0 0 0";
|
const position = getProperty(obj, "position")?.value ?? "0 0 0";
|
||||||
const [x, z, y] = position.split(" ").map((s) => parseFloat(s));
|
const [x, z, y] = position.split(" ").map((s) => parseFloat(s));
|
||||||
return [x, y, z];
|
return [x || 0, y || 0, z || 0];
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getScale(obj: ConsoleObject): [number, number, number] {
|
export function getScale(obj: ConsoleObject): [number, number, number] {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue