AJUDA COM SCRIPT DE FPS (FRAMES POR SEGUNDO)
5 participantes
Página 1 de 1
AJUDA COM SCRIPT DE FPS (FRAMES POR SEGUNDO)
Opa e aí pessoal, tudo bem com vocês? Então.. queria saber se alguem poderia me ajudar com o seguinte script, ele mostra os FPS do jogo so que ele usa UIs e eu queria saber se tem como converter pra usar o antigo sistema os GUI texts, pois na posição que coloco o UI que o script precisa dependendo da resolução que o jogo está o numero la de FPS não aparece, e tbm pq nao gosto de usar esses UIs do Unity 5 kkk. se alguém souber ajudar ae agradeço muuuito, vllwwwww..
Script:
Script:
- Código:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;
public class FPS : MonoBehaviour {
public bool ShowFramesPerSecond = true;
public Text FPSFrames = null;
public float UpdateInterval = 0.5F;
private float accum = 0; // FPS accumulated over the interval
private int frames = 0; // Frames drawn over the interval
private float timeleft; // Left time for current interval
void Update()
{
if (ShowFramesPerSecond && FPSFrames != null)
{
FramesPerSecond();
}
}
void FramesPerSecond()
{
timeleft -= Time.deltaTime;
accum += Time.timeScale / Time.deltaTime;
++frames;
// Interval ended - update GUI text and start new interval
if (timeleft <= 0.0)
{
// display two fractional digits (f2 format)
float fps = accum / frames;
string format = System.String.Format("{0:F2} FPS", fps);
FPSFrames.text = format;
if (fps < 30)
{
FPSFrames.color = Color.yellow;
}
else
{
if (fps < 10)
{
FPSFrames.color = Color.red;
}
else
{
FPSFrames.color = Color.green;
}
}
timeleft = UpdateInterval;
accum = 0.0F;
frames = 0;
}
}
public void ChangeFPSFrames(bool b)
{
ShowFramesPerSecond = b;
FPSFrames.gameObject.SetActive(b);
}
}
MeverPlays- Mestre
- PONTOS : 3868
REPUTAÇÃO : 48
Áreas de atuação : SketchUp, Unity.
Respeito as regras :
Re: AJUDA COM SCRIPT DE FPS (FRAMES POR SEGUNDO)
basta pegar (accum / frames) passar o valor para uma string Criar o método OnGUI e fazer a label
- Código:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;
public class FPS : MonoBehaviour
{
public bool ShowFramesPerSecond = true;
public float UpdateInterval = 0.5F;
private float accum = 0; // FPS accumulated over the interval
private int frames = 0; // Frames drawn over the interval
private float timeleft; // Left time for current interval
private string fpsCount;
void Update()
{
if (ShowFramesPerSecond)
{
FramesPerSecond();
}
}
void FramesPerSecond()
{
timeleft -= Time.deltaTime;
accum += Time.timeScale / Time.deltaTime;
++frames;
// Interval ended - update GUI text and start new interval
if (timeleft <= 0.0)
{
// display two fractional digits (f2 format)
float count = accum / frames;
fpsCount = System.String.Format("{0:F2} FPS", count);
timeleft = UpdateInterval;
accum = 0.0F;
frames = 0;
}
}
public void ChangeFPSFrames(bool b)
{
ShowFramesPerSecond = b;
}
void OnGUI()
{
if (ShowFramesPerSecond)
{
GUI.Label(new Rect(10, 10, 200, 100), fpsCount);
}
}
}
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: AJUDA COM SCRIPT DE FPS (FRAMES POR SEGUNDO)
Ahh pensei que era mais dificil, vllwwww acho q agr qq resolução que colocar nao vai sumir la oq antes era um UI vllw msm =)
MeverPlays- Mestre
- PONTOS : 3868
REPUTAÇÃO : 48
Áreas de atuação : SketchUp, Unity.
Respeito as regras :
Re: AJUDA COM SCRIPT DE FPS (FRAMES POR SEGUNDO)
Usando GUI em vez de UI não é mais possivel mudar a cor do text pra quando o fps tiver acima de 30 fica verde, abaixo de 30 fica amarelo, abaixo de 10 fica vermelho?
MeverPlays- Mestre
- PONTOS : 3868
REPUTAÇÃO : 48
Áreas de atuação : SketchUp, Unity.
Respeito as regras :
Re: AJUDA COM SCRIPT DE FPS (FRAMES POR SEGUNDO)
- Código:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;
public class FPS : MonoBehaviour{
public bool ShowFramesPerSecond = true;
public float UpdateInterval = 0.5F;
private float accum = 0;
private int frames = 0;
private float timeleft;
private string fpsCount;
private float tempFPS;
void Update(){
if (ShowFramesPerSecond){
FramesPerSecond();
}
}
void FramesPerSecond(){
timeleft -= Time.deltaTime;
accum += Time.timeScale / Time.deltaTime;
++frames;
if (timeleft <= 0.0){
float count = accum / frames;
tempFPS = count;
fpsCount = System.String.Format("{0:F2} FPS", count);
timeleft = UpdateInterval;
accum = 0.0F;
frames = 0;
}
}
public void ChangeFPSFrames(bool b){
ShowFramesPerSecond = b;
}
void OnGUI(){
if (tempFPS < 10) {
GUI.color = Color.red;
} else if (tempFPS >= 10 && tempFPS < 30) {
GUI.color = Color.yellow;
} else if (tempFPS >= 30) {
GUI.color = Color.green;
}
if (ShowFramesPerSecond){
GUI.Label(new Rect(10, 10, 200, 100), fpsCount);
}
}
}
Re: AJUDA COM SCRIPT DE FPS (FRAMES POR SEGUNDO)
Hmm vllw Marcos só mais uma coisa rsrs, tem como alterar o tamanho da letra?
MeverPlays- Mestre
- PONTOS : 3868
REPUTAÇÃO : 48
Áreas de atuação : SketchUp, Unity.
Respeito as regras :
Re: AJUDA COM SCRIPT DE FPS (FRAMES POR SEGUNDO)
Tem, Mas cara, tem certeeeeza que não quer usar UI?
Bom, de qualquer modo, para alterar o tamanho da letra coloque isto antes dos if's, na sua void OnGUI
para mudar o tamanho, basta alterar o número 10
Bom, de qualquer modo, para alterar o tamanho da letra coloque isto antes dos if's, na sua void OnGUI
- Código:
GUI.skin.label.fontSize = (int)(Screen.height / 10.0f);
para mudar o tamanho, basta alterar o número 10
Re: AJUDA COM SCRIPT DE FPS (FRAMES POR SEGUNDO)
Tenho kkk, pq os UI's eu expliquei oq acontece la em cima quando altero a resolução. vllw de novo! agr em 10.0f eu poderia colocar so 10f sem o .0??
MeverPlays- Mestre
- PONTOS : 3868
REPUTAÇÃO : 48
Áreas de atuação : SketchUp, Unity.
Respeito as regras :
Re: AJUDA COM SCRIPT DE FPS (FRAMES POR SEGUNDO)
Eu tentei adicionar uma variável que mudasse a fonte da letra.
e depois isso:
mas quando da play não muda a fonte que selecionei la no unity, fiz algo errado? tbm tentei adicionar uma string pra mudar direto pelo unity o tamanho da fonte, em vez de ta indo la no script sempre que quisesse alterar mas não consegui mexer na parte do GUI.
- Código:
public Font pauseMenuFont;
e depois isso:
- Código:
GUI.skin.box.font = pauseMenuFont;
GUI.skin.button.font = pauseMenuFont;
mas quando da play não muda a fonte que selecionei la no unity, fiz algo errado? tbm tentei adicionar uma string pra mudar direto pelo unity o tamanho da fonte, em vez de ta indo la no script sempre que quisesse alterar mas não consegui mexer na parte do GUI.
MeverPlays- Mestre
- PONTOS : 3868
REPUTAÇÃO : 48
Áreas de atuação : SketchUp, Unity.
Respeito as regras :
Re: AJUDA COM SCRIPT DE FPS (FRAMES POR SEGUNDO)
- Código:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;
public class FPS : MonoBehaviour{
public Font pauseMenuFont;
public bool ShowFramesPerSecond = true;
public float UpdateInterval = 0.5F;
private float accum = 0;
private int frames = 0;
private float timeleft;
private string fpsCount;
private float tempFPS;
void Update(){
if (ShowFramesPerSecond){
FramesPerSecond();
}
}
void FramesPerSecond(){
timeleft -= Time.deltaTime;
accum += Time.timeScale / Time.deltaTime;
++frames;
if (timeleft <= 0.0){
float count = accum / frames;
tempFPS = count;
fpsCount = System.String.Format("{0:F2} FPS", count);
timeleft = UpdateInterval;
accum = 0.0F;
frames = 0;
}
}
public void ChangeFPSFrames(bool b){
ShowFramesPerSecond = b;
}
void OnGUI(){
GUI.skin.box.font = pauseMenuFont;
GUI.skin.button.font = pauseMenuFont;
GUI.skin.label.fontSize = (int)(Screen.height / 35f);
if (tempFPS < 10) {
GUI.color = Color.red;
} else if (tempFPS >= 10 && tempFPS < 30) {
GUI.color = Color.yellow;
} else if (tempFPS >= 30) {
GUI.color = Color.green;
}
if (ShowFramesPerSecond){
GUI.Label(new Rect(10, 10, 200, 100), fpsCount);
}
}
}
MeverPlays- Mestre
- PONTOS : 3868
REPUTAÇÃO : 48
Áreas de atuação : SketchUp, Unity.
Respeito as regras :
Re: AJUDA COM SCRIPT DE FPS (FRAMES POR SEGUNDO)
é que você está alterando a fonte apenas do box e do button, então só vai afetar nestes 2 parametros...
E o que você está usando na void onGUI não é nenhum dos 2, o que você está usando é um Label
E o que você está usando na void onGUI não é nenhum dos 2, o que você está usando é um Label
Re: AJUDA COM SCRIPT DE FPS (FRAMES POR SEGUNDO)
Hmm entendi, então oq eu tenho que fazer exatamente?
MeverPlays- Mestre
- PONTOS : 3868
REPUTAÇÃO : 48
Áreas de atuação : SketchUp, Unity.
Respeito as regras :
Re: AJUDA COM SCRIPT DE FPS (FRAMES POR SEGUNDO)
http://docs.unity3d.com/ScriptReference/GUISkin-font.html
Re: AJUDA COM SCRIPT DE FPS (FRAMES POR SEGUNDO)
Verdade, foi so adicionar
- Código:
GUI.skin.font = Fonte;
MeverPlays- Mestre
- PONTOS : 3868
REPUTAÇÃO : 48
Áreas de atuação : SketchUp, Unity.
Respeito as regras :
Re: AJUDA COM SCRIPT DE FPS (FRAMES POR SEGUNDO)
oi, sou meio noob no unity e queria saber como e que se faz para adicionar gravidade no meu jogo
lucas moura henrique- Iniciante
- PONTOS : 3111
REPUTAÇÃO : 0
Re: AJUDA COM SCRIPT DE FPS (FRAMES POR SEGUNDO)
ola, queria saber como se adiciona gravidade ao meu jogo
lucas moura henrique- Iniciante
- PONTOS : 3111
REPUTAÇÃO : 0
Re: AJUDA COM SCRIPT DE FPS (FRAMES POR SEGUNDO)
Gravidade de que tipo? para que objetos como cubos, esferas e etc caiam quando estiverem em um lugar alto?
MeverPlays- Mestre
- PONTOS : 3868
REPUTAÇÃO : 48
Áreas de atuação : SketchUp, Unity.
Respeito as regras :
Re: AJUDA COM SCRIPT DE FPS (FRAMES POR SEGUNDO)
adciona um rigbody ao q vc quer q caia
anizioNoob- Avançado
- PONTOS : 3477
REPUTAÇÃO : 17
Idade : 22
Áreas de atuação : Sei programar animators, e modelar no sketchup
Respeito as regras :
Re: AJUDA COM SCRIPT DE FPS (FRAMES POR SEGUNDO)
crie um tópico com a sua dúvida COMPLETA, na área "Dúvidas em geral"lucas moura henrique escreveu:oi, sou meio noob no unity e queria saber como e que se faz para adicionar gravidade no meu jogo
fica melhor para não desviar o assunto do tópico :D
Tópicos semelhantes
» (ajuda)quero fazer um sistema que quando o carro fica de ponta cabeça por 5 segundo ele de respawn automatico
» [AJUDA]Preciso de ajuda em um script relacionado ao vídeo Sistema de escolha de personagen
» Ajuda Urgente como chamo a animação no script alguém poderia dar uma ajuda???
» [AJUDA]Quero Ajuda poque esse script so da erro!
» Ajuda com script
» [AJUDA]Preciso de ajuda em um script relacionado ao vídeo Sistema de escolha de personagen
» Ajuda Urgente como chamo a animação no script alguém poderia dar uma ajuda???
» [AJUDA]Quero Ajuda poque esse script so da erro!
» Ajuda com script
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos