| SuiciSpai |
9 tópics 562 |
| MappersZONE |
25 tópics 147 |
| Tirias |
22 tópics 106 |
| IRIDIUM |
6 tópics 165 |
| xarlieb |
6 tópics 151 |
Pues, eso, estoy intentando hacer objetos q respondan a las leyes de la física, q puedan ser empujados y q caigan... Traducí este tutorial, lo seguí, pero no se muy bien como he de hacer para aplicarle esas propiedades a los static mesh, o kiza siempre deban ser movers...de todas maneras aqúi os dejo el tutorial para comentarlo un poco, si es posible...
Hacer un Objeto afectado por la Física
Por defecto, todos los Volumenes en el UnrealEd son estáticos – eso significa que no pueden ser movidos en el juego. Todos los volúmenes tienen la propiedad escondida bStatic, la cual no se puede cambiar por la ventan de propiedades. En este tutorial vamos a mostrar como hacer unos pequeños cambios para hacer volúmenes movibles. Nota: podemos hacer archivos .uc con el notepad o el WotGreal, pero aquí usaremos el UnrealEd para crear nuevas classes y exportarlas a archivos .uc, porque es más fácil para los no programadores.
Customizar un Volume Class
Primero debemos hacer una subclass del volumen existente para cambiar la propiedad bStatic a false:
1. Abrimos el actor browser y descheckeamos Placeable classes only
2. Expandimos Brush > Volume de la lista.
3. Encontramos el volumen (i.e PhysicsVolume) que queremos cambiar, click derecho en el y seleccionamos New
4. En la ventana que aparece, ponemos myLevel como package, y MovingPhysicsVolume (o como lo quieras llamar) al nombre de la classe
Una ventana azul nos aparecera con un código base ya escrito:
______________________________________________________________________
//=========================================================================== // MovingPhysicsVolume. //=========================================================================== class MovingPhysicsVolume extends PhysicsVolume placeable;
______________________________________________________________________
No podemos cambiar directamente la propiedad bStatic desde UnrealEd, asi que necesitaremos exportarla a un script y editarlo en un editor de texto.
1. Click File > Export changed scripts en el editor de scripts.
2. Echemos un vistazo al directorio de UT2004 – deberiamos ver un directorio llamado myLevel y dentro de él, uno llamado Classes el cual contiene el script con nuestro código, el que vamos a modificar.
3. Abrimos el archivo .uc con el notepad. Vemos un codigo parecido al siguiente código:
______________________________________________________________________
//=========================================================================== // MovingPhysicsVolume. //=========================================================================== class MovingPhysicsVolume extends PhysicsVolume placeable; defaultproperties { }
______________________________________________________________________
Borramos la linia que dice placeable; - queremos que el volumen solo se añada desde el botón de Volume, no desde el actor browser.
Ahora podemos añadir la propiedad de bStatic:
______________________________________________________________________
//=========================================================================== // MovingPhysicsVolume. //=========================================================================== class MovingPhysicsVolume extends PhysicsVolume; defaultproperties { bStatic=false; }
______________________________________________________________________
No olvidemos salvar el archivo .uc y cerrar el UnrealEd.
Compilando e Importando la Classe costumizada
Lo próximo es compilar el package dentro de el archivo .u asi poderlo importar otra vez dentro del mapa con las nuevas propiedades. Entonces cuando llamemos a "myLevel", éste lo tendré automáticamente metido en el archivo del mapa cuando lo importemos.
1. Primero vamos al directorio UT2004/System y abrimos el archivo UT2004.ini (deberíamos hacer una copia de seguridad antes por eso...)
2. Buscamos las linias donde dice EditPackages=... y añadimos EditPackages=myLevel al final
3. Grabamos y cerramos UT2004.ini
4. Abrimos el command prompt (Inicio > Ejecutar y escribimos "command" y enter)
5. Escribimos ucc make mylevel en el command prompt y presionamos enter
6. Si se ha compilado correctamente, deberemos tener una ventana como la que sigue y un archivo en UT2004/System llamado myLevel.u. Si tienes errores o warnings, asegúrate de que lo has escrito bien y que no has perdido ningun punto y coma.
Abrimos el UnrealEd otra vez y vamos al actor browser.
· Click File > Open Package... y abrimos myLevel.u.
· Usamos el volumen en el mapa (está en la lista cuando clickamos el icono de volume), salvamos y cerramos el UnrealEd
· Borramos el package mylevel.u del directorio System y la linia EditPackages del archivo UT2004.ini. Esto es para prevenir conflictos con el código de otros mapas.
Para linkar el nuevo volumen a un mover, vamos a la pestaña de Volumes Movement > Attach dentro de la pestaña del mover Event > Tag. Aquí está el bug que mueve la velocidad y la grabedad en PhysicsVolumes (y WaterVolumes) que solo tiene efecto si el player lo toca. No añadiremos excesivos objetos afectados por la fisica, puesto que estos chupan muchas fps.
La verdad sk se puede hacer buen uso...
pero no lo veo imprescindible