TextPlus – superclass: GeometryClass; super-superclass:node – classID: #(1815478437, 291720888)
TextPlus()
<TextPlus>.interpolationsteps Integer default: 5 -- integer
フォント スムージングの補間ステップの数です。
<TextPlus>.optimize Integer default: 1 -- integer
補間の最適化の設定です。1= オン、0= オフです。
<TextPlus>.adaptive Integer default: 0 -- integer
補間のアダプティブの設定です。1= オン、0= オフです。
<TextPlus>.layouttype Integer default: 0 -- integer
レイアウト タイプです。 0= ポイント、1= 領域です。
<TextPlus>.plane Integer default: 0 -- integer
レイアウト平面です(layouttype
がポイントの場合)。0= 自動、1=XY、2=XZ、3=YZ
<TextPlus>.length Float default: 100.0 -- animatable; float
レイアウト領域の長さです。
<TextPlus>.width Float default: 100.0 -- animatable; float
レイアウト領域の幅です。
<TextPlus>.alignment Integer default: 1 -- integer
フォントの位置合わせ。ここで:
<TextPlus>.size Float default: 25.0 -- animatable; float
フォント サイズです。
<TextPlus>.tracking Float default: 0.0 -- animatable; float
フォント トラッキング値です。
<TextPlus>.leading Float default: 0.0 -- animatable; float
フォントの行間値です。
<TextPlus>.vscale Float default: 100.0 -- animatable; float
フォントの垂直スケール値(パーセント)です。
<TextPlus>.hscale Float default: 100.0 -- animatable; float
フォントの水平スケール値(パーセント)です。
<TextPlus>.elementType Integer default: 0 -- integer
文字がアニメーションのプリセット用に分割される場合の分割先の要素のタイプです。ここで:
<TextPlus>.charKerningOffset ArrayParameter default: #() -- float array; SubAnim
文字列内の各文字のカーニング オフセット値の配列です。
<TextPlus>.charBaselineOffset ArrayParameter default: #() -- float array; SubAnim
文字列内の各文字のベースライン オフセット値の配列です。
<TextPlus>.charXScale ArrayParameter default: #() -- float array; SubAnim
文字列内の各文字の X スケール値の配列です。
<TextPlus>.charYScale ArrayParameter default: #() -- float array; SubAnim
文字列内の各文字の Y スケール値の配列です。
<TextPlus>.generateGeometry Integer default: 1 -- integer
[ジオメトリを生成](Generate Geometry)の設定(0= オフ、1= オン)。
<TextPlus>.extrudeamount Float default: 0.0 -- animatable; float
正または負の押し出しの量です。既定値は 0 です。
<TextPlus>.extrudesegments Integer default: 1 -- animatable; integer
押し出しを構成するセグメントの数です。前方から後方に押し出された文字は、この数のセグメントに分割されます。
<TextPlus>.applybevel BooleanClass default: false -- boolean
ベベルを文字に適用するかどうかを示します。
<TextPlus>.beveldepth Float default: 0.5 -- animatable; float
ベベルの深度です。
<TextPlus>.usebevelwidth BooleanClass default: false -- boolean; UseBevelDepth
.bevelwidth
設定を適用するかどうかを示します。
<TextPlus>.bevelwidth Float default: 0.5 -- animatable; float
ベベルの幅です。.usebevelwidth
が true の場合のみ適用されます。
<TextPlus>.bevelsteps Integer default: 5 -- animatable; integer
ベベルのステップの数です。 これにより、ベベル プロファイル カーブのベジェ セグメントあたりのサブディビジョン数が決まります。
<TextPlus>.bevelpush Float default: 1.0 -- animatable; float
[ベベル プッシュ](Bevel Push)値です。これは、ベベルに対して垂直なベベル プロファイル カーブに適用されるスケール係数です。値に 1.0 を指定すると、元のベベル カーブになります。値に -1.0 を指定すると、反転されたベベル カーブになります。値に 0 を指定すると、常にストレート ベベルになります。
<TextPlus>.beveloptimize BooleanClass default: true -- boolean
ベベルが最適化されているかどうかを示します。最適化されている場合、ベベル プロファイル カーブ内の線形セグメントは単一エッジに削減され、.bevelsteps
パラメータは無視されます。
<TextPlus>.beveloffset Float default: 0.0 -- animatable; float
[アウトラインのオフセット](Outline Offset)の設定正または負の値を指定できます。
<TextPlus>.capstart Integer default: 2 -- integer
<TextPlus>.capend Integer default: 0 -- integer
ベベル文字の開始(上部)および終了(下部)のキャップ設定:
<TextPlus>.capendconstrain BooleanClass default: false -- boolean
<TextPlus>.capstartconstrain BooleanClass default: false -- boolean
ベベル文字の開始(上部)および終了(下部)のキャップ コンストレイントの設定です。
<TextPlus>.captype Integer default: 0 -- integer
[キャップ タイプ](Cap Type)の設定:
<TextPlus>.startcapmaterial Integer default: 1 -- animatable; integer
<TextPlus>.startbevelmaterial Integer default: 3 -- animatable; integer
<TextPlus>.sidematerial Integer default: 2 -- animatable; integer
<TextPlus>.endbevelmaterial Integer default: 3 -- animatable; integer
<TextPlus>.endcapmaterial Integer default: 1 -- animatable; integer
開始キャップ、開始ベベル、側面、終了ベベル、終了キャップにそれぞれ関連付けられているマテリアルの ID です。
<TextPlus>.upaxis Integer default: 1 -- integer
「アップ」軸の設定、ここで:
<TextPlus>.axisflip BooleanClass default: false -- boolean
軸を反転するかどうかを示します。
TextPlus.BevelProfileCurve - superclass: ReferenceMaker;
super-superclass:MAXWrapper - 0:0 - classID: #(1062418346L, 781088409L); creatable: false
オブジェクト タイプが ReferenceTarget:BevelProfileCurve
のベベル プロファイル カーブです。 このタイプは現在 MAXScript に公開されていません。
TextPlus.macroname : string array
テキスト文字列内のマクロ(式またはスクリプト コントローラ)の名前を取得または設定します。この値は、テキスト文字列に現れる順序でのマクロ名の配列です。
TextPlus.macrovalue : float array
指定されたインデックス(インデックスが指定されていない場合はすべての値)のマクロ値を取得または設定します。数値マクロの場合、これはマクロ値への直接アクセスを提供します。スクリプトおよび式コントローラの場合、このプロパティを使用して基本となるコントローラ オブジェクトにアクセスし、そのスクリプト、式、またはその他のプロパティを操作できます。たとえば、次のように使用されます。
ctrl = myTextPlus.macroValue[2].controller
--> Controller:Float_Script
TextPlus.nodeElements : node array
TextPlus.nodeElementsCenters : point3 array
メソッドは インタフェース: textObject2
を介して公開されます。
<void>GetRTFString <&string>rtfstring
rtfstring is Out parameter
オブジェクト文字列を RTF 形式で返します。
<boolean>SetRTFString <string>string
オブジェクト文字列を RTF 形式の文字列として設定します。このメソッドはすべてのフォーマット設定をクリアします(ResetStyle()
の呼び出しに相当)。
<void>GetPlaintextString <&string>textstring
textstring is Out parameter
オブジェクト文字列を書式設定のないプレーン テキスト文字列として取得します。
<boolean>SetPlaintextString <string>string
オブジェクト文字列を書式設定のないプレーン テキスト文字列として設定します。このメソッドはすべてのフォーマット設定をクリアします(ResetStyle()
の呼び出しに相当)。
<void>ResetString()
オブジェクト文字列を空の文字列にリセットします。
これらのメソッドは現在の文字の書式設定に影響します。これらを呼び出しても、テキスト プラス オブジェクトの文字列に含まれる既存の文字の書式設定には影響しません。AppendString()
を使用して以降に追加される文字に影響します。SetPlaintextString()
または SetRTFString()
を呼び出すと、すべての書式設定がリセットされます。
これらのメソッドを使用して文字列を作成および書式設定する方法については、以下の「コード サンプル」セクションを参照してください。
<boolean>SetFont <string>fontName <integer>charset
現在のフォントの選択内容、および文字セットのインデックスを設定します。
<void>SetBold <boolean>sw
<void>SetItalic <boolean>sw
<void>SetUnderline <boolean>sw
<void>SetStrikethrough <boolean>sw
<void>SetSubscript <boolean>sw
<void>SetSuperscript <boolean>sw
<void>SetAllCaps <boolean>sw
<void>SetSmallCaps <boolean>sw
これらのすべてのメソッドは文字の書式設定オプションを設定します(true= オン、false= オフ)。
<void>ResetStyle()
すべての文字の書式設定を既定値にリセットします。
<void>AppendString <string>string
指定された文字列をテキスト プラス オブジェクトの文字列に追加します。追加された文字列に現在の文字の書式設定を使用します。
<void>AppendChar <integer>character
ASCII コードで指定された文字をテキスト プラス オブジェクトの文字列に追加します。文字列のソースが RTF の場合、このメソッドは改行を追加します。
<boolean>SetCharBaseline <index>index <time>time <worldUnits>value
<boolean>SetCharKerning <index>index <time>time <worldUnits>value
<boolean>SetCharXScale <index>index <time>time <float>value
<boolean>SetCharYScale <index>index <time>time <float>value
これらのメソッドは、インデックスで指定された文字のアニメート可能な値を、指定時刻に、指定された値に設定します。これらのメソッドを使用する前に[アニメート] (Animate)をオンに設定する必要があります。
<integer>GetNumChars()
テキスト プラス文字列内の文字数を返します。
<boolean>GetCharacter <index>index <&integer>character <&string>fontName <&integer>charSet <&integer>style
character is Out parameter
fontName is Out parameter
charSet is Out parameter
style is Out parameter
指定したインデックスの文字の書式設定情報を取得します。
<boolean>SetCharacter <index>index <integer>character <string>fontName <integer>charSet \
<integer>style
指定したインデックスにある文字の文字(ASCII コードで指定)、フォント、文字セット、およびスタイルを設定します。
Style
は次の値を取るビット フラグです。
<index>GetSeparationType()
<boolean>SetSeparationType <index>type
アニメーション分割設定を取得または設定します。
<boolean>SetSeparationUpAxis <index>axis <boolean>flip
<void>GetSeparationUpAxis <&index>axis <&boolean>flip
axis is In and Out parameter
flip is In and Out parameter
アニメーションの「アップ」軸および[軸を反転](Flip Axis)の設定を取得または設定します。
<boolean>GetCharBaseline <index>index <time>time <&worldUnits>value <&interval>valid
<boolean>GetCharKerning <index>index <time>time <&worldUnits>value <&interval>valid
<boolean>GetCharXScale <index>index <time>time <&float>value <&interval>valid
<boolean>GetCharYScale <index>index <time>time <&float>value <&interval>valid
value is Out parameter
valid is In and Out parameter
これらのメソッドは指定されたインデックスおよび時刻における文字のベースライン、カーニング、X および Y スケール値を取得します。また、値の有効性の間隔も返します。
<boolean>GetCharGlyphMesh <index>index <time>time <&mesh>mesh <&interval>valid
<boolean>GetCharExtrasMesh <index>index <time>time <&mesh>mesh <&interval>valid
<boolean>GetCharTotalMesh <index>index <time>time <&mesh>mesh <&interval>valid
mesh is In and Out parameter
valid is In and Out parameter
これらのメソッドは、指定されたインデックスおよび時刻においてキャラクタに関連付けられているメッシュ オブジェクトを取得します。これらのメソッドはメッシュ(TriMesh オブジェクトとして)および有効性の間隔を返します。
これらのメソッドは、TextPlus UI の「テキストとして値を設定する」機能を公開します。これにより、計算値を TextPlus 文字列に挿入するマクロ(スクリプトまたは式コントローラ)を作成できます。マクロは文字列内で %\[macro_name\]
の形式になっています。
<boolean>SetValueAsText <index>pos <string>name <enum>type <enum>format <integer>whole \
<integer>decimal <boolean>uniform
type enums: {#Script|#Expression|#Number}
format enums: {#Whole|#Real|#Percent|#DisplayUnits|#Time}
新しいマクロを作成し、TextPlus テキストの現在のカーソル位置に挿入します。これは TextPlus の[テキストとして値を設定する](Set Value As Text)ボタンに対応します。3ds Max 2020.2 Update 以降で使用可能です。
pos
引数は、0 から len(string)までの文字列のカーソル インデックスです。-1 は、文字列の最後に挿入される特別なインデックスです。
name
引数は新しいマクロの名前を指定します。
type
引数は、マクロのタイプ(スクリプト、式、または数値)を指定します。
format 引数はマクロの形式を指定します。
whole
引数は、表示される整数の桁数を設定します。これは、[テキストとして値を編集する](Edit Value As Text)ダイアログの[整数値] (Whole)設定に対応します。
decimal
引数は、表示される小数点以下の桁数を設定します。これは、[テキストとして値を編集する](Edit Value As Text)ダイアログの[小数値] (Decimals)設定に対応します。
uniform
引数は、数字の全角と半角を統一するかどうかを指定します。これは、[テキストとして値を編集する](Edit Value As Text)ダイアログの[数字の全角と半角を統一](Use Uniform Digit Width)設定に対応します。
<index>GetCursorPos()
テキスト文字列内の現在のカーソル位置を取得します。1 は文字列の先頭を示し、0 はテキスト選択があることを示します。これは、TextPlus UI (小さな[テキスト] (Text)フィールドと大きな[テキストを入力](Enter Text)ダイアログの両方)のテキスト編集フィールド内のキャレット位置によって示されます。3ds Max 2020.2 Update 以降で使用可能です。
<boolean>SetCursorPos <index>pos
テキスト文字列内の現在のカーソル位置を指定されたインデックスに設定します。ここで、-1 は文字列の終わりを示します。3ds Max 2020.2 Update 以降で使用可能です。
<void>GetFinalString <time>time <&string>textstring
textstring is Out parameter
指定された time
の間、すべてのマクロを値に変換することによって、表示された TextPlus 文字列をそのテキスト入力から評価し、その結果を参照渡しによる textstring
パラメータで返します。3ds Max 2020.2 Update 以降で使用可能です。
<index>GetMacroIndex <string>name
TextPlus テキスト文字列内の名前で指定されたマクロの位置を(インデックスとして)取得します。名前付きマクロが存在しない場合は -1 を返します。これは TextPlus.macroname
プロパティのマクロ エントリ インデックスに対応します。3ds Max 2020.2 Update 以降で使用可能です。
<enum>GetMacroFormat <string>name
GetMacroFormat enums: {#Whole|#Real|#Percent|#DisplayUnits|#Time
<boolean>SetMacroFormat <string>name <enum>format
format enums: {#Whole|#Real|#Percent|#DisplayUnits|#Time}
指定されたマクロ値の書式設定を取得または設定します。マクロが存在しない場合は -1 を返します。これは[表示](Display As)ドロップダウンで使用可能な設定に対応します。3ds Max 2020.2 Update 以降で使用可能です。
<integer>GetMacroNumWhole <string>name
<boolean>SetMacroNumWhole <string>name <integer>whole
指定されたマクロの[整数値] (Whole)表示設定を取得または設定します。3ds Max 2020.2 Update 以降で使用可能です。
<integer>GetMacroNumDecimal <string>name
<boolean>SetMacroNumDecimal <string>name <integer>decimal
指定されたマクロの[小数値] (Decimals)表示設定を取得または設定します。3ds Max 2020.2 Update 以降で使用可能です。
<boolean>GetMacroUniformWidth <string>name
<boolean>SetMacroUniformWidth <string>name <boolean>uniform
指定されたマクロの[数字の全角と半角を統一](Use Uniform Digit Width)表示設定を取得または設定します。3ds Max 2020.2 Update 以降で使用可能です。
次のコード サンプルは、テキスト プラス オブジェクトを構築し、書式設定された文字列を作成し、個々の文字をアニメートします。
--Simple text construction and Animation with TextPlus
actionMan.executeAction 0 "40005" -- Reset
TextPlus layouttype:0 Plane:0 transform:(matrix3 [1,0,0] [0,0,1] [0,-1,0] [0,0,0]) isSelected:on
$.ResetString()
-- Default font is Arial but you can set whatever
$.SetFont "Arial" 0
$.ResetStyle()
$.AppendString "My "
$.SetBold true
$.SetItalic true
$.AppendString "Text "
$.ResetStyle()
$.SetFont "Tahoma" 0
$.SetUnderline true
$.AppendString "String"
$.SetUnderline false
$.AppendChar 32 -- space
$.AppendChar 33 -- Exclamation
-- Now let's do some simple animation
set animate on
--M
$.SetCharBaseline 1 10 -40
$.SetCharBaseline 1 20 40
$.SetCharBaseline 1 30 -40
$.SetCharBaseline 1 40 0
--y
$.SetCharBaseline 2 10 40
$.SetCharBaseline 2 20 -40
$.SetCharBaseline 2 30 40
$.SetCharBaseline 2 40 0
--T
$.SetCharBaseline 4 10 0
$.SetCharBaseline 4 20 40
$.SetCharBaseline 4 30 -40
$.SetCharBaseline 4 40 40
$.SetCharBaseline 4 50 0
--e
$.SetCharBaseline 5 10 0
$.SetCharBaseline 5 20 -40
$.SetCharBaseline 5 30 40
$.SetCharBaseline 5 40 -40
$.SetCharBaseline 5 50 0
--!
$.SetCharYScale 16 10 1
$.SetCharYScale 16 20 3
$.SetCharYScale 16 30 -3
$.SetCharYScale 16 40 3
$.SetCharYScale 16 50 1
set animate off
この例では、新しい TextPlus オブジェクトを作成し、いくつかのマクロ(UI で「テキストとして値を設定する」機能を使用するのと同等)を設定します。
resetMaxFile #noprompt
myTextPlus = TextPlus layouttype:0 plane:1 extrudeAmount:1.3
myTextPlus.SetPlainTextString "Number Macro: "
-- create a new number macro and animate it
myTextPlus.SetValueAsText -1 "myNumber" #Number #percent 2 0 false
idx = myTextPlus.getMacroIndex "myNumber"
set animate on
at time 0
myTextPlus.macroValue[idx]=100
at time 100
myTextPlus.macroValue[idx]=1
set animate off
-- create a new script macro
myTextPlus.GetPlaintextString &curstr
myTextPlus.SetPlainTextString (curstr + "\nScript Macro: ")
myTextPlus.SetValueAsText -1 "script1" #Script #whole 2 2 false
macroIndex = myTextPlus.getMacroIndex "script1"
controller = myTextPlus.macroValue[macroIndex].controller
controller.script = "T*F"
-- create a new expression macro
myTextPlus.GetPlaintextString &curstr
myTextPlus.SetPlainTextString (curstr + "\nExpression Macro: ")
myTextPlus.SetValueAsText -1 "expr1" #Expression #real 2 2 false
macroIndex = myTextPlus.getMacroIndex "expr1"
controller = myTextPlus.macroValue[macroIndex].controller
controller.SetExpression "S*pi"
myTextPlus.SetMacroNumDecimal "expr1" 2