HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0629
ZFE3DSetValidFlag 使用方法教えてください。7解決


ZF

リンク

2013/6/29(Sat) 08:48:29|NO.55316

初めまして、HSPを最近使い出した初心者です。

easy3D の E3DSetValidFlag を使用して、服の着せ替えをしようと考えていますが
サンプルが無く困っています。

サンプルや具体的に参考になる使用例があれば教えてください。



この記事に返信する


KA

リンク

2013/6/29(Sat) 09:12:43|NO.55318

以前はHSPに添付されていましたが、現在ではサポートされていません。

また、作者都合により公開HPも関連HPも終了しており、今まで使ってい
たのならともかく、新規の使用は諦めましょう。



ZF

リンク

2013/6/29(Sat) 09:42:52|NO.55320

早速の書き込みありがとうございます。

>また、作者都合により公開HPも関連HPも終了しており、今まで使ってい
>たのならともかく、新規の使用は諦めましょう。

は、easy3D 自体が諦めたほうがいいのでしょうか?

もし、そうなら sigファイルを使ったデータを使用しないほうがいいのでしょうか?

申し訳ありませんが教えてください。



seasalt

リンク

2013/6/29(Sat) 13:59:17|NO.55328

Easy3Dはいいプラグインでしたよ。
開発が終了してしまったからといって、別に使うのが禁止されたわけでもないので、個人で使用するのに問題ないと思います。
ただ、終了間際にごたごたがあったせいで、かなりのユーザーがEasy3Dから離れてしまいました。
そういうわけで、初心者の方にはおススメしにくいというのが実際のところです。sigなんかも独自形式ですし。

これから3Dをはじめると言うなら、現在おにたまさんが hgimg4 という高機能の3Dプラグインを開発中なので、それを待つのも一つの手です。
興味があれば、ここの掲示板にプレビュー版があります。なんか、MMDのモデルなんかも読み込めるようになるらしいです。
盛り上がってきているので、こっちの方がおススメはしやすいです。

それはそれとしてご質問の件ですね。ヘルプから抜粋すると
1. [IN] 数値または、変数 : hsid
  形状データを識別するID 2. [IN] 数値または、変数 : partno   設定したいパーツの番号を指定します。   E3DGetPartNoByNameで取得した番号を渡してください。   partnoに-1を渡すと、   全てのパーツの有効、無効をセットできます。 3. [IN] 数値または、変数 : flag   flagに0を指定すると、指定パーツが無効になります。   flagに1を指定すると、有効になります。
とありますから、まず hsid と partno を取得することが必要になります。
取得の仕方はわかりますか?
もしEasy3Dで開発を続けたいと言うのであればわかる範囲で質問に応じたいと思いますが。



ZF

リンク

2013/6/29(Sat) 20:35:23|NO.55336

また、早速の解凍ありがとうございます。

<素人目線ですみません>
.sigについてはモデルを簡単に管理できると思っていましたが使えなくなるなんて残念です。
hgimg4については、easy3Dに変わるものと
していいものだと思いました。プログラムを理解しだしたら使ってみたいと思います。
(今は、easy3Dの方が参考プログラムがあるのでそちらを理解してから)
情報ありがとうございます。

本題ですが、申し訳ありません。
全くの初心者でプログラム自体初めてなので、
上記に書いていただいたのですが、実際にどうやってプログラムしたらいいのか
理解でませんでした。
申し訳ありませんが、具体的な簡単なプログラムを書いていただけないでしょうか。
差し支えなければお願いいたします。

>1. [IN] 数値または、変数 : hsid

>  形状データを識別するID

>2. [IN] 数値または、変数 : partno
>  設定したいパーツの番号を指定します。

>  E3DGetPartNoByNameで取得した番号を渡してください。
>  partnoに-1を渡すと、
>  全てのパーツの有効、無効をセットできます。

>3. [IN] 数値または、変数 : flag

>  flagに0を指定すると、指定パーツが無効になります。
>  flagに1を指定すると、有効になります。



seasalt

リンク

2013/6/30(Sun) 05:29:03|NO.55345

簡単なサンプルを書いてみました。
古いEasy3Dだとわかりませんが、ver 5.0.5.6以降ならこのスクリプトで動くと思います。
まず、HSPのサンプルの中に e3dhsp3_1.hsp というのがありますから、それをスクリプトエディタで開いてください。
ファイルの場所はHSPをインストールしたフォルダの中の、[sample]-[easy3D]です。
次に、スクリプトの80行目付近の

if keybuf.VK_ESCAPE = 1 : goto *bye ; [ESC]で終了
の後の行に、以下のスクリプトをコピペしてください。

if keybuf.'1' = 1 { ; 1キーを押すとheadを表示 E3DGetPartNoByName hsid1,"head",partno flag = 1 E3DSetValidFlag hsid1,partno,flag } if keybuf.'2' = 1 { ; 2キーを押すとheadを非表示 E3DGetPartNoByName hsid1,"head",partno flag = 0 E3DSetValidFlag hsid1,partno,flag }
数字の1,2キーを押すとモデルのパーツの表示・非表示が切り替わります。
初めてだと覚えることが多くて大変だと思いますが、がんばってください。



ZF

リンク

2013/6/30(Sun) 08:04:43|NO.55347

おはようございます。

いろいろ教えていただき、
また、わかり易いご回答ありがとうございます。

やってみたところ上手く出来ました。

これ使い、今考えている物を作成したいと思います。

ありがとうございました。



ZF

リンク

2013/6/30(Sun) 18:54:02|NO.55382

おはようございます。

いろいろ教えていただき、
また、わかり易いご回答ありがとうございます。

やってみたところ上手く出来ました。

これを使い、今考えている物を作成したいと思います。

ありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.