X



MAXSCRIPT_Vol1
000101
垢版 |
04/12/04 01:19:32ID:5lu9hJHF
MAXSCRIPTに関するQ&Aのためのスレッドです。

あらかじめ用意された複数のテクスチャ(解像度違い)があり、
選択しているオブジェクトのテクスチャをボタン一発(インターフェース上は、解像度の種類分)で
切り替えていくというスクリプトを作りたいと思っています。

またできれば、ディフューズレベル、スペキュラレベル...などで、選択できる分岐処理を実装できればと思っています。
既存のものであれば、ご紹介ください。また、参考になるテンプレートスクリプトがあれば、お願いします。

0194名無しさん@お腹いっぱい。
垢版 |
2007/01/06(土) 18:47:38ID:REW6/hxJ
うわぁ、過疎スレですねぇ...。
0195名無しさん@お腹いっぱい。
垢版 |
2007/01/06(土) 21:53:30ID:gtvSVqQa
たしかに過疎ってるな。
しょうが無いから三ヶ月以上前の話題にレスしとくと、
マクロレコーダは飾りじゃないが、肝心な時に役に立ってくれ無かったりする微妙に憎たらしい奴。
0196名無しさん@お腹いっぱい。
垢版 |
2007/01/07(日) 02:48:08ID:CZlb6Lxc
scriptとは行かないまでも
最近式コントローラーとかをなんとか弄って頑張っています。
ハルシノと睨めっこしながらですが・・

そのうちサクサクscript書けるようになりたいです。
0199名無しさん@お腹いっぱい。
垢版 |
2007/04/14(土) 14:20:28ID:9iJBZ1Wk
(
if (classOf MAXSCRIPT_VOl1)==Array do
  (
   mapped fn resOutput res =
    (
    format "% 名前: % [%] 投稿日:% ID:% \n % \n" res.index res.name res.mail res.data res.id res.text
    )

  resOutput MAXSCRIPT_VOl1
  )
)
0200名無しさん@お腹いっぱい。
垢版 |
2007/04/14(土) 14:36:17ID:9iJBZ1Wk
messageBox "保守" title:"名無しさん@お腹いっぱい。" age:true
0201名無しさん@お腹いっぱい。
垢版 |
2008/06/19(木) 17:42:15ID:ygr/I/SO
messageBox "保守2" title:"名無しさん@お腹いっぱい。" age:true
0205名無しさん@お腹いっぱい。
垢版 |
2008/11/11(火) 16:17:00ID:r6M3elYI
最近maxscriptを触り始めたばかりなのですが、
ttp://kazu001.blog66.fc2.com/blog-entry-146.html
に記載されている
「親ボーンを曲げたら子ボーンも自動的に同じ角度だけ曲がるようにしておけば便利」
が、どのようにすればうまくいくのかが分かりません
分かる方、いっらしゃいましたら教えて下さい
0206205
垢版 |
2008/11/11(火) 16:23:04ID:r6M3elYI
>>205
細かい点ですが、
×いっらしゃいましたら → ○いらっしゃいましたら
0207名無しさん@お腹いっぱい。
垢版 |
2009/01/19(月) 23:55:14ID:l5zDWz/E
meditMaterials[1]のDiffuse colorの彩度を調整するには
どう書いたらいいんですか?
0209名無しさん@お腹いっぱい。
垢版 |
2009/01/20(火) 14:36:49ID:fDmQp2Qg
>>208
同じように書いてみたんですけど、マテリアルエディタの色は変わんないんです。
meditMaterials[1].diffusecolor.saturation = 200にしても彩度が200になんないし。
リスナーには200 OKとか出るんですけど。
何が違うんでしょうか?
0211名無しさん@お腹いっぱい。
垢版 |
2009/01/21(水) 12:03:14ID:9OSkWqRQ
>>210
リファレンスとかネットとかで調べてるんですけど分からなくて。
でもリファレンスに書いてあるんですね。
皆さんもっと熟読してるんですね。
分かりました。
0212名無しさん@お腹いっぱい。
垢版 |
2009/01/21(水) 23:12:58ID:TLS7jrms
>>211
ばっちり書いてあるし別に熟読しなくても直ぐに見つかるよ。

と、突き放してもいいんだけど、初心者のころって確かに
何が分からないかもよく分からなかったり、調べ方すら分からなかったりするよね。

とりあえずそういう人は疑問に思ったらリスナーに以下を入力してみて欲しい。
大抵の場合はこれで突破口が開けるはずだ。

classof <調べたいもの>
show <調べたいもの>
0213名無しさん@お腹いっぱい。
垢版 |
2009/01/22(木) 21:43:33ID:VwRFfo+u
>>212
ありがとうございました。
取りあえずclassof、showをからじっくり探って行こうと思います。
レスくれて感謝です。
0214名無しさん@お腹いっぱい。
垢版 |
2009/02/06(金) 01:11:41ID:AoCDsP5+
ちょっと端的に聞いてみるけれど、モーションデータにオブジェクトを同調させるスクリプト知らまいか?
0216名無しさん@お腹いっぱい。
垢版 |
2009/03/06(金) 21:29:06ID:1FYX7vbE
age
0217名無しさん@お腹いっぱい。
垢版 |
2009/05/12(火) 22:43:36ID:rv7ZWwOY
コード
(
struct hoge (this)
local foo = hoge()
foo.t = foo
foo
)

出力
(hoge this:<<recursive Struct:hoge>>)

上記コードでメンバ変数 this はメモリ上ではどういう状態なんでしょうか?
プラグインスクリプトの this みたいなのが構造体にもあれば便利だと思うんですが
上記の方法だとメモリの状態がよく分からないので不安です。
0218名無しさん@お腹いっぱい。
垢版 |
2009/05/12(火) 22:45:10ID:rv7ZWwOY
訂正
×:foo.t = hoge()
○:foo.this = hoge()
0220名無しさん@お腹いっぱい。
垢版 |
2011/11/10(木) 00:49:29.40ID:UyZo2+nH
if rot > 0 then
(
rot*2
)
else
(
0
)

rotが0より大きいときにx2してそれ以外は0って感じなんだけど、
これに「rotが90以上の時も0」って加えたいんだけど
どう書けばいいでしょうか?
0221名無しさん@お腹いっぱい。
垢版 |
2011/11/10(木) 18:31:49.11ID:HmWVAfBq
「rotが90以上の時も0」を加えるんじゃなくて
「rotが0より大きいとき」じゃなくて「rotが0より大きく尚且つrotが90より小さい」
ってすればよい。
if rot > 0 then

if rot > 0 and rot < 90 then
0222名無しさん@お腹いっぱい。
垢版 |
2011/11/11(金) 00:26:28.61ID:IXSZtxDz
ありがとうございます!

仮に、 rot < 90 のときは rot*3 など、結果を3パターン以上出したい時は
どうすればいいでしょうか?
0224222
垢版 |
2011/11/12(土) 00:10:18.50ID:KLAa1gQo
自己解決しました。

else以下にまたif文を入れればよかったのですね。
0225名無しさん@お腹いっぱい。
垢版 |
2011/11/29(火) 01:00:23.38ID:iJujN947
max2012で保存されているトラックビューを一括削除するスクリプトを探しています。
(頻繁に削除するので、リストで消すのが面倒)
ハルシノにあったRudeCleanserTrackviewsがそれっぽいのですが、
バージョンが合わないせいか思うような動作をせず、中途半端に残ったりしてしまいます。
全部閉じた状態で実行すれば真っ白になっているようなものを書いていただけないでしょうか?
0226名無しさん@お腹いっぱい。
垢版 |
2011/11/29(火) 01:44:57.26ID:6G8vdm3r
リファレンス見ながら書くから動かなくても文句言わないでね

(
local numTVs = trackviews.numTrackViews()
for i = numTVs to 1 by -1 do
(
if trackviews.isOpen i do trackviews.close i
trackviews.delete i
)
)
0227名無しさん@お腹いっぱい。
垢版 |
2011/11/29(火) 01:53:03.90ID:6G8vdm3r
ごめん、動かなかったので直した
(
local numTVs = trackviews.numTrackViews()
for i = 1 to numTVs where trackviews.isOpen i do trackviews.close i
for i = numTVs to 1 by -1 do
(
local tvName = trackviews.getTrackViewName i
trackviews.delete tvName
)
)
0231名無しさん@お腹いっぱい。
垢版 |
2012/03/09(金) 13:20:58.35ID:UWqUBMhr
ボーン(biped以外)の表示非表示を切り替えたいんだけど、

(
on execute do
(
case of
(
(hideByCategory.bones == true): (hideByCategory.bones = false)
(hideByCategory.bones == false): (hideByCategory.bones = true)
)
)
)

こうするとBipedまで対象になってしまうのですが、どうカテゴリ分けすればいいでしょうか?
(表示フロータに2つあるボーンオブジェクトの下だけ適用した感じにしたい)
0232名無しさん@お腹いっぱい。
垢版 |
2012/03/09(金) 15:05:45.86ID:w6SaxgOB
hideByCategoryだと無理っぽい気が。
showPropertiesで見てもチェックボックスの有る分のプロパしか見当たらないし。
下のボックス内と追加で出る分のカテゴリ非表示はスクリプトからは無理なんかね。

自前でループさせてclassofでチェックしてボーンだけ非表示になるスクリプトを組むとか。
カテゴリ非表示ほどレスポンスは良くないだろうけど。
0233名無しさん@お腹いっぱい。
垢版 |
2012/03/09(金) 15:12:46.88ID:DUum4bFn
Bipedの表示カテゴリはむかしジオメトリだったのが最近はボーンに変わったんだっけ?
しかもそれが選択フィルタのカテゴリと食い違ってたり

色々面倒だから、最近はカテゴリ表示・非表示よりレイヤーで分類して管理する方法で慣れちゃったなあ
0234名無しさん@お腹いっぱい。
垢版 |
2012/06/19(火) 04:36:49.15ID:bhbSvTzB
モーフモデファイヤについて質問です。
選択した複数のモーフオブジェクトの、特定のチャンネルを一括で変更したいのですが、
色々試しても、複数選択した内の一つにしか適用されません。
試したスクリプトです。(チャンネルの2番目を変えるとして)

mph = $.morpher
for i = 1 to selection do
(
WM3_MC_SetValue mph 2 100.0
)



スクリプトは今回初めて学ぶので単純な原因をわかっていないのかもしれませんが、
もしよかったらアドバイスをよろしくお願いします。
0235名無しさん@お腹いっぱい。
垢版 |
2012/06/22(金) 02:54:00.37ID:QmxroByN
1行目
.morpherはモーファーが適用された個別のオブジェクトのプロパティなんで
複数選択した場合には$はオブジェクトセットになるんで
個別の要素に対してそのプロパティでアクセスしないといかん。
ex1) $[1].morpher
ex2) selection[1].morpher

2行目
selectionは現在の選択のオブジェクトセット(配列)なんで
for文で1から配列までって記述はおかしい。
for i = 1 to selection.count do
でiにインデックス入れて
mph = selection[i].morpher
でモディファイア引っ張ってくるか
for i in selection do
でiにオブジェクト入れて
mph = i.morpher
でモディファイア引っ張ってくる
0236名無しさん@お腹いっぱい。
垢版 |
2012/07/23(月) 13:33:07.25ID:CQfkCaq4
スクリプトを学ぼうといろいろチュートリアルやらなんやらを集めてはみたものの、
どれも最初はBOXの作り方なんだよな…

基礎が一番重要なのはわかっちゃいるけど、もうちょっと先からお願いしたいわ…
0238名無しさん@お腹いっぱい。
垢版 |
2012/08/01(水) 20:39:06.10ID:iBfM2Ns7
表示パネル→表示カラーロールアウトで
ワイヤフレームとシェーディングのカラーをそれぞれ変更できますが、
実行するたびにオブジェクトとマテリアルが切り替わるようなスクリプトを書いて欲しいです。
結構頻繁に切り替えるのですが、そのたびにパネルを開くが面倒で…
0243名無しさん@お腹いっぱい。
垢版 |
2012/11/12(月) 17:36:06.13ID:pFmIk8Ww
選択した複数のオブジェクトのアニメーションカーブにサイクルやループ属性をつけるスクリプトって可能でしょうか?
カーブエディタが開いているだけで重いので、カーブエディタを開かずにループ属性をつけたいのです
0245名無しさん@お腹いっぱい。
垢版 |
2013/03/15(金) 16:23:15.57ID:3W8hD6Qc
選択中のオブジェクト+子供を全選択するようなスクリプトを書きたいのですが、
スクリプトリファレンスのトレーニングやチュートリアルをみても、選択に関するものが見当たりません…
そもそも"指定したboxを選択する"書き方すらわからない素人ですが、どのあたりを見ればいいでしょうか?
0246名無しさん@お腹いっぱい。
垢版 |
2013/03/15(金) 17:51:32.07ID:Hrrb6kT4
リスナーのマクロレコーダの使用可能にするにチェック入れると、基本的なコマンド類は
リスナーにコマンドが現れるんで、そのコマンド見てMaxScriptのヘルプで検索する。

クリックしてオブジェクト選択すればリスナーに
select $Box001
とか出るんでselectでヘルプ検索すればノードの共通プロパティの所に
選択関係のコマンドが載ってる。

あと子供の選択はデフォルトだと[PageDown]複数の子を選択は[CTRL]+[PageDown]だったと思うんで
(俺は既にデフォルトから変えてるんでもしかして違ったら自分でテキトーなショトカに割り当てるかメニューに出してやって)
それ押せばマクロレコーダに子供を選択するコマンドが出ると思う。
0248名無しさん@お腹いっぱい。
垢版 |
2013/03/15(金) 18:45:57.66ID:3W8hD6Qc
複数の子を選択なんてあったのか…今回はそれで十分でした。ありがとう。
レコーダーの件はわからないけど…
0250名無しさん@お腹いっぱい。
垢版 |
2013/03/19(火) 19:26:13.50ID:X8YFO+Ym
for i in objects do

みたいな書き方だと、メッシュ化してないプリミティブオブジェクト(普通のSphereとかBoxとか)が拾えないみたいです。

objects の代わりに $* だと拾えるのは分かったんだけど、
昔に別な書き方でもできた気が。
$* 以外の書き方って無かったでしたっけ?
0251名無しさん@お腹いっぱい。
垢版 |
2013/03/19(火) 20:28:59.89ID:X8YFO+Ym
>みたいな書き方だと、メッシュ化してないプリミティブオブジェクト(普通のSphereとかBoxとか)が拾えないみたいです。

あれ、拾える?
勘違いしたかも。ごめん。
0252名無しさん@お腹いっぱい。
垢版 |
2013/03/20(水) 02:26:31.86ID:aKXLPO5z
>>251
一度くらいはリファレンスに目を通しましょう

objectsはObjectSet値
$*はPathName値

条件次第で同じ動作をするけど明確に異なる値です
0254名無しさん@お腹いっぱい。
垢版 |
2013/04/08(月) 01:53:06.75ID:5QN07Uff
複数のスクリプトのバージョンまとめて更新したいんだけど、なんかいい方法ある?
今のとこ一つずつビューポートに投げるしか方法思い浮かばなくて。
0255254
垢版 |
2013/04/09(火) 02:40:30.40ID:Rf+a1HI9
事故解決しますた。
AppDataのほうにスクリプトあるとmacroscriptsに入れても更新されないのね。
0256名無しさん@お腹いっぱい。
垢版 |
2013/09/20(金) 13:22:13.08ID:J23xaoqY
基本設定の自動バックアップのチェックのオンオフをスクリプトで制御したいのですが、
どこにアクセスしたら良いでしょうか?
0259名無しさん@お腹いっぱい。
垢版 |
2013/09/20(金) 15:12:16.09ID:J23xaoqY
(
 (
 if (autosave.Enable = true) then autosave.Enable = false
 else autosave.Enable = true
 )
)

のようにして、有効の時に押せば無効になるようにしたのですが、
無効の時に押しても有効になりません…
書き方がおかしいのでしょうか?
0262260
垢版 |
2013/09/24(火) 01:00:49.87ID:mn/UtfSO
あ、そりゃそうだ。
0263名無しさん@お腹いっぱい。
垢版 |
2013/09/27(金) 18:56:32.77ID:TYSRycw4
レイヤーマネージャーのボタンのように、一回押すとオレンジになり
もう一回押すと戻るようなマクロスクリプトはどのように書いたらよいでしょうか?
0266名無しさん@お腹いっぱい。
垢版 |
2013/10/30(水) 11:56:10.28ID:9LvRQ0hj
オブジェクトプロパティの「フリーズをグレーで表示」をボタンにしたいのですが、
マクロレコーダーに出た$.showFrozenInGray = onだけでは反映されません。
何か足りないのがあるのでしょうか?
0267名無しさん@お腹いっぱい。
垢版 |
2013/10/30(水) 16:50:12.49ID:S4wv1NoX
いけるはずだけど。

$は選択オブジェクトを表してるから、オブジェクトが選択されてないか、
もしくは複数選択されてるとか。
0269名無しさん@お腹いっぱい。
垢版 |
2013/10/30(水) 21:43:19.30ID:j90ZXGHA
これなら選択なし/単体/複数でも対応可能
selection.showFrozenInGray = true

$は現在の選択を表す「PathName値」
selectionは現在の選択を表す「ObjectSet値」

どちらも配列の一種で似てるけど微妙に違う
試しに何も選択せずにリスナーに
$

selection
を打って戻り値を確認するといいよ
どういう違いなのかなんとなく分かるはず
0270名無しさん@お腹いっぱい。
垢版 |
2013/10/31(木) 10:00:43.80ID:/c+HcHYW
へ〜、selectionってプロパティの代入はループさせなくても複数一気にいけるんだ。
一個賢くなった。>>268じゃないけどdクス
0272271
垢版 |
2013/11/06(水) 12:25:25.06ID:aqtHo5u9
何度もすいません…。
下記のようにしてif文にしたところ、2010では動作しましたが2012では動作しないようです。
仕様が若干変わっていたりするのでしょうか?

(
for i in selection do
(
if (i.showFrozenInGray == on) then (i.showFrozenInGray = off)
else
(i.showFrozenInGray = on)
)
)
0273名無しさん@お腹いっぱい。
垢版 |
2014/04/18(金) 17:07:03.83ID:9+12GPL9
大体そういうのって才能でしょ
0274名無しさん@お腹いっぱい。
垢版 |
2014/09/17(水) 12:58:38.10ID:29SZFRZ4
スクリプトを勉強し始めた初心者です。

ヘルプにあるビューポートの再描画コールバックについて2012と2014で
結果が異なる為、ご存知の方がいましたらご教授願います。

fn redrawviews_p = print "Viewports Redrawn"
registerRedrawViewsCallback redrawviews_p

上記を評価してコールバックを停止するため

unregisterRedrawViewsCallback redrawviews_p

と入力しました。
2012は正常にコールバックが停止するのですが、2014は「OK」と返しては来るのですが
"Viewports Redrawn"がリスナーに表示され続けます(停止できない)

モヤモヤしてます・・・
0277名無しさん@お腹いっぱい。
垢版 |
2014/09/19(金) 11:24:09.41ID:B80uezAN
>>276
登録したスクリプトがエラーを吐くと正常に登録解除できない
その状況を作らないために登録する関数は
実処理を行う関数を呼び出すだけの内容にしておくといいってリファレンスにも載ってるよ
さらにtry文で囲んでおくと安全

--登録
fn redrawviews_p = print "Viewports Redrawn"
fn redrawviews_handler = try( redrawviews_p() )catch()
registerRedrawViewsCallback redrawviews_handler

--解除
unregisterRedrawViewsCallback redrawviews_handler

バージョン毎の動作の違いはよく分からん
0278名無しさん@お腹いっぱい。
垢版 |
2014/09/19(金) 19:24:22.18ID:8D8hfrU1
>>277
教えて頂きありがとうございます。
仕事の暇を見つけてスクリプトの学習を行っているので進みがとても遅く
try文が何なのか未だ理解してません。
もっと勉強します。

プログラミングの予備知識ゼロの人がmaxscriptを一人前に出来るようになるまで
どれくらい時間が必要なんでしょうかね。本人次第の所はありますが。。。
0281名無しさん@お腹いっぱい。
垢版 |
2016/10/28(金) 03:55:49.06ID:O8TzAf5R
ほしゅ
0283名無しさん@お腹いっぱい。
垢版 |
2017/03/01(水) 20:12:49.31ID:xlEL985/
0284名無しさん@お腹いっぱい。
垢版 |
2017/07/13(木) 22:14:39.30ID:LLhauofu
また活発になってほしい...
それかpython版作ろうよ
0285名無しさん@お腹いっぱい。
垢版 |
2017/07/14(金) 09:40:43.13ID:bf4NRxNB
いい加減Qtに移行したいけどpythonで完結できないことが多くて
結局maxscriptが必要になるならmaxscript一本でいいやとなって移行できない
0286名無しさん@お腹いっぱい。
垢版 |
2017/07/17(月) 02:06:52.52ID:qFBfMv+9
BonesProをmaxscriptから操作したいと思って試したのですが、上手くいかず困ってます。
http://doc.bonespro.com/MAXScript.html

【概要】
ボーン選択をmaxscriptで選択したい
<void> BonesPro.bone_select_name <name> <select>


<void>と <name> <select>のところが同様になっていると良いのかが良くわかっていません。
クラスとかパラメータとか調べてみたのですが、上記のメソッド関係が動いてくれません。
どうしたらいいのかアドバイス頂ける幸いです。
よろしくお願いいたします。
0287名無しさん@お腹いっぱい。
垢版 |
2017/07/17(月) 02:07:45.66ID:qFBfMv+9
テストで探ってた際のログ
【実行】
showproperties $.modifiers[BonesProDemo]
【結果】
.use_inertia : boolean
.use_oscillation : boolean
.use_stack : boolean
.use_parabones : boolean
.use_dual_quaternion : boolean
.use_linked : boolean on off
.bone_sync : boolean
.mirror_plane : integer
.mirror_flip : boolean
.mirror_offset : float
.mirror_threshold : float
.soft_selection : boolean
.soft_radius : float
.use_edge_distance : boolean
.edge_distance : integer
false

【それを元にパラメータは操作できました】
$.modifiers[#BonesProDemo].use_stack = off

【実行】
$.modifiers[#BonesProDemo].category
$.modifiers[#BonesProDemo].classID
【結果】
#3d_io_Plugins
#(1623534534, 1946828630)
0288名無しさん@お腹いっぱい。
垢版 |
2017/07/17(月) 15:50:16.01ID:ytjApNC/
>>286
この手のドキュメントは
<戻り値>関数名 <引数名または型>
みたいに書かれてることが多い
型は説明文に書かれてる場合がある
戻り値のvoidってのは意味のある値は返さないって意味

ちょっと不親切なドキュメントだけど読めなくもない
0289名無しさん@お腹いっぱい。
垢版 |
2017/07/18(火) 11:42:08.96ID:+y6a6aPr
>>288
解説ありがとうございます。何となくな理解だったので助かりました。
あれから色々試していくつか分かってきたのですが、根本的に合っているのか謎で手探り状態なのですが、ご報告します。

・Nameはstringにしろとエラー文で言われました。maxscriptのヘルプ通り、文字列 string値でした。

・Bone選択は描画を更新しないと反映されないようで、以下のような処理が必ず実行されます。http://doc.bonespro.com/MAXScript.htmlの関数説明文にそのようなことが書いてありました。
【必ずBone選択時に実行される処理】
$.modifiers[#BonesPro].use_oscillation = on
max views redraw

・また、Boneの操作のためにはLayerにアクセスする必要がありそうでした。実行:$.modifiers[#BonesPro].BonesPro.num_bones()結果:場所は <MixinInterface:BonesPro>と表示されます。
http://help.autodesk.com/view/3DSMAX/2016/JPN/?guid=__files_GUID_78B79975_7BA5_4A03_8FEF_27E78D14B575_htm
$.modifiers[#BonesPro].BonesPro.num_bones()のように単純にやるだけではダメで、Layerの方も考慮しないといけないぽく、立ち止まってます。
0290名無しさん@お腹いっぱい。
垢版 |
2017/07/18(火) 11:42:44.79ID:+y6a6aPr
>>288
以下はテスト時のログ


[実行]

$.modifiers[#BonesPro].BonesPro.num_bones()
----------------------------------------------------------
$.modifiers[#BonesPro].BonesPro.bone_select_all()

----------------------------------------------------------
BonesPro.bone_select_all()
----------------------------------------------------------
BonesPro.bone_select_all(1)




[結果]

-- 未知のプロパティ : "num_bones()" 場所は <MixinInterface:BonesPro>
----------------------------------------------------------

OK

----------------------------------------------------------
-- 引数のカウント エラー : bone_select_all には 1 が必要です、0 を受け取りました


----------------------------------------------------------
-- ランタイム エラー: オブジェクトにこのインタフェースが実装されていません : BonesPro
0291名無しさん@お腹いっぱい。
垢版 |
2017/07/18(火) 14:23:18.04ID:QbqZQpNF
>>289
MixinInterfaceってのは簡単に言えばA(BonesProインタフェース)に実装された関数num_bonesを別のB(モディファイア)でも共有して利用するための仕組みのこと

A
└num_bones
B(Aを継承)

プラグイン内部をこんな感じで実装すると

B.num_bones

こんな感じでmaxscriptではAとBの違いを意識せずに使える

手元にプラグインがないから推測になるけど
$.modifiers[#BonesPro].bone_select_all()
みたいに書けばいいはず
0292名無しさん@お腹いっぱい。
垢版 |
2017/07/18(火) 15:49:51.54ID:+y6a6aPr
$.modifiers[#BonesPro].bone_select_all()でBone全選択行けました。
http://www.bonespro.com/download-order/からデモ版でやっていたので、それで出来なかったっぽいです。ライセンス版の方で動きました。ありがとうございます。

名前選択の方も、-- 変換できません : "Bone001" 入力: Boolean といったエラーメッセージをもとにtrue or false を入れてみたら動きました。

名前の指定で選択
$.modifiers[#BonesPro].BonesPro.bone_select_name "Bone001" true
名前の指定で選択解除
$.modifiers[#BonesPro].BonesPro.bone_select_name "Bone001" false

ありがとうございます。

この"Bone001"を配列に置き換えてfor文でループ処理して複数でも行けるようにしてみました。

A = #("Bone001","Bone002")
print A[1]
for i = 1 to 2 do (
$.modifiers[#BonesPro].BonesPro.bone_select_name A[i] true
)

ありがとうございます。大変勉強になりました。
0293名無しさん@お腹いっぱい。
垢版 |
2017/07/18(火) 15:52:50.34ID:+y6a6aPr
>>291
MixinInterfaceの解説はヘルプ見てもチンプンカンプンだったので、ありがとうございます。
まだ何となくですが、分かった気がしますw
色々ありがとうございました。
0294名無しさん@お腹いっぱい。
垢版 |
2017/12/30(土) 17:47:26.45ID:Hp7G0Fs4
誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。

グーグル検索⇒『半藤のブブイウイウレレ』

T7Y1UVEC4V
レスを投稿する


ニューススポーツなんでも実況