La compréhension de la caméra, pour s'adapter à 480x800
Il pourrait être bizarre de verrouillage sur une résolution de 480x800, mais je vais avoir des problèmes de compréhension de la caméra dans l'Unité.
Je suis en train de construire une application 2d avec unity 4.3.4, qui prend en charge 2d. Ce que j'ai fait c'Est que j'ai créé un fond qui est 480x800, mais ce qui est déroutant, c'est que je ne peux pas semblent correspondre à la caméra.
Si je modifier la Taille, l et H de l'appareil photo, je peux l'obtenir pour s'adapter à 480x800 avec les valeurs Size=4, W=0.33, H=1. Mais je pense que c'est vraiment de la mauvaise approche du problème.
Alors, comment pourrais-je le faire? Je veux soutenir un mobile taille de l'écran en mode portrait, et avec une largeur étant au moins 480. Le nouveau Samsung galaxy a un 1080 pixels dans screenwidth. Le rapport entre la hauteur de l'écran et la largeur semble être de 0,5 à 0,6, la configuration de W à 0,7 et H à 1 devrait permettre une certaine flexibilité?
Et le développement pour de multiples résolutions, que dois-je faire avec l'arrière-plan? un 480x800 comme j'ai déjà créé ne correspond pas au projet de loi sur un 1920x1080 appareil!?
OriginalL'auteur Jason94 | 2014-03-18
Vous devez vous connecter pour publier un commentaire.
Peu importe la façon dont vous vous approchez de cette, vous aurez:
a) Besoin d'un autre arrière-plan pour chaque aspect ratio
b) les pièces de votre arrière-plan ne soit pas visible lors de l'utilisation de certaines proportions.
Il n'y a pas une solution optimale, aussi loin que je peux voir pour ce genre de problème. La façon dont je m'approche, il est généralement de créer une toile de fond qui est assez large pour accueillir le plus large possible de l'écran (16:9 logiquement). Le fond pour les écrans larges est tout simplement ignoré sur les proportions. Cela a l'avantage d'être assez facile à mettre en œuvre, mais en fonction de votre utilisation de l'arrière-plan, il peut ne pas fonctionner pour votre cas.
Vous pouvez également tout simplement redimensionner la caméra, la forçant dans les proportions que vous voulez (de la même manière que vous êtes allé à ce sujet), en appelant
Camera.aspect = 4f/3f;
où 4/3 est l'aspect que vous souhaitez. Bien sûr, cela est loin d'être jolie, et de fausser le jeu final, en fonction de l'appareil que vous utilisez.Enfin, la solution la plus simple est tout simplement de définir l'unité couleur d'arrière-plan à Noir, et laissez-le remplir tous les excès avec des bandes noires.
pour forcer la caméra rapport d'aspect de 16:9, tout ce que vous devez faire c'est:
Camera.aspect = 16f/9f;
, mais comme je l'ai dit, ce sera à la fin à la recherche déformée sur les appareils qui ne disposent pas d'un écran 16:9Merci pour votre réponse! J'ai encore un petit problème de compréhension. Comme vous l'avez souligné notre il est ridicule de verrouiller le ratio d'aspect, mais je vais avoir des problèmes pour obtenir mon appareil photo pour s'adapter à 480x800 arrière-plan. Le W doit être de 0,6 et H=1, W=0.44 lorsque la Taille=4 est correct si je veux insérer la caméra... pourquoi est-ce? Avec 480x800, W est de 0,6 de la hauteur?? L'unité est assez nouveau pour moi, et je suis d'essayer d'envelopper ma tête autour de la caméra, quand on fait un jeu à jouer en mode portrait.
La Taille de la propriété de changer la taille globale de l'appareil, elle peut changer à la fois la largeur et la hauteur. En général, vous ne voulez pas vraiment être la modification de cette. La largeur et la Hauteur sont déterminés par l'appareil que vous utilisez. Hauteur de restent généralement les mêmes, mais la largeur des changements en fonction de la taille de l'écran de l'appareil, le jeu est en cours d'exécution sur. Comme je l'ai dit, votre meilleur pari est de changer l'arrière-plan en fonction de la taille de l'écran de l'appareil, le jeu est en cours d'exécution sur.
OriginalL'auteur Steven Mills
Je suis complètement d'accord avec Steven Mills, que la meilleure solution est de rendre l'ensemble de votre œuvre d'art pour s'adapter dans une certaine gamme de gauche à droite et de haut quelque chose comme 16:9.
Et que vous devez placer vos actifs et vous avez besoin d'utiliser des Ancres ainsi, les actifs sont placés à certaines unités de la gauche,de droite,du haut en bas de l'écran.Ceci avec l'ancrage est réalisé différemment selon la façon dont vous faites le jeu, êtes-vous à l'aide de la nouvelle Texture2D et sprite fonctionnalités, ou êtes-vous à l'aide de tk2d ou quelque chose de similaire.
Il y a quelques liens utiles sur la façon d'utiliser la taille de la propriété sur un appareil photo pour faire des objets de pixel parfait (si vous utilisez le bild dans l'unité des classes pour la 2d):
http://indiehoodgames.wordpress.com/2013/07/27/pixel-perfect-calculator-for-orthographic-camera-unity3d/
http://www.benbarefield.com/blog/2013/01/28/orthographic-camera-in-unity/
L'idée derrière cela est que Unity3d utilise mètres et vous définir ce qu'est l'pixels de mètres pour chaque actif et que vous définissez la caméra de la taille, de combien de mètres à être rendus toujours à la verticale si elle est paysage ou à l'horizontale, si elle est en mode portrait.
OriginalL'auteur Aleks