トップページgamedev
1001コメント386KB

【3Dゲームエンジン】Unity質問スレッド11

レス数が1000を超えています。これ以上書き込みはできません。
0001名前は開発中のものです。2014/08/05(火) 22:02:24.88ID:WCQkNfyP
3Dゲームエンジン「Unity」の質問に優しく答えるスレです。

Windows/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質問スレッド10
http://peace.2ch.net/test/read.cgi/gamedev/1403791323/

■本スレ
【3Dゲームエンジン】Unity総合スレッド23
http://peace.2ch.net/test/read.cgi/gamedev/1404212872/

■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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
0900名前は開発中のものです。2014/09/16(火) 23:51:51.69ID:SwAqzR2+
>>898
カメラと敵の距離とってそれに応じてスケール掛けりゃ良いじゃん
0901名前は開発中のものです。2014/09/17(水) 00:15:33.55ID:uxOiWrE2
>>900
返信ありがとうございます。
Vector3.Distance(this.transform.position,target(カメラ).transform.position)
で距離を取って、その値に応じてサイズを小さくするという事ですかね?ちょっと具体的なスクリプトが思い浮かばないんですが、そういう関数とかUnityで用意されてるんでしょうか?

本当に素人ですみません。
0902名前は開発中のものです。2014/09/17(水) 01:06:45.26ID:TgClCkNf
敵オブジェクトの位置をenemyPosition、カメラの位置をcameraPositionとして
transform.localScale=Vector3.one/Vector3.Distance(enemyPosition,cameraPosition);
とでも書けばそれでカメラと敵の距離に応じて拡縮されるだろう。
これ素人とかそういう話じゃなくて殆ど小学校の算数レベルの話なのでちとまじめに数学やったほうがいいよ
0903名前は開発中のものです。2014/09/17(水) 01:44:57.57ID:dCsQf4sl
ugui でImageのFillAmountいじって0と1の間ピョコピョコさせて
遊ぼうと思って、下のように書いたら一旦0から1まで正常に画像
サイズが変わった後、画像が表示されなくなる事案が発生した。
インスペクター上では0から1までの値を絶え間無く動いてるんだけど
なんで見えなくなったのか、心当たりある方いませんか?
0904名前は開発中のものです。2014/09/17(水) 01:46:01.90ID:dCsQf4sl
using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class hptest : MonoBehaviour {

Image hp;
float point;

// Use this for initialization
void Start () {
hp = GetComponent<Image>();
}

// Update is called once per frame
void Update () {
if (point < 1f) {
point += 0.5f * Time.deltaTime;
} else {
point = 0f;
}
hp.fillAmount = point;
}
}
0905名前は開発中のものです。2014/09/17(水) 05:16:56.25ID:L0ltBKpB
>>904
pointの値が0.9999ぐらいまで達した時、
結局1.0より大きい値を代入してしまうからじゃないかな。

エラーコンソールには何も出ないのかな?
とにかく、ログ出したりブレークポイント設定する癖は付けよう。
0906名前は開発中のものです。2014/09/17(水) 05:32:19.35ID:L0ltBKpB
void Update () {
point += 0.5f * Time.deltaTime;
if(point > 1.0f){
point = 0f;
}
hp.fillAmount = point;
}
}

こうかな。

あと0.5fみたいなマジックナンバーは、
少なくとも人にコード見せる時には望ましくない。
まぁ適当な試し書きなんだろうけど、
public float duration = 0.5f;
とでもして調整しながら遊ぶんだほうが楽だし、一石二鳥。
0907名前は開発中のものです。2014/09/17(水) 08:59:27.56ID:3TtavMW+
>>906
なるほど
特にエラーコンソールには何も出てませんでしたね。
今外だから確認できないけど、あとで書き方直してみるよ。

あ、ちなみに私は903です
0908名前は開発中のものです。2014/09/17(水) 19:15:23.65ID:PCuRqwcr
proが無償提供されましたが、単に高機能だから、で移行していいのですか?
何か罠があったりします?
0909名前は開発中のものです。2014/09/17(水) 20:25:43.98ID:lKIQahDY
それ、PS3、PS4 VITA開発用ライセンスだよ。
フリーの人はフリーの機能しか使えない
0910名前は開発中のものです。2014/09/17(水) 20:42:29.24ID:VDrmalKG
それ様に作っても普通の人は発表も出来ないんじゃー
0911名前は開発中のものです。2014/09/17(水) 21:16:24.10ID:v03MWI3F
実行ボタン押すとGame、Scene以外が真っ黒になるんですけど
何が問題だと考えられますか?

一度アンインストールして入れなおしたり、
プロジェクト読み込みなおしたりはしました。
再起動もしました。
0912名前は開発中のものです。2014/09/17(水) 21:27:10.42ID:cOvTCFWZ
ソニーにお金払えば売ってもらえるんでしょう?
0913名前は開発中のものです。2014/09/17(水) 21:34:11.38ID:vCDmkxyV
>>911
メニューの[Edit]→[Preferences...]→Colorタブ→Playmode init
はどうだい?
0914名前は開発中のものです。2014/09/17(水) 22:00:41.35ID:dCsQf4sl
903の続きだけど
>>906みたいに書いたがダメみたいだった。
そこで、試しに代入する値を0じゃなくて0.1とか他の値にするとその値からの画像はgame windowにも反映されました。

本当は0使いたいけど、とりあえず確認ついでに報告
0915名前は開発中のものです。2014/09/17(水) 22:09:24.55ID:v03MWI3F
>>913
ありがとうございます!解決しました。
0916名前は開発中のものです。2014/09/17(水) 22:54:47.83ID:6eZ6UBuv
Animatorコンポーネントを利用したアニメーションで、スクリプトを用いて
アニメーションを途中から開始する方法など無いでしょうか?
(1ループ60フレームのアニメーションを30フレーム目から始めるとか)
0917名前は開発中のものです。2014/09/18(木) 05:47:40.83ID:1IwjnSZ3
ごめん、909って無償提供されるのはUnity ProじゃなくてプレステPSVITA用のUnity Proの一機能ってこと?
フリーの人には関係ないんだよね?
0918名前は開発中のものです。2014/09/18(木) 08:51:03.54ID:KWchqHT+
>>917
便乗質問
パブリッシャー登録してるんだけど
そのときに使えるPSMとは違うのかな?
この辺に詳しい人いませんか
0919名前は開発中のものです。2014/09/18(木) 09:06:58.22ID:mFsSOliH
今回の話は基本的に個人開発者は関係ないよ
UnityProを貰うためにはソニーと正式に契約を結ばないと駄目
もちろんPSMとは全く別
0920名前は開発中のものです。2014/09/18(木) 09:52:56.86ID:aS/F3+Tz
プロの開発テクニックがあちこちで共有されはじめたら、
おまんま喰えませんから、素人には解放いたしません
0921名前は開発中のものです。2014/09/18(木) 12:16:20.41ID:1IwjnSZ3
なんだ、関係ないんですか
すべての開発者じゃなくて開発社ってことか・・・
0922名前は開発中のものです。2014/09/18(木) 13:26:58.60ID:lMrEffR+
質問よろしいでしょうか?
アクションゲームを制作していて、プレイヤーがエリアに入ると敵が出現するスクリプトを書いたのですが、
プレイヤーがそのエリアを出た時にOnTriggerExitでそのエリア内の敵をまとめて削除しようと思っています。

その為、空オブジェクトをInstantiateしてエリアの子要素に。次に敵をfor文で一定数Instantiateして、先の空オブジェクトの子要素に。
と言う方法をとっているのですが、こうするとランダムの座標で生成された敵が空オブジェクトの座標に固まって生成されてしまいます。

敵をエリアの子要素にして、プレイヤーがエリア外に出た時には、敵の生成、削除自体はきっちり行われたのですが、
Transform child out of bounds
というエラーが出てしまった為、(for分で一つずつ子要素をDestroyしていたせいだと思います。)上記の方法を取っています。

エリアから見て子要素にした時はランダム座標が維持されるのに孫要素にすると一点に固まってしまうのはそういうものでしょうか?

何か良い解決策があればご教示願います。
0923名前は開発中のものです。2014/09/18(木) 13:40:40.80ID:+AXSMCOr
できない訳がないのでおかしなプログラムを書いてるだけだろう。
Transform child out of boundsは要素を超えてオブジェクトを削除しようとしてるだけだ。
5つしかないものを6回消そうとしているってこと。
for文の書き方を理解していないということであり固まって生成されるのも同じようなプログラム上のミスだろう。
0924名前は開発中のものです。2014/09/18(木) 13:46:18.21ID:19YDDXs0
>>922
forかwhileでtransform childrenをループして消そうとしてるんじゃねぇの?
ループの中で数が減らされた分が考慮されてない感じ。

あとエリア纏めてるオブジェクトに子オブジェクトつるしておけば出口では纏めてるオブジェクト一個destroyするだけで纏めてパージできるよ
0925名前は開発中のものです。2014/09/18(木) 14:09:51.74ID:lMrEffR+
>>923
ですよね?もう一度見直してみます。

>>924
おっしゃる通りfor分でループして消そうとしていた為に出たエラーだと思います。
エリア自体は再利用というか、またプレイヤーが入った時に敵を生成したいのでその子要素にから纏めて削除する様の
空オブジェクトを作ったのですが、そこで上記の様な状態になってます。
0926名前は開発中のものです。2014/09/18(木) 17:49:40.56ID:Z8+2C39O
blenderでunity用のモデルを作っているのですが、
両面かするとblenderでの認識がおかしくなってしまいます・・・
unity側で両面化などは行えるのでしょうか?
0927名前は開発中のものです。2014/09/18(木) 18:08:13.36ID:d+bCV3Yw
両面化ってそもそもどういう操作を言ってるのか。
ダブルサイデッドなシェーダーはデフォルトだとパーティクル系しかない。
ちょっと調べれば自分でシェーダをダブルサイデッド化するのは可能。
0928名前は開発中のものです。2014/09/18(木) 18:38:14.11ID:d+bCV3Yw
あとついでに言うとBlenderで作っててBlender内での認識がおかしいのは
モデルのデータが既におかしいのではないか。
0929名前は開発中のものです。2014/09/18(木) 18:46:54.72ID:lMrEffR+
またもや質問失礼しまうす。

NGUIを使って敵のHPゲージを画面内に敵の座標に表示しているのですが、敵がカメラの視界外になった出た時に
SetActiveをfalseにして視界に入ったら、trueにするというスクリプトを書いているのですが、

var viewPos : Vector3 = Camera.mainCamera.WorldToViewportPoint(transform.position);
//Debug.Log(viewPos);
if( viewPos.x < -0.5f || viewPos.x > 1.5f || viewPos.y < -0.5f || viewPos.y > 1.5f ){
labelNameObj.SetActive(false);
}else{
if( viewPos.x > 0.0f || viewPos.x < 1.0f || viewPos.y > 0.0f || viewPos.y < 1.0f ){
labelNameObj.SetActive(true);
}


こう書くとカメラの視界の真後ろに居る時もtrueが送られてしまいます。視界外に消えた時の処理として根本的に間違ってるんでしょうか?

どなたかご教示下さい。
0930名前は開発中のものです。2014/09/18(木) 18:59:23.02ID:dqVmO5Q1
2Dのジャンプで詰まったので質問させてください。

rigidbody2D.AddForce(new Vector2(0.0f, -jump_power), ForceMode2D.Impulse);

上記のようにしてジャンプを実装しているのですが、

右に移動中にジャンプをした場合、右移動がキャンセルされてジャンプしようとします。
(垂直ジャンプしようとします)

やりたい事は移動中の力を反映したジャンプ(斜め方向のジャンプ)なのですが、どうしたらよいでしょうか?

分かる方、お願いします。
0931名前は開発中のものです。2014/09/18(木) 19:14:52.01ID:mabT2JWT
>>930
移動の処理もAddForceにすればいい!
駄目かな
0932名前は開発中のものです。2014/09/18(木) 19:15:29.13ID:aG6fkobJ
>>929
viewPos.zが正数ならカメラの前方,負数ならカメラの後方にある

ただ、そういう処理はMonoBehavior.OnBecameVisibleとOnBecameInvisibleでやった方が楽ではないかと思う
0933名前は開発中のものです。2014/09/18(木) 19:28:37.75ID:d+bCV3Yw
OnBecameVisible()とかはrendererコンポーネントがついてないと
ダメなんじゃなかったかな〜。
なのでview.Pos.zの正負で判断するのがこの場合は正しいと思う
0934名前は開発中のものです。2014/09/18(木) 19:31:24.66ID:d+bCV3Yw
>>930
左右移動の処理をジャンプ中も続けさせれば良いんじゃね?
もしくは前フレの位置を常に取っておいてジャンプした時に
左右方向の速度を計算してVelocityに放り込む。
0935名前は開発中のものです。2014/09/18(木) 19:32:44.35ID:aG6fkobJ
>>933
>OnBecameVisible()とかはrendererコンポーネントがついてないと
そうだったか、嘘教えてごめんなさい>>929
0936名前は開発中のものです。2014/09/18(木) 19:36:55.77ID:lMrEffR+
>> 933
ありがとうぞざいます!無事望んだ結果になりました!

確かにOnBecameVisibleの方がスマートなのですが、OnBecameVisibleはオブジェクトにRendererが無いと機能しないそうなんです。
HPゲージはGUILabelをしようしているので、働いてくれない様です。

何はともあれ、本当にありがとうございます!
0937名前は開発中のものです。2014/09/18(木) 19:39:05.03ID:lMrEffR+
すみません、アンカーをミスってました。

>>932の方も>>933の方もありがとうございます!
09389302014/09/18(木) 20:00:10.37ID:dqVmO5Q1
>>931
>>934
返答ありがとうございます。

>移動の処理もAddForceにすればいい!
x * Time.deltaTime ですと、あるきっかけでフリーズした場合、
Time.deltaTimeが大きくなりすぎて、早いスピードで飛んでいく可能性があります。

>左右移動の処理をジャンプ中も続けさせれば良いんじゃね?
すでに左右の移動はジャンプ中もForceに入れ続けています。
ジャンプした瞬間に移動がキャンセルになってしまう課題を解決したいです。

>もしくは前フレの位置を常に取っておいてジャンプした時に
>左右方向の速度を計算してVelocityに放り込む。
こちらの方法で試してみます。

ありがとうございました。
0939名前は開発中のものです。2014/09/18(木) 22:08:51.88ID:kK9bImeB
C++でやりたいからってだけでPro買ってる人いる?
0940名前は開発中のものです。2014/09/18(木) 22:39:20.02ID:YzkdkCym
いらない
0941名前は開発中のものです。2014/09/18(木) 23:07:49.43ID:YNjSCuIV
c++のためにpro買うならc#の教本買ったて学んだ方がためになると思う
何のためになるのかは知らん
0942名前は開発中のものです。2014/09/19(金) 07:28:20.71ID:kQLz7WZJ
UnityでC++って、どゆこと?
dll?
0943名前は開発中のものです。2014/09/19(金) 13:06:10.84ID:34wbMNwL
ProだとC++使えると聞いて今まで作ったゲームの移植も少しは楽になるのかなと思って
C#勉強しつつやってみます
0944名前は開発中のものです。2014/09/19(金) 16:35:32.69ID:6H4QSqzF
質問です。

敵に攻撃を加えるとNGUIでダメージを表示する様にしたのですが、敵が出現するエリア(OnCorrisionEnterでPrefabから生成)にプレイヤーが居る時だけ、
ダメージが表示されません。試しに、敵の居ないエリアで同数の敵をプレファブからシーンビューに置いて、攻撃するとちゃんとダメージが表示されます。

エラーログは出ていないのですが、敵をInstantiateした場合だけ表示されない等という事があり得るのでしょうか?

他にNGUIでプレイヤーと敵のHPゲージを表示していて、それらの表示は正常です。どなたか解る方教えて下さい。
0945名前は開発中のものです。2014/09/19(金) 16:45:03.43ID:7f+A6pyf
>>944
そのゲームがどんなデータ構造でどんな風にデータのやり取りしてるかも
わからんのに判る訳ねぇw

まぁありがちな例としてはFindで何かを取得しててInstantiateした場合
名前に(clone)がついてるので取得に失敗してるとかくらいか。
0946名前は開発中のものです。2014/09/19(金) 17:10:33.51ID:6H4QSqzF
>>944
説明が足りなかったですね。

今、表示されない部分ではデータのやり取りは、プレイヤーの弾丸からSendMessageで敵オブジェクトにDamegeを
送り、敵側のDamage関数でLabelをInstantiate、InstantiateしたLabelにdamageを送って表示という流れなんですが、
おっしゃるような名前でFindしているのはLabelをPanal配下に置く時しか使っていません。
後、エリアに居る時でもDebug.Logで調べるとLabelにdamageは送られています。にも関わらず、表示だけされません。

説明が非常に解りにくいかと思いますが、よろしくお願いします。
0947名前は開発中のものです。2014/09/19(金) 17:12:41.72ID:6H4QSqzF
あぁ、すみません、敵側のスクリプトではInstantiateしたLabelにはGetComponentしてdamageを送っています。
0948名前は開発中のものです。2014/09/19(金) 17:29:08.42ID:PzaFcNaq
InstantiateしたラベルのレイヤーをNGUIにしてないとか
0949名前は開発中のものです。2014/09/19(金) 17:34:38.06ID:6H4QSqzF
>>948
ありがとうございます。確かになってなかったです。でも、レイヤーをNGUIにしてもやっぱりそのエリアに居る時だけ、
というか、そこでInstantiateした敵だけダメージが表示されません。

他のエリアで直接シーンに置いたプレファブはちゃんと機能しているのに何故なのかが解りません。
0950名前は開発中のものです。2014/09/19(金) 17:53:38.76ID:7f+A6pyf
なんか面白いな。ホントに何か制限があるのかもしれんね。
ちょっと自分で試してみる。
0951名前は開発中のものです。2014/09/19(金) 18:08:36.74ID:6H4QSqzF
>>950
何か、わざわざすみません。自分でも色々弄ってみます。
0952名前は開発中のものです。2014/09/19(金) 18:55:24.18ID:pg++7joH
セール中のbreadcrumbAIてどうなん?
買った人いませんか?
0953名前は開発中のものです。2014/09/19(金) 19:25:23.43ID:ousSC5Zw
javascriptで2進数を10進数に変換する方法はないでしょうか
parseInt("01001",2)だと
No appropriate version of 'UnityScript.Lang.UnityBuiltins.parseInt' for the argument list '(String, int)' was found.
が出てしまい基数の指定がどうしてもできないのです
0954名前は開発中のものです。2014/09/19(金) 19:45:18.71ID:PzaFcNaq
>>953
System.Convert.ToInt32("01001",2)
0955名前は開発中のものです。2014/09/19(金) 19:52:15.69ID:ousSC5Zw
>>954
おお!迅速な解答ありがとうございます!上手く2進数変換できました!
0956名前は開発中のものです。2014/09/19(金) 19:52:30.40ID:7f+A6pyf
>>951
あれ?うん、全然できたわw
実は前にちょっと同じようなとこでおかしくなったようなことがあった気がしたんで
試してみたんだがすまん、全然できるわw
つまりキミのプログラムがおかしいんだよw

その時はinstantiateからさらにResources.Loadしてたかもしれない。
とりあえずこれからそれも試す。

Nguiとか含んでるからプロジェクトさらすのはアレなんで
WebPlayerにビルドしたものだけあげとく。
基本的には説明されたのと全く同じデータの流れになっているはず。
ttp://www1.axfc.net/u/3323483
ADで回転WSで前進後進左クリックで射撃。
0957名前は開発中のものです。2014/09/19(金) 20:11:57.93ID:SY+5mhWp
live animationでアニメーション作ってる人って居ますか?
フリーで作るならあれがいいのでしょうか
0958名前は開発中のものです。2014/09/19(金) 21:06:10.36ID:6H4QSqzF
>>944です。まだ解決はしていないのですが原因が解りました。
LabelをDestroyせずに実行して、確認した所Labelは画面外に生成されていました。
原因は敵側でInstantiateした後、Lavel側から敵のlocalPositionを取得して位置決めをしていた為でした。

何故上記の様な仕様にしたかというと敵側のUpdate内からLabelの関数を取得していると、Labelが消えた時にエラーが出た為病む無くそうしました。

>>950さん、もし試しておられたら本当にすみません。
0959名前は開発中のものです。2014/09/19(金) 21:29:38.93ID:1Q9qPuSg
アセットかえばいいとお思います
0960名前は開発中のものです。2014/09/19(金) 23:05:16.47ID:eHI9MRkV
おい959、セール中のbreadcrumbAIてどうなん?
こたえろや
0961名前は開発中のものです。2014/09/19(金) 23:12:48.08ID:7YcSuCUn
>>960
普通のパン屑(足跡にパンをちぎって遺すっていう童話由来)を使ったAIと巡回地点処理を持つだけど800円なら買っても良いレベルで良くできてる。
一定距離を保つタイプと格闘用に隣まで来るタイプの二種を扱える。

開発者のビデオがつべに置いてあるから見てみれば?
0962名前は開発中のものです。2014/09/19(金) 23:21:57.61ID:upJnEeah
質問失礼します。
2Dでマウス位置をワールド座標い変換しようと思っています。
Update時にcameraのScreenToWorldPointを使いたいのですが、cameraがnullのままです。
カメラのゲームオブジェクトは追加しています。
どのようにしてScreenToWorldPointを呼びだしたら良いでしょうか?

ちなみにアセットを買っても、買い続けても解決しません。
分かる方、よろしくお願いします。
0963名前は開発中のものです。2014/09/19(金) 23:22:35.50ID:U9mbwzcb
流れ読まずに投下です

http://0310unity.hateblo.jp/entry/unity_chan_basic
このサイトを見てLocomotionにJumpStateを追加したのですがスペースキーを押したらすぐに実行させるにはどこを弄ればいいんでしょう?

今はキーを押してもIdleが1周再生終わるまで時間がかかる状態です
0964名前は開発中のものです。2014/09/19(金) 23:27:41.85ID:7YcSuCUn
>>962
カメラが一つしかないならCamera.mainで参照できる
09659622014/09/19(金) 23:27:51.80ID:upJnEeah
cameraってオブジェクトに関連付けられたカメラだったんですね。
Camera.mainを見つけました。
こちらもnullでしたが、、、
もう少し自分で調べてみます。
ありがとうございました。
0966名前は開発中のものです。2014/09/19(金) 23:34:30.16ID:7YcSuCUn
>>965
ダイナミックに生成したオブジェクトからならCameraオブジェクトの名前を使ってFindで取得するかシーン毎に決まっているなら最初からカメラ変数を自分でAssignする方法が一番無難
09679622014/09/19(金) 23:41:24.36ID:upJnEeah
>>964
>>966
返答ありがとうございます。

カメラは一つですがCamera.mainはnullでした。
カメラは動的には生成していません。
静的にHierarchyに追加したものです。

Camera.currentを見つけました。
こちらはnullではなかったので、これを利用したいと思います。
ありがとうございました。
0968名前は開発中のものです。2014/09/20(土) 00:59:14.49ID:o71PBM+Q
Camera.mainがヌルなのはTagがMainCameraになってないからだろうな
0969名前は開発中のものです。2014/09/20(土) 01:10:53.55ID:UEIxDG/J
unity2Dで実装してるのですが、アニメーションを使ったオブジェクトが移動できなくて困っています。
具体的には、
Start()内で
rigidbody2D.velocity = transform.right.normalized * -1.0f;
をして移動させるようにしているのですが、
そのオブジェクトに「Animator」を追加した時点で移動がされなくなります。
AnimatorにはMuliple Spriteでのアニメーションキーフレームがいくつか入っています。
原因わかる方いればおしえてください。
0970名前は開発中のものです。2014/09/20(土) 01:11:51.83ID:goS6Mui0
>>969
AnimatorコンポーネントのApplyRootMotionのチェックをはずす
0971名前は開発中のものです。2014/09/20(土) 01:16:23.02ID:P9IFvS0N
>>969
アセットをかえばいいとおもいますよ
0972名前は開発中のものです。2014/09/20(土) 01:47:53.04ID:Q3piAkFB
アセットおじさん今日も元気だね。
Unityから金をもらってやってるんだよね?
Unityはアセット販売の中間マージン取ってるもんね。
要はステマだよね?
0973名前は開発中のものです。2014/09/20(土) 01:49:57.45ID:rI2J3Bys
ステルス性能低くてもステマとはこれは如何に?
0974名前は開発中のものです。2014/09/20(土) 08:27:17.49ID:+c4ohn26
あしぇっと!あしぇっとをかいなしゃれ!
あの病人は
じいさんになってUnityがこの世からなくなっても死ぬまでやってるんだろうな
0975名前は開発中のものです。2014/09/20(土) 10:55:43.96ID:q5cJgjS3
AnimatorのTriggerって一回trueにすると
それと対応するトランジションを通るまで絶対にfalseに戻らないんでしょうか

1瞬だけtrueになるものと思ってコード組んでたらまるで駄目な挙動になってしまいました・・・
0976名前は開発中のものです。2014/09/20(土) 10:59:41.22ID:q5cJgjS3
すみません自己解決しました
もしやと思って試したら普通にSetBoolでTriggerの状態を変更できました
09779692014/09/20(土) 11:30:50.61ID:UEIxDG/J
>>979
解決しました!ありがとうございます
0978名前は開発中のものです。2014/09/20(土) 12:00:01.18ID:flA56tyx
次レスの人ガンバ!
0979名前は開発中のものです。2014/09/20(土) 14:18:48.68ID:x8RK9EKY
Unity5になったら、全部IL2CPPになってCコンパイラでネイティブexeになってMonoランタイムって無くなるの?
exe一個だけとかのシンプルな環境に出来たりするの?
0980名前は開発中のものです。2014/09/20(土) 14:57:53.57ID:CciTK/RU
>>961
ありがとー
とりあえず買ってみたけどグレーと黄色のGUIがダサいね…
0981名前は開発中のものです。2014/09/20(土) 16:26:13.75ID:SXjiW3S+
じゃあ逆にここの人達はどうやってアニメーション作成してるんですか?
0982名前は開発中のものです。2014/09/20(土) 17:04:52.40ID:8ivgOrCG
キューブをクリックした数が表示されるプログラムを作っているのですがわからないことがあるんです
if(Input.GetMouseButtonDown(0)) を使ったらキューブだけでなく画面どこでもクリックすれば数がカウントされるのと
クリックされるたびにCOUNT(変数)にプラスするようにして GUI TEXT でそれを表示するために
guiText.text = COUNT.ToString() とすると まずCOUNTが定義されてないと言われます(別のJSで宣言しています)
しかし変数を宣言してやってもguiに表示される数は変わりません
Debug.Logで数が増えてないのかと思い確認したのですがどうやら増えているようです
ひよこ本を参考にして本では宣言がなくてもエラーなどはなかったのですが・・・
0983名前は開発中のものです。2014/09/20(土) 17:13:31.78ID:flA56tyx
>>982
>クリックされるたびにCOUNT(変数)にプラスするようにして GUI TEXT でそれを表示するために
guiText.text = COUNT.ToString() とすると まずCOUNTが定義されてないと言われます(別のJSで宣言しています)
別のJSの参照を持ってこないと触れないというプログラムの基本的な事から勉強しないと駄目ですな
Unityはわりと楽に物が作れるけどプログラミングの素養がある程度必要なのでここばかりはちゃんと勉強しないと話にならないのです。
0984名前は開発中のものです。2014/09/20(土) 17:14:20.16ID:WCRjPejE
C#しかわからんけど、物体のクリック判定ならColliderコンポーネント持たせてOnMouseDown関数で取得
キューブのクリック数ならキューブのクラス内に変数持たせればいいんじゃ?
外から取るならCOUNTを持ってるクラスにまずアクセスしないといけない
0985名前は開発中のものです。2014/09/20(土) 17:28:41.94ID:fSMxhaTL
アニメーションはunityで作んなくてもいい
0986名前は開発中のものです。2014/09/20(土) 17:45:34.31ID:flA56tyx
>>985
むしろUnityでやるのは苦痛じゃないかなー
2D物だとしょうもないけど、3Dなら専用ツール使うべき(あるいはMixamoでアニメーション買う)
純粋な2DならAdobeのFlashつかってアニメーションをLWFで再生とかにする方がよっぽど楽
0987名前は開発中のものです。2014/09/20(土) 18:41:26.28ID:jp5sYj7X
ここはアセットおじさんに倣って「Final IK」を進めるべきなんじゃ
0988名前は開発中のものです。2014/09/20(土) 19:20:04.96ID:MiUlwvoz
今、ngui買うのって時期的に勿体無いのかな。
uguiいじってるけどボタンが重なったり、モバイルで妙に重かったり上手く使えない。
nguiはそこらへんの情報も揃ってそうと期待しちゃうんだけど...
0989名前は開発中のものです。2014/09/20(土) 19:33:53.03ID:jp5sYj7X
>>988
DFGUIがオープンソースになってるからそっち使ってみれば?
俺もNGUI持ってないから買うか悩んでるけど、とりあえずセール待ちしてDFGUI使ってる。
0990名前は開発中のものです。2014/09/20(土) 20:25:25.48ID:AdUNXHir
1000が近いですが、質問です。
アクションゲームで敵のHPゲージを敵がカメラ内に居る時だけ、SetActiveをtrueにした状態で

function Damage( v : float){
if(dhp >0 ){
dhp -= v;
animator.SetBool("Attack",false);
animator.SetBool("Damage",true);
;
Invoke("Hoge",0.1);
if(dhp <= 0){
gameObject.SendMessage("Dead");
}
if(labelNameObj != null){
labelNameObj.GetComponentInChildren(HitPointController).SetDHP(dhp);
}
}
}
上記のスクリプトでInstantiateしたlabelNameObjeの子要素のNGUIレーベルに数値を送っています。
しかし、敵がダメージを受けている最中に画面外に出ると、SetActiveがfalseになる為、エラーが出てしまいます。
非アクティブな状態でも、子要素を取得する方法はあるのでしょうか?また、他に何か良い解決策があれば是非教えて下さい。
よろしくお願いします。
0991名前は開発中のものです。2014/09/20(土) 20:51:37.36ID:MiUlwvoz
>>989
DFGUIも面白そうだけどこれからngui使う可能性も考えてnguiのフリー版
でいろいろやってみるわ
アドバイスありがとう
0992名前は開発中のものです。2014/09/20(土) 21:05:23.79ID:Rb33ipGH
>>990
if(labelNameObj!=null&&labelNameObject.activeInHierarchy==true)
とかにしてアクティブだったら送るようにしたら?
0993名前は開発中のものです。2014/09/20(土) 21:23:45.70ID:AdUNXHir
>>992
なるほど!activeInHierarchyというのがあるんですね!
ダメージ関数内だと、非アクティブからアクティブに変わった時に2回分のダメージ分減ったHPが送られそうなので、Updeta内に記述してみます!

ありがとうございます!
0994名前は開発中のものです。2014/09/20(土) 22:46:36.38ID:Q3piAkFB
質問失礼します。
2Dでゲームを作っています。
上下を反転させたいと思っています。下方向をYプラス方向としたいです。
ゲームオブジェクトとカメラを180回転させてやればできなくもないですが、
EditorのSceneの2Dでは上下さかさまになってしまいます。
なんとかならないものでしょうか?(iniファイルの設定でできる、、、とか)
分かる方、よろしくお願いします。
0995名前は開発中のものです。2014/09/20(土) 23:03:38.72ID:U07EJoPl
何を上下反転させたいの?
おち物パズルゲームで上下反転させて落下方向が変わるとか

具体的にゆって
0996名前は開発中のものです。2014/09/20(土) 23:08:11.72ID:Rb33ipGH
シーンのカメラ操作系は残念ながら自由にはならない。
重力を反転させたいだけなら
Physics.gravity =Vector3.up*9.8;
とかすればできる。
ttp://docs.unity3d.com/ScriptReference/Physics-gravity.html
0997名前は開発中のものです。2014/09/20(土) 23:10:49.39ID:py5EboSz
>>995
自分の底辺人生を反転させたいんですが
どうしたら一発逆転出来るでしょうか?
09989942014/09/20(土) 23:26:21.76ID:Q3piAkFB
>>995
EditorのSceneの2Dの表示を上下反転させたいです。

>>996
やはりそうでしたか。
あまり期待せずに、Unity5以降での対応を待つ事にします。

ありがとうございました。
0999名前は開発中のものです。2014/09/20(土) 23:37:17.97ID:U07EJoPl
>>997
アセットを買えばおk
1000名前は開発中のものです。2014/09/20(土) 23:49:50.93ID:0PIlBCK0
1000ならクソゲーが完成する
レス数が1000を超えています。これ以上書き込みはできません。