テキスト プラス: GeometryClass

TextPlus – superclass: GeometryClass; super-superclass:node – classID: #(1815478437, 291720888)

コンストラクタ

TextPlus()

テキスト プラス: GeometryClass

プロパティ

補間のプロパティ

<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 を介して公開されます。

テキスト プラス: GeometryClass

テキスト プラス: GeometryClass

テキスト プラス: GeometryClass

テキスト プラス: GeometryClass

テキスト プラス: GeometryClass

テキスト プラス: GeometryClass

文字列コンテンツ メソッド

<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