【3Dゲームエンジン】Unity質問スレッド10
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名前は開発中のものです。
2014/06/26(木) 23:02:03.72ID:t35CWy1RWindows/Mac用。JavaScript/C#/Booといった汎用言語を使用できるのが特徴です。
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他
次スレは>>970を踏んだ方が建てること。ダメなら>>980か>>990が建てて下さい。
■前スレ
【3Dゲームエンジン】Unity質問スレッド9
http://peace.2ch.net/test/read.cgi/gamedev/1399506271/
■本スレ
【3Dゲームエンジン】Unity総合スレッド22
http://toro.2ch.net/test/read.cgi/gamedev/1395140574/
■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
http://www24.atwiki.jp/unity2ch/
●リンク
・Unity(日本公式サイト)
http://unity3d.com/japan/
・ユーザーガイド&リファレンス
http://japan.unity3d.com/developer/document/
・チュートリアル
http://japan.unity3d.com/developer/document/tutorial/
・スクリプトリファレンス
http://docs-jp.unity3d.com/Documentation/ScriptReference/
・FAQ
http://answers.unity3d.com/index.html
・MSDN
http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
0837名前は開発中のものです。
2014/07/30(水) 02:55:27.85ID:JF2yzgsEアセットをかえばいいんじゃないかなあ
0838名前は開発中のものです。
2014/07/30(水) 03:28:43.23ID:w7/8Ja76transform.Rotate (0, 180, 0);
なんというかすでにあらかじめいずれかの方向に傾いている時に、グローバルな座標軸で回転を行いたい時って
どういうコードをかけばいいんでしょうか。
ローカル軸ではなくグローバル軸での回転といいますか
0839名前は開発中のものです。
2014/07/30(水) 03:30:13.30ID:JF2yzgsEアセットをかえば回転しますよ
0840名前は開発中のものです。
2014/07/30(水) 03:50:01.71ID:w7/8Ja76で出来たっぽいです
0841名前は開発中のものです。
2014/07/30(水) 07:58:10.27ID:vulJZqpQ再インストールをして見ましたがやはりロゴ画面から進みませんでした
動作環境も満たしています
0842名前は開発中のものです。
2014/07/30(水) 08:00:14.11ID:DCN2vLlY0843名前は開発中のものです。
2014/07/30(水) 09:10:45.93ID:yRQ9F0+Oそのレベルの話だとさすがにローカル要素が多すぎてどうにもならないなぁ。
まぁあと考えられる対策はもう一度インストーラーを落としなおす、
グラフィックドライバーを最新にする、それでもダメならいくつかのバージョンのインストーラを試してみる、
くらいしか考え付かないや。
基本的にインストールが上手くいってるならバイナリ破損はないと思うんだが
どうもUnityのWeb関連は怪しい感じもしているので。
それでもダメなようならWindowsのバージョンとか色々条件考えて検索して原因探ったほうがいいかも。
0844名前は開発中のものです。
2014/07/30(水) 09:15:17.99ID:q0JIdJW5昔は多バイト文字含んだWindowsのユーザ名だとインストール失敗とか有った希ガス
0845名前は開発中のものです。
2014/07/30(水) 09:44:47.88ID:yRQ9F0+Oわからんが少なくとも4.3ではそういうことはないなぁ。
消えてるってのはAnimationClipの内容としてのカーブが消えているのか?
0846名前は開発中のものです。
2014/07/30(水) 09:50:11.12ID:vulJZqpQ更新プログラムを更新したところロゴ画面から進みました!
ただ、Errorが出てunity failed to load monoと表示されてしまいました・・・。
0847名前は開発中のものです。
2014/07/30(水) 11:46:45.92ID:ouZ9Giewまぁ結果を報告するだけでも悪いことではないが
結局のところどんなボードどんなグラフィックカード
WindowsなのかマックなのかLinuxなのかCPUは何、メモリはどれだけ、
OSのバージョン、言語、ユーザー名はマルチバイトか、パッチのあたりよう、他に入ってるソフトは何か
セキュリティソフトは何かグラフィックドライバーのバージョンは何か、
今入れようとしてるUnityのバージョン、他のバージョンでも試したかどうか、
とかローカルの問題ってのは基本的にその場にでもいないとどうにもならんのよ。
そういう問題はいろんなソフトで起きうるがそういう場合の基本的な対処がわからんようなら
素直にUnityごと諦めていいと思う。
開発は単なるユーザーがやることではないしUnityは見た目よりも中身に入り込まなきゃならないことが多いしね。
0848名前は開発中のものです。
2014/07/30(水) 11:58:35.34ID:vulJZqpQ他のPCで試してみたらは問題なく動いたのでそっちで妥協したいと思います
おさわがせしました
0849名前は開発中のものです。
2014/07/30(水) 12:02:38.87ID:moGucvu50850名前は開発中のものです。
2014/07/30(水) 12:23:27.62ID:IU8MPe4rインターフェースを使えってより、
設計をしっかりやりましょうってのがまずあって、その目的のためにインターフェースを使う感じだね。
業務レベルなら必須だけど、個人開発でちょこっと作る感じなら、
ましてやはじめたばかりなら、今はあまり気にしないで良いと思う。
0851名前は開発中のものです。
2014/07/30(水) 14:19:58.76ID:q0JIdJW5ここはゲーム製作板です
マ板は優しくないです
ム板は真摯な人には優しいですが、アホは氏ねな程ぞんざいにされます
0852825
2014/07/30(水) 16:46:45.11ID:MY2Z+fNq>>831
>>850
皆さん有難うございました。
まずはやってみないとわからない、ってことですね。
Javascriptから初めて、それで困るようになったらC#に
移行しようと思います。色々やってみます(;´Д`)
0853名前は開発中のものです。
2014/07/30(水) 18:01:35.87ID:Ybpin513カーブ以前に、追加したSkinedMeshRenderer項目が消えてしまいます。
解決できなかったので、スクリプトで制御することにしました。
項目追加の仕方としては。
Animationの左上にある赤丸アイコンボタンのクリックした後に、SkinedMeshRendererのBlendShapesの数字をいじると項目が追加されました。
ネットによく出ているAdd Curveボタンは無効になっていて触れませんでした。
0854名前は開発中のものです。
2014/07/30(水) 19:02:04.14ID:cLx/gTUMAddCurveが無効?
もしかしてblenderからインポートしたアニメーションクリップに直に項目追加してる?
一旦複製して外に出したアニメーションクリップじゃないと項目は正常に追加できない
0855名前は開発中のものです。
2014/07/30(水) 20:42:51.27ID:p4Cg9TgUhttp://answers.unity3d.com/questions/710823/unable-to-buld-run-due-to-unity-sprite-packer-comp.html
Google翻訳しても結局どうすればエラーが消えるのかわかりませんでした。
VisualExpressがどうとか書いてるけどそんなの持ってないし…
どなたかアドバイスのほどよろしくお願いします
PCは買ったばかりのWin8.1
Unity Pro4.3.4f1です
0856名前は開発中のものです。
2014/07/30(水) 20:50:50.16ID:WEDM63jvマ板は修羅道に落ちた酔狂な奴らが多い
新米が名も無き修羅にやられないように
厳しくしている
ここは趣味娯楽でやってる緩い奴が多い
から厳しくする必要がない
0857名前は開発中のものです。
2014/07/30(水) 21:14:42.47ID:Ybpin513一旦複製が必要ということで調べて
http://answers.unity3d.com/questions/8172/how-to-add-new-curves-or-animation-events-to-an-im.html
ここの機能を使い複製したのですが
No model is available for preview
と出て使用することができない状態(モデルをドラックしても反応しない)になってしまいました。
そもそも、解決方法として今調べている方向性であってるのでしょうか?
0858名前は開発中のものです。
2014/07/30(水) 21:22:53.67ID:mg9AR91Cああそれは今のバージョンではたぶん必要ない
インポートされたアニメーションクリップ(blenderのプレファブでひとまとまりになってるやつ)
をクリックして選択してからのctrl+D(もしくはメニューのEDITからのDeplicate)でblenderプレファブの外に複製される
それを対象のキャラのAnimatorなりに追加してやればAnimationでいじれるようになる
0859名前は開発中のものです。
2014/07/30(水) 21:30:01.44ID:ouZ9Giewデュプリケートしてやればいいんじゃね。
それをアニメーターコントローラの中に放り込んでそのコントローラを
セットしたモデルをヒエラルキーに置いた上でそれを選択中に
アニメーションウィンドウを開くと赤マルボタンの下にそのアニメーターコントローラーの
中にあるクリップの一覧がプルダウンで選べるのでそれを選んでアドカーブして
値適当にいれていけば大丈夫な気がする。
0860名前は開発中のものです。
2014/07/30(水) 21:49:52.58ID:Ybpin513ありがとうございました!
無事イメージに通りに動かすことができました。
非常に困っていたので助かりました!
0861名前は開発中のものです。
2014/07/30(水) 21:52:04.10ID:q0JIdJW5マ板はITブラック企業板と名前変えた方がいいかもしらんとしか言えないよね。
0862名前は開発中のものです。
2014/07/30(水) 21:59:41.14ID:ouZ9GiewDLLをインポートしたらリファレンスはちゃんと設定し確認しろ、だとさ。
この辺参照
ttp://docs-jp.unity3d.com/Documentation/Manual/UsingDLL.html
0863名前は開発中のものです。
2014/07/31(木) 00:22:54.82ID:PDwpr6MSGAME FEATの広告を表示するために、メインアクティビティ(一番最初に起動されるアクティビティ)にて、
SDKの初期化設定が必要です。と記載があるのですが
unityでメインアクティビティでの初期化ってそもそも何処に記載すればいいのですか?
Eclipseとかで作成するときはわかるんですが、unityではどこにそれがあるのか
わからないので、だれかお助けください。
0864名前は開発中のものです。
2014/07/31(木) 00:39:06.03ID:5pYuIGrFnew AndroidJavaClass("com.unity3d.player.UnityPlayer");
こんな風にしてC#のラッパークラスに取り出せますが?
0865名前は開発中のものです。
2014/07/31(木) 01:40:10.48ID:PDwpr6MSありがとうございます!さっそくやってみます!
0866名前は開発中のものです。
2014/07/31(木) 02:29:37.65ID:9t6K5lI+powerをHpとかに改名とかすると自動で切り替えてくれるんだが、
power,deffence→deffence,powerって並び替えをすると
その順番に変わってしまう。
同じ名前はそのままにしたいんだが、
何かいい方法はないかのう
0867名前は開発中のものです。
2014/07/31(木) 04:20:34.17ID:hjiYXrAbAssetsフォルダ以下を検索したら使用してると思われるDLLファイルは多分
UnityThreadHelper.dllかUnityThreadHelper.ThreadSafe.dll くらいだったので
教えていただいたURL先の
「新規作成した DLL を Unity で使用する」
の項目を読んでその通りにやってみました。
といってもスレッドヘルパーを使用してる.csファイル上で、そこに書いてある通りにusing UnityThreadHelper;の一行を加えただけですが、
`UnityThreadHelper' is a type not a namespace. A using namespace directive can only be applied to namespaces
みたいなエラーが出るだけで…
そもそもこの一行を加えなくても普通にスレッドヘルパー使えてるんですけど、ビルドする時にエラーが出るので加えろってことですよね?
0868名前は開発中のものです。
2014/07/31(木) 11:37:32.20ID:5pYuIGrFそれiOSビルドの時だけじゃない?
ThreadHelperは前に使った時に同じ問題にぶち当たったんだけどソースの方修正して解決した覚えがある
去年の今頃の話なので詳細は忘れた
0869名前は開発中のものです。
2014/07/31(木) 11:46:57.97ID:lM5t1pul0870名前は開発中のものです。
2014/07/31(木) 12:25:13.81ID:hjiYXrAbいや、PCビルドの時です
Unity上での再生は問題なく出来てるんですよねえ
思い出したらよろしくです
0871名前は開発中のものです。
2014/07/31(木) 13:00:07.90ID:7imwHGIQアセット買えばいいと思いますよ
0872名前は開発中のものです。
2014/07/31(木) 20:09:16.43ID:VU4keraxJavascriptでスクリプト組んでるのですが、表示したり、消えたりするトラップの床みたいな
ものを作りたいのですが、どのようにしたらよろしいでしょうか。
一応、gameObject.activeなどを使ってみたのですが、一度Falseにするとtrueにしても
床が復活してくれなくて困ってます。。。
よろしくお願いします。
0873名前は開発中のものです。
2014/07/31(木) 20:14:47.79ID:A86elIhdMesh RendererとColliderのオンオフをいじればいい
0874名前は開発中のものです。
2014/07/31(木) 20:20:59.12ID:7imwHGIQアセット買えばいいと思いますよ、いいのがあるはずです
0875名前は開発中のものです。
2014/07/31(木) 20:39:21.46ID:BnxJbAtm0876名前は開発中のものです。
2014/07/31(木) 21:13:25.20ID:7imwHGIQアセットが足りないんじゃないでしょうか
アセットストアでかいましょう
0877名前は開発中のものです。
2014/07/31(木) 21:42:00.41ID:BnxJbAtm0878名前は開発中のものです。
2014/07/31(木) 22:20:39.02ID:q5/iHEjv0879名前は開発中のものです。
2014/07/31(木) 22:43:17.60ID:BnxJbAtm0880名前は開発中のものです。
2014/07/31(木) 23:27:43.45ID:9t6K5lI+OnGui()
{
if(GUIButton(new Rect(),"Button")
}
0881名前は開発中のものです。
2014/07/31(木) 23:44:02.30ID:Djv9ceir型定義しっかりしなくてもプログラムできるのは、害悪でしかないし
Unityやるなら断然c#。100% c#
0882名前は開発中のものです。
2014/07/31(木) 23:57:10.55ID:A86elIhdこんなもんやりたい方でやればいいのよ
0883名前は開発中のものです。
2014/08/01(金) 01:31:19.18ID:wQcBmcV/C#はめんどい
0884名前は開発中のものです。
2014/08/01(金) 02:05:23.89ID:wSPt2q6K推論機構が完全なら型なんて飾りです、偉い人にしかわらんのかもしらんけど
つーわけでHaskell でかける scriptいれれ>>Unity
0885名前は開発中のものです。
2014/08/01(金) 02:33:09.39ID:8D/eRm6W2.6までの我慢だ
JavaScriptの教本が多いのはなんでだ…
0886名前は開発中のものです。
2014/08/01(金) 11:17:20.24ID:nkUf+pJw「この教本は簡単だよ!」ってイメージを付けたいんじゃないかなぁ
言語としてはどっちも好きだけど、VisualStudioが使える人にはC#がおすすめ
MonoDevelop使う分にはどっちも変わらないと思う
0887名前は開発中のものです。
2014/08/01(金) 14:18:39.26ID:w2nm3mGzどっちも使ってないけど
0888名前は開発中のものです。
2014/08/01(金) 14:25:53.21ID:W2myu87l日本法人に関してはもう諦めたけど
0889名前は開発中のものです。
2014/08/01(金) 15:02:20.08ID:zp+r23yTB級の宣伝を見てると、あせっとおじさんてもしかして?って思ったw
0890名前は開発中のものです。
2014/08/01(金) 15:14:01.33ID:bPxZACd3ありがとうございます。
ちょっとやってみます
0891名前は開発中のものです。
2014/08/01(金) 15:39:12.00ID:i+gkCZLKいつの間にか再生中のInspectorの編集が再生止めても戻らなくなってる?
0892名前は開発中のものです。
2014/08/01(金) 15:41:19.17ID:i+gkCZLK0893名前は開発中のものです。
2014/08/01(金) 16:59:13.79ID:PSVbKHrWホログラム的な表現をしたいのですが、
どこから手をつけたら良いかわからず、
シャーダーの設定や
グレアの掛け方など
参考になりそうなアドバイスをいただけませんでしょうか。
イメージはこんな感じです
http://viralnews.biz/archives/611
宜しくお願いします。
0894名前は開発中のものです。
2014/08/01(金) 20:45:36.25ID:bJ5zeyu1それUnityとあんま関係なくない?
0895名前は開発中のものです。
2014/08/01(金) 21:06:41.11ID:o6rGuG8Mめいざふぉーすびーうぃずゆー
0896名前は開発中のものです。
2014/08/01(金) 21:17:08.60ID:FZ8HNHEY0897名前は開発中のものです。
2014/08/01(金) 21:17:47.08ID:wSPt2q6Kシェーダを自前で書く(モデルを半透明で描画させる:R2D2が投影している錐体がないからそれだけで良い)
RenderingQueueの順序を正しく与える(背景になりうる3Dデータより後で描かないといけない)
これだけだと思うが?
0898名前は開発中のものです。
2014/08/01(金) 21:29:47.31ID:bJ5zeyu1この辺の話かな
ttp://answers.unity3d.com/questions/290333/transparent-solid-color-shader.html
0899名前は開発中のものです。
2014/08/01(金) 22:35:46.29ID:wSPt2q6Kそうだな、結局RenderTextureにモノクロで書いてから投影し直すのが無難なのかな?
PCならそのほうが楽だよね。
0900名前は開発中のものです。
2014/08/01(金) 23:21:17.78ID:uQSaHxWPアセット買えばいいと思う
0901名前は開発中のものです。
2014/08/01(金) 23:25:05.93ID:uQSaHxWPアセットを買えばよいと思うよ
0902名前は開発中のものです。
2014/08/02(土) 02:41:45.88ID:IlA1fczb色々アドバイスありがとうございます。
>>898
そうです、モデルの内部まで見えてしまう
処理などどうすればいいのかと思いまして。
説明が足らず申し訳ございません。
参考にしてみます!
0903名前は開発中のものです。
2014/08/02(土) 04:50:32.87ID:BsHnomTOInternal compile errorも併発してて作業になりません(T_T)
0904名前は開発中のものです。
2014/08/02(土) 04:57:27.29ID:32Wn2YhTMonoのプロセスが残ってるときはそうなったな
タスクマネージャーからプロセスきってもっかい試してみ
0905名前は開発中のものです。
2014/08/02(土) 05:20:32.68ID:BsHnomTOありがとうございます。直りました!
再インストール繰り返してもダメだったのに…
0906名前は開発中のものです。
2014/08/02(土) 11:00:34.46ID:Mp6lwdHQいちいちクリックするのめんどくさくて・・・
0907名前は開発中のものです。
2014/08/02(土) 11:36:15.81ID:N5b1N+XpEdit > Play にはすでにキーボードショートカットは設定されているよ?
0908名前は開発中のものです。
2014/08/02(土) 11:38:25.44ID:Mp6lwdHQあーホントだありがとうございます
Create>materialなんかはありませんかね?
0909名前は開発中のものです。
2014/08/02(土) 12:03:31.04ID:N5b1N+Xpメニュー項目を探せば分かることだが
Assets > Create > Material
ショートカットは自分で割り当ててくれ。
Mac ならシステム環境設定 > キーボードから設定できるが Windows はしらん。
0910名前は開発中のものです。
2014/08/02(土) 14:37:07.72ID:AGuM116Iそれが心配でアップデートできません
0911名前は開発中のものです。
2014/08/02(土) 14:51:30.13ID:oOXy6+5tアセット購入で安心です!
0912名前は開発中のものです。
2014/08/02(土) 15:10:21.13ID:1JuA3uG4過去困ったのは
2.6 -> 3.0
4.1 -> 4.3
かな
0913名前は開発中のものです。
2014/08/02(土) 20:00:17.01ID:g50vmh/6もちろんプロジェクトは開く前にバックアップ取っといてね。これ絶対。
0914名前は開発中のものです。
2014/08/02(土) 20:45:41.35ID:xdnG1lfcgameobject.〜〜
って指定したら、そのコンポーネントをぶらさげている
gameobjectを指してるってことで良いんですよね?
デバッグログで
Debug.Log(gameobject)
で名前が出てくるのでそうだと思って良いですか?
thisとの違いはありますか?
あと、引数でrefで参照渡しになると思うのですが、
使いどころはどんなときですか?
0915名前は開発中のものです。
2014/08/02(土) 20:46:52.35ID:XD2iJMsd0916名前は開発中のものです。
2014/08/02(土) 20:59:07.90ID:JWZ3UC0/最初の方はなに言ってるのかわからん
ref は引数に構造体渡したいときとか
コピー渡したくない(引数を変更したい)ときでしょう。
unity関係ねー。
0917名前は開発中のものです。
2014/08/02(土) 21:26:21.58ID:eMlnPrK8gameObjectはそういうことで間違いない。
thisはそのスクリプトコンポーネントだ。
参照渡しの使いどころって言われてもなぁw
一般的な参照渡ししたいときとしか言えんわw
Unityだからどうこうということはない。
0918名前は開発中のものです。
2014/08/02(土) 21:39:12.70ID:xdnG1lfcわかりました。ありがとうございます。
0919名前は開発中のものです。
2014/08/02(土) 22:04:13.39ID:oOXy6+5tアセットをかえばいいでしょう
0920名前は開発中のものです。
2014/08/03(日) 01:11:44.32ID:uKgi7+K6yield return new クラス();
とできるものを作りたいのだけれど
Coroutine や YieldInstruction を継承したクラスにってどう実装したら
yield return new 自作クラス();
って使えるようになるのん?
MoveNext的なメソッドごとに処理を分割して非同期化したいどす。
0921名前は開発中のものです。
2014/08/03(日) 01:39:34.39ID:58C5IWbbアセットかえばいいとおもいますよ
0922名前は開発中のものです。
2014/08/03(日) 02:32:14.94ID:52xNr47S弾や敵の種類ごとの当たり判定を設定しています。
Physics2DでLayerCollisionMatrixのチェックをスクリプトから設定しました。
そして使う側はgameObject.layer = 9
などで指定したのですが、
ボタンとして作った関係ないオブジェクトが、
クリックに反応したりしなかったりするようになりました。
レイヤー設定を外すと正常に戻ります。
設定のしかたはあってますか?
あるいは、レイヤーが増えるとクリックを逃しやすくなったりしますか?
ボタンオブジェクトは、反応しないときは
onmousedownに入ってきません。
全く反応しなくなったのなら、まだわかるのですが…
0923名前は開発中のものです。
2014/08/03(日) 08:17:31.70ID:03XwVDACIEnumerator実装したクラスを作ればいいじゃないか
yield return new SomeYourClass();
で返されたIEnumeratorを実装したSomeYourClassの MoveNextの戻り値で処理の継続が成されるんだから。
0924名前は開発中のものです。
2014/08/03(日) 08:32:21.52ID:w0DLklRc向きが反対だったのでブレンダーの出力設定で前方を-zに設定して
これで向きは修正できたのですがアニメーションの向きが結局同じみたいで
進む方向はいいのですがモーションが反対(そのまま)という形になります
親オブジェクトを作って角度を変えるのはスクリプトで数値を変えているので無理ですし
スクリプトで180度分を制御するのはナンセンスですよね…
これは簡単なモーションだったので作り直してもいいのですが
Unityの仕様を知らない人にモデリングやモーションを頼んでいるので
できればそれを担当している人に自由に作ってほしく
こちらで何とかしたいのですが実際ブレンダーで向きなどを反対に作ってしまったとき(モーションなども)
どのように正しいモーションの向きと進む方向を実現しているのか教えていただければと思い質問しました。
こういうのは拡張エディタでFBXインポートの設定を付け加えたりして解消するのでしょうか…?
それかUnity側の仕様を理解してモーションを作っていくしかないのでしょうか…?
初心的ですみませんがよろしくお願いしますorz
0925名前は開発中のものです。
2014/08/03(日) 09:40:06.66ID:58C5IWbbUnity使い始めてかなり経つけど、結局アセットを買うのが一番近道だよ
0926名前は開発中のものです。
2014/08/03(日) 09:41:47.60ID:RIkCnlIhモーションに限らずだが無駄な作業が発生しないように
正しい仕様を調査し、確定してドキュメントにしてそれに沿って
作業するようにしないと大量のデータを作るときはえらいことになる。
BlenderもUnityも別なソフトなので感覚的にこう作ったんだから
俺が思ったとおりになってくれないのはおかしい、とか言ったところで
誰が責任を取ってくれる訳でもない。
他人にデータを発注などしてる場合は尚更。
仕様も確定しないまま適当に頼むのは
無駄な作業させてる可能性がある訳で。
こういった話はプロジェクトの進め方の話であって
Unity,とかそういう話ではないが。
0927名前は開発中のものです。
2014/08/03(日) 11:29:22.94ID:w0DLklRc計画皆無のガバガバですみませんorz
まだまだ実験段階で仕様に関して試行錯誤していることをご理解ください…
モーション自体が原点から動かずにその場で動作するタイプ、(歩きや走り)
はスクリプトで向きと移動量を書いているのでこの時点では問題にはならなかったのです…
なので今日、気楽な開発にモデリングとモーションを担当できるかたを誘った次第で
しかしながらルートモーションをそのまま適応するために作ったモーションが
反対向きだったためブレンダーの出力設定で-zを前方に設定したわけです
位置は正しく進むようになったのですが方向は逆を向きます
簡単に言いますとまっすぐ進むのにモーションは逆向でムーンウォーク状態です。
同じくこの仕様がわかったのも今日のことであらかじめモーションの方向はこっち向きに
と話せばそれで終わりなのですが
しかしUnityでブレンダーの過去の資源やフリーのモーション付モデルを扱うとき
Unityの仕様を考えて作られていないのは当然で同じようなことが起こってしまうと思うのです…
そもそもゲームエンジンの仕様をグラフィック担当者が理解していなくてもプログラマが
その差分を修正する、これはプログラマとして大事な部分だと思っているのですが…
どうにかいい方法はないものでしょうか…?
0928名前は開発中のものです。
2014/08/03(日) 11:33:26.43ID:uKgi7+K6けどIEnumeratorだけだと2フレーム以上待機してくれないんだよ…
2フレーム位上待機させるならコルーチンと同じくStartCoroutineが必要…
StartCoroutineの記述を省略したいんだけどWaitForSecondsとか中身どうなってるんだろう…
using System.Collections;
using UnityEngine;
public class Sample : MonoBehaviour
{
void Start()
{
StartCoroutine( Routine() );
}
IEnumerator Routine()
{
while( true )
{
Debug.Log( Time.frameCount );
//yield return StartCoroutine( new WaitForFrame( 10 ) ); // これはしっかり10フレーム待機する。
yield return new WaitForFrame( 10 ); // これはMoveNextが1回も呼ばれない。
}
}
}
0929名前は開発中のものです。
2014/08/03(日) 11:34:51.28ID:uKgi7+K6// コンストラクタで渡されたフレーム数だけコルーチン内で待機するクラス
class WaitForFrame : YieldInstruction, IEnumerator
{
readonly int maxWaitFrameCount;
int waitFrameCount;
public WaitForFrame( int maxWaitFrameCount )
{
this.maxWaitFrameCount = maxWaitFrameCount;
}
object IEnumerator.Current { get { return null; } }
bool IEnumerator.MoveNext()
{
waitFrameCount++;
return waitFrameCount <= maxWaitFrameCount;
}
void IEnumerator.Reset()
{
waitFrameCount = 0;
}
}
0930名前は開発中のものです。
2014/08/03(日) 12:11:34.36ID:HIqdATiwアセットでいけますよ、それ
0931名前は開発中のものです。
2014/08/03(日) 13:07:12.21ID:RIkCnlIh「どのように正しいモーションの向きと進む方向を実現するのか」
に関しちゃ仕様に沿ってデータ作る、以外の方法はないと思うが。
その正しさを仕様として決めているのは自分なのだから。
まぁいずれにせよUnityにもBlenderにも自由自在にモーションの方向を
ボタン一発で変換してくれる機能はない。
どうしてもその仕様に沿わないデータを扱いたいなら
Blender上なりUnity上なりでモーションデータを自分が決めた仕様にそって
変換する為のツールをつくれば?
今回の話で言えばルートのY回転(BlenderはZupなのでZ回転になるかもだけど)
のキーの値を全部180度足すなり引くなりしてやればいいんじゃない?
まぁ実のところジンバルロックの問題とかキーにつけた接線をどうするかとか
とか色々問題が生じる可能性もあるのだけどその辺を間引いて単純に考えれば。
Blender関連の情報あさればキーの値を変換してくれる
ツール(スクリプト)とかはありそうな気はする。
まぁなくても自作するのが難しいツールではないと思う。
Unity上でもクリップ複製すればできるはず。
それもできないならそのデータに合わせて仕様の方を変更するw
仕様に沿わないデータにプログラマ側で対応するってそういうことでしょ?
0932名前は開発中のものです。
2014/08/03(日) 13:29:22.60ID:HIqdATiw仕様に沿うようにアセットをかって対応しましょう
0933名前は開発中のものです。
2014/08/03(日) 14:53:14.17ID:w9JQmcxWC#スレだとリンチされます
0934名前は開発中のものです。
2014/08/03(日) 15:01:22.27ID:wy9M95gRどうせアセットを買えとかしか言われないと思いますけど
ヒマな人がいたら答えてもらえるかもね
0935名前は開発中のものです。
2014/08/03(日) 17:20:22.00ID:w0DLklRcやっぱりブレンダーのほうでと思ってたんですけど
Unityのアニメーション設定はルートの位置をずらすオフセットだけじゃなくて
オフセットって角度も調整できるんですね… うわぁすごい恥ずかしい…
ごめんなさい、すみません、振り返ってみると自分みたいなプログラマ初心者が
「これはプログラマとして大事な部分だと思っているのですが」はかなり滑稽ですよね…
日々精神します、笑わないでorz 靴舐めますんでペロペロ
プログラムは言語の基礎が終わってUnityが初めてなんです許してください…。
でもこのさい作ったことないんですがブレンダーでアドオンも追加してみます
ワールドの原点座標からy軸反転だけでできそうなので…(´・ω・`)
お手数かけて申し訳ない。そしてただただ恥ずかしい…
もっとがんばります…ごめんなさい
0936名前は開発中のものです。
2014/08/03(日) 17:22:30.69ID:S2Lh4KGJレス数が900を超えています。1000を超えると表示できなくなるよ。