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


HSPTV!掲示板


未解決 解決 停止 削除要請

2019
0125
アキアキノヒロロ[ gpact ] 命令の複数のアニメーションクリップの同時再生とは?10解決


アキアキノヒロロ

リンク

2019/1/25(Fri) 18:12:46|NO.86392

 [ gpact ] 命令のヘルプにある解説に

「1つのモデルに対して同時に複数のアニメーションクリップを再生することが可能です。」

とありますが、この意味がよく分かりません。
 例えば、[ hgimg4 ] の画面に表示している1つのモデルがあって、そのモデルが
飛び跳ねているアニメーションクリップと、走っているアニメーションクリップを持っている場合、
この2つをブレンドした、飛び跳ねながら走っているアニメーションが再生可能だ、ということでしょうか?
だとしたら、どう命令を組み合せればいいのか、色々やってみましたが、うまくいきません。
1つのアニメーションクリップ自体のブレンド率を上げ下げすることは出来ても、そのクリップと
他のクリップをどうブレンドしたらいいのか、分からないのです。

 それとも、元々この解説の意味しているものが、自分の理解している意味とは違うのでしょうか?
「Blender」の「NLA Editor」で複数のアニメーションクリップ(「Blender」で言う「ストリップ」)を
重ね合わせることで、それらをブレンドしたアニメーショを作れるので、この解説も、そのようなことを
意味しているように思うのですが、「Blender」も使いこなせていないので、はっきり言えません。
[ hgimg4 ] の情報が少なく、調べても見つからないので、ここで質問させていただきます。



この記事に返信する


アキアキノヒロロ

リンク

2019/1/27(Sun) 07:56:29|NO.86406

上記のことで、ここ何日も悪戦苦闘しています。
どんな些細なことでも、ヒントになりそうなことがありましたら、
コメント、よろしくお願いします。

ヒントの解説の意味の取り方ですが、ここで言う「同時」とは、

1つのモデルでも、複数のアニメーションクリップを持ったモデルであれば、
それを読み込めば、クリップを切り換えることで、

「それだけで、次々と」

複数、再生することが可能

このような意味なのでしょうか?
だとすれば、自分の試みていることは、元々、命令に含まれないということになりますが....。



通りすがり

リンク

2019/2/5(Tue) 23:53:44|NO.86471

アニメブレンドの意味が分からないとのことですが
  Aアニメ+Bアニメ = Cアニメ
複数のアニメをブレンドして 新しいアニメを作れると思ってください
例えば
  待機のアニメ(ブレンド率50%)+走るアニメ(ブレンド率50%)=歩くアニメ

ちなみに ブレンダーのNLA EditorはMMD編集ツール



通りすがり

リンク

2019/2/6(Wed) 00:27:56|NO.86472

参考になるかもしれない動画
you tubeで
hsp3gp 20170413 2
を検索してみてください

左の珠音は走るアニメ 中央はブレンドされているアニメ 右は待機アニメ


アニメブレンドのおかげで アニメとアニメのつなぎが途切れることなくできるようになったり
作っていない歩くアニメができたりするのが わかると思います

アニメブレンドを使えば
 しゃがんでいるアニメ+歩くアニメ=じゃがみ歩きアニメ(確か中腰くらいにしかならなかった)
 首を左右に振るアニメ+歩くアニメ=警戒しながら歩くアニメ

複数できるので
 しゃがんでいるアニメ+歩くアニメ+首を左右に振るアニメ= 警戒しながらしゃがみ歩き
とか可能かもしれませんね。



アキアキノヒロロ

リンク

2019/2/6(Wed) 12:54:39|NO.86476

 通りすがりさん、ありがとうございます。

 こんなものが「You Tube」にあるなんて、ちょっと驚きでした。また、「動画置き場」には
この方のものが 30も載っていて、2015/05/11(これはEasy3Dのようですが)なんてのもあるから、
3年以上前からなんですね。「hsp3gp」とあるものでも、2017/04/13、2年近くたっていますが、
どれも視聴回数が一桁から30くらいでしかなく、ほとんど埋もれている状態、「HSP」に触れて
いる方にも、知られていないんでしょう。
 「HSPTV!」で紹介されて、表舞台に出てきてほしいです。一体、作者さんは誰なんでしょう!?
この方のHPは、ないんでしょうか?
 「blender 20170419 tamane idol」というのを見てみると、アニメーションは「blender」で
作っているのが確認出来ますが、「HSP」hgimg4のほうの「gp」命令群がどうなっているのか、
分かりません。

 「同時に複数のアニメーションクリップを再生する」というのは、アニメブレンドのことで、
「アニメとアニメのつなぎが途切れることなくできるようになったり、作っていない歩くアニメ
ができたりする」ということなのは、分かりました。自分の最初の理解でよかったようです。
 ただ、それをどうスクリプトにすればいいのか、ということは、依然分かりません。
 通りすがりさんの紹介して下さった貴重な「動画」を目を凝らして見ていても、なかなかヒント
がつかめません。どなたか、お力をお貸しください。



通りすがり

リンク

2019/2/6(Wed) 23:56:44|NO.86480

困ったときはグーグル検索内容は HSP 珠音 アニメクリップ 
 
takeshimaさんのサイトの 
デフォルメ珠音ちゃんモデル アニメーションクリップ対応版のスクリプトを動かしてみよう。

このままだと丸投げで悪いのでv2の方のモデルを使ったスクリプトを


#include "hgimg4.as"

gpreset
title "上で歩く再生 CTRLで走る再生"
setcls CLSMODE_SOLID, $404040
setcolor GPOBJ_LIGHT, 1,1,1 ; ライトカラーを設定
setdir GPOBJ_LIGHT, 0.5,0.5,0.5 ; アンビエントカラーを設定
setpos GPOBJ_CAMERA, 0,30,88 ; カメラ位置を設定
gpfloor id_floor, 80,80, $00ffff ; 床ノードを追加
gpload id_model,"res/tamane2/tamane2" ; モデル読み込み
setscale id_model, 0.1,0.1,0.1
;モーション(アニメ)を作る
gpaddanim id_model,"idol", 1000,3000
;gpaddanim id_model,"walk", 4000,4800;ブレンドで作れるからいらない
gpaddanim id_model,"run", 5000,5700

;全てのアニメ再生
gpact id_model ,"idol",1 ;index = 1
gpact id_model ,"run",1 ;index = 2

;再生させないアニメをブレンドしない

gpsetanim id_model,2,GPANIM_OPT_BLEND,0
/*
GPANIM_OPT_DURATION 2 再生の長さ(ミリ秒単位)
GPANIM_OPT_BLEND 4 ブレンド係数(%単位)
GPANIM_OPT_SPEED 6 再生スピード(%単位)
*/

*main
stick key,15+64
if key&128 : end
;入力がないときは"idol"に戻す
gpgetanim a,id_model,2,GPANIM_OPT_BLEND
if a > 0 {
a=a-1:a=limit(a,0,30)
gpsetanim id_model,2,GPANIM_OPT_BLEND,a
}
if key & 1 :addang id_model,0.0,M_PI/36,0.0
if key & 2 :gpsetanim id_model,2,GPANIM_OPT_BLEND,30
if key & 4 :addang id_model,0.0,-M_PI/36,0.0
if key & 64 :gpsetanim id_model,2,GPANIM_OPT_BLEND,80

redraw 0 ; 描画開始
gplookat GPOBJ_CAMERA, 0,14,0 ; カメラから指定した座標を見る
gpdraw ; シーンの描画
redraw 1 ; 描画終了
await 1000/60 ; 待ち時間

goto *main



アキアキノヒロロ

リンク

2019/2/7(Thu) 08:59:46|NO.86482

 通りすがりさん、感謝です。

 「takeshima」さんとおっしゃるんですか。早速、拝見させて頂きました。
もうすでに、コンテストで受賞までしていらっしゃる方とは! 自分も気になっていた
作品の作者さんだったんですね。「ウサギ」さんはHPなしだったので、分からずに
いました。確かに、ここはHPと言うよりは、サイトでしょうか。
 でも、ソースコードまで公開されていたんですね。そんな太っ腹な方がHPなしと
したのは、何かしらのお考えがあったのでしょう。

 とても有益なことがたくさん詰まっているようで、ご紹介頂いた通りすがりさんにも
お礼申し上げます。
 自分がここの掲示板に上げた自作アプリなど恥ずかしくなってきました。
 この通りすがりさんのスクリプト、遠慮なくいじり倒させて頂きます。

 以上、一区切りの解決と致します。お騒がわせしました。



アキアキノヒロロ

リンク

2019/2/7(Thu) 09:01:07|NO.86483

解決のチェック、忘れてしまいました。



通りすがり

リンク

2019/2/7(Thu) 23:08:03|NO.86487

解決済なら必要ないかもしれないが 昨日のスクリプトだと移動は出来なかったので 


#include "hgimg4.as"

gpreset
setreq SYSREQ_FIXEDFRAME,24
setcls CLSMODE_SOLID, $ff8040

title "SD珠音ラジコン操作 カーソルキー左右で旋回 上下で移動 ctrl+上下で移動速度アップ"

gpload id_model,"res/tamane2/tamane2" ; モデル読み込み
setscale id_model, 0.1,0.1,0.1
;アニメクリップ
gpaddanim id_model,"stand", 1000,3000 ;index 1
gpaddanim id_model,"run", 5000,5700 ;index 2

gpfloor id_floor, 80,80, $00ffff ; 床ノードを追加

gosub *camera

gpact id_model,"stand",1 ;アニメを再生
gpact id_model,"run",1 ;アニメを再生

gpsetanim id_model,2,GPANIM_OPT_BLEND,0 ;再生させないアニメはブレンド率を0%に

rot = 0.0 ;現在の向き
prot= 5.0 ;旋回値
step =0.2 ;速度
eventno= 1 ;再生されるアニメindex

*main
stick key,79
if key&128 : end

;rot
if key&1 : rot=rot+prot
if key&4 : rot=rot-prot
setang id_model,0.0,deg2rad(rot),0.0

eventno= 1
;speedup
if key&64 {
step =0.4
blerun = 80
}else{
step =0.2
blerun = 50
}

;move
px=sin (deg2rad(rot))*step
pz=cos (deg2rad(rot))*step
if key&2 : addpos id_model, px, 0.0,pz : eventno= 2
if key&8 : addpos id_model, -px, 0.0,-pz: eventno= 2

if eventno! 1 {
gpsetanim id_model,2,GPANIM_OPT_BLEND,blerun
}else{
gpsetanim id_model,2,GPANIM_OPT_BLEND,0
}

gosub *camera
redraw 0 ; 描画開始
gpdraw ; シーンの描画
redraw 1 ; 描画終了
await 1000/60 ; 待ち時間
goto *main

*camera
;move cam
camdist =100.0
camhigh =50.0
camdeg =180.0

getpos id_model,x,y,z
cx=x+sin (deg2rad(camdeg))*camdist
cz=z+cos (deg2rad(camdeg))*camdist
setpos GPOBJ_CAMERA, cx, camhigh,cz ; カメラ位置を設定
gplookat GPOBJ_CAMERA, x,y,z ; カメラから指定した座標を見る

return



アキアキノヒロロ

リンク

2019/2/8(Fri) 15:47:14|NO.86492

 通りすがりさん、さらなるスクリプトありがとうございます。
 解決、としましたのは、このスレの題目に関しては、ここで一区切り
としようと思ったからです。「hgimg4」のアニメーションに関しては、
他にもいくつかスレを上げており、反応なしなので、そちらの方で、
その後自分で気付いたこと、さらに疑問に思ったことなど、続けて
いくつもりです。
 それにしても、通りすがりさんには、感謝です。

 実は、「hgimg4」でプログラムしたものを前回のコンテストに出しました。
初心者レベルの老人の頭ではこれ以上は無理と、やっと作り上げたものの、
見事に落選。それで、これは一から、モデル作りから始めないとダメだ、
と思い至ったのです。
 ご返答いただいた後、前回のコンテストの時の方法を組み込み、モデルの
動きを操作できるものを作っていました。ちょうど、通りすがりさんが
今回ご提示のスクリプトと同じような感じです。思い通りに動いてくれては
いますが、スクリプトは、全くもって通りすがりさんのようにスマートでは
ありません。自分のこのスクリプト、上げようとも思いましたが、初心者が
一年近く掛かって、こねくり回してやっとたどり着いた方法で、今では自分
でもうまく説明できそうにないので、やめにします。

 それとは別になりますが、ここで通りすがりさんにお聞きしておきたい
ことが一つあります。「takeshima」さんは、どうやって「HSP」の3Dデータ
「high_school_girlSD.fbx」を「blender」に取り込めたのでしょうか?
これを「blender」にインポートしようとすると、バージョンが違うといった
エラーメッセージが出てしまいます。
「Version 6100 unsupported,must be 7100 or later」
そこで、「blender」の他のバージョンを探しましたが、インポートが通る
ものがありません。可能なバージョンはどこにあるのでしょう。
 あるいは、このバージョンとは「fbx」ファイルのバージョンということで、
これを変換すればいいのかと思い、「FBXConverter」で当てずっぽうに変換
してみると、「blender」にインポートは出来るものの、そこから逆にエクス
ポートして出来た「fbx」ファイルは、「HSP」の「GPB converter」でエラー
になってしまいます。「FBXConverter」の設定がよく分かっていないので、
ここも怪しいですが、他に方法があるのでしょうか?

 解決としながら、ぐだぐだと続けてしまいました。申し訳ありません。



アキアキノヒロロ

リンク

2019/2/8(Fri) 16:37:29|NO.86493

 前述の追記です。すいません。
 「hgimg4」上で、「tamane」の表示と操作は出来ても、元の「fbx」ファイル
の「blender」インポートは正常には出来ないので、別に「blender」で自作した
「クマさん」のモデル(簡単なアニメーションクリップを4つ持つ)で、色々と
やっています。今後は、このクリップを増やした「クマさん」を作るか、あるいは
「takeshima」さんの「tamane2clip2」を利用させてもらうことで、進めて行こう
と考えています。



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