2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

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

804 :名前は開発中のものです。:2014/09/13(土) 00:50:48.18 ID:Wi4VBM3S.net
3DTextについての質問なのですが
Terrainで遮られてる(例えば山なんかの)向こう側から
3DTextの文字が山を突き抜けて?見えてしまうんですが
キャラクターと文字の間に遮蔽物がある場合
文字を見えなくする方法などありますか?
Layerとか考えたのですが、なんか違う気がして

805 :名前は開発中のものです。:2014/09/13(土) 01:12:11.50 ID:BZvr1tRa.net
>>802
アセットをかえば調整できますよ

806 :名前は開発中のものです。:2014/09/13(土) 01:27:24.78 ID:mi6rzSHh.net
閉じるボタンを押下されたときに
即閉じないで確認ダイアログを出したいのですが
.netのForm_Closingみたいなのに相当する処理ありますか?

807 :名前は開発中のものです。:2014/09/13(土) 01:37:21.65 ID:jrwd0YHQ.net
>>806
適当なゲームオブジェクトのMonoBehaviour.OnApplicationQuit()を実装して
その中でApplication.CancelQuit()を呼べば終了をキャンセルできる

らしい。自分はやったこと無いのでよくわかんないです、ごめんなさい

808 :名前は開発中のものです。:2014/09/13(土) 02:21:45.81 ID:LaLzpR1i.net
>>804
テキスト用のシェーダーはZバッファチェックがないのでそうなる。
それ用のシェーダー書いて入れ替えればいい。この辺の記事
ttp://unityrakku.blog.fc2.com/blog-entry-13.html

>>796
トランジションでやる限りどうにもならんっぽい。
アニメーションなんかぶった切れたっていいんだっていうなら
レイヤー使えばできる。

>>802
マテリアルのの値いじったりシェーダー入れ替えたりすればいいんじゃね?
それのマテリアルやシェーダーがどうなってるのか知らんが。

809 :名前は開発中のものです。:2014/09/13(土) 05:00:06.67 ID:cznY2UHQ.net
unityスクリプトリファレンスのMathf.Atan2のページの
http://docs-jp.unity3d.com/Documentation/ScriptReference/Mathf.Atan2.html
「この関数は x が 0 の場合も対応していて、
ゼロ 除算の例外をスローする代わりに但しい角度が返されることに
留意して下さい。」
っていう文は
「この関数は x が 0 の場合も対応していて、
ゼロ 除算の例外をスルーする代わりに正しい角度が返されることに
留意して下さい。 」
と理解して良いのでしょうか?

810 :799:2014/09/13(土) 05:05:14.23 ID:Wi4VBM3S.net
>>808
Zバッファについて解決しました
ありがとうございました!

811 :799:2014/09/13(土) 06:55:32.01 ID:Wi4VBM3S.net
遮蔽物を突き抜けて文字が表示される事はなくなったのですが文字色の変更が出来ません><
あれこれ試してみてるのですがどこをいじればいいのか・・・
3,4行目辺りかなと思うんですが、変更しても白のままなんですよね・・・

Shader "GUI/Text Shader with Z test" {
Properties {
_MainTex ("Font Texture", 2D) = "white" {}
_Color ("Text Color", Color) = (1,1,1,1)
}

SubShader {
Tags {
"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"
}
Lighting Off Cull Off ZTest Always ZWrite Off Fog { Mode Off }
Blend SrcAlpha OneMinusSrcAlpha
Pass {
ZTest LEqual
Color [_Color]
SetTexture [_MainTex] {
combine primary, texture * primary
}
}
}
}

812 :799:2014/09/13(土) 06:57:54.73 ID:Wi4VBM3S.net
>>811のコードで文字色が白になるようなのですが
whiteを他の色にしても変わらず
(1,1,1,1)を変更しても変わらず・・・

813 :名前は開発中のものです。:2014/09/13(土) 08:36:25.42 ID:cznY2UHQ.net
下記コードの代入文でエラーが出てしまうのですが
scriptからrotationに代入するにはどうすれば良いのでしょうか?

float[] B_rad = {-20.0f,0f,20.0f};

void Start(){
for(int i=0; i < 3; i++){
transform.rotation.z = B_rad[i] * Mathf.Deg2Rad;
}
}

814 :名前は開発中のものです。:2014/09/13(土) 09:34:03.27 ID:zg0AwgwX.net
>>809

但しとは - Weblio辞書
http://www.weblio.jp/content/%E4%BD%86%E3%81%97

815 :名前は開発中のものです。:2014/09/13(土) 09:40:39.13 ID:zg0AwgwX.net
〜ゼロ 除算の例外処理をスルーする代わりに例外的に角度の値が返されることに

と解釈した方が良いんじゃない。0が返ってくるのかね?試してないけど

816 :名前は開発中のものです。:2014/09/13(土) 10:53:28.34 ID:LaLzpR1i.net
>>809
そういう時は原文を読め
ttp://docs.unity3d.com/ScriptReference/Mathf.Atan2.html
"Note that this function takes account of the cases where x is zero and returns the correct angle rather than throwing a division by zero exception"

>>811
文字色の変更がそれで出来ないのはマテリアルに格納されたColorの値がシリアライズされてるから。
void Start () {
renderer.material.shader = Shader.Find("GUI/Text Shader with Z test");
renderer.material.color = new Color (0.1f, 0.2f, 0.3f, 1f);
}
とかやって変えるしかない。

>>813
transform.rotationはQuaternionなのでそれではQuaternionの虚軸のzを入れ替えようとしている。

void Start(){
Vector3 currentAngle;
currentAngle=transform.rotation.eulerAngles;
for(int i=0; i < 3; i++){
currentAngle.z=B_rad[i];
transform.rotation.eulerAngles=currentAngle;
}
}

とでもすれば動く。
但し描画はStartが全部終わった後で為されるので配列の最後の値が反映されるだけ。
段々角度が切り替わっていくとかそういうことにはならない。完全に無意味な処理。

817 :名前は開発中のものです。:2014/09/13(土) 11:28:39.08 ID:1BDDU2Oc.net
>>813
Assetを買えばエラーは消えると思いますが

818 :名前は開発中のものです。:2014/09/13(土) 13:28:14.98 ID:eWzBbVnC.net
>>806
アセットをかえば簡単ですよ

819 :名前は開発中のものです。:2014/09/13(土) 13:37:31.98 ID:cznY2UHQ.net
>>814,810,811
ありがとうございます
やっぱ英語読めないと厳しいみたいですね

820 :808:2014/09/13(土) 13:46:13.24 ID:cznY2UHQ.net
>>816
ありがとうございます

821 :名前は開発中のものです。:2014/09/13(土) 13:47:58.97 ID:a+BXAX8q.net
>>819
え?
読めないの(´・ω・`)

822 :名前は開発中のものです。:2014/09/13(土) 17:23:18.15 ID:2SEiXqUf.net
>>808
>>802です。マテリアルの値をいろいろ弄ってみましたがうまくいきませんでした。シェダーのプログラムは、勉強不足で今は読めませんでしたので、シェダーについて勉強したいと思います。ありがとうございます。
とりあえずはMMD for Unityでモデルが丁度いい光具合になったので、それまではこの方法で行きたいと思います。

823 :名前は開発中のものです。:2014/09/13(土) 19:24:21.46 ID:LWZAyMym.net
>>821
日本人だもん(´・ω・`)

824 :806:2014/09/13(土) 22:12:48.06 ID:Wi4VBM3S.net
>>816
無事に変更できました
サンクスです!

825 :名前は開発中のものです。:2014/09/13(土) 22:25:58.12 ID:Wi4VBM3S.net
Photonは使わないNetworkViewでネット接続を試しているのですが
現在接続しているプレイヤー数を表示したいと思っています

http://docs-jp.unity3d.com/Documentation/ScriptReference/HostData-connectedPlayers.html
このコードで表示できるようなのですが
どういう風に組み込めばいいのか分からず・・・
foreach は必須でしょうか?
どなたか分かる方いらっしゃいますか?
言語はC#です

826 :名前は開発中のものです。:2014/09/13(土) 22:57:27.79 ID:MhOaR1Ns.net
UNITYで複数のオブジェクトの動きを同期させる方法が分かりません・・・
例えば、砲台に弾をつめる動作をさせる時、弾をつめている人の動きと、
砲台の中に入れられる砲弾の動きを同期させるときどうしたらよいでしょうか?
やはり浮動ボーンなどでゴリ押しするしかないのでしょうか・・・?

827 :名前は開発中のものです。:2014/09/13(土) 23:57:05.53 ID:jUt+k40/.net
iPhone6 が出ますが、画面サイズ変わるんですよね?
今 4inch に合わせて作ってるアプリを
両方に対応したいのですが、
どこを弄ることになるのでしょうか。

828 :名前は開発中のものです。:2014/09/14(日) 00:11:38.84 ID:/hg6eDWc.net
iOSの画面はアプデ来たら勝手に対応してくれるんじゃないですかね?

829 :名前は開発中のものです。:2014/09/14(日) 01:41:23.37 ID:3/r0lEwR.net
Unityをいじり始めて2日の初心者ですが質問させていただきます。
Spot Lightをユニティちゃんに当てところ反映されず真っ暗なままで困っています。

http://www.dotup.org/uploda/www.dotup.org5311898.png
このような状態です。
色々調べたのですがどのサイトでも同じ状況になることはないようで
難なくSpot Lightを使っています・・・。

一体何が悪いのでしょうか?
また、調べている途中で「AreaLightは有償でないと使えない」という情報を
得たのですが、もしかしてSpotLightも無償では使えないのでしょうか?
既出であればすみません、どなたかアドバイスお願いします。

830 :名前は開発中のものです。:2014/09/14(日) 02:03:05.36 ID:ZCOnrQ4i.net
>>829
アセットを買えばいいと思います

831 :名前は開発中のものです。:2014/09/14(日) 07:12:22.50 ID:hWPPLd1e.net
>>829
Unitychanのモデル表示に使ってるシェーダがスポットライト対応してないからじゃない

832 :名前は開発中のものです。:2014/09/14(日) 11:19:56.18 ID:IQbkbEo2.net
>>826
そういうメンドクサイことはできるようになったらやればいいと思うが

・仕様的にキャラクターには手のボーンの子として武器を持たせた時のための規準位置になる空オブジェクトを配置しておく
・武器を持ったりした時にそのタイミングに合わせてオブジェクトをその空オブジェクトの子として親子付けする。
・ローカル位置・回転も0(もしくは武器、オブジェクトごとに持っているオフセットデータ)にする。
・手から離れるタイミングで親子付けを解除する。不要なら消す。

とかだろうな。

833 :名前は開発中のものです。:2014/09/14(日) 11:21:56.31 ID:RY+sgsd3.net
>>829
unityちゃんのlayerと
spot lightのculling maskが一致してないとダメだよ

834 :名前は開発中のものです。:2014/09/14(日) 13:08:23.27 ID:KaBYy55J.net
Unityでのゲーム開発環境でWindowsじゃなくMac使う人が多いって何かで見たんだけどどうして?

835 :名前は開発中のものです。:2014/09/14(日) 13:09:18.01 ID:hqCR1JOx.net
>>834
アセットを買えばわかると思いますよ

836 :名前は開発中のものです。:2014/09/14(日) 13:23:49.13 ID:IQbkbEo2.net
iPhone向けのゲームが最もカネになると思われていて
実際iPhone向けに開発が行われてるからだろうが
正直な話この質問に対する最も適切な答えは
「アセットを購入すればわかりますよ」
だと思ったw

837 :名前は開発中のものです。:2014/09/14(日) 13:34:57.65 ID:KaBYy55J.net
あーXCodeがないとまずiOSアプリでBuild出来ないのね
Appleクソ過ぎ

838 :名前は開発中のものです。:2014/09/14(日) 13:39:50.17 ID:PQaPRE6B.net
開発者がマカーなんじゃなかったっけ

839 :名前は開発中のものです。:2014/09/14(日) 14:00:11.31 ID:mCdT0Yzn.net
Win環境しかないからとりあえずAndroidアプリとして開発しつつ、
いずれはMac導入したいなーって考えてる自分みたいな人も結構いるんだろうな。

840 :名前は開発中のものです。:2014/09/14(日) 14:05:49.04 ID:hWPPLd1e.net
>>834
Android,iOS両対応なゲームアプリとかのせいでMac使わざるを得ないってだけ
逆に3Dを手軽にDX11対応でって話ならWindows+Unityって選択になる

どっちにしてもMac対応って案件なんか出ないのがAppleのiOSに対する縛りがクソって結論

841 :名前は開発中のものです。:2014/09/14(日) 14:17:39.63 ID:/hg6eDWc.net
>>839同じく

842 :名前は開発中のものです。:2014/09/14(日) 14:43:01.27 ID:OzYc5ZqJ.net
Macじゃないと貧乏人認定されるから

843 :名前は開発中のものです。:2014/09/14(日) 14:48:11.69 ID:BlNts4PR.net
GUI.buttonで移動ボタンと攻撃ボタンを実装したんだけど、移動しながら攻撃できないみたいだ...どうしたら同時押しが有効になるの?

844 :名前は開発中のものです。:2014/09/14(日) 15:50:52.29 ID:vCLjaqxu.net
クリックするとプレイヤーに持たせた棒が動くようにしたいのですが、できずに困っています
Unity上でシリンダーを生成し、少し回転するアニメーションを作り、ゲーム中にクリックするとそのアニメーションが再生されるようにスクリプトを組んだのですが、
コンソールに

The AnimationClip '(アニメーション名)' used by the Animation component '(シリンダー名)' must be marked as Legacy.

と言う文章が出てきて再生もできません
自分なりに調べたところrigタブにある設定をlegacyに変更すれば良いといった内容を見つけたのですが、生成したシリンダーのインスペクターにはrigタブが見当たりません
Blenderなどでモデルを作ってからUnityにインポートすれば解決するのだろうとは思うのですが、上記のようなUnity上で生成したオブジェクトを動かすにはどうすればいいのでしょうか?

845 :名前は開発中のものです。:2014/09/14(日) 15:56:14.18 ID:hqCR1JOx.net
>>844
アセットをかえばいいとおもいますよ

846 :名前は開発中のものです。:2014/09/14(日) 17:02:17.98 ID:hWPPLd1e.net
>>843
GUI.Buttonだと一個しかイベント拾えないからその実装だと無理

assetstoreでscript系のjoypad stick とかで検索するとフリーのアナログパッドとか転がってるからそれを使うか
自分でInputクラスを処理すべし。

847 :名前は開発中のものです。:2014/09/14(日) 17:06:15.67 ID:BlNts4PR.net
>>846
サンクス
わからなくなったらまたここに遊びに来るわ

848 :名前は開発中のものです。:2014/09/14(日) 20:53:24.43 ID:vnOoOSpw.net
質問失礼します。

今、TPSを作っているのですが、プレイヤーキャラクターの子要素にロケットランチャーを付けてそこに弾丸発射様の
JSファイルをアサインしてるんですが、Instantiateした後にロケットランチャーのローカル座標で斜め上に飛ばそうとしています。

bullet.rigidbody.AddForce(Vector3(0,0.4,1) * 5000);

とするとワールド座標でプレイヤーの向きに関係なう同じ方向に飛んでしまいます。transform.forwardならローカル前には飛ばせるのですが、斜め上に飛ばす方法は無いでしょうか?

分かりにく質問ですみません。どなたか教えて下さい。

849 :名前は開発中のものです。:2014/09/14(日) 21:02:31.66 ID:IQbkbEo2.net
>>848
bullet.rigidbody.AddForce(transform.rotation*Vector3(0,0.4,1) * 5000);

850 :名前は開発中のものです。:2014/09/14(日) 21:29:54.57 ID:vnOoOSpw.net
>>849

おお、ありがとうございます!!斜め上に飛んでくれました。Vector3の前にオブジェクトのrotationを指定出来るんですね。

本当に助かりました。ありがとうございます!

851 :名前は開発中のものです。:2014/09/15(月) 00:23:37.97 ID:WDMK29F6.net
>>832
ありがとうございます!
FPSを作るのには絶対に欠かせず、尚且つ様々なことに応用できるので、
どうしても方法が知りたかったので、とても感謝しております!

852 :名前は開発中のものです。:2014/09/15(月) 02:17:06.99 ID:NpB18/ct.net
>>844
その英語の文章をちゃんと読むんだ。

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日の「アニメーションが再生されない」の記事を読め。

853 :名前は開発中のものです。:2014/09/15(月) 03:09:15.84 ID:C4B8ddE8.net
ヒヨコの絵が表紙の「Unity4入門」という本を参考にしているのですが

var 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

854 :名前は開発中のものです。:2014/09/15(月) 03:47:07.67 ID:Zz1HLPwN.net
Unity のコンソールを見る。
エラーが起きてる行載ってるからそこらへん見てみる。

ひよこは本の通り完璧に写してもエラーが起きる箇所が2,3箇所あったよ。
どんなググり方してんのか知らないけど、
ただ単にエラーをググるんじゃなくて、翻訳してみたり、
Nullって何ってとこ理解してかないと。

先に、javascriptかC#なりの基礎押さえておいた方がいいと思うよ。
スクリプトなしを謳ってるけど、結局必須だから。

855 :名前は開発中のものです。:2014/09/15(月) 03:49:10.57 ID:y6aS4cvJ.net
嗚呼、世界はこんなにも綺麗だったのだと
あなたたちも気付くはずです
もったいないですからね

856 :名前は開発中のものです。:2014/09/15(月) 05:51:59.70 ID:EP9YCgfl.net
count += Time.deltaTimeで1秒経ったら値を1ずつ増やしてテキストに描画って実行したんだけど
ストップウォッチで計ったら1分で1秒のズレが生じたんだけど、これってどういう事??
UnityのTime.deltaTimeがストップウォッチよりだんだん遅れてカウントされるようになる…

count += Time.deltaTime;
if(count >= 1.0f){
     totalpower += power;
     count = 0;
}

これ間違ってますか?どうしたら完璧な1秒毎に処理を実行できるようになりますかね…

857 :名前は開発中のものです。:2014/09/15(月) 06:32:16.89 ID:KxXTM8Bz.net
>>856
アセットをかえばできますよ

858 :名前は開発中のものです。:2014/09/15(月) 07:23:04.14 ID:joHIQ9ry.net
>>856
totalpower += powerが1秒カウントってことかな
だったら「count = 0」はまずいよね

count += Time.deltaTime;
if(count >= 1.0f){
     totalpower += power;
     count -= 1.0f;
}
だな

そもそも、
count += Time.deltaTime;
で、
(int)(count)が秒数を表す整数になるんじゃない?
どの道、誤差は最大で1フレーム分出てしまうけど

859 :名前は開発中のものです。:2014/09/15(月) 09:59:24.88 ID:y6aS4cvJ.net
間違いありませんって

860 :名前は開発中のものです。:2014/09/15(月) 11:00:15.19 ID:hFevD6QE.net
UnityでLeap motion+Oculusめちゃおもすれぇ

でもこんなニッチなの売れる訳が無いorz

861 :名前は開発中のものです。:2014/09/15(月) 13:54:57.60 ID:EP9YCgfl.net
>>858
Time.deltaTimeで加算し続けると1.0以上の値が出て、count=0にしたら1以上の値消してるからかー
うわー考えてみれば当たり前の事だった恥ずかしい。本当ありがとう

ちなみにtotalpower += powerは簡略化してて実際にはちょっと計算式書いてます
なのでcount変数はただ時間経過に使ってるだけですー

862 :名前は開発中のものです。:2014/09/15(月) 14:22:23.65 ID:y6aS4cvJ.net
だいたい45歳くらいの設定です

863 :名前は開発中のものです。:2014/09/15(月) 17:02:02.33 ID:cjp3gX9h.net
>>852
解決した
ありがとう
ちなみに俺が参考にしたページは英語のサイトだったからそのページではないな
そのページにあるリンク先だったかもしれない

864 :名前は開発中のものです。:2014/09/15(月) 17:06:15.61 ID:y6aS4cvJ.net
>>863
ほぼ同じシチュエーションでこう返答し、実行した

865 :名前は開発中のものです。:2014/09/15(月) 22:48:42.69 ID:C4B8ddE8.net
>>854
無事解決しました。
精進します、ありがとうございました。

866 :名前は開発中のものです。:2014/09/15(月) 23:10:27.72 ID:xyZh2GTA.net
質問失礼します。
NGUIを使ってゲームオブジェクトの直上に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にアサイン出来ません。

スクリプトの記述はサイト無いのスクリプトをコピペしても同じエラーが出ます。どなたか解る方教えて下さい。

867 :名前は開発中のものです。:2014/09/15(月) 23:30:22.24 ID:2w7eR1oN.net
そのblogに質問すればいいやん

868 :名前は開発中のものです。:2014/09/15(月) 23:35:37.34 ID:xyZh2GTA.net
>>867

そうですね。そうしてみます。こちらの方がレスポンスが速いかなと思った物で。こちらでも引き続き何が問題か解る方居られましたら、教えて下さい。

869 :名前は開発中のものです。:2014/09/16(火) 00:21:34.54 ID:xuVTahtE.net
>>868
まぁ多分Blog主が答え返してくれると思うが
ttp://blog.be-style.jpn.com/article/54284031.html
のコメント欄とか
本家のフォーラムとか。
ttp://www.tasharen.com/forum/index.php?topic=1763.0

870 :名前は開発中のものです。:2014/09/16(火) 00:47:28.17 ID:rQuytVCn.net
>>866
エラーメッセージはUILabelという型が無いといってる
NGUIはちゃんとインポートされてるの?

871 :名前は開発中のものです。:2014/09/16(火) 00:50:57.44 ID:xuVTahtE.net
一応具体的に書いておくとNGUIをJSで使うときはNGUIのフォルダ構成を変更しないとダメ、ということ。

872 :名前は開発中のものです。:2014/09/16(火) 00:59:35.50 ID:sI57oppG.net
>>870
そうですよね?型がないと言われてるんですが、UILabelはちゃんとそんざいするんですよ。

>>871
フォルダ構成というのは、UILabelをLabel_Controllerと同じフォルダに入れるという事でしょうか?英語が不得手ですみません。

873 :名前は開発中のものです。:2014/09/16(火) 01:05:28.66 ID:xuVTahtE.net
>>872
プロジェクト直下にPlugins-NGUIとフォルダを掘って
NGUI-Scrpt下のInteraction,Internal,Tweening,UIの4つのフォルダを
その中に移動する。
公式のフォーラムに画像がある。

874 :名前は開発中のものです。:2014/09/16(火) 01:44:24.35 ID:sI57oppG.net
>>873
プロジェクトビューにPlugins-NGUIというフォルダを作るという事でしょうか?公式のフォーラムは英語がダメな物で
何が何だか。

本当に素人ですみません。

875 :名前は開発中のものです。:2014/09/16(火) 01:50:38.39 ID:xuVTahtE.net
>>874
いやフォルダを変更した画像あるからw
ttp://www.tasharen.com/forum/index.php?topic=1763.0
さすがに画像見てもわからんとかないだろw

あともとのブログ主の過去記事のコメ欄にも同じことが書いてある
ttp://blog.be-style.jpn.com/article/54284031.html#comment
これは日本語だから。

876 :名前は開発中のものです。:2014/09/16(火) 02:02:30.83 ID:sI57oppG.net
>>875
本当に細かい所までありがとうございます。うまく行きました!ここの人達は本当に親切で助かります。

877 :名前は開発中のものです。:2014/09/16(火) 09:03:25.10 ID:ISfSFelt.net
腕ボーンの子としてつけられたアイテムのワールド座標(絶対座標)での速度をとりたいと思うんですがどうすれば取れるのでしょうか?
RidgebodyがGetPointVelocityというメソッドを持っているみたいなのですが
これを使えば取れるのでしょうか
この場合引数は何を意味するのか教えていただけるとありがたいです。

878 :名前は開発中のものです。:2014/09/16(火) 11:06:31.12 ID:xuVTahtE.net
>>877
全部が物理演算で動いているならとれるんじゃないか?
引数はワールド座標での位置だろ。
キャラクターをアニメーションで動かしてるとかだと多分無理。
自分で速度割り出しを実装するしかない。

まぁ前フレの位置と今の位置の差をとってTime.deltaTimeで割るだけだけどな。

879 :名前は開発中のものです。:2014/09/16(火) 11:42:10.11 ID:rQuytVCn.net
>>877
Rigidbody.velocityプロパティでいい
Rigidbody.GetPointVelocityメソッドはポイントの速度を得るときに使うもので普通は使いません

880 :名前は開発中のものです。:2014/09/16(火) 13:08:56.74 ID:cEC0r6Ej.net
>>878
腕の方にアニメーション使っていますね
速度の計算は
・毎月フレーム位置情報だけ取得しておき、速度の情報が必要になったときだけ
 保持しておいた位置情報を使って速度を算出するか
・毎フレーム速度を計算するか
悩み所ですね

アドバイスありがとうございました

>>879
velocityの値で取るとうまくいきませんでした
もしかしたらvelocityは実際の速さではなく
Ridgebodyに与えられたforceによって出た速度しか取得しないのかと
思ったのですがどうなのでしょう・・・
GetPointVelocityの情報ありがとうございました

881 :名前は開発中のものです。:2014/09/16(火) 13:27:11.23 ID:PIdQj0Ea.net
>>880
アセっトをかえばできると思いますよ

882 :名前は開発中のものです。:2014/09/16(火) 15:07:57.38 ID:w3Ayv2uN.net
質問失礼します。
外部のunitypackageファイルを動的に(実行ファイル実行中に)読み込む事は可能でしょうか?
unitypackageファイルのバイナリデータを解釈するやり方ではなく、
UnityEngineが用意したLoadUnityPackageみたいな関数があるのか?という質問です。
分かる方、よろしくお願いします。

883 :名前は開発中のものです。:2014/09/16(火) 15:34:50.16 ID:PIdQj0Ea.net
>>882
アセット買うとどうにかなると思いますよ

884 :名前は開発中のものです。:2014/09/16(火) 15:49:05.41 ID:SwAqzR2+.net
>>882
そういう端的な関数はない

885 :名前は開発中のものです。:2014/09/16(火) 16:39:44.27 ID:yQwqIDCe.net
>>882
実行バイナリにはEditor機能は付かないから無い
AssetBundle作ってダウンロードコンテンツ扱いにする事で似たような事はできる。

886 :名前は開発中のものです。:2014/09/16(火) 17:04:48.48 ID:w3Ayv2uN.net
>>883
>>884
>>885
返答ありがとうございます。
無理そうですね。というより、お作法的にありえないようですね。
ありがとうございましたー。

887 :名前は開発中のものです。:2014/09/16(火) 18:20:11.65 ID:mqzn/qnA.net
アセットを買うと〜って書き込み
面白くもなんともないんだけどどうなの

888 :名前は開発中のものです。:2014/09/16(火) 18:23:44.09 ID:eiZFzr+m.net
質問失礼します。
ドラッグでオブジェクトの移動をしていて、
オブジェクトを画面内に収めたいのですが

transform.position.x = Mathf.Clamp(transform.position.x,-3,3);
transform.position.y = Mathf.Clamp(transform.position.y,-5,6);


だとドラッグしている間、画面外に出てしまいます。
ドラッグしてる間でも画面外に出ないようにするにはどうしたらいいでしょうか。
どなたかお助けを・・・。

889 :名前は開発中のものです。:2014/09/16(火) 18:48:44.78 ID:PIdQj0Ea.net
>>888
アセットをかえば解決しますよ

890 :名前は開発中のものです。:2014/09/16(火) 19:11:58.89 ID:SwAqzR2+.net
>>888
Clampのminとmaxの値を画面外に出ない値に調整すれば良いんじゃないのか…
何を言ってるのかよくわからんレベルだ…。

891 :名前は開発中のものです。:2014/09/16(火) 19:22:06.51 ID:JB9cJY9u.net
Androidで外部ファイル(オーディオとかテキストとか画像)にアクセスするにはどうすればいいですか?
誰か簡単でいいのでヒントください

892 :名前は開発中のものです。:2014/09/16(火) 19:27:43.88 ID:3y1jbxQF.net
>>889
調子に乗るなクズ

893 :名前は開発中のものです。:2014/09/16(火) 19:28:51.03 ID:yQwqIDCe.net
>>891
いっちゃん簡単なのはWWWクラスでhttp://やfile://なURLで読み込む、サンプルも結構転がってる

894 :名前は開発中のものです。:2014/09/16(火) 19:47:09.87 ID:PIdQj0Ea.net
>>891
あせっとをかえばかいけつしますよ

895 :名前は開発中のものです。:2014/09/16(火) 20:05:11.78 ID:eiZFzr+m.net
>>890
マウスボタンを離すと弾かれるように画面内に戻っては来るんですが、
ドラッグ中は画面から出てしまいます・・・。

896 :名前は開発中のものです。:2014/09/16(火) 20:09:43.15 ID:gDOUZjim.net
オブジェクトのポジションじゃなくてマウスのポジションを制限するとか?

897 :名前は開発中のものです。:2014/09/16(火) 20:16:52.48 ID:SwAqzR2+.net
>>895
そしたらドラッグ中の処理を書けよw
それ以外の部分のコード書かれても知らんわw

898 :名前は開発中のものです。:2014/09/16(火) 20:26:02.04 ID:o1BDq6Rn.net
カメラで撮影した画像を保存し
アプリで使うにはどうしたらいいんでしょうか

899 :名前は開発中のものです。:2014/09/16(火) 20:56:36.75 ID:eiZFzr+m.net
>>890
>>896
>>897

transform.position.x = Mathf.Clamp(transform.position.x,-3,3);
transform.position.y = Mathf.Clamp(transform.position.y,-5,6);
の書き込み場所を変えたら解決しました。
申し訳ないです。ありがとうございました。

900 :名前は開発中のものです。:2014/09/16(火) 22:53:07.89 ID:PIdQj0Ea.net
>>898
アセットをかえばいいんではないでしょうか

901 :名前は開発中のものです。:2014/09/16(火) 23:17:12.74 ID:0UBiUxq3.net
4.6のbuttonのonclickに他のオブジェに関連づけたスクリプトを追加しました。
引数が無い関数は問題ないのですが、引数がある自前の関数は
Missing ファイル名.関数
と出てしまい、クリックしても実行されません。
いくつかのファイルと関数を試したのですが同じでした。
何が原因なのでしょうか?

902 :名前は開発中のものです。:2014/09/16(火) 23:33:34.18 ID:PIdQj0Ea.net
>>901
アセットをかっていないのが原因だと思いますよ

903 :名前は開発中のものです。:2014/09/16(火) 23:35:46.74 ID:sI57oppG.net
昨日、こちらでNGUIでのHP表示について質問した物です。

お陰様でHPを表示出来る様になったのですが、HPゲージの方が良いかな?と思い、昨日教えて頂いた物にアレンジして
HPゲージを実装したのですが、GUIで表示すると遠くに居る敵のゲージも同じサイズで表示されてしまい、画面が非常に喧しい状態です。
NGUIで、遠近法の様な表現は出来るのでしょうか?遠くに居る敵のゲージは小さく表示したいのですが、何か方法をご存知の方教えて下さい。

またもや解りにくい質問ですみません。

904 :名前は開発中のものです。:2014/09/16(火) 23:39:32.96 ID:0UBiUxq3.net
>>902
自己解決しました
いつも的確なアドバイスありがとうございます!

905 :名前は開発中のものです。:2014/09/16(火) 23:51:51.69 ID:SwAqzR2+.net
>>903
カメラと敵の距離とってそれに応じてスケール掛けりゃ良いじゃん

906 :名前は開発中のものです。:2014/09/17(水) 00:15:33.55 ID:uxOiWrE2.net
>>905
返信ありがとうございます。
Vector3.Distance(this.transform.position,target(カメラ).transform.position)
で距離を取って、その値に応じてサイズを小さくするという事ですかね?ちょっと具体的なスクリプトが思い浮かばないんですが、そういう関数とかUnityで用意されてるんでしょうか?

本当に素人ですみません。

907 :名前は開発中のものです。:2014/09/17(水) 01:06:45.26 ID:TgClCkNf.net
敵オブジェクトの位置をenemyPosition、カメラの位置をcameraPositionとして
transform.localScale=Vector3.one/Vector3.Distance(enemyPosition,cameraPosition);
とでも書けばそれでカメラと敵の距離に応じて拡縮されるだろう。
これ素人とかそういう話じゃなくて殆ど小学校の算数レベルの話なのでちとまじめに数学やったほうがいいよ

908 :名前は開発中のものです。:2014/09/17(水) 01:44:57.57 ID:dCsQf4sl.net
ugui でImageのFillAmountいじって0と1の間ピョコピョコさせて
遊ぼうと思って、下のように書いたら一旦0から1まで正常に画像
サイズが変わった後、画像が表示されなくなる事案が発生した。
インスペクター上では0から1までの値を絶え間無く動いてるんだけど
なんで見えなくなったのか、心当たりある方いませんか?

909 :名前は開発中のものです。:2014/09/17(水) 01:46:01.90 ID:dCsQf4sl.net
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;
}
}

910 :名前は開発中のものです。:2014/09/17(水) 05:16:56.25 ID:L0ltBKpB.net
>>909
pointの値が0.9999ぐらいまで達した時、
結局1.0より大きい値を代入してしまうからじゃないかな。

エラーコンソールには何も出ないのかな?
とにかく、ログ出したりブレークポイント設定する癖は付けよう。

911 :名前は開発中のものです。:2014/09/17(水) 05:32:19.35 ID:L0ltBKpB.net
void Update () {
point += 0.5f * Time.deltaTime;
if(point > 1.0f){
point = 0f;
}
hp.fillAmount = point;
}
}

こうかな。

あと0.5fみたいなマジックナンバーは、
少なくとも人にコード見せる時には望ましくない。
まぁ適当な試し書きなんだろうけど、
public float duration = 0.5f;
とでもして調整しながら遊ぶんだほうが楽だし、一石二鳥。

912 :名前は開発中のものです。:2014/09/17(水) 08:59:27.56 ID:3TtavMW+.net
>>911
なるほど
特にエラーコンソールには何も出てませんでしたね。
今外だから確認できないけど、あとで書き方直してみるよ。

あ、ちなみに私は903です

913 :名前は開発中のものです。:2014/09/17(水) 19:15:23.65 ID:PCuRqwcr.net
proが無償提供されましたが、単に高機能だから、で移行していいのですか?
何か罠があったりします?

914 :名前は開発中のものです。:2014/09/17(水) 20:25:43.98 ID:lKIQahDY.net
それ、PS3、PS4 VITA開発用ライセンスだよ。
フリーの人はフリーの機能しか使えない

915 :名前は開発中のものです。:2014/09/17(水) 20:42:29.24 ID:VDrmalKG.net
それ様に作っても普通の人は発表も出来ないんじゃー

916 :名前は開発中のものです。:2014/09/17(水) 21:16:24.10 ID:v03MWI3F.net
実行ボタン押すとGame、Scene以外が真っ黒になるんですけど
何が問題だと考えられますか?

一度アンインストールして入れなおしたり、
プロジェクト読み込みなおしたりはしました。
再起動もしました。

917 :名前は開発中のものです。:2014/09/17(水) 21:27:10.42 ID:cOvTCFWZ.net
ソニーにお金払えば売ってもらえるんでしょう?

918 :名前は開発中のものです。:2014/09/17(水) 21:34:11.38 ID:vCDmkxyV.net
>>916
メニューの[Edit]→[Preferences...]→Colorタブ→Playmode init
はどうだい?

919 :名前は開発中のものです。:2014/09/17(水) 22:00:41.35 ID:dCsQf4sl.net
903の続きだけど
>>911みたいに書いたがダメみたいだった。
そこで、試しに代入する値を0じゃなくて0.1とか他の値にするとその値からの画像はgame windowにも反映されました。

本当は0使いたいけど、とりあえず確認ついでに報告

920 :名前は開発中のものです。:2014/09/17(水) 22:09:24.55 ID:v03MWI3F.net
>>918
ありがとうございます!解決しました。

921 :名前は開発中のものです。:2014/09/17(水) 22:54:47.83 ID:6eZ6UBuv.net
Animatorコンポーネントを利用したアニメーションで、スクリプトを用いて
アニメーションを途中から開始する方法など無いでしょうか?
(1ループ60フレームのアニメーションを30フレーム目から始めるとか)

922 :名前は開発中のものです。:2014/09/18(木) 05:47:40.83 ID:1IwjnSZ3.net
ごめん、909って無償提供されるのはUnity ProじゃなくてプレステPSVITA用のUnity Proの一機能ってこと?
フリーの人には関係ないんだよね?

923 :名前は開発中のものです。:2014/09/18(木) 08:51:03.54 ID:KWchqHT+.net
>>922
便乗質問
パブリッシャー登録してるんだけど
そのときに使えるPSMとは違うのかな?
この辺に詳しい人いませんか

924 :名前は開発中のものです。:2014/09/18(木) 09:06:58.22 ID:mFsSOliH.net
今回の話は基本的に個人開発者は関係ないよ
UnityProを貰うためにはソニーと正式に契約を結ばないと駄目
もちろんPSMとは全く別

925 :名前は開発中のものです。:2014/09/18(木) 09:52:56.86 ID:aS/F3+Tz.net
プロの開発テクニックがあちこちで共有されはじめたら、
おまんま喰えませんから、素人には解放いたしません

926 :名前は開発中のものです。:2014/09/18(木) 12:16:20.41 ID:1IwjnSZ3.net
なんだ、関係ないんですか
すべての開発者じゃなくて開発社ってことか・・・

927 :名前は開発中のものです。:2014/09/18(木) 13:26:58.60 ID:lMrEffR+.net
質問よろしいでしょうか?
アクションゲームを制作していて、プレイヤーがエリアに入ると敵が出現するスクリプトを書いたのですが、
プレイヤーがそのエリアを出た時にOnTriggerExitでそのエリア内の敵をまとめて削除しようと思っています。

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

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

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

何か良い解決策があればご教示願います。

928 :名前は開発中のものです。:2014/09/18(木) 13:40:40.80 ID:+AXSMCOr.net
できない訳がないのでおかしなプログラムを書いてるだけだろう。
Transform child out of boundsは要素を超えてオブジェクトを削除しようとしてるだけだ。
5つしかないものを6回消そうとしているってこと。
for文の書き方を理解していないということであり固まって生成されるのも同じようなプログラム上のミスだろう。

929 :名前は開発中のものです。:2014/09/18(木) 13:46:18.21 ID:19YDDXs0.net
>>927
forかwhileでtransform childrenをループして消そうとしてるんじゃねぇの?
ループの中で数が減らされた分が考慮されてない感じ。

あとエリア纏めてるオブジェクトに子オブジェクトつるしておけば出口では纏めてるオブジェクト一個destroyするだけで纏めてパージできるよ

930 :名前は開発中のものです。:2014/09/18(木) 14:09:51.74 ID:lMrEffR+.net
>>928
ですよね?もう一度見直してみます。

>>929
おっしゃる通りfor分でループして消そうとしていた為に出たエラーだと思います。
エリア自体は再利用というか、またプレイヤーが入った時に敵を生成したいのでその子要素にから纏めて削除する様の
空オブジェクトを作ったのですが、そこで上記の様な状態になってます。

931 :名前は開発中のものです。:2014/09/18(木) 17:49:40.56 ID:Z8+2C39O.net
blenderでunity用のモデルを作っているのですが、
両面かするとblenderでの認識がおかしくなってしまいます・・・
unity側で両面化などは行えるのでしょうか?

932 :名前は開発中のものです。:2014/09/18(木) 18:08:13.36 ID:d+bCV3Yw.net
両面化ってそもそもどういう操作を言ってるのか。
ダブルサイデッドなシェーダーはデフォルトだとパーティクル系しかない。
ちょっと調べれば自分でシェーダをダブルサイデッド化するのは可能。

933 :名前は開発中のものです。:2014/09/18(木) 18:38:14.11 ID:d+bCV3Yw.net
あとついでに言うとBlenderで作っててBlender内での認識がおかしいのは
モデルのデータが既におかしいのではないか。

934 :名前は開発中のものです。:2014/09/18(木) 18:46:54.72 ID:lMrEffR+.net
またもや質問失礼しまうす。

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が送られてしまいます。視界外に消えた時の処理として根本的に間違ってるんでしょうか?

どなたかご教示下さい。

935 :名前は開発中のものです。:2014/09/18(木) 18:59:23.02 ID:dqVmO5Q1.net
2Dのジャンプで詰まったので質問させてください。

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

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

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

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

分かる方、お願いします。

936 :名前は開発中のものです。:2014/09/18(木) 19:14:52.01 ID:mabT2JWT.net
>>935
移動の処理もAddForceにすればいい!
駄目かな

937 :名前は開発中のものです。:2014/09/18(木) 19:15:29.13 ID:aG6fkobJ.net
>>934
viewPos.zが正数ならカメラの前方,負数ならカメラの後方にある

ただ、そういう処理はMonoBehavior.OnBecameVisibleとOnBecameInvisibleでやった方が楽ではないかと思う

938 :名前は開発中のものです。:2014/09/18(木) 19:28:37.75 ID:d+bCV3Yw.net
OnBecameVisible()とかはrendererコンポーネントがついてないと
ダメなんじゃなかったかな〜。
なのでview.Pos.zの正負で判断するのがこの場合は正しいと思う

939 :名前は開発中のものです。:2014/09/18(木) 19:31:24.66 ID:d+bCV3Yw.net
>>935
左右移動の処理をジャンプ中も続けさせれば良いんじゃね?
もしくは前フレの位置を常に取っておいてジャンプした時に
左右方向の速度を計算してVelocityに放り込む。

940 :名前は開発中のものです。:2014/09/18(木) 19:32:44.35 ID:aG6fkobJ.net
>>938
>OnBecameVisible()とかはrendererコンポーネントがついてないと
そうだったか、嘘教えてごめんなさい>>934

941 :名前は開発中のものです。:2014/09/18(木) 19:36:55.77 ID:lMrEffR+.net
>> 933
ありがとうぞざいます!無事望んだ結果になりました!

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

何はともあれ、本当にありがとうございます!

942 :名前は開発中のものです。:2014/09/18(木) 19:39:05.03 ID:lMrEffR+.net
すみません、アンカーをミスってました。

>>937の方も>>938の方もありがとうございます!

943 :930:2014/09/18(木) 20:00:10.37 ID:dqVmO5Q1.net
>>936
>>939
返答ありがとうございます。

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

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

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

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

944 :名前は開発中のものです。:2014/09/18(木) 20:25:04.91 ID:b6lugVGiA
>>933
説明が足りませんでしたね。
blenderには両面化の機能がないらしく、
メタセコで両面化したものをインポートすると処理がおかしくなってしまうんです。
ダブルサイデッドに関して調べてみます。ありがとうございました!
ちなみにID変わってますが>>931です。

945 :名前は開発中のものです。:2014/09/18(木) 22:08:51.88 ID:kK9bImeB.net
C++でやりたいからってだけでPro買ってる人いる?

946 :名前は開発中のものです。:2014/09/18(木) 22:39:20.02 ID:YzkdkCym.net
いらない

947 :名前は開発中のものです。:2014/09/18(木) 23:07:49.43 ID:YNjSCuIV.net
c++のためにpro買うならc#の教本買ったて学んだ方がためになると思う
何のためになるのかは知らん

948 :名前は開発中のものです。:2014/09/19(金) 07:28:20.71 ID:kQLz7WZJ.net
UnityでC++って、どゆこと?
dll?

949 :名前は開発中のものです。:2014/09/19(金) 13:06:10.84 ID:34wbMNwL.net
ProだとC++使えると聞いて今まで作ったゲームの移植も少しは楽になるのかなと思って
C#勉強しつつやってみます

950 :名前は開発中のものです。:2014/09/19(金) 16:35:32.69 ID:6H4QSqzF.net
質問です。

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

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

他にNGUIでプレイヤーと敵のHPゲージを表示していて、それらの表示は正常です。どなたか解る方教えて下さい。

951 :名前は開発中のものです。:2014/09/19(金) 16:45:03.43 ID:7f+A6pyf.net
>>950
そのゲームがどんなデータ構造でどんな風にデータのやり取りしてるかも
わからんのに判る訳ねぇw

まぁありがちな例としてはFindで何かを取得しててInstantiateした場合
名前に(clone)がついてるので取得に失敗してるとかくらいか。

952 :名前は開発中のものです。:2014/09/19(金) 17:10:33.51 ID:6H4QSqzF.net
>>950
説明が足りなかったですね。

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

説明が非常に解りにくいかと思いますが、よろしくお願いします。

953 :名前は開発中のものです。:2014/09/19(金) 17:12:41.72 ID:6H4QSqzF.net
あぁ、すみません、敵側のスクリプトではInstantiateしたLabelにはGetComponentしてdamageを送っています。

954 :名前は開発中のものです。:2014/09/19(金) 17:29:08.42 ID:PzaFcNaq.net
InstantiateしたラベルのレイヤーをNGUIにしてないとか

955 :名前は開発中のものです。:2014/09/19(金) 17:34:38.06 ID:6H4QSqzF.net
>>954
ありがとうございます。確かになってなかったです。でも、レイヤーをNGUIにしてもやっぱりそのエリアに居る時だけ、
というか、そこでInstantiateした敵だけダメージが表示されません。

他のエリアで直接シーンに置いたプレファブはちゃんと機能しているのに何故なのかが解りません。

956 :名前は開発中のものです。:2014/09/19(金) 17:53:38.76 ID:7f+A6pyf.net
なんか面白いな。ホントに何か制限があるのかもしれんね。
ちょっと自分で試してみる。

957 :名前は開発中のものです。:2014/09/19(金) 18:08:36.74 ID:6H4QSqzF.net
>>956
何か、わざわざすみません。自分でも色々弄ってみます。

958 :名前は開発中のものです。:2014/09/19(金) 18:55:24.18 ID:pg++7joH.net
セール中のbreadcrumbAIてどうなん?
買った人いませんか?

959 :名前は開発中のものです。:2014/09/19(金) 19:25:23.43 ID:ousSC5Zw.net
javascriptで2進数を10進数に変換する方法はないでしょうか
parseInt("01001",2)だと
No appropriate version of 'UnityScript.Lang.UnityBuiltins.parseInt' for the argument list '(String, int)' was found.
が出てしまい基数の指定がどうしてもできないのです

960 :名前は開発中のものです。:2014/09/19(金) 19:45:18.71 ID:PzaFcNaq.net
>>959
System.Convert.ToInt32("01001",2)

961 :名前は開発中のものです。:2014/09/19(金) 19:52:15.69 ID:ousSC5Zw.net
>>960
おお!迅速な解答ありがとうございます!上手く2進数変換できました!

962 :名前は開発中のものです。:2014/09/19(金) 19:52:30.40 ID:7f+A6pyf.net
>>957
あれ?うん、全然できたわw
実は前にちょっと同じようなとこでおかしくなったようなことがあった気がしたんで
試してみたんだがすまん、全然できるわw
つまりキミのプログラムがおかしいんだよw

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

Nguiとか含んでるからプロジェクトさらすのはアレなんで
WebPlayerにビルドしたものだけあげとく。
基本的には説明されたのと全く同じデータの流れになっているはず。
ttp://www1.axfc.net/u/3323483
ADで回転WSで前進後進左クリックで射撃。

963 :名前は開発中のものです。:2014/09/19(金) 20:11:57.93 ID:SY+5mhWp.net
live animationでアニメーション作ってる人って居ますか?
フリーで作るならあれがいいのでしょうか

964 :名前は開発中のものです。:2014/09/19(金) 21:06:10.36 ID:6H4QSqzF.net
>>950です。まだ解決はしていないのですが原因が解りました。
LabelをDestroyせずに実行して、確認した所Labelは画面外に生成されていました。
原因は敵側でInstantiateした後、Lavel側から敵のlocalPositionを取得して位置決めをしていた為でした。

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

>>956さん、もし試しておられたら本当にすみません。

965 :名前は開発中のものです。:2014/09/19(金) 21:29:38.93 ID:1Q9qPuSg.net
アセットかえばいいとお思います

966 :名前は開発中のものです。:2014/09/19(金) 23:05:16.47 ID:eHI9MRkV.net
おい959、セール中のbreadcrumbAIてどうなん?
こたえろや

967 :名前は開発中のものです。:2014/09/19(金) 23:12:48.08 ID:7YcSuCUn.net
>>966
普通のパン屑(足跡にパンをちぎって遺すっていう童話由来)を使ったAIと巡回地点処理を持つだけど800円なら買っても良いレベルで良くできてる。
一定距離を保つタイプと格闘用に隣まで来るタイプの二種を扱える。

開発者のビデオがつべに置いてあるから見てみれば?

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

ちなみにアセットを買っても、買い続けても解決しません。
分かる方、よろしくお願いします。

969 :名前は開発中のものです。:2014/09/19(金) 23:22:35.50 ID:U9mbwzcb.net
流れ読まずに投下です

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

今はキーを押してもIdleが1周再生終わるまで時間がかかる状態です

970 :名前は開発中のものです。:2014/09/19(金) 23:27:41.85 ID:7YcSuCUn.net
>>968
カメラが一つしかないならCamera.mainで参照できる

971 :962:2014/09/19(金) 23:27:51.80 ID:upJnEeah.net
cameraってオブジェクトに関連付けられたカメラだったんですね。
Camera.mainを見つけました。
こちらもnullでしたが、、、
もう少し自分で調べてみます。
ありがとうございました。

972 :名前は開発中のものです。:2014/09/19(金) 23:34:30.16 ID:7YcSuCUn.net
>>971
ダイナミックに生成したオブジェクトからならCameraオブジェクトの名前を使ってFindで取得するかシーン毎に決まっているなら最初からカメラ変数を自分でAssignする方法が一番無難

973 :962:2014/09/19(金) 23:41:24.36 ID:upJnEeah.net
>>970
>>972
返答ありがとうございます。

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

Camera.currentを見つけました。
こちらはnullではなかったので、これを利用したいと思います。
ありがとうございました。

974 :名前は開発中のものです。:2014/09/20(土) 00:59:14.49 ID:o71PBM+Q.net
Camera.mainがヌルなのはTagがMainCameraになってないからだろうな

975 :名前は開発中のものです。:2014/09/20(土) 01:10:53.55 ID:UEIxDG/J.net
unity2Dで実装してるのですが、アニメーションを使ったオブジェクトが移動できなくて困っています。
具体的には、
Start()内で
rigidbody2D.velocity = transform.right.normalized * -1.0f;
をして移動させるようにしているのですが、
そのオブジェクトに「Animator」を追加した時点で移動がされなくなります。
AnimatorにはMuliple Spriteでのアニメーションキーフレームがいくつか入っています。
原因わかる方いればおしえてください。

976 :名前は開発中のものです。:2014/09/20(土) 01:11:51.83 ID:goS6Mui0.net
>>975
AnimatorコンポーネントのApplyRootMotionのチェックをはずす

977 :名前は開発中のものです。:2014/09/20(土) 01:16:23.02 ID:P9IFvS0N.net
>>975
アセットをかえばいいとおもいますよ

978 :名前は開発中のものです。:2014/09/20(土) 01:47:53.04 ID:Q3piAkFB.net
アセットおじさん今日も元気だね。
Unityから金をもらってやってるんだよね?
Unityはアセット販売の中間マージン取ってるもんね。
要はステマだよね?

979 :名前は開発中のものです。:2014/09/20(土) 01:49:57.45 ID:rI2J3Bys.net
ステルス性能低くてもステマとはこれは如何に?

980 :名前は開発中のものです。:2014/09/20(土) 08:27:17.49 ID:+c4ohn26.net
あしぇっと!あしぇっとをかいなしゃれ!
あの病人は
じいさんになってUnityがこの世からなくなっても死ぬまでやってるんだろうな

981 :名前は開発中のものです。:2014/09/20(土) 10:55:43.96 ID:q5cJgjS3.net
AnimatorのTriggerって一回trueにすると
それと対応するトランジションを通るまで絶対にfalseに戻らないんでしょうか

1瞬だけtrueになるものと思ってコード組んでたらまるで駄目な挙動になってしまいました・・・

982 :名前は開発中のものです。:2014/09/20(土) 10:59:41.22 ID:q5cJgjS3.net
すみません自己解決しました
もしやと思って試したら普通にSetBoolでTriggerの状態を変更できました

983 :969:2014/09/20(土) 11:30:50.61 ID:UEIxDG/J.net
>>979
解決しました!ありがとうございます

984 :名前は開発中のものです。:2014/09/20(土) 12:00:01.18 ID:flA56tyx.net
次レスの人ガンバ!

985 :名前は開発中のものです。:2014/09/20(土) 14:18:48.68 ID:x8RK9EKY.net
Unity5になったら、全部IL2CPPになってCコンパイラでネイティブexeになってMonoランタイムって無くなるの?
exe一個だけとかのシンプルな環境に出来たりするの?

986 :名前は開発中のものです。:2014/09/20(土) 14:57:53.57 ID:CciTK/RU.net
>>967
ありがとー
とりあえず買ってみたけどグレーと黄色のGUIがダサいね…

987 :名前は開発中のものです。:2014/09/20(土) 16:26:13.75 ID:SXjiW3S+.net
じゃあ逆にここの人達はどうやってアニメーション作成してるんですか?

988 :名前は開発中のものです。:2014/09/20(土) 17:04:52.40 ID:8ivgOrCG.net
キューブをクリックした数が表示されるプログラムを作っているのですがわからないことがあるんです
if(Input.GetMouseButtonDown(0)) を使ったらキューブだけでなく画面どこでもクリックすれば数がカウントされるのと
クリックされるたびにCOUNT(変数)にプラスするようにして GUI TEXT でそれを表示するために
guiText.text = COUNT.ToString() とすると まずCOUNTが定義されてないと言われます(別のJSで宣言しています)
しかし変数を宣言してやってもguiに表示される数は変わりません
Debug.Logで数が増えてないのかと思い確認したのですがどうやら増えているようです
ひよこ本を参考にして本では宣言がなくてもエラーなどはなかったのですが・・・

989 :名前は開発中のものです。:2014/09/20(土) 17:13:31.78 ID:flA56tyx.net
>>988
>クリックされるたびにCOUNT(変数)にプラスするようにして GUI TEXT でそれを表示するために
guiText.text = COUNT.ToString() とすると まずCOUNTが定義されてないと言われます(別のJSで宣言しています)
別のJSの参照を持ってこないと触れないというプログラムの基本的な事から勉強しないと駄目ですな
Unityはわりと楽に物が作れるけどプログラミングの素養がある程度必要なのでここばかりはちゃんと勉強しないと話にならないのです。

990 :名前は開発中のものです。:2014/09/20(土) 17:14:20.16 ID:WCRjPejE.net
C#しかわからんけど、物体のクリック判定ならColliderコンポーネント持たせてOnMouseDown関数で取得
キューブのクリック数ならキューブのクラス内に変数持たせればいいんじゃ?
外から取るならCOUNTを持ってるクラスにまずアクセスしないといけない

991 :名前は開発中のものです。:2014/09/20(土) 17:28:41.94 ID:fSMxhaTL.net
アニメーションはunityで作んなくてもいい

992 :名前は開発中のものです。:2014/09/20(土) 17:45:34.31 ID:flA56tyx.net
>>991
むしろUnityでやるのは苦痛じゃないかなー
2D物だとしょうもないけど、3Dなら専用ツール使うべき(あるいはMixamoでアニメーション買う)
純粋な2DならAdobeのFlashつかってアニメーションをLWFで再生とかにする方がよっぽど楽

993 :名前は開発中のものです。:2014/09/20(土) 18:41:26.28 ID:jp5sYj7X.net
ここはアセットおじさんに倣って「Final IK」を進めるべきなんじゃ

994 :名前は開発中のものです。:2014/09/20(土) 19:20:04.96 ID:MiUlwvoz.net
今、ngui買うのって時期的に勿体無いのかな。
uguiいじってるけどボタンが重なったり、モバイルで妙に重かったり上手く使えない。
nguiはそこらへんの情報も揃ってそうと期待しちゃうんだけど...

995 :名前は開発中のものです。:2014/09/20(土) 19:33:53.03 ID:jp5sYj7X.net
>>994
DFGUIがオープンソースになってるからそっち使ってみれば?
俺もNGUI持ってないから買うか悩んでるけど、とりあえずセール待ちしてDFGUI使ってる。

996 :名前は開発中のものです。:2014/09/20(土) 20:25:25.48 ID:AdUNXHir.net
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になる為、エラーが出てしまいます。
非アクティブな状態でも、子要素を取得する方法はあるのでしょうか?また、他に何か良い解決策があれば是非教えて下さい。
よろしくお願いします。

997 :名前は開発中のものです。:2014/09/20(土) 20:51:37.36 ID:MiUlwvoz.net
>>995
DFGUIも面白そうだけどこれからngui使う可能性も考えてnguiのフリー版
でいろいろやってみるわ
アドバイスありがとう

998 :名前は開発中のものです。:2014/09/20(土) 21:05:23.79 ID:Rb33ipGH.net
>>996
if(labelNameObj!=null&&labelNameObject.activeInHierarchy==true)
とかにしてアクティブだったら送るようにしたら?

999 :名前は開発中のものです。:2014/09/20(土) 21:23:45.70 ID:AdUNXHir.net
>>998
なるほど!activeInHierarchyというのがあるんですね!
ダメージ関数内だと、非アクティブからアクティブに変わった時に2回分のダメージ分減ったHPが送られそうなので、Updeta内に記述してみます!

ありがとうございます!

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

1001 :名前は開発中のものです。:2014/09/20(土) 23:03:38.72 ID:U07EJoPl.net
何を上下反転させたいの?
おち物パズルゲームで上下反転させて落下方向が変わるとか

具体的にゆって

1002 :名前は開発中のものです。:2014/09/20(土) 23:08:11.72 ID:Rb33ipGH.net
シーンのカメラ操作系は残念ながら自由にはならない。
重力を反転させたいだけなら
Physics.gravity =Vector3.up*9.8;
とかすればできる。
ttp://docs.unity3d.com/ScriptReference/Physics-gravity.html

1003 :名前は開発中のものです。:2014/09/20(土) 23:10:49.39 ID:py5EboSz.net
>>1001
自分の底辺人生を反転させたいんですが
どうしたら一発逆転出来るでしょうか?

1004 :994:2014/09/20(土) 23:26:21.76 ID:Q3piAkFB.net
>>1001
EditorのSceneの2Dの表示を上下反転させたいです。

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

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

1005 :名前は開発中のものです。:2014/09/20(土) 23:37:17.97 ID:U07EJoPl.net
>>1003
アセットを買えばおk

1006 :名前は開発中のものです。:2014/09/20(土) 23:49:50.93 ID:0PIlBCK0.net
1000ならクソゲーが完成する

1007 :2ch.net投稿限界:Over 1000 Thread
2ch.netからのレス数が1000に到達しました。

総レス数 1007
310 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200