Editar el terreno por script (trincheras realistas)

Sección para misiones y edición ArmA III

Moderador: C. Misiones & Noticias

Responder
Avatar de Usuario
<A2>Dark Darius
Soldado A2
Soldado A2
Mensajes: 984
Registrado: 10 Jun 2014, 23:06

Editar el terreno por script (trincheras realistas)

Mensaje por <A2>Dark Darius »

Para los editores que quieran hacer trincheras más realistas aquí les dejo un script que funciona y me ha creado chatGTP::

Código: Seleccionar todo


[] spawn {// Obtener la posición actual del jugador
private _playerPos = getPosASL player;

// Definir la profundidad de la trinchera (en metros)
private _profundidad = -2;

// Calcular la nueva altitud (profundidad)
private _nuevaAltitud = [_playerPos select 0, _playerPos select 1, (_playerPos select 2) + _profundidad];

// Crear el array de posiciones y altitudes
private _positionsAndHeights = [_nuevaAltitud];

// Utilizar setTerrainHeight para modificar la altitud del terreno en la posición del jugador
setTerrainHeight [_positionsAndHeights, true];
};

1. **Obtener la posición del jugador:**

Código: Seleccionar todo

   private _playerPos = getPosASL player;
Se utiliza `getPosASL player` para obtener la posición actual del jugador en coordenadas [x, y, z].

2. **Definir la profundidad de la trinchera:**

Código: Seleccionar todo

   private _profundidad = -2;
La variable `_profundidad` se establece en -2 metros, lo que representa la profundidad deseada para la trinchera.

3. **Calcular la nueva altitud (profundidad):**

Código: Seleccionar todo

   private _nuevaAltitud = [_playerPos select 0, _playerPos select 1, (_playerPos select 2) + _profundidad];
Se crea un nuevo vector `_nuevaAltitud` utilizando las coordenadas x e y del jugador y ajustando la coordenada z según la profundidad deseada.

4. **Crear el array de posiciones y altitudes:**

Código: Seleccionar todo

   private _positionsAndHeights = [_nuevaAltitud];
Se crea un array `_positionsAndHeights` que contiene la nueva altitud calculada.

5. **Modificar la altitud del terreno en la posición del jugador:**

Código: Seleccionar todo

   setTerrainHeight [_positionsAndHeights, true];
Finalmente, se utiliza `setTerrainHeight` con el array de posiciones y altitudes para ajustar la altitud del terreno en la posición del jugador, y el segundo parámetro `true` indica que los objetos sobre el terreno deben ajustarse para mantener la misma altitud sobre el nivel del mar (ATL).

Esta corrección asegura que el formato del array utilizado en `setTerrainHeight` sea correcto y que la altitud se ajuste según la profundidad deseada.

Avatar de Usuario
<A2>Dark Darius
Soldado A2
Soldado A2
Mensajes: 984
Registrado: 10 Jun 2014, 23:06

Re: Editar el terreno por script (trincheras realistas)

Mensaje por <A2>Dark Darius »

Pueden ejecutarlo en el editor 3Eden para ver qué tal se ve la trinchera y luego por script en el 'init.sqf' agregar el script a gusto del editor. :rifles:
Añadir en amigos de Steam Imagen
Imagen


Avatar de Usuario
<A2>Dark Darius
Soldado A2
Soldado A2
Mensajes: 984
Registrado: 10 Jun 2014, 23:06

Re: Editar el terreno por script (trincheras realistas)

Mensaje por <A2>Dark Darius »

Puse esto en un trigger:

Imagen

Imagen

Código: Seleccionar todo

[] spawn {private _profundidad = -2.5; 
private _positionsAndHeights = []; 
private _trcs = [trcs_1, trcs_2, trcs_3, trcs_4, trcs_5, trcs_6, trcs_7, trcs_8, trcs_9, trcs_10, trcs_11, trcs_12, trcs_13, trcs_14, trcs_15, trcs_16, trcs_17, trcs_18, trcs_19, trcs_20, trcs_21, trcs_22, trcs_23, trcs_24, trcs_25, trcs_26, trcs_27, trcs_28, trcs_29, trcs_30, trcs_31, trcs_32, trcs_33, trcs_34, trcs_35, trcs_36, trcs_37, trcs_38, trcs_39, trcs_40, trcs_41, trcs_42];  
{ 
private _pointPos = getPosASL _x; 
private _nuevaAltitud = [_pointPos select 0, _pointPos select 1, (_pointPos select 2) + _profundidad]; 
_positionsAndHeights pushBack _nuevaAltitud; 
} forEach _trcs; 
setTerrainHeight [_positionsAndHeights, false];};

Avatar de Usuario
<A2>Mollero
Soldado A2
Soldado A2
Mensajes: 864
Registrado: 22 Sep 2018, 17:02

Re: Editar el terreno por script (trincheras realistas)

Mensaje por <A2>Mollero »

Demasiado bueno para no darte la lata...
Ya que te molestas en explicar la receta porque tienes interés en que aprendamos a cocinar. Para los aprendices ¿podrías añadir a la explicación un pbo con un ejemplo simple?
Ya sé que lo mejor sería entender como se fundamenta el código en cuestión pero mientras, un copia y pega (modificando lo justo) a más de uno nos resuelve la papeleta.
Gracias pisha!!!

Avatar de Usuario
<A2>Brako
Soldado A2
Soldado A2
Mensajes: 502
Registrado: 23 Jul 2011, 18:10

Re: Editar el terreno por script (trincheras realistas)

Mensaje por <A2>Brako »

Jobar! Si que le estás sacando jugo al GPT... :o
"La táctica consiste en saber qué hacer cuando hay algo que hacer.
La estrategia, en saber qué hacer cuando no hay nada que hacer."
Savielly Tartakover



Avatar de Usuario
<A2>Dark Darius
Soldado A2
Soldado A2
Mensajes: 984
Registrado: 10 Jun 2014, 23:06

Re: Editar el terreno por script (trincheras realistas)

Mensaje por <A2>Dark Darius »

Un ejemplo de composición que sería muy útil:

https://steamcommunity.com/sharedfiles/ ... 2898238267


Responder