OcuBen Kansaiが盛り上がっており、VRの注目度が高まってきてました。
ぐぬぬ、VR戦士の仲間入りしてやる・・・。
さて、本日はVisibilityとHidden(正確にはHidden in Gameだけど略)です。
VisibilityもHiddenも表示/非表示の制御を行います。
・・・・なんで同じ機能が2つあるん?
調べる調べる・・・うん、微妙に役割が違う。
もちろんBlueprintから制御可能。
【VisibilityとHiddenの違い】
●Visibility
・Componentの表示/非表示を切替
・trueで表示、falseで非表示
●Hidden
・Actor、及びComponentの表示/非表示
・trueで非表示、falseで表示(Visibilityの逆)
上記よりComponentを表示するには、
Visibility:true、Hidden:falseであることが条件。
で、Actorの持つComponentを表示するには(例えばキャラクターの武器を表示するには)、
Actor Hidden:false
Weapon Hidden:false
Weapon Visibility:true
であることが条件となる。ややこしい。
なので、Actorの表示は"Hidden"オンリー、Componentは"Visibility"オンリーで制御したほうが混乱しないかな・・・。ルールを決めることが大事。
【Propagate to Childrenが及ぼす影響】
「Set Hidden in Game」「Set Visibility」Nodeには子Componentにも影響を及ぼす「Propagate to Children」プロパティがある。これはどこまで影響を及ぼすか。
→子Component全てに影響を及ぼす。
例えば、ライトサーベル(サーベル+柄)を持っているキャラクタから武器を取り上げる場合、サーベル、柄それぞれのVisibilityをfalseにするよりも、ライトサーベル用のSceneComponentを作成し、その下にサーベル、柄を配置する。そしてScentComponentのVisibilityをtrue/false制御してあげる方が望ましい。極端な例だけど。
【AutoActivateに及ぼす影響】
パーティクルなど、表示と同時に発生させたい時などに使用するAutoActivate。こいつにはどう影響を及ぼしてくるか。
→初めてHidden:false、Visibility:trueとなった時にActivateする
つまり初回表示が確定した時にActivateする
以上、ちょっと使うVisibilityとHiddenについてですです。