Commit 8e6d750824bebae4bf3d587c471d0396abbea5a9

Authored by Icaro Magalhaes
1 parent 48a02ab3
Exists in master

Problemas de strings nulas resolvidos e anti aliasing implementado

Assets/Scenes/Main.unity
... ... @@ -496,11 +496,11 @@ Prefab:
496 496 objectReference: {fileID: 0}
497 497 - target: {fileID: 22483792, guid: a310db7b56d86974ca7dc72c28f6a7f6, type: 2}
498 498 propertyPath: m_AnchoredPosition.x
499   - value: 57.2999992
  499 + value: 61.9000015
500 500 objectReference: {fileID: 0}
501 501 - target: {fileID: 22483792, guid: a310db7b56d86974ca7dc72c28f6a7f6, type: 2}
502 502 propertyPath: m_AnchoredPosition.y
503   - value: -137.100006
  503 + value: 62.5
504 504 objectReference: {fileID: 0}
505 505 - target: {fileID: 22483792, guid: a310db7b56d86974ca7dc72c28f6a7f6, type: 2}
506 506 propertyPath: m_AnchorMin.x
... ... @@ -512,11 +512,11 @@ Prefab:
512 512 objectReference: {fileID: 0}
513 513 - target: {fileID: 22483792, guid: a310db7b56d86974ca7dc72c28f6a7f6, type: 2}
514 514 propertyPath: m_AnchorMin.y
515   - value: .5
  515 + value: 0
516 516 objectReference: {fileID: 0}
517 517 - target: {fileID: 22483792, guid: a310db7b56d86974ca7dc72c28f6a7f6, type: 2}
518 518 propertyPath: m_AnchorMax.y
519   - value: .5
  519 + value: 0
520 520 objectReference: {fileID: 0}
521 521 - target: {fileID: 22483792, guid: a310db7b56d86974ca7dc72c28f6a7f6, type: 2}
522 522 propertyPath: m_SizeDelta.y
... ... @@ -546,6 +546,10 @@ Prefab:
546 546 propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
547 547 value: start_web_play
548 548 objectReference: {fileID: 0}
  549 + - target: {fileID: 11451458, guid: a310db7b56d86974ca7dc72c28f6a7f6, type: 2}
  550 + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Mode
  551 + value: 1
  552 + objectReference: {fileID: 0}
549 553 m_RemovedComponents: []
550 554 m_ParentPrefab: {fileID: 100100000, guid: a310db7b56d86974ca7dc72c28f6a7f6, type: 2}
551 555 m_IsPrefabParent: 0
... ...
Assets/Scripts/PlayerManager.cs
... ... @@ -15,6 +15,7 @@ public class PlayerManager : MonoBehaviour {
15 15 public static float hSliderValue = 1.1f;
16 16  
17 17 public static string alphabet = "0123456789,ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  18 + public string glosa = " _default ";
18 19 public static String[] stringPos = {"_default"};//vetor que sera usado para quebrar a glosa
19 20  
20 21 // Guarda os nomes das palavras ja carregadas
... ... @@ -22,18 +23,11 @@ public class PlayerManager : MonoBehaviour {
22 23 // Guarda os nomes das palavras que nao tem assetbundle
23 24 HashSet<string> nonexistentAssetBundles = new HashSet<string>();
24 25  
25   -
26   - // Contem todos os nomes das anims na ordem que serao reproduzidas
27   - public static Queue<string> playList = new Queue<string>();
28   -
29 26 AnimationClip aniClip;
30   - public string glosa = " _default ";
31   -
32   -
  27 +
33 28 GameObject AVATAR;
34 29 Animation COMPONENT_ANIMATION;
35 30  
36   - //Primeiro metodo que o player executa
37 31 void Start( ){
38 32  
39 33 Application.ExternalCall("onLoadPlayer");//var onLoadPlayer = function(){}
... ... @@ -44,33 +38,21 @@ public class PlayerManager : MonoBehaviour {
44 38  
45 39 }
46 40  
47   - void Update(){
48   - if(COMPONENT_ANIMATION.isPlaying)
49   - foreach(AnimationState anim in COMPONENT_ANIMATION)
50   - anim.speed = hSliderValue;
51   - }
  41 + void Update( ){ if(COMPONENT_ANIMATION.isPlaying) foreach(AnimationState anim in COMPONENT_ANIMATION) anim.speed = hSliderValue; }
52 42  
53 43 //define a velocidade das animacoes com base no slider da GUI
54   - public void setSlider( float x ){
55   - hSliderValue = x;
56   -
57   - }
  44 + public void setSlider( float x ){ hSliderValue = x; }
58 45  
59 46 //adiciona alfabeto e numerais ao componente animador do avatar
60 47 void addAlpha( ){
61 48  
62   -
63   -
64   - foreach( char letter in alphabet ){
65   -
66   - aniClip = Resources.Load<AnimationClip> ("ANIMS/"+letter);
  49 + foreach( char letter in alphabet ){ aniClip = Resources.Load<AnimationClip> ("ANIMS/"+letter);
67 50  
68 51 if( aniClip ) COMPONENT_ANIMATION.AddClip(aniClip, ""+letter);
69 52 else Debug.Log("Anim "+letter+" not found");
70 53  
71 54 }
72 55  
73   -
74 56 }//addAlpha
75 57  
76 58 public void stop_animations( ){
... ... @@ -81,97 +63,82 @@ public class PlayerManager : MonoBehaviour {
81 63  
82 64 }
83 65  
84   - public void catchGlosa(){
  66 + public void catchGlosa(String glosa){
85 67  
86   - this.glosa = " _default "+glosa+" _default ";
  68 + //Debug.Log ("glosa antes do catch: "+glosa);
  69 + this.glosa = glosa;
  70 + //Debug.Log("glosa depois do catch: "+glosa);
  71 + start_web_play();
87 72  
88 73 }
89   -
90   -
91   -
92   - public void start_inputfield_web_play( ){
93   - int version = 1;
94   - StartCoroutine(webPlay(INFIELD.text.ToUpper(), version));
95   - }
96   -
97   - public void start_web_play( ){
98   -
99   - catchGlosa();
100   - int version = 1;
101   - StartCoroutine(webPlay(INFIELD.text.ToUpper(), version));
102   -
  74 +
  75 + public void start_web_play( ){ int version = 1;
  76 + try{ StartCoroutine(webPlay(glosa, version));
  77 + }catch(Exception e){Debug.Log (e+" :: Ops! Tivemos um problema capiscioso e cabriocrarico...");}
103 78 }
104 79  
105 80 IEnumerator webPlay(String glosa, int version) {
106 81  
107   -
108   -
109 82 stop_animations( );
110 83  
111   - Subtitles.WORDS.Clear();
112   - foreach( char letter in alphabet ) Subtitles.WORDS.Add(""+letter);
113   -
  84 + if(Subtitles.WORDS.Count==0) foreach( char letter in alphabet ) Subtitles.WORDS.Add(""+letter);
114 85  
115 86 stringPos = glosa.Split(' ');
116   - String BaseURL = "http://150.165.205.9/anims/WEBGL/";
117 87  
118   - //aniClip = www.assetBundle.mainAsset as AnimationClip;
  88 + String BaseURL = "http://150.165.205.9/anims/WEBGL/";
119 89  
120 90 COMPONENT_ANIMATION.CrossFadeQueued("_default", 0.6F, QueueMode.CompleteOthers);
121 91  
122 92 foreach(string aniName in stringPos){
123 93  
124   - try{
125   -
126   - if (String.IsNullOrEmpty(aniName)) continue;
127   -
128   - }catch(Exception e){ Debug.Log(e+" :: NotNullNotEmpty"); }
  94 + try{ if(String.IsNullOrEmpty(aniName)) continue;
  95 + }catch(Exception e){ Debug.Log(e+" :: NotNullNotEmpty"); }
129 96  
130 97 // Se ja estiver carregado: reproduz animaçao
131   - if (loadedAssetBundles.Contains(aniName)){
  98 + if(loadedAssetBundles.Contains(aniName)){
132 99  
133   - Subtitles.WORDS.Add(aniName);
134 100 COMPONENT_ANIMATION.CrossFadeQueued(aniName, 0.6F, QueueMode.CompleteOthers);
135 101  
136   - }else if (nonexistentAssetBundles.Contains(aniName)){//se nao estiver, soletra
  102 + }else if(nonexistentAssetBundles.Contains(aniName)){//se nao estiver, soletra
137 103 foreach (char letter in aniName)
138 104 COMPONENT_ANIMATION.CrossFadeQueued(""+letter, 0.6F, QueueMode.CompleteOthers);
139 105  
140 106 }else{
141 107  
  108 + if(String.IsNullOrEmpty(aniName)){ Debug.Log("NULL aniName:"+aniName+" vazio!"); continue; }
  109 +
142 110 WWW www = WWW.LoadFromCacheOrDownload(BaseURL+aniName, version);
143 111 yield return www;
144 112  
145   - if (www.error != null){//soletra se o ww inexistir
  113 + if(www.error != null){//soletra se o ww inexistir
  114 +
146 115 //throw new Exception("Erro no WWW: " + www.error);
147 116  
148 117 Debug.Log("Sinal nao disponivel em banco de sinais. SOLETRANDO "+aniName);
149 118  
150   - foreach (char letter in aniName)
151   - COMPONENT_ANIMATION.CrossFadeQueued(""+letter, 0.6F, QueueMode.CompleteOthers);
152   -
  119 + foreach (char letter in aniName) COMPONENT_ANIMATION.CrossFadeQueued(""+letter, 0.6F, QueueMode.CompleteOthers);
153 120 nonexistentAssetBundles.Add(aniName);
154 121 continue;
155 122  
156   - }else{
  123 + }
157 124  
158   - //Debug.Log (www.assetBundle.name);
159   - aniClip = www.assetBundle.mainAsset as AnimationClip;
  125 + AssetBundle bundle = www.assetBundle;
160 126  
161   - if (aniClip){
  127 + if(String.IsNullOrEmpty(bundle.mainAsset.name)){ Debug.Log(bundle.name+" vazio!"); continue; }
162 128  
163   - COMPONENT_ANIMATION.AddClip(aniClip, aniName);
164   - COMPONENT_ANIMATION.CrossFadeQueued(aniName, 0.6F, QueueMode.CompleteOthers); // 0.4
  129 + aniClip = bundle.mainAsset as AnimationClip;
165 130  
  131 + bundle.Unload(false);
166 132  
167   - Subtitles.WORDS.Add(aniName); loadedAssetBundles.Add(aniName);
  133 + if(aniClip){
168 134  
169   - }else{
170   - foreach (char letter in aniName)
171   - COMPONENT_ANIMATION.CrossFadeQueued("" + letter, 0.6F, QueueMode.CompleteOthers);
  135 + COMPONENT_ANIMATION.AddClip(aniClip, aniName);
  136 + COMPONENT_ANIMATION.CrossFadeQueued(aniName, 0.6F, QueueMode.CompleteOthers); // 0.4
172 137  
173   - }
  138 + Subtitles.WORDS.Add(aniName); loadedAssetBundles.Add(aniName);
174 139  
  140 + }else{ Debug.Log ("eita");
  141 + foreach(char letter in aniName) COMPONENT_ANIMATION.CrossFadeQueued(""+letter, 0.6F, QueueMode.CompleteOthers);
175 142 }
176 143  
177 144 }//else
... ... @@ -181,5 +148,10 @@ public class PlayerManager : MonoBehaviour {
181 148 COMPONENT_ANIMATION.CrossFadeQueued("_default", 0.6F, QueueMode.CompleteOthers);
182 149  
183 150 }
184   -
185   -}
186 151 \ No newline at end of file
  152 +
  153 + public void start_inputfield_web_play( ){ int version = 1;
  154 + try{ StartCoroutine(webPlay(INFIELD.text.ToUpper(), version));
  155 + }catch(Exception e){Debug.Log (e+" :: Exception StartCourr"); }
  156 + }
  157 +
  158 +}
... ...
Assets/Scripts/Subtitles.cs
... ... @@ -13,6 +13,7 @@ public class Subtitles : MonoBehaviour {
13 13 public Text SUBTITLES;
14 14 GameObject AVATAR;
15 15 Animation COMPONENT_ANIMATION;
  16 + private HashSet<String> numeros;
16 17  
17 18 public static HashSet<String> WORDS = new HashSet<String>();
18 19  
... ... @@ -32,6 +33,18 @@ public class Subtitles : MonoBehaviour {
32 33  
33 34 string GetCurrentPlayingAnimationClip( ){
34 35  
  36 + foreach(AnimationState aniName in COMPONENT_ANIMATION)
  37 + if( COMPONENT_ANIMATION.IsPlaying(aniName.name) && !aniName.name[0].Equals('_')) return aniName.name.Split(' ')[0];
  38 +
  39 + return null;
  40 +
  41 + }
  42 +
  43 +
  44 +
  45 +
  46 + string _AGetCurrentPlayingAnimationClip( ){
  47 +
35 48 foreach(String aniName in WORDS)
36 49 if(COMPONENT_ANIMATION.IsPlaying(aniName+" - Queued Clone"))
37 50 return aniName;
... ... @@ -40,7 +53,8 @@ public class Subtitles : MonoBehaviour {
40 53  
41 54 }
42 55  
43   - /*string GetCurrentPlayingAnimationClip( ){ if(isCaptionActiveFlag) foreach(string anim in words_from_glosa){ if( COMPONENT_ANIMATION.IsPlaying( anim+" - Queued Clone" ) ) //if( !(anim.Equals("_default - Queued Clone") || anim.Equals("_default") ) ) return anim; } return null; }*/
  56 + /*string GetCurrentPlayingAnimationClip( ){
  57 + * if(isCaptionActiveFlag) foreach(string anim in words_from_glosa){ if( COMPONENT_ANIMATION.IsPlaying( anim+" - Queued Clone" ) ) //if( !(anim.Equals("_default - Queued Clone") || anim.Equals("_default") ) ) return anim; } return null; }*/
44 58  
45 59 bool isCaptionActiveFlag = true;
46 60  
... ...
ProjectSettings/QualitySettings.asset
... ... @@ -134,7 +134,7 @@ QualitySettings:
134 134 blendWeights: 4
135 135 textureQuality: 0
136 136 anisotropicTextures: 2
137   - antiAliasing: 0
  137 + antiAliasing: 2
138 138 softParticles: 0
139 139 softVegetation: 1
140 140 realtimeReflectionProbes: 1
... ...