gSpline = undefined
gSplineIdx = 0
-- スプラインシェイプを作成
fn CreateSpline =
(
if undefined != gSpline then return -1
-- シェイプの作成
ss = splineShape()
-- シェイプにスプライン曲線を追加
idx = addnewSpline ss
-- addKnotのパラメータ
param3 = #bezier
param4 = #curve
-- bezier曲線の制御点のイン、アウトベクトルの座標
inPos0 = [0, 0, 0]
outPos0 = [0, 0, 0]
inPos1 = [30, 10, 0]
outPos1 = [70, 40, 0]
inPos2 = [100, 100, 0]
outPos2 = [100, 100, 0]
-- 制御点の追加
addKnot ss idx param3 param4 [0, 0, 0] inPos0 outPos0
addKnot ss idx param3 param4 [50, 20, 0] inPos1 outPos1
addKnot ss idx param3 param4 [100, 100, 0] inPos2 outPos2
-- シェイプの更新
updateShape ss
-- コピー
gSpline = ss
gSplineIdx = idx
return 0
)
-- 形状データ取得テスト
fn GetShapeDataTest ss idx =
(
-- セグメント数
nSeg = numSegments ss idx
format "nSeg %\n" nSeg
-- 曲線の座標
for t = 0.0 to 1.0 by 0.1 do
(
pos = interpCurve3D ss idx t
format "t = % pos = %\n" t pos
)
)
CreateSpline()
GetShapeDataTest gSpline gSplineIdx
2012年1月31日火曜日
MAXScript ベジェ曲線の作成
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿