【3Dゲームエンジン】Unity質問スレッド11
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名前は開発中のものです。
2014/08/05(火) 22:02:24.88ID:WCQkNfyPWindows/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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
0844名前は開発中のものです。
2014/09/14(日) 21:02:31.66ID:IQbkbEo2bullet.rigidbody.AddForce(transform.rotation*Vector3(0,0.4,1) * 5000);
0845名前は開発中のものです。
2014/09/14(日) 21:29:54.57ID:vnOoOSpwおお、ありがとうございます!!斜め上に飛んでくれました。Vector3の前にオブジェクトのrotationを指定出来るんですね。
本当に助かりました。ありがとうございます!
0846名前は開発中のものです。
2014/09/15(月) 00:23:37.97ID:WDMK29F6ありがとうございます!
FPSを作るのには絶対に欠かせず、尚且つ様々なことに応用できるので、
どうしても方法が知りたかったので、とても感謝しております!
0847名前は開発中のものです。
2014/09/15(月) 02:17:06.99ID:NpB18/ctその英語の文章をちゃんと読むんだ。
The AnimationClip '(アニメーション名)' used by the Animation component '(シリンダー名)' must be marked as Legacy.
'(シリンダー名)' のアニメーションコンポーネントで使われているそのアニメーションクリップ '(アニメーション名)'はレガシーであるとマークされていなければなりません。
多分このページを見たんだと思うが
ttp://d.hatena.ne.jp/shinriyo/20130718/p6
このページの記述は間違えている。
こっちのページの
ttp://usualscraps.blogspot.jp/
2014年1月19日の「アニメーションが再生されない」の記事を読め。
0848名前は開発中のものです。
2014/09/15(月) 03:09:15.84ID:C4B8ddE8var style : GUIStyle;
と宣言した後に
style.fontSize=40;
とフォントサイズを指定してみたのですが
「NullReferenceException: Object reference not set to an instance of an object
DeathCounter.Start ()
」
といったエラーが出てしまいます。
一応エラーをググってみましたが問題解決に至りませんでした。
こちらのサンプルファイルのChapter5のDeathCounter.jsです。
どなたかお願いします。
ttp://www.sbcr.jp/support/11310.html
0849名前は開発中のものです。
2014/09/15(月) 03:47:07.67ID:Zz1HLPwNエラーが起きてる行載ってるからそこらへん見てみる。
ひよこは本の通り完璧に写してもエラーが起きる箇所が2,3箇所あったよ。
どんなググり方してんのか知らないけど、
ただ単にエラーをググるんじゃなくて、翻訳してみたり、
Nullって何ってとこ理解してかないと。
先に、javascriptかC#なりの基礎押さえておいた方がいいと思うよ。
スクリプトなしを謳ってるけど、結局必須だから。
0850名前は開発中のものです。
2014/09/15(月) 03:49:10.57ID:y6aS4cvJあなたたちも気付くはずです
もったいないですからね
0851名前は開発中のものです。
2014/09/15(月) 05:51:59.70ID:EP9YCgflストップウォッチで計ったら1分で1秒のズレが生じたんだけど、これってどういう事??
UnityのTime.deltaTimeがストップウォッチよりだんだん遅れてカウントされるようになる…
count += Time.deltaTime;
if(count >= 1.0f){
totalpower += power;
count = 0;
}
これ間違ってますか?どうしたら完璧な1秒毎に処理を実行できるようになりますかね…
0852名前は開発中のものです。
2014/09/15(月) 06:32:16.89ID:KxXTM8Bzアセットをかえばできますよ
0853名前は開発中のものです。
2014/09/15(月) 07:23:04.14ID:joHIQ9rytotalpower += powerが1秒カウントってことかな
だったら「count = 0」はまずいよね
count += Time.deltaTime;
if(count >= 1.0f){
totalpower += power;
count -= 1.0f;
}
だな
そもそも、
count += Time.deltaTime;
で、
(int)(count)が秒数を表す整数になるんじゃない?
どの道、誤差は最大で1フレーム分出てしまうけど
0854名前は開発中のものです。
2014/09/15(月) 09:59:24.88ID:y6aS4cvJ0855名前は開発中のものです。
2014/09/15(月) 11:00:15.19ID:hFevD6QEでもこんなニッチなの売れる訳が無いorz
0856名前は開発中のものです。
2014/09/15(月) 13:54:57.60ID:EP9YCgflTime.deltaTimeで加算し続けると1.0以上の値が出て、count=0にしたら1以上の値消してるからかー
うわー考えてみれば当たり前の事だった恥ずかしい。本当ありがとう
ちなみにtotalpower += powerは簡略化してて実際にはちょっと計算式書いてます
なのでcount変数はただ時間経過に使ってるだけですー
0857名前は開発中のものです。
2014/09/15(月) 14:22:23.65ID:y6aS4cvJ0858名前は開発中のものです。
2014/09/15(月) 17:02:02.33ID:cjp3gX9h解決した
ありがとう
ちなみに俺が参考にしたページは英語のサイトだったからそのページではないな
そのページにあるリンク先だったかもしれない
0859名前は開発中のものです。
2014/09/15(月) 17:06:15.61ID:y6aS4cvJほぼ同じシチュエーションでこう返答し、実行した
0860名前は開発中のものです。
2014/09/15(月) 22:48:42.69ID:C4B8ddE8無事解決しました。
精進します、ありがとうございました。
0861名前は開発中のものです。
2014/09/15(月) 23:10:27.72ID:xyZh2GTANGUIを使ってゲームオブジェクトの直上にHPを表示する方法を
ttp://blog.be-style.jpn.com/article/58484121.html
の通りにやっていて、Label_Controller.jsを書き終えた所なのですが、エラーログに
The name 'UILabel' does not denote a valid type ('not found').
というメッセージが出て、且Labelにアサイン出来ません。
スクリプトの記述はサイト無いのスクリプトをコピペしても同じエラーが出ます。どなたか解る方教えて下さい。
0862名前は開発中のものです。
2014/09/15(月) 23:30:22.24ID:2w7eR1oN0863名前は開発中のものです。
2014/09/15(月) 23:35:37.34ID:xyZh2GTAそうですね。そうしてみます。こちらの方がレスポンスが速いかなと思った物で。こちらでも引き続き何が問題か解る方居られましたら、教えて下さい。
0864名前は開発中のものです。
2014/09/16(火) 00:21:34.54ID:xuVTahtEまぁ多分Blog主が答え返してくれると思うが
ttp://blog.be-style.jpn.com/article/54284031.html
のコメント欄とか
本家のフォーラムとか。
ttp://www.tasharen.com/forum/index.php?topic=1763.0
0865名前は開発中のものです。
2014/09/16(火) 00:47:28.17ID:rQuytVCnエラーメッセージはUILabelという型が無いといってる
NGUIはちゃんとインポートされてるの?
0866名前は開発中のものです。
2014/09/16(火) 00:50:57.44ID:xuVTahtE0867名前は開発中のものです。
2014/09/16(火) 00:59:35.50ID:sI57oppGそうですよね?型がないと言われてるんですが、UILabelはちゃんとそんざいするんですよ。
>>866
フォルダ構成というのは、UILabelをLabel_Controllerと同じフォルダに入れるという事でしょうか?英語が不得手ですみません。
0868名前は開発中のものです。
2014/09/16(火) 01:05:28.66ID:xuVTahtEプロジェクト直下にPlugins-NGUIとフォルダを掘って
NGUI-Scrpt下のInteraction,Internal,Tweening,UIの4つのフォルダを
その中に移動する。
公式のフォーラムに画像がある。
0869名前は開発中のものです。
2014/09/16(火) 01:44:24.35ID:sI57oppGプロジェクトビューにPlugins-NGUIというフォルダを作るという事でしょうか?公式のフォーラムは英語がダメな物で
何が何だか。
本当に素人ですみません。
0870名前は開発中のものです。
2014/09/16(火) 01:50:38.39ID:xuVTahtEいやフォルダを変更した画像あるからw
ttp://www.tasharen.com/forum/index.php?topic=1763.0
さすがに画像見てもわからんとかないだろw
あともとのブログ主の過去記事のコメ欄にも同じことが書いてある
ttp://blog.be-style.jpn.com/article/54284031.html#comment
これは日本語だから。
0871名前は開発中のものです。
2014/09/16(火) 02:02:30.83ID:sI57oppG本当に細かい所までありがとうございます。うまく行きました!ここの人達は本当に親切で助かります。
0872名前は開発中のものです。
2014/09/16(火) 09:03:25.10ID:ISfSFeltRidgebodyがGetPointVelocityというメソッドを持っているみたいなのですが
これを使えば取れるのでしょうか
この場合引数は何を意味するのか教えていただけるとありがたいです。
0873名前は開発中のものです。
2014/09/16(火) 11:06:31.12ID:xuVTahtE全部が物理演算で動いているならとれるんじゃないか?
引数はワールド座標での位置だろ。
キャラクターをアニメーションで動かしてるとかだと多分無理。
自分で速度割り出しを実装するしかない。
まぁ前フレの位置と今の位置の差をとってTime.deltaTimeで割るだけだけどな。
0874名前は開発中のものです。
2014/09/16(火) 11:42:10.11ID:rQuytVCnRigidbody.velocityプロパティでいい
Rigidbody.GetPointVelocityメソッドはポイントの速度を得るときに使うもので普通は使いません
0875名前は開発中のものです。
2014/09/16(火) 13:08:56.74ID:cEC0r6Ej腕の方にアニメーション使っていますね
速度の計算は
・毎月フレーム位置情報だけ取得しておき、速度の情報が必要になったときだけ
保持しておいた位置情報を使って速度を算出するか
・毎フレーム速度を計算するか
悩み所ですね
アドバイスありがとうございました
>>874
velocityの値で取るとうまくいきませんでした
もしかしたらvelocityは実際の速さではなく
Ridgebodyに与えられたforceによって出た速度しか取得しないのかと
思ったのですがどうなのでしょう・・・
GetPointVelocityの情報ありがとうございました
0876名前は開発中のものです。
2014/09/16(火) 13:27:11.23ID:PIdQj0Eaアセっトをかえばできると思いますよ
0877名前は開発中のものです。
2014/09/16(火) 15:07:57.38ID:w3Ayv2uN外部のunitypackageファイルを動的に(実行ファイル実行中に)読み込む事は可能でしょうか?
unitypackageファイルのバイナリデータを解釈するやり方ではなく、
UnityEngineが用意したLoadUnityPackageみたいな関数があるのか?という質問です。
分かる方、よろしくお願いします。
0878名前は開発中のものです。
2014/09/16(火) 15:34:50.16ID:PIdQj0Eaアセット買うとどうにかなると思いますよ
0879名前は開発中のものです。
2014/09/16(火) 15:49:05.41ID:SwAqzR2+そういう端的な関数はない
0880名前は開発中のものです。
2014/09/16(火) 16:39:44.27ID:yQwqIDCe実行バイナリにはEditor機能は付かないから無い
AssetBundle作ってダウンロードコンテンツ扱いにする事で似たような事はできる。
0881名前は開発中のものです。
2014/09/16(火) 17:04:48.48ID:w3Ayv2uN>>879
>>880
返答ありがとうございます。
無理そうですね。というより、お作法的にありえないようですね。
ありがとうございましたー。
0882名前は開発中のものです。
2014/09/16(火) 18:20:11.65ID:mqzn/qnA面白くもなんともないんだけどどうなの
0883名前は開発中のものです。
2014/09/16(火) 18:23:44.09ID:eiZFzr+mドラッグでオブジェクトの移動をしていて、
オブジェクトを画面内に収めたいのですが
transform.position.x = Mathf.Clamp(transform.position.x,-3,3);
transform.position.y = Mathf.Clamp(transform.position.y,-5,6);
だとドラッグしている間、画面外に出てしまいます。
ドラッグしてる間でも画面外に出ないようにするにはどうしたらいいでしょうか。
どなたかお助けを・・・。
0884名前は開発中のものです。
2014/09/16(火) 18:48:44.78ID:PIdQj0Eaアセットをかえば解決しますよ
0885名前は開発中のものです。
2014/09/16(火) 19:11:58.89ID:SwAqzR2+Clampのminとmaxの値を画面外に出ない値に調整すれば良いんじゃないのか…
何を言ってるのかよくわからんレベルだ…。
0886名前は開発中のものです。
2014/09/16(火) 19:22:06.51ID:JB9cJY9u誰か簡単でいいのでヒントください
0887名前は開発中のものです。
2014/09/16(火) 19:27:43.88ID:3y1jbxQF調子に乗るなクズ
0888名前は開発中のものです。
2014/09/16(火) 19:28:51.03ID:yQwqIDCeいっちゃん簡単なのはWWWクラスでhttp://やfile://なURLで読み込む、サンプルも結構転がってる
0889名前は開発中のものです。
2014/09/16(火) 19:47:09.87ID:PIdQj0Eaあせっとをかえばかいけつしますよ
0890名前は開発中のものです。
2014/09/16(火) 20:05:11.78ID:eiZFzr+mマウスボタンを離すと弾かれるように画面内に戻っては来るんですが、
ドラッグ中は画面から出てしまいます・・・。
0891名前は開発中のものです。
2014/09/16(火) 20:09:43.15ID:gDOUZjim0892名前は開発中のものです。
2014/09/16(火) 20:16:52.48ID:SwAqzR2+そしたらドラッグ中の処理を書けよw
それ以外の部分のコード書かれても知らんわw
0893名前は開発中のものです。
2014/09/16(火) 20:26:02.04ID:o1BDq6Rnアプリで使うにはどうしたらいいんでしょうか
0894名前は開発中のものです。
2014/09/16(火) 20:56:36.75ID:eiZFzr+m>>891
>>892
transform.position.x = Mathf.Clamp(transform.position.x,-3,3);
transform.position.y = Mathf.Clamp(transform.position.y,-5,6);
の書き込み場所を変えたら解決しました。
申し訳ないです。ありがとうございました。
0895名前は開発中のものです。
2014/09/16(火) 22:53:07.89ID:PIdQj0Eaアセットをかえばいいんではないでしょうか
0896名前は開発中のものです。
2014/09/16(火) 23:17:12.74ID:0UBiUxq3引数が無い関数は問題ないのですが、引数がある自前の関数は
Missing ファイル名.関数
と出てしまい、クリックしても実行されません。
いくつかのファイルと関数を試したのですが同じでした。
何が原因なのでしょうか?
0897名前は開発中のものです。
2014/09/16(火) 23:33:34.18ID:PIdQj0Eaアセットをかっていないのが原因だと思いますよ
0898名前は開発中のものです。
2014/09/16(火) 23:35:46.74ID:sI57oppGお陰様でHPを表示出来る様になったのですが、HPゲージの方が良いかな?と思い、昨日教えて頂いた物にアレンジして
HPゲージを実装したのですが、GUIで表示すると遠くに居る敵のゲージも同じサイズで表示されてしまい、画面が非常に喧しい状態です。
NGUIで、遠近法の様な表現は出来るのでしょうか?遠くに居る敵のゲージは小さく表示したいのですが、何か方法をご存知の方教えて下さい。
またもや解りにくい質問ですみません。
0899名前は開発中のものです。
2014/09/16(火) 23:39:32.96ID:0UBiUxq3自己解決しました
いつも的確なアドバイスありがとうございます!
0900名前は開発中のものです。
2014/09/16(火) 23:51:51.69ID:SwAqzR2+カメラと敵の距離とってそれに応じてスケール掛けりゃ良いじゃん
0901名前は開発中のものです。
2014/09/17(水) 00:15:33.55ID:uxOiWrE2返信ありがとうございます。
Vector3.Distance(this.transform.position,target(カメラ).transform.position)
で距離を取って、その値に応じてサイズを小さくするという事ですかね?ちょっと具体的なスクリプトが思い浮かばないんですが、そういう関数とかUnityで用意されてるんでしょうか?
本当に素人ですみません。
0902名前は開発中のものです。
2014/09/17(水) 01:06:45.26ID:TgClCkNftransform.localScale=Vector3.one/Vector3.Distance(enemyPosition,cameraPosition);
とでも書けばそれでカメラと敵の距離に応じて拡縮されるだろう。
これ素人とかそういう話じゃなくて殆ど小学校の算数レベルの話なのでちとまじめに数学やったほうがいいよ
0903名前は開発中のものです。
2014/09/17(水) 01:44:57.57ID:dCsQf4sl遊ぼうと思って、下のように書いたら一旦0から1まで正常に画像
サイズが変わった後、画像が表示されなくなる事案が発生した。
インスペクター上では0から1までの値を絶え間無く動いてるんだけど
なんで見えなくなったのか、心当たりある方いませんか?
0904名前は開発中のものです。
2014/09/17(水) 01:46:01.90ID:dCsQf4slusing 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:L0ltBKpBpointの値が0.9999ぐらいまで達した時、
結局1.0より大きい値を代入してしまうからじゃないかな。
エラーコンソールには何も出ないのかな?
とにかく、ログ出したりブレークポイント設定する癖は付けよう。
0906名前は開発中のものです。
2014/09/17(水) 05:32:19.35ID:L0ltBKpBpoint += 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+なるほど
特にエラーコンソールには何も出てませんでしたね。
今外だから確認できないけど、あとで書き方直してみるよ。
あ、ちなみに私は903です
0908名前は開発中のものです。
2014/09/17(水) 19:15:23.65ID:PCuRqwcr何か罠があったりします?
0909名前は開発中のものです。
2014/09/17(水) 20:25:43.98ID:lKIQahDYフリーの人はフリーの機能しか使えない
0910名前は開発中のものです。
2014/09/17(水) 20:42:29.24ID:VDrmalKG0911名前は開発中のものです。
2014/09/17(水) 21:16:24.10ID:v03MWI3F何が問題だと考えられますか?
一度アンインストールして入れなおしたり、
プロジェクト読み込みなおしたりはしました。
再起動もしました。
0912名前は開発中のものです。
2014/09/17(水) 21:27:10.42ID:cOvTCFWZ0913名前は開発中のものです。
2014/09/17(水) 21:34:11.38ID:vCDmkxyVメニューの[Edit]→[Preferences...]→Colorタブ→Playmode init
はどうだい?
0914名前は開発中のものです。
2014/09/17(水) 22:00:41.35ID:dCsQf4sl>>906みたいに書いたがダメみたいだった。
そこで、試しに代入する値を0じゃなくて0.1とか他の値にするとその値からの画像はgame windowにも反映されました。
本当は0使いたいけど、とりあえず確認ついでに報告
0915名前は開発中のものです。
2014/09/17(水) 22:09:24.55ID:v03MWI3Fありがとうございます!解決しました。
0916名前は開発中のものです。
2014/09/17(水) 22:54:47.83ID:6eZ6UBuvアニメーションを途中から開始する方法など無いでしょうか?
(1ループ60フレームのアニメーションを30フレーム目から始めるとか)
0917名前は開発中のものです。
2014/09/18(木) 05:47:40.83ID:1IwjnSZ3フリーの人には関係ないんだよね?
0918名前は開発中のものです。
2014/09/18(木) 08:51:03.54ID:KWchqHT+便乗質問
パブリッシャー登録してるんだけど
そのときに使えるPSMとは違うのかな?
この辺に詳しい人いませんか
0919名前は開発中のものです。
2014/09/18(木) 09:06:58.22ID:mFsSOliHUnityProを貰うためにはソニーと正式に契約を結ばないと駄目
もちろん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:+AXSMCOrTransform child out of boundsは要素を超えてオブジェクトを削除しようとしてるだけだ。
5つしかないものを6回消そうとしているってこと。
for文の書き方を理解していないということであり固まって生成されるのも同じようなプログラム上のミスだろう。
0924名前は開発中のものです。
2014/09/18(木) 13:46:18.21ID:19YDDXs0forかwhileでtransform childrenをループして消そうとしてるんじゃねぇの?
ループの中で数が減らされた分が考慮されてない感じ。
あとエリア纏めてるオブジェクトに子オブジェクトつるしておけば出口では纏めてるオブジェクト一個destroyするだけで纏めてパージできるよ
0925名前は開発中のものです。
2014/09/18(木) 14:09:51.74ID:lMrEffR+ですよね?もう一度見直してみます。
>>924
おっしゃる通りfor分でループして消そうとしていた為に出たエラーだと思います。
エリア自体は再利用というか、またプレイヤーが入った時に敵を生成したいのでその子要素にから纏めて削除する様の
空オブジェクトを作ったのですが、そこで上記の様な状態になってます。
0926名前は開発中のものです。
2014/09/18(木) 17:49:40.56ID:Z8+2C39O両面かするとblenderでの認識がおかしくなってしまいます・・・
unity側で両面化などは行えるのでしょうか?
0927名前は開発中のものです。
2014/09/18(木) 18:08:13.36ID:d+bCV3Ywダブルサイデッドなシェーダーはデフォルトだとパーティクル系しかない。
ちょっと調べれば自分でシェーダをダブルサイデッド化するのは可能。
0928名前は開発中のものです。
2014/09/18(木) 18:38:14.11ID:d+bCV3Ywモデルのデータが既におかしいのではないか。
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:dqVmO5Q1rigidbody2D.AddForce(new Vector2(0.0f, -jump_power), ForceMode2D.Impulse);
上記のようにしてジャンプを実装しているのですが、
右に移動中にジャンプをした場合、右移動がキャンセルされてジャンプしようとします。
(垂直ジャンプしようとします)
やりたい事は移動中の力を反映したジャンプ(斜め方向のジャンプ)なのですが、どうしたらよいでしょうか?
分かる方、お願いします。
0931名前は開発中のものです。
2014/09/18(木) 19:14:52.01ID:mabT2JWT移動の処理もAddForceにすればいい!
駄目かな
0932名前は開発中のものです。
2014/09/18(木) 19:15:29.13ID:aG6fkobJviewPos.zが正数ならカメラの前方,負数ならカメラの後方にある
ただ、そういう処理はMonoBehavior.OnBecameVisibleとOnBecameInvisibleでやった方が楽ではないかと思う
0933名前は開発中のものです。
2014/09/18(木) 19:28:37.75ID:d+bCV3Ywダメなんじゃなかったかな〜。
なのでview.Pos.zの正負で判断するのがこの場合は正しいと思う
0934名前は開発中のものです。
2014/09/18(木) 19:31:24.66ID:d+bCV3Yw左右移動の処理をジャンプ中も続けさせれば良いんじゃね?
もしくは前フレの位置を常に取っておいてジャンプした時に
左右方向の速度を計算してVelocityに放り込む。
0935名前は開発中のものです。
2014/09/18(木) 19:32:44.35ID:aG6fkobJ>OnBecameVisible()とかはrendererコンポーネントがついてないと
そうだったか、嘘教えてごめんなさい>>929
0936名前は開発中のものです。
2014/09/18(木) 19:36:55.77ID:lMrEffR+ありがとうぞざいます!無事望んだ結果になりました!
確かにOnBecameVisibleの方がスマートなのですが、OnBecameVisibleはオブジェクトにRendererが無いと機能しないそうなんです。
HPゲージはGUILabelをしようしているので、働いてくれない様です。
何はともあれ、本当にありがとうございます!
0937名前は開発中のものです。
2014/09/18(木) 19:39:05.03ID:lMrEffR+>>932の方も>>933の方もありがとうございます!
0938930
2014/09/18(木) 20:00:10.37ID:dqVmO5Q1>>934
返答ありがとうございます。
>移動の処理もAddForceにすればいい!
x * Time.deltaTime ですと、あるきっかけでフリーズした場合、
Time.deltaTimeが大きくなりすぎて、早いスピードで飛んでいく可能性があります。
>左右移動の処理をジャンプ中も続けさせれば良いんじゃね?
すでに左右の移動はジャンプ中もForceに入れ続けています。
ジャンプした瞬間に移動がキャンセルになってしまう課題を解決したいです。
>もしくは前フレの位置を常に取っておいてジャンプした時に
>左右方向の速度を計算してVelocityに放り込む。
こちらの方法で試してみます。
ありがとうございました。
0939名前は開発中のものです。
2014/09/18(木) 22:08:51.88ID:kK9bImeB0940名前は開発中のものです。
2014/09/18(木) 22:39:20.02ID:YzkdkCym0941名前は開発中のものです。
2014/09/18(木) 23:07:49.43ID:YNjSCuIV何のためになるのかは知らん
0942名前は開発中のものです。
2014/09/19(金) 07:28:20.71ID:kQLz7WZJdll?
0943名前は開発中のものです。
2014/09/19(金) 13:06:10.84ID:34wbMNwLC#勉強しつつやってみます
レス数が900を超えています。1000を超えると表示できなくなるよ。