나는 플레이 블라스트 용 스크립트를 만든다. 사용자 및 장면 이름, fps 및 현재 프레임과 같은 내 비디오 위에 몇 가지 HUD 데이터가 필요합니다 ...마야 HUD 문제
먼저 headsUpDisplay()
에 의해 생성 된 HUD를 시도하지만 배경은 없습니다 ... HUD 레이블의 색상이 바뀝니다. 그러나 때때로 그들은 배경없이 읽을 수 없습니다.
cmds.headsUpDisplay('HUDObjectSceneName', label='label TEXT',
section=2, block=0, blockSize='large',
dfs='large', labelFontSize='large')
두 번째로 hudButton()
으로 생성 된 HUD 버튼을 사용해보세요. 배경에는 배경이 있습니다. 하지만 내 레이블 중 하나는 현재의 시간입니다. headsUpDisplay()
에는 라벨 텍스트를 새로 고치고 변경하기위한 '명령'이 있습니다. 그러나 hudButton()
에는이 기능이 없습니다.
label = 'FPS: 25 FRAME:'
cmds.hudButton('HUDHelloButton3', s=9, b=0, vis=1, l=label,
bw=blockLen(label), lfs='large')
cmds.headsUpDisplay('HUDCurentFrame', label=label,
section=9, block=0, blockSize='large', dfs='large',
labelFontSize='large', atr=True,
command=lambda: cmds.currentTime(query=True))
hudButton()
버튼의 너비가 수동으로 설정되어 있습니다. 그리고 내가 긴 라벨을 원할 때 나는 라벨 너비를 계산할 필요가있다. 하지만 HUD 글꼴이 고정되어 있지 않고 픽셀 단위로 레이블 너비를 올바르게 계산하는 방법을 모르겠습니다. 몇 가지 실험 후 난 너비를 계산하는이 함수를 만듭니다. 거친 모양이긴하지만 적어도 다음과 같습니다.
def blockLen(label):
FONT_WIDTH = 8
THIN_WIDTH = 6
BLOCK_ADD = 10
thin_symbol = ' :,.!i[];:\'"|-'
sum = BLOCK_ADD
for x in label:
sum += THIN_WIDTH if x in thin_symbol else FONT_WIDTH
return sum
배경과 동적 데이터가있는 현재 프레임과 같은 HUD 레이블이 필요합니다. 하지만 나는 그것을 만드는 또 다른 방법을 찾을 수 없습니까?
ps. 시간이 바뀌면 scriptJob()
을 사용하여 HUD 버튼 레이블을 변경하려고합니다. 하지만 그 게임 플레이 블라와 함께 작동하지 ...
저는 win과 linux를 스튜디오에서 사용합니다. 난 리눅스 마야에서 다른 글꼴을 사용하여 승리 (그리고 내가 ViewPort 2.0 모든 시간을 사용하는 것 같아요 ... 어떻게 마야 글꼴을 직접 데이터를 얻으려고 찾으십시오. 그리고 난 몰라, 마야의 새 버전에있을 수 있습니다. 다른 글꼴 ... – MaxKu
나는 그들이 두 플랫폼 모두에서 지원되는 선택 글꼴 유형이 될 것 같아요, 나는 그것을 시도도, 나는 일반적인 방법을 의미하지만, 아무것도 .... 그들은 거기에 글꼴 유형, 100 %, 계속하지만 당신은 알아요 이제는 유형과 크기가 –
https://s28.postimg.org/hs8bl85fh/Capture.png – MaxKu