Marco de GameFramework: empaquetado, construcción y más puntos de conocimiento

 

Tabla de contenido

1. Empaquetado de la versión del juego para un solo jugador (sin servidor, sin actualización en caliente)

1. Desactive el modo de recursos del editor.

 2. El modo de recursos es Paquete

3. Empaque el paquete AB

4. Busque el archivo del sistema de destino de empaquetado (Android) correspondiente en Paquete y cópielo en StreamingAssets.

5. Transfiera PlayerSetting a la plataforma Android (si está en otras plataformas, el archivo AB anterior debe ir al Paquete / plataforma correspondiente y copiarlo en StreamingAssets), luego compile la compilación y ejecútela en el emulador o máquina real .

6. Encontrará que hay un error, causado por PlayerShit, el avión prefabricado. Motivo: Mesh Collider no admite el uso del modo de conversión para mallas con demasiados vértices y le solicita que reduzca la superficie de la malla. .

7. Después de reducir player_ship_collider, debe volver a empaquetarlo una vez y copiar su contenido en StreamingAssets nuevamente. (Tenga cuidado de no copiar en el lugar equivocado)

2. Construcción de juegos en línea (* actualización en caliente)

1. Cancelar el modo de recursos del editor

2. Cambiar al modo de carga de recursos actualizado

3.Hacer paquete AB

4. Configurar archivos relacionados con el servidor

5. Configurar el cliente

Resuelve el problema morado


1. Empaquetado de la versión del juego para un solo jugador (sin servidor, sin actualización en caliente)

1. Desactive el modo de recursos del editor.

 2. El modo de recursos es Paquete

3. Empaque el paquete AB

Seleccione un directorio de salida y colóquelo fuera del directorio de activos.

El directorio de salida se utiliza para especificar el directorio de salida del resultado del proceso de compilación (para la entrada manual, recuerde presionar la tecla Enter ^ _ ^). Asegúrese de tener acceso a este directorio y tener suficiente espacio en disco.

  • Ruta de trabajo: el directorio de trabajo cuando Unity genera AssetBundle.
  • Ruta del paquete de salida: el directorio donde se encuentran los archivos generados en el modo independiente. Si el juego es un juego independiente, copie los archivos de la plataforma correspondiente en este directorio a StreamingAssets y luego cree la aplicación.
  • Output FullPath: el directorio donde se encuentra el paquete de archivos completo generado en el modo de actualización. Si el juego es un juego en línea, este directorio debe cargarse en el servidor de recursos después de que se complete la generación para que los jugadores lo descarguen.
  • Ruta empaquetada de salida: es el directorio donde se encuentran los archivos generados en el modo de actualización. Si el juego es un juego en línea, copie los archivos en este directorio a StreamingAssets y luego compile la aplicación después de que se complete la generación. El hecho de que un AssetBundle se genere en la ruta empaquetada de salida depende de si el AssetBundle está marcado como empaquetado en la herramienta de edición AssetBundle

4. Busque el archivo del sistema de destino de empaquetado (Android) correspondiente en Paquete y cópielo en StreamingAssets.

5. Transfiera PlayerSetting a la plataforma Android (si está en otras plataformas, el archivo AB anterior debe ir al Paquete / plataforma correspondiente y copiarlo en StreamingAssets), luego compile la compilación y ejecútela en el emulador o máquina real .

6. Encontrará que hay un error, causado por PlayerShit, el avión prefabricado. Motivo: Mesh Collider no admite el uso del modo de conversión para mallas con demasiados vértices y le solicita que reduzca la superficie de la malla. .

7. Después de reducir player_ship_collider, debe volver a empaquetarlo una vez y copiar su contenido en StreamingAssets nuevamente. (Tenga cuidado de no copiar en el lugar equivocado)

2. Construcción de juegos en línea (* actualización en caliente)

1. Cancelar el modo de recursos del editor

2. Cambiar al modo de carga de recursos actualizado

3

3.Hacer paquete AB

4. Configurar archivos relacionados con el servidor

Servidor Uso HFS, busco la carpeta de arriba y luego la agrego al servidor

Cree un nuevo archivo version.txt en el escritorio e ingrese el contenido:

{ "ForceUpdateGame": false, "LatestGameVersion": "0.1.0", "InternalGameVersion": 1, "InternalResourceVersion": 6, "UpdatePrefixUri": "http: // localhost / Windows", "VersionListLength": 7158, " VersionListHashCode ": 1950701509, " VersionListZipLength ": 2648, " VersionListZipHashCode ": 915433963, " END_OF_JSON ":" " }










El nombre clave de este archivo es el nombre de atributo de la clase VersionInfo del marco GF. Existe una correspondencia uno a uno y las diferentes versiones pueden ser diferentes.

ForceUpdateGame corresponde a si se debe forzar la actualización de todo el paquete, el valor predeterminado es falso si no es el paquete completo. La actualización completa del paquete es en realidad solo una función para saltar a la URL especificada, de modo que los jugadores puedan descargarla del sitio web oficial. Cómo configurar esta URL se discutirá más adelante.

LatestGameVersion

InternalGameVersion Esta puede ser una versión interna. No la he leído por el momento. Está tentativamente establecida en 1.

InternalResourceVersion   (PS: el número de versión que se ha incrementado en +1 aquí, el paquete actual real es 6)

UpdatePrefixUri

"VersionListLength": 7158,
"VersionListHashCode": 1950701509,
"VersionListZipLength": 2648,
"VersionListZipHashCode": 915433963,

Rellene en consecuencia, por ejemplo, el código hash corresponde a VersionListHashCode y no es necesario [...] rellenar el contenido de.

"END_OF_JSON": "" No se preocupe por estas cosas, no sé qué es, el valor predeterminado está bien.

Coloque el archivo version.txt creado en el directorio raíz de HFS del servidor y la configuración del servidor estará completa.

5. Configurar el cliente

Busque el archivo BuildInfo.txt en el proyecto. El valor de la clave a continuación es la dirección version.txt del servidor. El 10.0.0.2 que ve arriba es mi IP temporal local, pero no sé cómo usar esta IP , así que lo cambiaré. Conviértete en localhost para especificar.

La clave es configurar CheckVersionUrl. Otros como WindowsAppUrl son la URL de actualización del paquete completo que salta a la ventana cuando se actualiza todo el paquete. El otro es el mismo (aquí soy libre de hacer un jaja)

¡Esto esta hecho! Jaja ~

6. Ejecute el juego directamente, puede ver los siguientes efectos ~

 

Resuelve el problema morado

El color púrpura se debe a que el sombreador del material normalmente no se empaqueta ni se carga en el entorno.

Por ejemplo, el fondo se vuelve violeta, busque el sombreador del objeto Backgound de fondo

Necesita agregar Sin iluminar / Textura a la lista de Sombreadores siempre incluidos

¡Entonces vaya a empacar y probar y descubrir nuevos problemas! Así es, todos los sombreadores incorporados deben configurarse en Sombreadores siempre incluidos para que sean normales.

Al final, estos 3 sombreadores deben agregarse aproximadamente para resolver el problema que he visto

Si necesita empaquetar el paquete de Android en una máquina real o emulador para probarlo, necesita una IP de servidor de red pública, configurar la IP de HFS a la IP de la red pública y, al mismo tiempo, cambiar la URL relevante, como cambiar la serie anterior de localhost a la red pública IP Eso es todo. No planeo esta parte del contenido por el momento, así que puedo probarlo yo mismo.

Supongo que te gusta

Origin blog.csdn.net/qq_39574690/article/details/109234506
Recomendado
Clasificación