3:名前は開発中のものです。
16/01/11 14:26:50.41 jh+IJu+Y.net
Unity5.3.1 で起動すると画面が灰色で、動きません。どうしたらいいですか?
4:名前は開発中のものです。
16/01/11 23:15:03.66 B3JfDoAX.net
マップデータをtext形式でセーブしゲーム開始時にロードするシステムを作ったのですが
セーブを行った時にtextファイルを上書きで書き込んでるのですが
Play中セーブを行ってもtextの中身が変わらずmonodevelopでtextファイルを開いた時に更新されました
上書きはちゃんと出来ているのですがmonodevelopで一度開かないと更新がされません 原因わかる方いませんか?
セーブするときはStreamWriter とFileInfo を使いました
5:名前は開発中のものです。
16/01/12 00:44:43.39 2QuOWJx6.net
ソースコードを貼ってくれと何度も(ry
あとセーブデータをテキストファイルで保存するのは(手法の一つとしては)いいが、後で暗号化なりの処理を加えとかないと書き換え放題だぞ
6:名前は開発中のものです。
16/01/12 02:57:30.91 zes3wFGw.net
ファイルの書き込みとは、メモリに書き込むだけ。
それをどういうデバイスに、いつ書き込むかは、OSの設定による
絶対にデバイスに書き込みたいのなら、
(同期的に)flush して、メモリからデバイスに書き込む
非同期だと、本当に書き込んだかどうか、わからない
7:名前は開発中のものです。
16/01/12 10:37:02.27 7+Ji+X3F.net
public void Save
{
Map mapdata = GameObject.Find("MAP").Getcomponent<Map>();
StreamWriter sw;
FileInfo fi;
fi = new FileInfo(Application.datapath + "/Resources/stageData.txt");
sw = fi.CreateText()
for(int i=0;i<mapdata.maxY;i++){
for(int j=0;j<mapdata.maxX;j++){
sw.Write(mapdata.pos.y);
sw.Write(",");
sw.WriteLine(mapdata.pos.x);
}
}
sw.Flush();
sw.Close();
}
ソースコードはこの様な感じです
Mapのデータを書き込むようにして
保存先はリソースファイルに指定しています
8:名前は開発中のものです。
16/01/12 14:33:57.23 Ujpm+eby.net
質問です
今単純なオブジェクトをまぁ大体100個位同時に表示させるゲームを作ってるんですが
Batchesつまりドローコールがかなり多くなってしまいます
オブジェクトを一つのマテリアルで共用で使うように変更してみたりしたのですが
やっぱりドローコールが多いです
ドローコールを下げる方法ってのはどういうものがあるでしょうか?
9:名前は開発中のものです。
16/01/12 21:54:46.06 vxzjE1XO.net
batchsとdrawcallは別だよ
batchsの値は、「それだけdrawcallを減らせた」って事だから、batchsの値が高くても、気にしなくていい
10:名前は開発中のものです。
16/01/12 21:56:46.09 vxzjE1XO.net
saved by batchesの方だった
嘘教えてごめん
11:名前は開発中のものです。
16/01/12 22:00:31.79 vxzjE1XO.net
3Dで作ってるなら、drawcallが多くなるのは、これが原因かも
URLリンク(detail.chiebukuro.yahoo.co.jp)
12:720595
13:名前は開発中のものです。
16/01/12 22:38:14.54 x5b084d/.net
>>7
Unity5系であれば、Frame Debbuger使えば実際のドローコールが目視で確認できるから見てみるのもいいかもしれない
14:名前は開発中のものです。
16/01/13 00:59:26.62 GYbfaCxv.net
>>10
うーむ
違いますねぇ~
ライトはもともと設置してあるディレクショナルライト一つを多少向きを変えて使ってるだけです
>>11
明日チェックしてみます
15:名前は開発中のものです。
16/01/13 13:30:48.96 xhzQbyIl.net
>>6
>sw.Flush(); sw.Close();
よく知らないけど、普通、ファイルのClose()を呼べば、
その中でFlush()を呼ぶから、
Close()する際、Flush()は書かなくてよい
サンプルを見て、sw.Flush(); sw.Close();と書いてあるなら、
その通りにしてください
16:名前は開発中のものです。
16/01/13 13:31:57.31 VqYoBuzo.net
なんでよく知らないのに書くんだろう…
17:名前は開発中のものです。
16/01/13 13:37:31.68 2ZlhPTps.net
前スレ >>999
レスありがとうございます。
自前で用意するしかないようなので、もう少し Animator 周りを調べてみます。
18:名前は開発中のものです。
16/01/13 14:06:36.40 V7WW9YF0.net
>>13
Close()呼べばFlush()されるので明示的に呼ぶ必要はないというのは正しい
ただしusingステートメント使えばClose()も明示的に呼ぶ必要はない。
>>6のソースだと途中で例外が発生した場合Closeされないのでusingステートメントを使うのがいいと思う
19:名前は開発中のものです。
16/01/14 00:30:32.20 ktxMKZ7s.net
>>7ですがまだ完全とは言えませんがとりあえず何割か改善しました
パーティクルのエフェクトにソートの設定を付けたら良くなりました
20:名前は開発中のものです。
16/01/14 12:12:38.26 dtN67MUT.net
複数シーンを扱えるようになったけど、
別シーンのオブジェクトを変数で参照しておくと、新しいインスタンスが作られてしまう。
基本的にシーンまたぎの参照はできないのですか?
21:名前は開発中のものです。
16/01/14 13:13:10.39 w22A5JmG.net
できない。
22:名前は開発中のものです。
16/01/14 18:27:33.47 QcoLVpo7.net
スクリーンと各オブジェクトのwidth, heightについて、
WorldPointで取得した値の相関関係?が実際のpixelサイズの比率と異なっており、悩んでいます。
URLリンク(i.imgur.com)
◆スクリーンサイズ
・実際の値
w 560, h 800
・ログ出力した値
w 1.7, h 2.4
> Vector2 size = Camera.main.ScreenToWorldPoint(new Vector2(Screen.width, Screen.height))
or
> Vector2 size = Camera.main.ViewportToWorldPoint(new Vector2(1, 1))
◆背景画像サイズ
・実際の値
w 1345, h 951
・ログ出力した値
w 8.07, h 5.70
> Vector2 size = this.GetComponent<SpriteRenderer>().bounds.size
背景画像の横幅は、スクリーンサイズの2倍ちょい程度なのですが
WorldPointで出した数値は1.7 : 8.07となってしまいます。
背景画像にscaleを加味したとしても、4.84で比率が合いません。
サイズの取得方法について、何か間違いがありますでしょうか。
ご教示お願いしますm(_ _)m
23:名前は開発中のものです。
16/01/14 19:28:10.58 5fQyllGr.net
>>19
ありがとうございます。
24:名前は開発中のものです。
16/01/14 20:04:37.28 xdOodcu9.net
>>20
「なにがしたいか」も書いた方が質問の意図が伝わるんじゃないかなと思った
そもそも意味がわからないけどね
25:名前は開発中のものです。
16/01/14 20:43:54.47 w22A5JmG.net
>>20
色々わからん部分もあるので恐らく、だが
まずスクリーンの方についてだがカメラのSizeが2.4になっている、
というだけの話であろうかと思う。
次にスプライトの方だがのインポート設定のピクセルパーユニットが100になっているはずだ。
つまりエディター内での1の大きさに100ピクセル入るようになっている。
だから1345のスプライトなら横13.45の大きさのオブジェクトになる。
それに0.6のスケールをかけると8.07になる
26:名前は開発中のものです。
16/01/14 20:46:11.55 QcoLVpo7.net
>>22
意味不明でしたか…すみません
やろうとしていることは、スプライトのドラッグ時に移動可能範囲を定めたいです。
範囲設定自体は下記で出来ています。
> Mathf.Clamp(現在値, 最小値, 最大値);
例えば画面より小さいサイズのスプライトが画面からはみ出ないようにするためには
> // xの場合 (スプライトの中心±幅の半分で、スプライト全体をはみ出さないようにする)
> 座標最小値 += スプライト幅 / 2
> 座標最大値 -= スプライト幅 / 2
で出来ました。
今は>>20で書いたマップのような、
画面より大きいスプライトの移動制限をかけたいと思っています。
小さいのとは逆で「常にスプライトが画面に収まるように」したいです。
計算としては下記で出来ると考えています。
> // xの場合 (一旦中心に戻して、スプライトと画面の大きさの差分だけを可動範囲にする)
> 座標最小値 += (画面幅 / 2) + (スプライト幅 - 画面幅)
> 座標最大値 -= (画面幅 / 2) + (スプライト幅 - 画面幅)
これが上手く行っておらず、各値をLogで出したところ、
肝心の画面幅やスプライト幅の数値が怪しいことに気づき、
質問した感じです。
27:名前は開発中のものです。
16/01/14 20:52:35.61 QcoLVpo7.net
>>23
ありがとうございます
各数値の意味を理解していませんでした…
マニュアル見てきますorz
28:名前は開発中のものです。
16/01/14 21:02:23.68 w22A5JmG.net
>>25
まぁ訳わからなくなりがちなので0.6とかのスケールをかけるのではなく
スプライトのスケールは1にしておいた方がいい。
恐らくカメラのSizeを変えるという方法をとらず
スプライト側の大きさを変えてしまったということなのだろうが。
スプライトのスケールを1にしてカメラのSizeを4にすればいい。
大体今と同じような見え方になるはず。
そしてワールドでの座標値とスクリーン座標値の比率は1:100になる。
29:名前は開発中のものです。
16/01/14 21:07:51.86 QcoLVpo7.net
>>26
ありがとうございます!
マニュアルめくってる…というかクリックしまくっている最中なのですが
画面のwidth, heightと、スプライトのwidth, heightは
カメラのサイズとスプライトのスケールを考慮してそれぞれ補正しないと
等価なスケール?の数値として扱えないということでしょうか
30:名前は開発中のものです。
16/01/14 21:14:59.66 4szDTpIZ.net
画面上にgameobjectが存在するか確認したいのですが、わからないです。
例えば、「敵」というオブジェクトを消滅して、画面に存在するか確認したいのですが
31:名前は開発中のものです。
16/01/14 21:17:16.82 DcDqZSER.net
>>28
Findとは違うの?
32:名前は開発中のものです。
16/01/14 21:17:25.44 w22A5JmG.net
>>27
カメラのサイズはワールドの中でのどの範囲を描画するかを決める。
Sizeを4にすればカメラが平行で0,0,0にあるとして上下4の範囲を描画する。
つまり縦8の領域を描画する。
それをいくつのピクセルとして描画するのか、を決めるのが画面のWidth,Heightの設定だ。
Height800にすればワールドの縦8を800ピクセルで描画する。
スプライトはあくまでワールドの中に置かれるものだからそれが何ピクセルのものかは
どうでもよくてワールドの中でどのような大きさのものなのかが問題になる。
33:名前は開発中のものです。
16/01/14 21:18:59.06 Q45i/G7c.net
UNETでNetworkManagerのuse Network Simulatorをチェックしたままでビルドすると
Clientが謎のtimeoutsで落ちるんだな、数時間悩んだよ
34:名前は開発中のものです。
16/01/14 21:27:26.71 w22A5JmG.net
>>28
Renderer.isVisibleを使うかもしくはOnWillRenderObject()を使う
URLリンク(docs.unity3d.com)
URLリンク(docs.unity3d.com)
35:名前は開発中のものです。
16/01/14 21:28:10.64 4szDTpIZ.net
>>29
findしてもずっとnullが出ます…
36:名前は開発中のものです。
16/01/14 21:29:01.49 QcoLVpo7.net
>>30
非常によくわかりました。重ね重ねありがとうございます
全スプライトの設定を見なおしてみます(´;ω;`)
>>28
動かしてる時にヒエラルキーウインドウを出すようにしておけば
実行中にインスタンスが残ってるかどうか確認できるけど
そういうことではなく?
37:名前は開発中のものです。
16/01/14 21:30:53.47 4szDTpIZ.net
>>29
ゲーム起動してプレハブで生成したものを確認したいのですが、出ないですね
38:名前は開発中のものです。
16/01/14 21:34:39.25 4szDTpIZ.net
>>34
プログラム側で確認したいです
やろうとしている事は
プレイヤーが球を発射して
連射出来ないように球が画面にある間は
球を発射出来ないようにしたいのですが、
生成した球の存在チェックをプログラム側でどうすればいいのか…
39:名前は開発中のものです。
16/01/14 21:39:00.91 w22A5JmG.net
>>33
生成したときにリストとかに突っ込んで管理する。
40:名前は開発中のものです。
16/01/14 21:40:13.17 QcoLVpo7.net
チェックはこれですかね
URLリンク(baba-s.hatenablog.com)
41:名前は開発中のものです。
16/01/14 21:45:19.65 DcDqZSER.net
弾クラスでstatic intな変数を用意して、Awake()で+1、OnDestroy()で-1
あとはこの変数が0のときにのみ発射できるようにするとかどうよ
パワーアップアイテムとかで連射可能になったときも対応できるし
42:名前は開発中のものです。
16/01/14 21:51:49.27 4szDTpIZ.net
皆さまありがとうございます!
取り敢えず>>37の生成したものを管理して存在チェックしたらいけました
ありがとうございます!
他の方のやり方も試してみて納得いくやり方でやってみます!
43:名前は開発中のものです。
16/01/14 22:13:33.92 Q2ZA3yWj.net
>>36
目的がシンプルなのでやり方は色々あるね
例えばUnityEventメンバ変数持てばインスペクタやスクリプトからも処理を追加出来る様になる
public class Ball{
public UnityEvent Destroy;
void OnDestroy(){
Destroy.Invoke();
}
}
public class Player{
int ballcount
void Shoot(){
if(ballcount>=maxBallCount)return;
Ball b =.Instantinate(prefab);
b.Destroy.AddListener(OnBallDestroy);
//射出時の処理諸々
ballcount++;
}
void OnBallDestroy(){
ballcount--;
}
}
44:名前は開発中のものです。
16/01/14 22:16:58.59 Q2ZA3yWj.net
スマホで直打ちしたら諸々不備が多いな、すまんね
45:名前は開発中のものです。
16/01/14 22:56:15.90 xdOodcu9.net
質問する時は最初から
やろうとしている事
そのために書いたコードまたは手法
両方書けば応える方もさらっと理解できるよ
より向いた手法があったらそういう助言もできるし
46:名前は開発中のものです。
16/01/15 00:11:45.72 VE1n1Pig.net
まあ、結局はせっかく書いた前提条件とか一切関係なしに
最後の2行くらいで適切な回答をされることも多いけどなw
47:名前は開発中のものです。
16/01/15 00:17:55.20 hT1xBee/.net
>>36
一番簡単なのは、固有のタグつけてタグの有無見るのが一番手っ取り早いよ
>>41のやり方は拡張性が高い半面、管理もしっかりしないし、コード書く手間とアルゴリズム抜けを
イチイチ気にしないといけないから、俺はお勧めしないな
48:名前は開発中のものです。
16/01/16 06:45:49.18 hMQbMJn+.net
前スレでカプセル化について質問したものです。
教えていただいた通り、オブジェクトの分類を理解するためにも、
カプセル化していってみようと思います。遅レスすいませんでした。
>初心者がカプセル化なんて知ってるわけがなかろう
javaのチュートリアルサイトにカプセル化の記載があり、
C#とjavaは言語などが非常に似ているとの事でしたので、
初めて3ヶ月程度というのもあり、質問させていただいた次第です。
49:名前は開発中のものです。
16/01/16 10:35:21.23 6vYU6itD.net
ん、ま、がんばれ
でも本気でUnityやる気ならC#がいいぞ
WEB上でjavaでのサンプル&資料はすごく少ない
50:名前は開発中のものです。
16/01/16 14:29:08.17 pIjhD6Wk.net
こんな僻地のスレにも業者現れるとか2chいよいよヤバいだろ
ひろゆきが暴れるわけだわ
51:名前は開発中のものです。
16/01/16 22:30:24.46 D6eJ+oJm.net
ソリティアのクリア画面みたいな
画面をクリアせずに延々と書き足し続ける演出をUnityでやりたいのですが、
何か手はありますかね。恐ろしく非効率的な方法としては、残像の数だけ生成…
52:名前は開発中のものです。
16/01/16 22:39:27.38 +Tq113Aa.net
パーティクルがまさにそうなんでは
53:名前は開発中のものです。
16/01/16 22:47:36.89 ESSHHt4c.net
>>49
単純にカメラのクリアフラグをnoneにするだけで出来るでしょ
54:名前は開発中のものです。
16/01/16 23:38:56.52 33or0W7w.net
どこかのゲームがすでにやってそうだけど、3Dゲームが見やすくなる表示方法思いついた。
URLリンク(imgur.com)
↑みたいに4方に立体的な杭を立てれば操作キャラの方向がわかりやすくなるよね?
55:名前は開発中のものです。
16/01/17 00:02:49.86 +43sny4h.net
質問が複数あります
①GetComponent<Light>().colorで、Direction Lightの色をスクリプトから変更しようとしましたが
「Lightにcolorの定義が含まれておらず、型'Light'の最初の引数を受け付ける拡張メソッドが見つかりませんでした。usingディレクティブまたはアセンブリ参照が不足しています。」
と出ます。
どのようにすればスクリプトからLightの色が変えられるのでしょうか?
②Spaceボタンを押したときに効果音が再生されるようにスクリプトを組みましたが、音がなりません。
ListenerはMain Cameraに設定し、スクリプトを組み込んだゲームオブジェクトとともに座標を(0,0,0)に設定してあります。
Audio Listenerのチェックボックスはオンになっています。
鳴らそうとした音声ファイルはwav形式です。
audioSource.PlayOneShot(sound); だけではなく、audioSourse.Play();でも試してみましたが、こちらも音が鳴りませんでした。
③アイテム(Item_fireというタグを付けています)に接触したときに
floatの値(fireという名前にして、初期値は1です)を、1増やそうとして、OnCollisionEnterで接触したときに増やそうとしたのですが、一気に13や14も増えて困っているのですが、どうすればいいでしょうか?
OnTriggerEnterを使って、衝突したときに増やす方法や、座標が重なったときに増やす方法(重なったら重なったアイテムをDestroyで消して、1だけ増やそうとしました)も試しましたが、結果�
56:ヘ同じでした。 非常に初心者的な質問で申し訳ないんですが、だれか回答をお願いします……
57:名前は開発中のものです。
16/01/17 00:47:08.26 HM7CiyDS.net
UNETでバイオ5みたいなco-cpのやり方とかは見かけるんですが、
Client/Server方式でserverが座標やオブジェクトのスポーンなどの
数値データを送受信している方式を見かけないのですが、どなたか
サンプルや解説などを載せたサイトをご存じないでしょうか?
58:名前は開発中のものです。
16/01/17 00:48:01.70 XD9ZIbZ3.net
③には思わずわろたw 14回とか接触判定発生してるからに決まってんだろw
Destoryはフレームに最後に解決されると思ってプログラム書かないとダメ
無理やりぶっ壊すこともできるけど、その辺は人それぞれじゃないかな
Unity基礎知識が足りてないみたいだから、複数のチュートリアルしっかりやるか、
検証兼ねながら一つづつ確認してったほうがいいよ
59:名前は開発中のものです。
16/01/17 00:57:41.87 KYCpO1zf.net
>>53
①俺のところではその文のままで変更できる。using UnityEngineと書いていないとかか。
②俺のところでは普通に鳴る。そこにある情報に音が鳴らない理由は書かれていない
③そういうのはフラグをもっておいてOnCollisionEnter内ではフラグを立てるだけにしておいてUpdate()内で処理する
60:名前は開発中のものです。
16/01/17 01:09:49.70 /C9FtGOs.net
>>52
ランドマークか
61:名前は開発中のものです。
16/01/17 01:12:24.15 /C9FtGOs.net
5.4使ってみた人、どんな感じ?
62:名前は開発中のものです。
16/01/17 01:19:05.89 +43sny4h.net
>>55
回答ありがとうございます。
接触の判定が14回発生しているせいで無駄に加算されているということなんですね
URLリンク(www.dotup.org)
上記のような感じで、一回増やしたら増やさないようにif文で止めようとしたんですが
それでもダメでした。単純にUnityの仕様を理解してないだけなんでしょうか?
>>56
回答ありがとうございます。
using UnityEngineは書いてあるんですが、それでもダメでした。再インストールもしましたが
ダメでした。
63:59
16/01/17 01:22:34.67 +43sny4h.net
>>59
連続でレスしてすみません。
先ほどチェックしたら①の問題はなぜか解決してました。
64:名前は開発中のものです。
16/01/17 01:34:49.74 DAlQvnAS.net
OnMouseDragをアタッチしたオブジェクトが2つ重なってる状態で
order in layer等優先度を適宜設定してるにも関わらず
常に優先度が一番下のオブジェクトしか反応しなくて悩んでいます。
オブジェクトが重なっている場合の、ドラッグ時の優先度の設定はどのように行うのでしょうか。
65:名前は開発中のものです。
16/01/17 02:13:35.93 +kzMhI7R.net
>>52
気になる。何に対する杭なの?
66:名前は開発中のものです。
16/01/17 05:57:11.69 D8rmv3fX.net
>>53
殆どURLリンク(www.ne.jp)のUnityの所に乗ってるよ。
67:名前は開発中のものです。
16/01/17 06:28:48.09 UxvOqHZn.net
この人プロだから。4時間だけでここまでやるくらいだから。
68:名前は開発中のものです。
16/01/17 06:50:18.59 lacF+cXD.net
webページだいけどw
69:名前は開発中のものです。
16/01/17 09:18:42.57 OULLJDow.net
>>57
やっぱりすでにやってるゲームはあったんだね
>>62
東西南北を示す杭。分かりにくいけど、北を示す杭は赤く塗ってあるわ。
画面の隅っこに出してるコンパスより分かり安くなるかな、と
今のアイデアのままだと没入感が薄れるのが難点だけど
70:名前は開発中のものです。
16/01/17 09:42:48.67 YnhJRfyz.net
現実世界には東西南北を示す杭なんてない一般的な知る術は太陽の位置
Unity5でSUNの機能が充実してるから太陽の位置や陰の出来方で方向を知るのがより現実に近いw
71:名前は開発中のものです。
16/01/17 10:03:06.89 fgh+HXHY.net
>>66
年輪だろ
72:名前は開発中のものです。
16/01/17 13:48:53.86 /C9FtGOs.net
>>66
例えば街の中なら、印象的な建物や遠くに見える大きな山、
ダンジョンなど屋内でも、中央に広めの空間を置くとか、
そういう手法があるのだ
73:名前は開発中のものです。
16/01/17 14:42:18.47 OULLJDow.net
>>68 >>69
なるほど
74:名前は開発中のものです。
16/01/17 15:07:22.95 XD9ZIbZ3.net
>>59
1回増やしたら出さないってプログラムがこの部分になるんだったらダメだな
配列はcountで個数とれる。Fires.count で破壊されてない個数はとれる。
つまり、Fires.count >= 1 の条件だけで完結する話だ
Destroyの節も、この部分だけだとここに書く意味がわからない
秒数で消えるとか、非破壊エリア作ってそこから出たときに破壊判定するとか、
破壊判定は別にもっておくのが普通なんじゃないかな
ソース書けるなら片っ端からチュートリアルやってUnity自体になれたほうがいいぞ
非ゲーム系プログラマほど得るものが多いと思う
75:名前は開発中のものです。
16/01/17 15:34:15.44 ivdxLFD3.net
>>61
order in layer = 描画の登録順番
マウス系イベント レイキャストが当たる順番(手前から)
だったはず
76:名前は開発中のものです。
16/01/17 15:52:47.86 +kzMhI7R.net
>>66
操作キャラの周りに杭が浮いてるの?画面に張り付いてるの?
杭を越えた移動や「没入感が薄れる」を考えるとランドマークではないよね
77:名前は開発中のものです。
16/01/17 16:15:17.96 OULLJDow.net
操作キャラの周りに張り付いてます。
78:名前は開発中のものです。
16/01/17 16:38:14.46 +xz5jQa5.net
iTweenを使ってGUIのテキストを透明にしたく、
iTween.FadeTo(this.gameObject, iTween.Hash(
79:名前は開発中のものです。
16/01/17 16:39:51.58 +kzMhI7R.net
>>74
なるほど。任天堂発想で落とし込むと、北が定位置なキャラ脇の妖精かな
方向音痴でなくても同じ模様の壁に囲まれたダンジョンとかで便利そうだね
80:名前は開発中のものです。
16/01/17 16:43:35.84 +xz5jQa5.net
iTweenを使ってguiのテキストを透明にしたく、iTween.FadeTo(this.gameObject,iTweenHash("alpha",0,"time",3f))
というスクリプトを書いたのですが透明になりません。
調べたところシェーダーがtransparentになっていないと透明にならないと書いてあったのですが、初心者なものでよくわかりませんでした。
どこをどう弄ればいいのか、どなたか教えてください。
すいません途中で切れてしまいました。
81:名前は開発中のものです。
16/01/17 16:58:41.50 +43sny4h.net
URLリンク(github.com)
82:名前は開発中のものです。
16/01/17 17:00:41.45 a9erWYiN.net
初心者と言えば許されると思ってるのか
その程度の事さえ自分で調べられないなら何やっても無駄だから止めてしまえ
83:名前は開発中のものです。
16/01/17 17:05:01.44 +43sny4h.net
>>78
すみません、途中で送信してしまいました。
上記のHPのチュートリアルをやってるんですが、5までは順調に推移していたんですが
6のテクスチャのスクロールのところで全く同じようにやっていたんですが、テクスチャがスクロールしません。
どうしても無理だったので、そこまでの完成したファイルを開こうとしましたが
「Your project was opened with older version of Unity」と出て、プロジェクトを最新版にアップデートしようとする
警告文が出てきました。
この内容の中に、何かアップデートで使えなくなったファイルがあるんでしょうか……?
84:名前は開発中のものです。
16/01/17 17:28:17.82 a9erWYiN.net
Your project was opened with older version of Unit はバージョンが違えば出てく
85:るから気にしなくてそのまま進めばいい 詳細を見たわけじゃないけどチュートリアルレベルで5.2から5.3で変わるようなスクリプトは無いと思うけど 正しくコンパイルされててコンソールにエラーも出てないのに動かないなら 完成ファイルの中身と自分で作ったのを一つづつ比較してみたら 時間が掛って大変だろうけど他人に答えを教えて貰うよりは身につく
86:名前は開発中のものです。
16/01/17 18:49:53.47 pAhTthsg.net
初心者ですがゲームUnityの使い方を教えてください。
87:名前は開発中のものです。
16/01/17 19:01:54.07 rFoPwY3o.net
無理です諦めてください。
88:名前は開発中のものです。
16/01/17 19:08:21.85 DAlQvnAS.net
>>72
z軸を昇順降順それぞれ入れ替えて試してみたのですが、
やはり片方のオブジェクトしか反応してくれませんでした…。
ドラッグではなく単にクリック(mouseDown)を取る場合は
下記のようにレイヤー名で指定するため
SortingLayerではなく普通のLayerも入れ替えたりしてみたのですが、
やはり状況は変わりませんでした。
──
Physics2D.Raycast(
AppUtil.GetTouchWorldPosition(Camera.main),
Vector2.zero,
1,
LayerMask.GetMask(LayerMask.LayerToName(gameObject.layer))
);
──
現状の知識で思いつく方法としては、
ドラッグ時にオブジェクトA、オブジェクトBそれぞれ分けたレイヤーでRaycast判定を行い、
AB両方ある場合はBを無視してAのみ動かすようにするというロジックになるのですが
皆さんこのようなことをしているのでしょうか。
または、ドラッグしたオブジェクトが重なる場合があるという設計自体避けているのでしょうか。
89:名前は開発中のものです。
16/01/17 19:51:26.76 +43sny4h.net
>>81
回答ありがとうございます!
1時間くらいかけて解法を探してたんですけど、stringの中に書く分のアンダーバーが抜けてただけでした……
90:名前は開発中のものです。
16/01/17 20:52:49.36 ivdxLFD3.net
>>84
raycastを使うなら
URLリンク(docs.unity3d.com)
RaycastAllで全部拾って条件に合致したものを使えばよろしいかも
91:名前は開発中のものです。
16/01/17 21:10:02.28 DAlQvnAS.net
>>86
すみませんありがとうございます!
そういう関数があるってことは、ソートとか多分関係ないっぽいですね…
ありがとうございました。それで判定するように実装することにします。
92:名前は開発中のものです。
16/01/17 21:38:42.76 ivdxLFD3.net
ちょっと色々忘れてるのでちゃんと調べた方がいいかも
Phisics2DはXY平面上のレイを飛ばすものだった気がするので
始点からゼロベクトル方向に飛ばす、とかできたか覚えてない
そもそもRaycastは始点から指定方向にたいしての指定距離内の一番近くを返すものだから
使い方がおかしい気がする
ちょっとみた感じ Phisics2D.OverlapPoint() が目的の動作かも
93:名前は開発中のものです。
16/01/17 21:47:17.72 DAlQvnAS.net
>>88
ありがとうございます。今私も色々ググってます。
そもそもはOnMauseDragにいづれかのlayerのプライオリティが効いてないって言うことが疑問でしたので…
ここまで用意されてるのにプライオリティ判定がないはずがない!と言いますか。
どうも小細工は必須っぽいので、ちゃんと考えることにします。
94:名前は開発中のものです。
16/01/17 22:03:33.77 /C9FtGOs.net
>>76
非没入型インタフェースを、没入型である「妖精」に落とし込める、
その発想力がほしい
95:名前は開発中のものです。
16/01/17 22:28:05.23 jXqnY7Lp.net
ボタンを押した時のイベントで、Input.GetButtonDownでbool判定を行うのは分かるのですが、ボタンを押したときに呼び出されるメソッドありますか?
96:名前は開発中のものです。
16/01/17 22:28:58.85 jMHdVRNn.net
public class SnapScrollRect : ScrollRect
と宣言しているC#のスクリプトをAddComponentしようとすると
Can't add'SnapScrollRect' to SnapScroll
because a 'ScrollRect'is already added to the game object!
と怒られてしまいます。
「: ScrollRect」の部分を「MonoBehaviour」にすると追加できるので一時的にスクリプトを変更する、ということをしているのですが、随分遠回りしている気がします。
一発で追加できる方法ってどうすればよいでしょうか。
97:名前は開発中のものです。
16/01/17 23:38:19.92 D8rmv3fX.net
raycastで2dは距離が0だからダメだよ。他の方法考えてみてね。
98:名前は開発中のものです。
16/01/18 00:24:53.61 +E6s9jCC.net
UnityでMOとかFPSとかのルームを作ってゲームをプレイする感じにしたいんだけど、
UnetってどちらかというとMinecraftみたいなP2P形式っぽい感じの説明しか見当たらないんですが、
クライアントとサーバーを分けて、サーバーにルーム作ったり、座標計算させたりってことは
できないものでしょうか?
99:名前は開発中のものです。
16/01/18 00:33:25.32 apbtC/3M.net
>>92
他につけてるScrollRectを外せばいいんじゃないのか
>>94
できるよ
MMOのサンプルプロジェクトとかUnityで配ってなかったっけ?
100:名前は開発中のものです。
16/01/18 09:35:20.76 OTEbnEnH.net
Unity5かUnity4+photon使えばできるよ。Unity4はNATパンチスルーがあるしP2Pで4人までしか対応してない。
101:名前は開発中のものです。
16/01/18 09:38:06.73 OTEbnEnH.net
RPCビシバシ飛ばしたいんなら、Unity4だとめんどくさいよ。
102:名前は開発中のものです。
16/01/18 09:51:18.26 4zoyRg4X.net
つか>>94のレス見る限りド素人に毛が生えたレベルの奴がよくわからんけど作りたいなあってレベルじゃね
もっと具体的に質問してもらわんとなんとも
103:名前は開発中のものです。
16/01/18 10:23:42.81 0t5SJ9VL.net
unityにてjavascriptで作業しています。
javascriptとC#間でのやり取りにつきまして、
質問させてください。
例えばjavascript同士でしたら、
他のオブジェクトにセットさせているスクリプトに
アクセスするさいは、下記のように書いているのですが、
C#にアクセスするさいはどのように書けばよいでしょうか。
宜しくお願いいたします。
var goalObj:GameObject;
var goalScript:GoalScript;
function Start () {
if(!goalObj){
goalObj=GameObject.FindGameObjectWithTag("Goal00");
}
goalScript=goalObj.GetComponent(GoalScript);
}
104:名前は開発中のものです。
16/01/18 10:58:45.77 jtAtnSB8.net
>>99
やり方は同様、注意すべきはスクリプトを置く場所だけ
The script you want to have access must be inside the Standard Assets or the Plugins folder.
URLリンク(www.41post.com)
けど止めとけ、どっちかに統一しろ、混在とかそのうち混乱するだけ
処理速度向上のためにネイティブプラグイン(C/C++)を使うのとは違う
105:名前は開発中のものです。
16/01/18 11:27:26.95 +E6s9jCC.net
>>98
仰るとおり、オフラインゲームはいくつか作ってみたことがあるのですが、
オンラインの知識がなく、unity5で初めて触ったので仕組みがよくわかってない
部分が大きいです。
やろうとしていることを簡略化して具体的に出しますと、
A,B,C,D,E,Fというプレイヤーが居たとして、Aがルーム1を作成。
B,Cがルーム1に入る。ゲーム開始(シーン移動)
シーン内でA,B,Cがスポーンし、移動や攻撃(いわゆるPVPをする)
Dがルーム2を作成。E,Fが入り、ゲームスタート(シーン移動)
シーン内でD,E,Fがスポーンし、PVPを行う。
サーバーではルーム管理、ルーム1とルーム2の座標、生成の受け渡しを別々に
処理する。
サンプルやチュートリアルはすべてのクライアントが同期しているものしか
見つけられなかったのでサーバーが特定のクライアントとのみ、接続して
やり取りする方法が分からないといった状況です。
106:名前は開発中のものです。
16/01/18 11:35:43.47 jtAtnSB8.net
横からだけど↓にある教材で一番下が日本語訳的な物で細かくて初心者にも判りやすい
URLリンク(tips.hecomi.com)
【Unity9】UNETでマルチプレイヤーなオンラインゲーム開発【UNET1】 - Unity5(C#)初心者・入門者向けチュートリアル ひよこのたまご
チュートリアル動画の内容を図解付きで丁寧に記事にまとめてくださっています、多分今のところ日本語で一番詳しい。
手を動かしながら覚えたい人は、まずこちらを実践すると感触が掴めると思います。
URLリンク(hiyotama.hatenablog.com)
107:名前は開発中のものです。
16/01/18 14:13:40.43 fV7TMRFc.net
unity5 C#で画像読み込みをやりたいのですがうまくいきません
"Assets/Resources/bg"下に"hoge"画像を配置
sp = Resources.Load<Sprite> ("Sprites/bg/hoge");
とやってもspがnullとしか返ってきません
画像をResourcesやSprites直下に置いてもダメでしてお助けください
108:名前は開発中のものです。
16/01/18 14:26:29.35 s4UlSgzH.net
エスパーさんを召還しなければ
109:名前は開発中のものです。
16/01/18 14:30:44.78 fV7TMRFc.net
あれ
すいません Resouces/Sprites/bg
とやったらできました…
お騒がせしました
110:名前は開発中のものです。
16/01/18 14:42:33.18 PRY8YhQ6.net
あれじゃねえよ Resources/bg"下に"hoge で "Sprites/bg/hog とか Spritesはどっから出てきたんだよw
レスってる最中で気がつかないとかどんだけおっちょこちょいなんだ
111:名前は開発中のものです。
16/01/18 14:43:01.81 5AH5lJEU.net
>>105
言葉が足りなくて意味不明だがAssets/Resources/bg下にあった"hoge"画像をAssets/Resources/Sprites/bg下に移したら読めたならそれで正しい
Resources.Loadに渡すパスはAssets フォルダー内にある Resources フォルダーから相対的なパスとなる。パスが違えば違うものが取れるかなければnullが返る。
本当に"Assets/Resources/bg"下に"hoge"画像が配置されてるなら以下で取れるはず
sp = Resources.Load<Sprite> ("bg/hoge");
112:名前は開発中のものです。
16/01/18 15:02:24.22 vApH2xUB.net
質問失礼します。
AndroidとiPhone両方に対応したゲームを作成しています。
AndroidはETC1 iPhoneはPVRTC に対応すれば、ファイルサイズが小さく高品質なテクスチャーが生成できる所までは理解しました。
他のツール(例えばOPTPiX)でテクスチャーをETC1もしくはPVRTCへ変換した後、何というファイルで出力したらUnityが正常に読み込めるのでしょうか?
PVRTCは*.pvr、ETC1は*.pkmみたいな記述があったので、それにしましたが、pvrは上下が反転しαが消えたようになっており、pkmはそもそもバイナリファイルと判断されているようです。
PVRTCとETC1はどのようなツールで出力したら良いでしょうか?
また拡張子は何で出力するのが一般的でしょうか?
分かる方、よろしくお願いします。
113:名前は開発中のものです。
16/01/18 15:17:46.05 s4UlSgzH.net
OPTPiXのとならウェブテクノロジに聞くべきじゃないですかね?
114:名前は開発中のものです。
16/01/18 21:51:21.27 /pw77E+L.net
完成せないよー。
個人開発者はどんだけ時間費やしてるんだろう
115:名前は開発中のものです。
16/01/18 22:04:49.49 apbtC/3M.net
キミのは仕様盛りすぎなんだよ
内容的にその半分、完成度的にその4分の1が
個人開発に適切な規模ってもんだ
116:名前は開発中のものです。
16/01/18 22:31:29.79 OTEbnEnH.net
一発アイディアなら3日、会社の後に6時間くらいで。
土日なら金曜から徹夜して小規模の物なら。
FPSとかはやっぱり2-3か月かかるかな。
117:名前は開発中のものです。
16/01/18 22:33:26.88 1b9ZJrDu.net
ゲームってなんだろうって理想にもよるよね
最初に作ったRPGもどきは半年かかった
ミニゲーム的なのにはそもそも魅力を感じない
118:名前は開発中のものです。
16/01/18 22:33:42.51 OTEbnEnH.net
仕事で48時間以内でプロトタイプ作らされたりしたよ。完徹。もういや。
119:名前は開発中のものです。
16/01/18 22:34:10.59 1l0qjMjr.net
今年で1つのゲームに2年かかってる俺「・・・・。」
120:名前は開発中のものです。
16/01/18 22:34:44.53 1b9ZJrDu.net
趣味はそれでいいと思う
121:名前は開発中のものです。
16/01/18 22:38:19.00 OTEbnEnH.net
僕の場合は、仕事のストレス発散でゲーム作ってるから。Unity5でMMOならサンデーと睡眠時間削って6っか月ぐらいかな。
曲は自分で作って、モデルとリグとアニメの人はフリー(無職)だから、そのペースに合わせんと。
122:名前は開発中のものです。
16/01/18 22:49:34.58 OTEbnEnH.net
そういや、みんなUnity5ではVS2015使ってるの?コミュニティー入れられるの嫌だからVS2015Pro買ったから、
ADDベースじゃなくて課金もでる考えんとなー。自宅にLAMP環境構築するかぁ。
123:名前は開発中のものです。
16/01/19 00:21:04.15 5KZLYtCT.net
アプリ作る時にキャラクターのサイズ設定どうしてますか?
gameobjectに対して数値を直打ちかスクリプト側でアスペクト比を計算してサイズ変えてますか?
124:名前は開発中のものです。
16/01/19 09:12:05.55 ObRK3duI.net
作りたい物によって違うから好きにしろとしか
それより3Dモデルをインポートする場合は子オブジェクトのトランスフォームが狂ってないか気をつけろ
125:名前は開発中のものです。
16/01/19 09:20:17.48 wup3ZEc0.net
FBXのスケールファクターで大小を設定するか、プレファブのサイズ指定でアスペクト値を変えるか、スクリプトから画面モード取得して変えるかのどれかってこと?
ケースバイケースなんじゃないかな?
126:名前は開発中のものです。
16/01/19 09:24:18.44 wup3ZEc0.net
>>101
Photonだとシーンシンクロ機能があるから、後から入ってきたやつも何も考えずにgameObjectが作成されるけど、
Unity5のUNETはまだ触ってないから解んないな。
Photonがラクっちゃらく。
127:名前は開発中のものです。
16/01/19 09:29:39.51 wup3ZEc0.net
ルームを作成して、一斉にゲームスタートならUnity5のUNETでいいと思う(推測)。
Photonは資料が少ないし、日本語のド
128:キュメントも古すぎる。 英語は最後にPhoton触ったときにはほぼ現行の1.5のドキュメントだったけど日本語ドキュメントは1.2で、 機能が追加されてて英語読めんときついよ。 UNETは横の人が資料くれたから、僕も時間を見て触ってみるつもり。
129:名前は開発中のものです。
16/01/19 14:23:15.93 irQcXyP+.net
javascriptで作業しています。
少し省略してお伝えします。
オブジェ名"modelA"(タグ名:model00)
にスクリプト"tex"をつけてテクスチャを管理しています。
---
var playerTexture1 : Texture;
function Start () {
GetComponent.<Renderer>().material.mainTexture = playerTexture1;
}
---
"var playerTexture1"には"red"というテクスチャを当てはめています。
こちらを、"maincamera"から
"var playerTexture1"に当てはめられている"red"を"blue"にかえる
指示を書きたいのですが、どのように書けばよいでしょうか。
オブジェクトの指定までは書けるのですが、
GameObject.Find("modelA");
"var playerTexture1"を指定して当てはめられている要素の変更の
書き方がわかりません。
宜しくお願いいたします。
130:名前は開発中のものです。
16/01/19 15:17:04.44 sLJiHyA0.net
Unityエディタ上で
プレハブ化されたオブジェクトの元プレハブがどこにあるか調べる機能ない?
オブジェクトのC#ソースをダブルクリックすると、そのC#ソースにアクセスできるみたいな
131:名前は開発中のものです。
16/01/19 15:24:51.65 tPcjAZn+.net
>>124
"blue"のテクスチャをResourcesフォルダの中(サブフォルダ切っても可)に入れて
Resources.loadで呼び出すかvar playerTexture2をもうけてそこに設定しておけばいいんじゃね
URLリンク(docs.unity3d.com)
>>125
右クリからSelectPrefab
132:名前は開発中のものです。
16/01/19 17:53:57.62 4u0QTOzr.net
質問です。 たとえば車のタイヤとボディがポリゴンでつながっていない場合など、
ポリゴンが分かれて複数ある物を、一つのオブジェクトとして使用するといったことは
せず、(推測ですが、影の計算などが無駄に行われるなどの理由で)出来るだけ一つの
オブジェクトにはひと纏りのポリゴンを使用したほうがいいのでしょうか?
それとも、複数個のポリゴンで生成されているオブジェクトを使用しても、
問題ないのでしょうか?
133:名前は開発中のものです。
16/01/19 18:06:04.61 tPcjAZn+.net
>>127
どっちでもいいがドローコールがどうこう言われてた時期は可能な限り一個にせよとは言われていた。
今でもそれが問題になるようなものであればそうした方がいい面はある。
部分破壊するようなものなら分割せざるを得ないだろうし。
134:名前は開発中のものです。
16/01/19 18:35:56.81 csn6amJm.net
タイヤのポリゴン
車体のポリゴン
路面のポリゴン
街路樹のポリゴン
とか言ったりするのかなこの人は
135:名前は開発中のものです。
16/01/19 19:04:21.94 4u0QTOzr.net
>>128 >>129
ありがとうございます
136:名前は開発中のものです。
16/01/19 20:19:39.80 r6xk1mVe.net
ポリゴンとか何時の時代の人?
作るゲームによって異なるからUnityやる上でその質問は意味がない
Unityやる気なら初心者チュートリアルからやったほうがいいよ
137:名前は開発中のものです。
16/01/19 21:02:54.20 KaD8/WvL.net
ボールを分裂させる処理を作ってるのですが、Instantiateで分裂させた際に分裂したものが真っ黒になります。
画像を設定した際にはなんともなかったのですが、ボールにマテリアルの色設定で指定すると分裂した際に真っ黒になります
どなたか原因が分かりますでしょうか?
138:名前は開発中のものです。
16/01/19 21:04:53.12 LqkzbRj0.net
間違った使い方してるわけでもないのに言葉尻捉えて馬鹿にするのは
自分に教養がない事を喧伝しているに等しい行為
139:名前は開発中のものです。
16/01/19 21:16:08.54 KaD8/WvL.net
すみません、自己解決しました
140:名前は開発中のものです。
16/01/19 21:17:50.16 rr6jrjnn.net
うん。意味わかるから困らない
ここんとこ最適化はあぐらかいてるなぁと我が身振り返ってた
141:101
16/01/19 21:34:09.63 s6sVwUZK.net
>>123
回答ありがとうございます。
たしかにPhotonが楽っちゃ楽なんですが、趣味で作っているゲームに
月に万単位がサーバー代だけで飛んで行くのはチョットと思いまして。
一斉スタートでなくても、Unityが用意してくれているリレーサーバー使って
マッチした人の中で、ホスト(部屋立てた人)がクライアントと繋がれば
途中参加もできるんでしょうが、ホストが途中で落ちたり、無線の場合は
ゲームがまともに出来ないだろうから、C/S方式で尚且つ、MO形式にできればいいのですが、
探してもなかなか情報がでてきません。
荒業として、port別にクライアントを100ほど立ち上げて、1portに1つの部屋とすれば
できなくもないのでしょうが、通信の監視、マシンパワーという点から見るときついですし・・・
サーバーで座標なんかを送ってきたユーザーのデータをルームごとに振り分けて、
NetworkServer.SendToClientでも使って、状態、座標、その他をルームに居るメンバー
に送るぐらいか方法ないんでしょうかね?
142:名前は開発中のものです。
16/01/19 21:38:22.25 OjzOAN1h.net
>>134
些細な原因であったにしろ、自己解決したならどう解決したかは書いておこうね
143:名前は開発中のものです。
16/01/19 21:52:20.97 6q36Y+uR.net
>>136
自分の知ってる範囲でしか考えないのかよ
他の人が教えてくれてるUNETのtutorialで詳しく説明されてるぞ
144:名前は開発中のものです。
16/01/19 21:55:49.54 QSjYw52q.net
このスレって自演つーか意味不明の質疑応答多いよね
145:名前は開発中のものです。
16/01/19 22:00:59.30 fJhkRQ1L.net
>>139
自演でもなんでもなく意味不明な質問ばかりだからエスパーして答えてるだけだと思うが…
146:名前は開発中のものです。
16/01/19 22:23:24.32 x5xvopmt.net
Photon使ってる人って月に数万もサーバ代出してんの?
147:名前は開発中のものです。
16/01/19 22:38:22.18 qR8VyKrd.net
そもそも面白いゲームならすぐにスポンサーつくからそんなこと気にするだけ時間の無駄やで
面白いゲームなら
148:名前は開発中のものです。
16/01/19 23:04:43.73 g+vBs3hm.net
大体プログラミングで、しかもゲーム制作の質問なんて、
数行で一つの答えになる質問ができるようなら、答えがわかってるようなもんだからな
答えてる人のバックグラウンドによって捕らえ方は違う
149:名前は開発中のものです。
16/01/20 00:02:44.19 HwNY0XlP.net
macで使ってるんですが、plane置こうとすると毎回フリーズして強制終了するしかない…。同じことが起こる人いませんか?何もできなくて困る…
150:名前は開発中のものです。
16/01/20 01:02:46.42 HwNY0XlP.net
144です。駄目元でOSのバージョン上げたら動くようになりました。失礼しました。
151:名前は開発中のものです。
16/01/20 01:04:03.91 Km+MRY0/.net
Serverライセンス買い切りプランがあるでしょ>Photon
サーバ用意して(クラウドサーバでもいいし)、それにぶち込めばいいのでは?
テスト用なら10人くらいまでならただで使えるよ。
サーバのソースもC#だから、そこまで難しくないよ。
152:名前は開発中のものです。
16/01/20 01:04:57.44 Km+MRY0/.net
とは言ってもUNET,根気よくやってみたら?
セッションの勉強、し直したほうがいいよ。
153:名前は開発中のものです。
16/01/20 01:20:23.19 EmNi4jHz.net
>>138
ひよこのたまごのUNETのチュートリアルですよね?
一応、全部読んでは見たのですが、全クライアントに
データ送信しているところしか見つからなかったのですが、
どの辺に記載されてるか教えていただけないでしょうか。
154:名前は開発中のものです。
16/01/20 01:42:38.65 Km+MRY0/.net
送信データの頭に暗号化したクライアント番号付けて、そのキーを持っているクライアントだけが受け取ればいいだけでは?
155:名前は開発中のものです。
16/01/20 01:53:5
156:1.85 ID:Km+MRY0/.net
157:名前は開発中のものです。
16/01/20 01:57:33.36 Km+MRY0/.net
新規は仮のログオンプレーヤーネームを付ける。記号を含んだ規則性のあるやつで。
そうすりゃどうにかなるでしょ。でもこれくらいならだれでも考えられると思うけど。
158:名前は開発中のものです。
16/01/20 09:38:39.92 I8697KQ+.net
>>148
マルチプレイの基本から勉強しなおしたほうがいい
全クライアントにデータを送るって送らなきゃマルチじゃないでしょ
マルチプレイで同期を取るには動きがあったら全ブレイヤーにデータ送って
送られた側は自分に関係するデータか判断してそれぞれ処理する
個々はNetwork Identityで識別されるとひよこの初回に書いてある、本当に見たの?
159:名前は開発中のものです。
16/01/20 10:33:51.47 F2qWqBIY.net
元の質問は、クライアント同士の通信はしたくない、、ってことじゃないのかいな
160:名前は開発中のものです。
16/01/20 14:10:42.72 EmNi4jHz.net
よくある、co-op型の対戦ゲームや、協力型ゲームは
サーバー兼クライアント形式で同期(チュートリアルと同じ)
MMO、MO、FPSなどは、C/S方式で、特定範囲のキャラクター同士
あるいは、ルームにいるキャラクターにのみデータ送受信。
このような考え方をしていたのですが、根本的に自分がネットゲームの
概念が間違っているのでしょうか?FPSやMMOって1サーバーに
数十~数百人が接続してると思うのですが、1プレイヤーが動いただけで
全ユーザーにデータを送信したらサーバー回線に負担がかかると思って
いたのですが。
161:名前は開発中のものです。
16/01/20 15:11:31.92 F2qWqBIY.net
>>154
全員に送ろうが一部に送ろうがC/SはC/Sでしょ
162:名前は開発中のものです。
16/01/20 15:14:27.48 llRDgG//.net
>>154
根本的な話じゃないけどFPSはロビーでマッチング後にP2Pになるものが多いし
MOもものによってはそうなるね
163:名前は開発中のものです。
16/01/20 15:25:54.48 QQ9OX2Sr.net
>>154
MMOは全員に送る必要があるけど、すべての情報を送るわけじゃ無い。
見えていないキャラクタの情報は送らないとかの工夫がされている(というかサーバサイドの処理がLocationのEchoだけじゃない)
FPS系はメインのサーバはマッチング(ロビーサーバ)だけ行って、クライアント側がゲーム中にサーバ(ゲームサーバ)として機能する
一部のFPSだとサーバ役が抜けたり回線落ちしても継続可能なように接続されていたクライアントがセカンダリサーバになったりするような工夫もあったりする。
164:名前は開発中のものです。
16/01/20 15:48:16.61 F2qWqBIY.net
MMOはサーバ上だけでゲームが進行してるわけで
クライアントは自分の必要な情報を要求したりアクションを送ってるだけ
この部分はUnityの守備範囲外だから、、アセットにはあるかもだが
165:名前は開発中のものです。
16/01/20 16:15:02.04 EmNi4jHz.net
回答有り難うございます。
>>155
確かにそうですね。
>>156
>>157
自分が以前やっていたFPSはP2Pが廃止とかされていたので、
MOやFPSはサーバーで処理されて送受信のみをクライアントでやっていると
思っていたのですが、レスから察するにリレーサーバーを使った擬似P2Pのように
なっていたのかもしれませんね。チュートリアルのままではサーバーが落ちたら
クライアントはお手上げなので、登録型にして落ちやすい人はホストにしないとか、
接続が切れても続行できるように工夫してみたいと思います。
>>158
MMOのチュートリアル動画でUnetではなく、c#でサーバーのコードを書いてる人が居たのは
そのためだったんですね。アセットなども探してみます。
166:名前は開発中のものです。
16/01/20 23:24:08.83 chluFFqp.net
送信フレーム単位でのゲーム世界の情報があって、
それをパッケージしたものをユーザーの影響範囲ごとに等しく送るイメージだった
167:名前は開発中のものです。
16/01/20 23:28:46.03 nfrCzEjX.net
プログラマーと言うよりもゲーマー的な思考の人が多すぎ
本気でゲーム作るつもりならきちんと基礎は学んだほうがいいよ
168:名前は開発中のものです。
16/01/20 23:50:12.05 qftZA2Do.net
InputFieldについて教えてください
InputFieldに入力した文字列をボタン押下でtextに表示したいのですが
日本語入力をすると確定時に文字が二重で表示されてしまいます
例)「ゴリラ」→「ゴリラゴリラ」
どのように対処するべきでしょうか?
public void OnButton()
{
text.text = inputfield.text;
}
169:名前は開発中のものです。
16/01/21 00:22:51.76 /AFrWo2g.net
学名みたいで草
170:名前は開発中のものです。
16/01/21 00:25:28.03 Qsrq/khY.net
>>162
その代入してるとこにログでも差し込んでホントにゴリゴリなってるか見てみた?
171:名前は開発中のものです。
16/01/21 04:11:21.20 E46BlbkM.net
RectMask2Dが動いてくれない
Canvas
└ Mask(空gameobject) →RectTransform、RectMask2Dを設定済み
└ 抜いた先に見える予定の絵
これを実行するとMaskが効かず普通に絵が全部見えてるんだけど
何が悪いか分かる人いますか
172:名前は開発中のものです。
16/01/21 04:17:32.39 E46BlbkM.net
書いた直後に自己解決しました
Spriteじゃなくて、UIのImageでやったら出来た
173:名前は開発中のものです。
16/01/21 15:29:57.49 B5LCX1Zf.net
前スレで話に挙がった、透明度の一括変更なんかもImageじゃないとダメだっけね
174:名前は開発中のものです。
16/01/21 16:02:38.86 mkwT5Bp5.net
おすすめの参考書とかありますか?
175:名前は開発中のものです。
16/01/21 16:22:05.66 B5LCX1Zf.net
それだけ言われても、公式見ろとしか返せんぞ
176:名前は開発中のものです。
16/01/21 16:33:26.43 tfp/bifY.net
実際に公式が一番情報量多いんだから仕方ない
日本語公式チュートリアルの2Dシューティングさえも理解できないレベルなら初心者本見てみるのも一興だけど
177:名前は開発中のものです。
16/01/21 16:36:24.70 M/1mm2Jv.net
2dRectMaskはシェーダで処理してるから
対応するSprite向けのシェーダを書けば使える気がする
試してないけど
178:名前は開発中のものです。
16/01/21 17:41:36.67 js6IWsbH.net
ノウハウ本とかなら需要あるんだろうけど、
そうなってくると大体企業のセミナーとかになるよな
どうせ水物だからすぐ変わってしまうんだろうけど
179:名前は開発中のものです。
16/01/21 18:18:05.22 CKuK/WdP.net
UNET、ざっと触ったけどPhotonより良いね。
serverのコードもUnityで組めるし、NPCとかはserver側で簡単にコントロールできるね。
あとはlamp環境に繋げて上手くいけばMMOも作れるんじゃ無いかな。
アトリビュートが結構多いけど、お約束みたいな物だし、サーバはlampじゃなくてwindowsでも良いってのが楽だね。
とりあえず、今は実験段階だけどよさそう。
Photon同様、シーンシンクロ機能もあるっぽいね。
180:名前は開発中のものです。
16/01/21 18:18:24.68 YKebtJOw.net
private Number_type[] _Number_type = new Number_type[4];
void Start()
{
Numberset();
}
void Update()
{
Debug.Log(_Number_type[1].Number_name);
}
class Number_type
{
public string Number_name;
public string Number_Characteristic;
public string Number_Description;
}
void Numberset()
{
Debug.Log("Start");
_Number_type[0].Number_name = "てすと0";
_Number_type[1].Number_name = "てすと1";
_Number_type[2].Number_name = "てすと2";
_Number_type[3].Number_name = "てすと3";
}
上記のようにスクリプトを書いて、デバッグをログを出させたのですが、想定だと「てすと1」と出るはずがNullが帰ってきてしまいます。
「てすと1」が帰ってくるようにしたいのですが、どうすればよいでしょうか
181:名前は開発中のものです。
16/01/21 18:35:49.62 NXyXWqdf.net
>>174
void Numberset()
{
Debug.Log("Start");
for(int i=0;i<_Number_type.Length;i++){
_Number_type[i]=new _Number_type();
}
_Number_type[0].Number_name = "てすと0";
_Number_type[1].Number_name = "てすと1";
_Number_type[2].Number_name = "てすと2";
_Number_type[3].Number_name = "てすと3";
}
182:名前は開発中のものです。
16/01/21 19:00:15.89 PXVR1dUV.net
オブジェAに、タグ"Player"を設定したオブジェB
が接触したら"pointCounter=1"にし、
接触がはずれたら"pointCounter=0"にしたく、
下記のように記入したのですが、
"1"にはなるのですが、接触が外れたさい"0"にはなりません。
どのように書けばよいでしょうか?
宜しくお願いいたします。
var cleared:boolean;
var clearPoint:int=1;
var pointCounter:int=0;
function Start () {
cleared=false;
pointCounter=0;
}
function Update(){
if(pointCounter>=clearPoint)cleared=true;
else cleared=false;
}
function OnTriggerEnter(other:Collider){
if(other.gameObject.tag=="Player")pointCounter=1;
else pointCounter=0;
}
183:名前は開発中のものです。
16/01/21 19:30:11.37 NXyXWqdf.net
>>176
function OnTriggerEnter(other:Collider){
if(other.gameObject.tag=="Player")pointCounter=1;
}
function OnTriggerExit(other:Collider){
if(other.gameObject.tag=="Player")pointCounter=0;
}
184:名前は開発中のものです。
16/01/21 19:44:43.06 PXVR1dUV.net
>>177
ありがとうございます!
185:名前は開発中のものです。
16/01/21 20:29:23.37 YKebtJOw.net
>>175
あぁ、見てわかりました。
インスタンス化ってやつですね……
すっかり忘れてました。ありがとうございます。
186:名前は開発中のものです。
16/01/21 21:20:43.94 VfzMyPLt.net
公式か
ありがとう
皆さんがどうやって勉強したのか気になって…
187:名前は開発中のものです。
16/01/21 21:52:34.57 CIl6oh9K.net
タッチザナンバーみたいな物を作ろうと思うのですが
正しい順番にタッチをするとオブジェクト破壊がされて
順番を間違えるとオブジェクトが再作成されるようにしたいのですが
デストロイでオブジェクトを破壊すると再作成時にエラーが発生します
何処かに参考になる文献などはないでしょうか。
188:名前は開発中のものです。
16/01/21 22:21:43.49 NXyXWqdf.net
>>181
エディタ上で手動配置したものを参照して再作成しようとすればそうなる。
プレファブを使うべき。
189:名前は開発中のものです。
16/01/21 22:38:03.36 B5LCX1Zf.net
時間差で3回爆発するエフェクト(Spriteを利用)を作りたいと思います。
爆発のゲームオブジェクトを3つ用意し、それらを1つの親オブジェクトの下に置くという形です。
0.5秒の間隔を空けて、それぞれ1秒かけて爆発するとします。(最初の爆発から2秒後に全終了)
3回の爆発が終わっったら、親オブジェクトをDestroyしたいと思っています。
このとき、どのような仕様にするのがスマートでしょうか。
(1)生成後、親が2秒後以降に自殺する
(2)3つ目の爆発オブジェクトから、親をDestroy()する
(3)親が子オブジェクトの状態を何らかの方法で監視して、全終了後に自殺
(4)その他、良い案があればお願いします
>>181
エラーが出るならそのエラーメッセージを添えましょう。
それはさておき、各数字パネルを1つの親オブジェクトの下に置いてプレハブ化、
それをDestroy&Instantiateでいけない?
190:名前は開発中のものです。
16/01/22 00:07:30.46 bpDx3HHV.net
>>183
「どれでもいいのに君自身は何が気になっているのだろうか」ということではないかと思う。
一番単純なのは1のはずだ。
しかし何故2や3を思うかといえば例えば
・爆発の長さを変えたい
・何回爆発するかを変えたい
という仕様変更を容易にしたほうが別の場面で再利用できるかもしれないし
ゲーム的な調整でも必要になるかもしれない、という話なのではないかと思う
この手のものは色々考えようもあって例えばエフェクトジェネレータ的な包括的管理オブジェクトを作っておいて
それに「この場所に何番のエフェクトを出してくれ」と要求するとかそういうのもありうる。
どの種類の爆発が何回起こったのかとかそういう統計を取ったりしたけりゃそういうのがスマートだ。
大規模なゲームになったりあるいはゲーム内で色んなデータをスコアに利用したり
やろうとすればするほどそういう包括的な仕組みは必要になってくるし
逆にプロトタイプや小規模ゲームでそんなことを考える必要はない。
その手法がスマートか、はそのゲームの開発で何が必要とされているのか、と関連付けて
考えるべきなのでそれだけ提示されてもどれがスマートかとはいえないのではないか。
191:名前は開発中のものです。
16/01/22 00:13:29.76 2TuPGH+X.net
ありがとう、確かにそうだな
192:名前は開発中のものです。
16/01/22 06:56:54.99 In9XXmPX.net
>>181
そもそもデストロイする必要がある設計なの?
正解なら非アクティブにすれば良いのでは?
生成と削除を繰り返す様なシーンはなるべくそうしてるけどな
193:名前は開発中のものです。
16/01/22 08:23:48.99 8IWrF892.net
マリオのようなスクロールアクションを作るとして、
各ステージで使うコントローラとか基本的に一緒ですよね。
その場合、各ステージ(シーン)に同じオブジェクトをコピペで配置してますか?
194:名前は開発中のものです。
16/01/22 08:45:45.68 2TuPGH+X.net
それでいいと思うけどプレハブ化しておこうぜ
DontDestroyOnLoadで使い回すなり、LoadSceneのAdditiveにするなり、
ステージをシーンに分けずにマップデータを読み込んで生成するようにするなりでも良さそうだけど
195:名前は開発中のものです。
16/01/22 08:52:25.31 3mP0Vk/8.net
空のGameObject(Player)にPlayerのモデルデータ(FBX)を下位に配置して、
表示非表示を切り替えようとしたんですが、
GameObject gObj = GetComponentInChildlen<PlayerModel>();
とかやって、Re
196:nderer.enabledをtrue/falseにしたり、 MeshRendererを取得しようとしてもFBXにMeshRendererが無いから取得できないのですが、 親のGameObjectから子のGameObjectのFBXを表示・非表示にするにはどうすれば良いでしょうか? 今はしょうが無いので、一端Destroyしてます。
197:名前は開発中のものです。
16/01/22 09:21:32.11 bpDx3HHV.net
>>189
GameObject gObj = GetComponentInChildlen<PlayerModel>();
これ、コンパイル通ってんの?w
Playerの子供になってるオブジェクトが一つなら
transform.GetChild(0).gameObject.SetActive(false);
とかでいい。
名前がわかってりゃ
transform.Find("childname").gameObject.SetActive(false);
とかでもいいし。
GetComponentInChildrenを使うなら
GetComponentInChildren<MeshRenderer>()とかだが
直下の子供しか見て回ってくれないから
その下にあるとかもっと階層化されてるとかだと
自分で再帰関数とか作って拾ってくるしかないね
198:名前は開発中のものです。
16/01/22 09:56:45.34 OEWENA1Y.net
>>190
>直下の子供しか見て回ってくれないから
GetComponentInChildren<T>()は深さ優先探索で子孫ノードすべてから探索される、再起関数を書く必要はない
199:名前は開発中のものです。
16/01/22 10:17:36.21 bpDx3HHV.net
そのとおりやった、デマ流して済まん…。
200:名前は開発中のものです。
16/01/22 10:30:15.68 3mP0Vk/8.net
ありがとうです。setActiveだと物理エンジンが消えてしまうので、ためらってましたが、
よくよく考えたらRiggedBodyとコライダーは空のGameObjectに付いているので、おっしゃられる方法で問題ありませんでした。
サンクスです。
201:名前は開発中のものです。
16/01/22 10:40:00.07 3mP0Vk/8.net
そういえば、これ、FPSのスナイプモードの時の実装なんですが、自分の銃がPlayerModelの子オブジェクトなんですよね。
そこにスクリプト付けてましたが、実装方法変えてみます。どんな方法が良いと思いますか?
教えてちゃんですみません。
202:名前は開発中のものです。
16/01/22 10:43:25.33 3mP0Vk/8.net
簡単な方法としては、銃のモデルは変更してsetActiveでfalseにして、
マズルフラッシュと発射位置と玉の管理を大本でやれば良いんですかね?
203:名前は開発中のものです。
16/01/22 10:46:52.00 3mP0Vk/8.net
マルチプレイ対応なので、isMineとかで自分がスナイプモードの時だけSetActiveをします。ありがとです。
204:名前は開発中のものです。
16/01/22 11:56:16.60 9ujOu186.net
>>192
GetComponentInChildren じゃなくて
GetComponentsInChildren にしないと全収集ができないので
189の要望を満たすならデマどころか間違いじゃなかろうか
205:名前は開発中のものです。
16/01/22 11:58:29.74 9ujOu186.net
>>ID:3mP0Vk/8
とりあえず考えの整理を行いたいならここじゃなくて
メモとかOneNoteにでも書いておくのをお勧めするよ
206:名前は開発中のものです。
16/01/22 13:49:28.35 FablMv5z.net
>>197
元発言を見るにひとつ取れればいいからそこは問題ないのでは?
207:名前は開発中のものです
16/01/22 14:53:43.25 nrQcArGu.net
2Dゲーム開発中のものです。初心者の初歩的な質問に答えて下さりありがとうございます。
今回は、プレイヤーが特定の位置に移動するとマップを移動するシーン移動について
聞きたいのです。
空のゲームオブジェクトに、Colliderをつけて下のスクリプトを付けてマップに設置したのですが
プレイヤーが当たってもシーンが移動しません。
スクリプトが間違っているのか、そもそも方法が間違っているのか教えて下さい。
using UnityEngine;
using System.Collections;
public class SceneChange : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void OnCollisionStay ( Collision collision ) {
if (collision.gameObject.tag ==
208:名前は開発中のものです。
16/01/22 15:36:55.47 9ujOu186.net
>>199
fbxから作られるプレハブが
MeshRendererをもつGameObjectが1個になるとは限らないですし
>>200
・シーン切り替え自体は単独で動作しているか
・colliderの接触は正しく出来ているか?
・質問を途中で送信して放置していないか?
209:名前は開発中のものです。
16/01/22 16:24:07.02 3mP0Vk/8.net
どうにか事故解決しました。
それと、実装方法の質問ですが、FPSで武器を持ち帰るとき、モーションなどが変わりますよね?
僕は無駄なメモリ使ってますが、全ての武器用にプレファブ作って変更していますが、
これでは複数の武器を持ったときに対応できませんよね?
本体1体、アニメパターン群を数個、武器も数個って感じでやるのが良いかなと思いましたがどうでしょうか?
210:名前は開発中のものです
16/01/22 16:37:18.90 nrQcArGu.net
>>201
途中で送信してました・・・スクリプト切れてる・・・。
using UnityEngine;
using System.Collections;
public class SceneChange : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void OnCollisionStay ( Collision collision ) {
if (collision.gameObject.tag == " Player")
Application.LoadLevel("road");
}
}
です。==から切れてました。
clliderの接触は大丈夫です。Is Triggerにチェックしています。
すいません、シーン切り替えの単独動作はどうチェックすれば良いでしょうか。デバック?
211:名前は開発中のものです。
16/01/22 20:39:47.58 bnWcsdXZ.net
javascriptで書いています。
他のオブジェクトのスクリプト"GoalScript"を参照し、
2秒後に一度だけ"cleared"かどうか確認したいのですが
どのように書けばよいでしょうか?
下記が現状のスクリプトですが、
2秒後から常に確認する形になってしまいます。
宜しくお願いいたします。
function Start () {
if(!goalObj00){
goalObj00=GameObject.FindGameObjectWithTag("Goal00_01");
}
goalScript00=goalObj00.GetComponent(GoalScript);
collision00_mdl.SetActive(false);
function Update () {
StartCoroutine("Wait");
}
function Wait(){
yield WaitForSeconds(2.0);
if(goalScript00.cleared==true){
collision00_mdl.SetActive(true);
}
}
212:名前は開発中のものです。
16/01/22 21:06:04.94 OEWENA1Y.net
>>204
そりゃあ毎フレーム2秒後に処理を呼んでいれば毎フレーム2秒後が来るよな
Waitの中身をwhile(true){}で囲んでStartで一回だけコルーチンを走らせればおk
213:名前は開発中のものです。
16/01/22 21:08:03.41 9ujOu186.net
>>204
Update() で毎回フレームコルーチン作ってるからでしょ
Start()で発生させればいいよ
Update() の振る舞いが理解できてないならチュートリアルか初心者本をどうぞ
214:名前は開発中のものです。
16/01/22 21:50:52.02 IFIoAPGo.net
>>204
もしくは InvokeRepeating使うとかね
215:名前は開発中のものです。
16/01/22 22:14:11.62 WQ0m4g5c.net
超どうでもいい事かもしれないけど、
このスレにお世話になりそうなので報告
(人によっては大いに役立つ情報なので一読して)
-------------------------------------------
だいぶ前のスレの話だけど、
アプリをAppStoreに出品するためにまず
「Apple Developer Program」に登録する必要があり、
その費用である \11,800 (税込 \12,744) を払う必要があり、
その支払方法が
・クレジットカードのみしかできない
・ギフトカードでもOK
等、議論があった。
==============
正解は・・・
==============
現時点の段階で支払方法は2種類あり、
ひとつはもちろんクレカで、
もう一つは「Apple Storeギフトカード」でいける。
注意点は「Apple Storeギフトカード」はコンビニとかで売ってる「iTuneカード」とか「App Storeカード」では無いという事
「Apple Storeギフトカード」はオンラインのAppleStoreで買える
AppleStoreの支払い方法が
クレカ、 銀行振込、 コンビニ払込、 代金引換 の4つ。
つまりクレカ持っていなくても大丈夫というのが結論。
ちなみに、企業でもクレカを嫌がる(様々な理由で)場合があるので、クレカ以外の支払い方法は
かなりアリガタイらしい
以上、長文失礼
216:名前は開発中のものです。
16/01/22 22:47:32.37 2TuPGH+X.net
ここは質問スレなんだ
217:名前は開発中のものです。
16/01/23 00:04:40.91 1IDtmiqG.net
>>209
速く質問しろカス
218:名前は開発中のものです。
16/01/23 00:07:15.21 udwg+4cB.net
お前を消す方法
219:名前は開発中のものです。
16/01/23 10:59:16.65 SWPEQbI0.net
クレカ作れない人って結構いるからね
220:名前は開発中のものです。
16/01/23 17:01:24.74 oM6xCn14.net
コルーチンは疑似マルチスレッドで、startかawakeで一回呼べばok。
もしくはupdate系で自分でカウントして2秒ごとに実装するとか。
221:名前は開発中のものです。
16/01/23 17:04:58.10 QZktbIfP.net
コルは協調形スレッド
222:名前は開発中のものです。
16/01/23 22:43:26.60 LarTJGWO.net
みんなwindows?mac?
どっちで作ってますか?
223:名前は開発中のものです。
16/01/23 23:08:50.07 pY9kflSE.net
俺はwinだよ!
224:名前は開発中のものです。
16/01/23 23:12:16.04 2vudtTZg.net
>>215
iOS向けに頻繁に実機ビルドするのでメインはMac
遊び用を兼ねたサブノートがWinだね
225:名前は開発中のものです。
16/01/24 00:05:59.37 V0lCEbx3.net
android実機デバッグすると異様にfpsが下がるというかカクカクします
(みたかんじ10fpsもでてないように見えます)
端末のcpuはかなり余裕があるっぽいのですが
なにがいけないんでしょうか。webプレイヤーではぬるぬる動くのですが…
スプライトの画像を表示しないとき透明にしてるとか、スプライトの重ね数が
多いとか(いうても30個もないと思います)
3Dオブジェクトは多分一個も使ってないです。抽象的ですいません
226:名前は開発中のものです。
16/01/24 00:23:35.44 cMSpNNWS.net
>>218
Androidってデバッグビルドは開発環境によらず遅いよ
ブレークポイント必要なデバッグでないならLog出力でリリースビルドにするのが吉
227:名前は開発中のものです。
16/01/24 01:05:57.50 sJ3+IwCN.net
初代エクスペリアとか使ってんじゃねーのか
228:名前は開発中のものです。
16/01/24 02:51:21.51 V0lCEbx3.net
218です
>>219
unityから端末にusbでつないでbuild and runしてます。(多分リリースビルドしてるはず…)
build settingは
google Android projectのチェックなし、
Development buildのチェックなしです。
>>220
最近の1.2Gクアッドコアです
229:名前は開発中のものです。
16/01/24 05:47:30.18 xJ3rUGlS.net
WinメインだけどWeb用に出力するときだけMac
我ながら、凄くマヌケなことしてると思う
230:名前は開発中のものです。
16/01/24 09:27:38.23 SzmD//FV.net
>>222
何か違いがあるの?
231:名前は開発中のものです。
16/01/24 11:51:03.80 Iopy5bJJ.net
>>221
Unity5から標準になったopengles3.0が悪さしている可能性あり
androidのビルドセッティングのauto graphics APIのチェック外して、opengles2.0のみにしたら治るかも
unity4なら分からない、スマソ
232:名前は開発中のものです。
16/01/24 12:37:10.29 V0lCEbx3.net
221です
>>224
ありがとうございます。
該当箇所のチェックを外してopengl2だけにして転送してみましたが状況変わらずでした
背景に使っている画像の重なり数やα重なりが多いと重くなるみたいなのを見たので
非表示時にスプライトを不透明アニメさせてたのをやめて、スプライトをオブジェクト化して
オブジェクトの非アクティブ可でやってみたところ負荷がかなり軽くなりました!!!
…作り方そのものが悪かったみたいでぐぬぬ。お騒がせしましたmOm
233:名前は開発中のものです。
16/01/24 12:37:23.18 SzmD//FV.net
質問です!
blenderから.blendファイルをunityにインポしたとき90度ほど回転した状態となるんですが
blenderからunityにそのままもってくる方法はありますでしょうか。
234:名前は開発中のものです。
16/01/24 13:19:05.14 wL9tDh9x.net
空のgameobject作って、その下に配置して90度回転が楽。
235:名前は開発中のものです。
16/01/24 13:25:43.27 SzmD//FV.net
>>227
ありがとうございます。
やっぱり回転させる感じなんですね
236:名前は開発中のものです。
16/01/24 13:29:11.79 sJ3+IwCN.net
インポなら90度は無理です
237:名前は開発中のものです。
16/01/24 13:37:36.39 SzmD//FV.net
>>229
ありがとう!
まあ根気があればなんとかなる!
238:名前は開発中のものです。
16/01/24 13:51:48.18 o3d9yB7E.net
>>226
Unity側でも単純に>>227のようにできるけどBlender側で調整したほうが後々問題が起きない
子オブジェクトのrotationとsizeがデフォになるようにするにはそれなりの手順に必要
unity blender 座標とかでググるといろいろ出てくるよ
239:名前は開発中のものです。
16/01/24 13:54:28.56 xJ3rUGlS.net
>>223
古めWinマシンだとWebGL出力が出来ない
240:名前は開発中のものです。
16/01/24 14:04:31.87 SzmD//FV.net
>>232
ありがとう!
そういうこともあるんですね
座標はblendのほうでなんとかできないか調べてみますー
241:名前は開発中のものです。
16/01/24 14:08:52.97 IBhzPXER.net
ちょっと調べれば判るようなアホレスばっかすんな
そんなだから自演とか意味不明とか言われるんだよ
242:名前は開発中のものです。
16/01/24 14:17:14.37 q6Nq4uTO.net
普通の人は自演って発想がないからね
243:名前は開発中のものです。
16/01/24 15:20:17.39 5nmLR9XA.net
・アルファ=0.0は非表示じゃない
・多くのシェーダではピクセルの書き込みをスキップするのでその分軽いだけ
・GameObjectごと非Activeにするか、renderer.enable=false; で
描画処理自体をスキップさせるのが正解
これ、仕事でアプリ作ってる人でも理解して無い人がいて結構怖い
244:名前は開発中のものです。
16/01/24 17:37:21.97 op0ow6uU.net
明らかに関係者としか思えない書き込みは結構あるからなこのスレ以外でも
2ch使う上では知っておくべきことだ
普通の人だと思うなら、2chの内容信じてる時点で複数箇所ダメだけどな
245:名前は開発中のものです。
16/01/24 18:43:18.28 SzmD//FV.net
>>234
すまんなw
246:名前は開発中のものです。
16/01/24 20:27:23.03 uVIi2OFnw
unityはquick timeをインスコしてたらh264ファイルとかをそのままインポートできるようになるの?
それとも、quick timeでtheora+vorbisに変換してるだけ?
247:名前は開発中のものです。
16/01/24 20:44:55.38 bl4llnxn.net
>>236
そういうときはアホンダラーっなんつってな。
がハハハハ
248:名前は開発中のものです。
16/01/25 01:42:14.34 u8a6va5z.net
スマホで2Dのゲームを作ろうとしています
画面右半分をタッチしている間はキャラが右に旋回、左なら左に旋回
指を離した時に向いている方向へキャラが進むというような動きを実装したいです
TouchScriptなんかを使うといいのでしょうがいかんせんよくわからず・・・
どのようなコードをかけばよいのかアドバイス宜しくお願いします
249:名前は開発中のものです。
16/01/25 01:51:29.67 Swq+3nB2.net
>>241
時計回り反時計回りってこと?
押されてる間をrotateして押されてない時は移動かスクロール
…ってダメだな。何の疑問かエスパーできてない
250:名前は開発中のものです。
16/01/25 01:57:13.90 u8a6va5z.net
>>242
俺自身もうまく言葉にできなくて申し訳ない…
回転自体は時計回り反時計周りって認識であってます
ただ、TouchScriptを使ったときに左右どちらの画面を押されているのか
判定する方法が思いつかず…という次第です
251:名前は開発中のものです。
16/01/25 02:08:32.29 Swq+3nB2.net
>>243
それなら Input.touch.position がそのままスクリーン座標だよ
252:名前は開発中のものです。
16/01/25 02:16:02.09 Swq+3nB2.net
>>244 訂正&追加
Input.GetTouch.position.y > Screen.width/2 なら左。じゃなければ右。
253:名前は開発中のものです。
16/01/25 02:30:37.08 u8a6va5z.net
>>245
なるほど!参考にさせていただきます
ありがとうございました
254:名前は開発中のものです。
16/01/25 20:17:46.17 c5KhjUAa.net
TouchScriptってこの一連の書き込みで初めて知ったんだけど
どれくらい使ってる人いるんだろう
255:名前は開発中のものです。
16/01/25 22:10:43.18 a9ft5r2C.net
for (int i = 0; i < 5; i++)
{
GameObject test = GameObject.Find("i");
}
ゲームオブジェクトが0~4と言う名前で存在してそれを各獲得したいのですが、処理の書き方がわかりません。
上記のようなことをしたいのですがこのスクリプトだと「i」というゲームオブジェクトを探しに行ってしまいそうな気がします。
どのように記載すればよいか助言いただけませんでしょうか
256:名前は開発中のものです。
16/01/25 22:14:05.12 c5KhjUAa.net
>>248
i.ToString()
257:名前は開発中のものです。
16/01/25 22:31:30.07 nZqo4Tr8.net
>>241
どっかの宿題みたいだナ
258:名前は開発中のものです。
16/01/25 22:44:26.24 U5vPxc2P.net
(i)
えっちぃコードはいけないと思います
259:名前は開発中のものです。
16/01/25 23:18:56.52 a9ft5r2C.net
>>249
解決しました、ありがとうございました
260:名前は開発中のものです。
16/01/26 16:05:36.90 XRPJnU6W.net
ドット絵でゲームを作ってるんですが、大きいサイズの画像だとボケるんですが、仕様なんですか?
FilterModeはPointにしてあるし、FormatもTrueColorにしてるんですが、ダメでした
261:名前は開発中のものです。
16/01/26 16:35:52.65 xTnUkZp2.net
あなたの頭がボケてる仕様だと思います。
262:名前は開発中のものです。
16/01/26 16:45:02.21 wQyuLnRY.net
大きいサイズの画像を縮小してボケないってどういう縮小の仕方なのだろうか…
有り得ないわけではないが結構特殊なアルゴリズムに思える
263:名前は開発中のものです。
16/01/26 16:46:32.17 1hRgTste.net
PointとTrueColorは合ってると思うけど、どこに設定したのかによるんじゃないかな
デバイスの設定とか
264:名前は開発中のものです。
16/01/26 17:40:47.59 hukh1ieb.net
>>253
Minimapsにチェック入れてるんじゃない?
で、カメラからの距離が遠くてぼやけてる
265:名前は開発中のものです。
16/01/26 17:51:15.20 1hRgTste.net
縮小してるやつだけボケるってことなのかな
266:名前は開発中のものです。
16/01/26 17:54:07.37 aems2BvR.net
大きすぎてインポート時にリサイズされてんじゃね
267:名前は開発中のものです。
16/01/26 19:45:38.63 X9xske2t.net
確認する気も起きないが、
カメラのsizeを整数にしてspriteのPixel per Unit を100にして、
解像度固定してカメラ動かさないで、整数でだけ座標移動したらピクセル表示になるんじゃね
268:名前は開発中のものです。
16/01/26 19:53:05.60 iU9J1Zke.net
よくわかんにゃい
元の絵を100倍解像度にして書くってこと?
269:名前は開発中のものです。
16/01/26 19:57:32.98 8LO1qDpa.net
例えば10000*10000Pixelの絵とかは取り込めない(ボケボケになる)はず
前に全部のスプライトを一枚絵に突っ込んだらそうなった
分割したら普通に読めるようになった
270:名前は開発中のものです。
16/01/26 20:07:47.80 X9xske2t.net
カメラのsizeは表示倍率
Pixel per Unit も1ピクセル当たりをどう扱うかってこと、百分率だから100のままでいい
そもそも1ドットがぼやけないで表示 = 画面の解像度と1ドットもずらさないってことに解釈してる
そうなると回転とか、小数点の座標移動もしない、拡大表示、マルチプラットフォームも許容しないってことだから、
それだったらもっと低級の開発環境使った方がいいんじゃないかね
271:名前は開発中のものです。
16/01/26 20:11:32.35 XRPJnU6W.net
みなさん回答して頂いてありがとうございます。
そこまで大きいサイズの画像ではないんですが(200×20Pixel)
>>262さんの言うように分割したらなんとかなりました。
272:名前は開発中のものです。
16/01/26 20:12:51.21 8LO1qDpa.net
あったあった
URLリンク(i.imgur.com)
本来これが
URLリンク(i.imgur.com)
こういう無茶をすると
URLリンク(i.imgur.com)
こうなる
273:名前は開発中のものです。
16/01/26 20:17:02.59 X9xske2t.net
>>262
それUnityの対応画像のフォーマットで、再コンバートされてね?
4096*4096超えないサイズでしかパックしたことないっていうか
する気も起きないから確認もしたいとは思わんのだが
つーか画像くらい仕様に合わせろよ
ちゃんとRBGA4444にしてんのかよ
274:名前は開発中のものです。
16/01/26 20:19:24.92 8LO1qDpa.net
>>266
画像仕様なんてあったのか
調べてなかった
もしよければ教えてほしい
そうそう、前に質問した時も4096*4096って聞いたな
そのサイズで区切ったら上手く行ったよ
275:名前は開発中のものです。
16/01/26 20:22:15.87 8LO1qDpa.net
あ、意味わかったわ
分割しただけで、その前後でフォーマット自体は変えてないから(フォトショップでPNG-24出力)
フォーマットが原因で再コンバートされたということはないはず
純粋に画像サイズが問題だったんだと思う
276:名前は開発中のものです。
16/01/26 20:29:53.00 X9xske2t.net
画像のサイズは、Unity上でMaxサイズってのがあるだろう
それにRGBA4444は16bit透過PNGだぞ24じゃねぇよ
277:名前は開発中のものです。
16/01/26 20:39:59.53 8LO1qDpa.net
なるほどありがとう
まあボケたってのは拡縮でどうのこうのではなく
本当に壊滅的になることがあるよって事で
一応ダメ経験談として書いてみた
278:名前は開発中のものです。
16/01/26 22:19:06.34 XRPJnU6W.net
色々試してみたんですが、QuadにARGB4444のドット絵(160*60)を貼り付けて
FilterをPointにしましたが、やはりボケて見えます(縮尺を変えたりはしてません)
TextureTypeはTextureにしたらボケます。
Editor GUI and Legacy GUIにしたら元のままきれいに表示されるんですが、なんでなんですかね
279:名前は開発中のものです。
16/01/26 22:21:13.05 x6yvc+/r.net
画像もオブジェクト化しろよ(´・ω・`)
一枚の画像に全部突っ込む意味が分からない
280:名前は開発中のものです。
16/01/26 22:28:59.51 8LO1qDpa.net
>>271
「ボケる」だけじゃ人によって捉え方が違う
実際その画像を貼るとかしないと
状況がわからんよ
貼っても答えが返ってくるとは限らないが、おまいは情報が適当すぎ
281:名前は開発中のものです。
16/01/26 22:32:49.87 tOLztjRC.net
(´・ω・`)
�
282:ェ これ書き込んでるクズには反応しないように。
283:名前は開発中のものです。
16/01/26 23:23:10.32 XRPJnU6W.net
>>273
そうですね……すみません。
画像は
元の画像がこれで、
URLリンク(imgs.link)
ボケた状態(?)がこうなってます
URLリンク(imgs.link)
284:名前は開発中のものです。
16/01/26 23:30:19.90 Zx6vwwfv.net
ボケてないwww
285:名前は開発中のものです。
16/01/26 23:33:24.14 A37nJnS6.net
相変わらず糞つまらんエスパー談義するスレだな
最初から詳細な情報出せば一発の話じゃね
そもそもマニュアルきちんと読めばいいだけじゃね
286:名前は開発中のものです。
16/01/26 23:34:05.85 x5z56ft3.net
確かスイッチがあったよ。インスペクタかコードで設定か忘れたけど、ドット絵の表示テストしてた時、ググったら出てきた覚えがある。
すまん、それを忘れた。
287:名前は開発中のものです。
16/01/26 23:39:49.09 X9xske2t.net
Unityの2Dは3Dの環境の流用でできてるから、
そんなにピクセル単位で表示したいなら、もっと低級な環境使えよ
マルチプラットフォームにしたいとか、
OpenGLでハードウェアで描写サポート受けたいとかじゃないんなら、
Unityにする必要もないだろ
288:名前は開発中のものです。
16/01/27 00:30:58.89 BUQ7A3O1.net
unityっていうかc#のことなんだけどprivateってつける意味あるの?
つけてもつけなくても変わんなくね?
289:名前は開発中のものです。
16/01/27 00:32:27.41 22CThVc7.net
>>275
Pixel Perfectになってないだけ、全くボケてない
「Unity Pixel Perfect」あたりでググれ
290:名前は開発中のものです。
16/01/27 00:41:20.74 1b+r5MHb.net
>>280
つけないとinternalだったような。
個人で作って個人で使う分には気にせんでいいかな。
291:名前は開発中のものです。
16/01/27 00:54:58.20 22CThVc7.net
>>280
俺は主に読みやすさのために省略しない方向で統一してる
他にも下のような場合、セッターのprivateは省略出来ない(省略=publicになる)
private int m_readOnly;
public int ReadOnly{
get{return m_readOnly;}
private set{m_readOnly=value;}
}
なおアクセス修飾子を省略した場合、
クラスはinternal
メンバ(フィールド、プロパティとメソッド)はprivate
列挙型とインターフェイスはpublic
プロパティのアクセサはプロパティのものを継承
ソースを読む奴がこれらをきちんと把握してる保証がないなら省略しないほうがいい
292:名前は開発中のものです。
16/01/27 18:48:50.91 ZWquAugJ.net
2D UFO Tutorial 着てたんだな、まんまRoll-a-ball tutorialの2D版で初歩的な事をすごく解りやすく説明してる
2Dやってる初心者は質問する前に最低限これと日本語公式の2Dシューティングゲームはやったほうがいい
293:名前は開発中のものです。
16/01/27 19:01:46.54 870s+eyG.net
UFO 30秒くらい見てきた。
なかなか勉強になった
294:名前は開発中のものです。
16/01/28 23:38:25.34 2Gol1lUg.net
Scrollrectについて相談です。
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class ScrollRectTest : ScrollRect
{
public Vector2 test;
void Start()
{
test = Vector2.zero;
}
void Update()
{
normalizedPosition = test;
}
}
このようなスクリプトを組んで、インスペクターにtestの項目が表示されるように調整しました。
自分のイメージではインスペクターのtestの数値を入れ替えるとスクロールが動いてくれると思っていたのですが、実際やってみると動きません。(通常のスクロールさえしてくれなくなります。)
どこが行けないか教えていただいてもよろしいでしょうか
295:名前は開発中のものです。
16/01/29 09:44:30.72 u2ePCQjD.net
HP2の敵にCollider2つつけて攻撃力1の攻撃が両方のコライダーに当たると、
両方のコライダーが反応してしまって一撃で倒せてしまうの治したいのですが、
これって、onTrigerEnterでフラグだけ立てて、実際の処理はUpdateでっていう方法しかないですかね
296:名前は開発中のものです。
16/01/29 10:21:45.64 f/wrvHoT.net
>>287
ESPその1
パーツ別にコライダがあってそれが重なるヶ所があるっていう場合なら攻撃してるオブジェクト側で攻撃力の減殺かヒット済フラグを持つべき
ESPその2
コライダにHPの概念を与えている => それ考え方が間違ってる
それ以外:
状況もっと詳しく書きやがれ
297:名前は開発中のものです。
16/01/29 10:36:48.19 bILCJIZb.net
>>287
チュートリアルもやってない糞か
チュートリアルは理解してるけど自分のゲームに応用できない低能か
すべて理解した上で新しい手法を試行錯誤してる秀才か
298:名前は開発中のものです。
16/01/29 11:24:20.57 W7AJX6ra.net
>>286
タッチに操作よるスクロールが動かない問題
→Updateでスクロール位置を上書きしてれば当然
インスペクタ操作の問題
→ScrollRectのコンテンツ領域はスクロールできるだけのサイズはあるか確認
→test.x,test.yは0~1の範囲内に収まっているか確認
299:名前は開発中のものです。
16/01/29 11:36:08.49 gl9ey5bR.net
>>287
onTrigerEnterで処理するなら進入時に1回しか発生しないはずだから、根本的に何か間違ってる
コライダーのレイヤー分けしてないとかな
チュートリアルのコライダーの説明見直してこい
300:名前は開発中のものです。
16/01/29 14:01:48.88 u2ePCQjD.net
>>288
>>289
>>291
ありがとうございます。
>>288 のエスパー1の状態です。
ColliderAとColliderBをつけているオブジェクトTの
ColliderAとColliderBが重なっていて、ABが同時に別のオブジェクトOと接触した場合、
TのスクリプトのOnTriggerEnterイベントが2回発生してしまいますよね?
つまりColliderAとBの両方のtriggerイベントが発生してしまうのを、
簡単に修正できる方法はないかなーと思ってのことでした
ずびばぜん
301:名前は開発中のものです。
16/01/29 14:09:40.74 f/wrvHoT.net
>>292
2つのトリガーイベントが発生するのは機能として正しいので、OnTriggerでは衝突の事実だけ扱って距離から優先を取り
実際のHP処理は今のUpdate(またはFixUpdate)で衝突オブジェクトのリストから処理するように遅延するか
衝突自体が絵的にどちらでも良いと思えるのならOnTriggerが最初に来た方だけで処理してしまうのがよいんじゃないの?
302:名前は開発中のものです。
16/01/29 14:20:36.72 u2ePCQjD.net
>>293
ありがとうございます
HP処理を遅延させる方法で行こうかな―と考えていたのですが、
>衝突自体が絵的にどちらでも良いと思えるのならOnTriggerが最初に来た方だけで処理してしまうのがよいんじゃないの?
これって、どういう感じに出来ますかね。
普通に、フラグでも持っておいて、一回発生したら、同一フレーム内では処理しないのような感じでしょうか
303:名前は開発中のものです。
16/01/29 14:33:15.18 +WKfnYCk.net
つか設計がおかしくね
collider2つ付けてもHP一つで管理してたら意味ねえじゃん
collider毎にHP設定して手が無くなる足が無くなるとかならわかるけど
あとはcolliderが重なってるてのも意味不明、きちんと分けろよ
分けてるとこに別々に衝突したならそれぞれ減るのは正しい処理だろうし
チュートリアルのsuvival shooter をもう一度良く学んで踏襲するのが一番に思えるけど
304:名前は開発中のものです。
16/01/29 14:40:40.66 omUe0Ed6.net
何をしたくてコライダーを二つに別けたのか?
書いた方がいいと思うよ
手段が間違っていて、間違った手段での解決を得ることに意味が無いとは言わないけど
305:名前は開発中のものです。
16/01/29 15:03:07.62 bQZLlzK1.net
コライダー2つ付けて形整えたりするのは3Dでは常套なやり方だけどね。
4つとか5つとか付けたりするのでそういう複数当たりの処理は当たり前で
Update()で遅延処理するのが普通。
「一個のはずのもの」が二個以上にわかれているからそうなる訳で
ある衝突とある衝突が「同じものである」と評価するためには
「何かを記憶して置くしかない」
306:名前は開発中のものです。
16/01/29 15:03:09.11 u2ePCQjD.net
>>295
>>296
あれ?
ちょっとだけ複雑な当たり判定作る時に、矩形の判定2つ置いたりするのって普通じゃないですか?
Unityだと変ですかね?
完全に説明忘れてましたが、isKinematicはtrueです。
307:名前は開発中のものです。
16/01/29 15:09:00.17 u2ePCQjD.net
>>297
こちらでした。
やはり記憶しておくしかないようですね。
ありがとうございます。
308:名前は開発中のものです。
16/01/29 15:45:41.84 8weQyEAD.net
>>298
普通だと思うよ。
もちろんPolygon Colliderで足りるならそっちを使うことも多いだろうから、
他に比べて使用頻度が少ないとかはあるかもしれんけど。
コライダーを複数設置したい状況はいくつもあるので
294はともかく、それをはっきりさせたいという>296の疑問は正しいと思うけどね。
309:名前は開発中のものです。
16/01/29 16:07:27.45 W7AJX6ra.net
メッシュコライダは重いからプリミティブなコライダを複数使って処理するのは普通だよなあ
310:名前は開発中のものです。
16/01/29 16:32:56.93 +WKfnYCk.net
そもそも最初に細かい情報どころか2Dか3Dかも言わずに
情報小出し&後出しして何したり顔してんのかと
311:名前は開発中のものです。
16/01/29 16:35:41.60 +WKfnYCk.net
あと3DでもSAColliderBuilderとか負荷軽減する方法は幾らでもあるぞ
312:名前は開発中のものです。
16/01/29 16:44:50.56 i1ALSBis.net
というか>>287みたいなアホ初心者的な質問から
>>297のような結論が得られるってどんだけおまえらエスパーなんだよw
313:名前は開発中のものです。
16/01/29 16:55:30.22 LOQEA4Mr.net
いつもの人達によるいつもの流れだろ
すっかりこのスレに居着いたのかねえ
314:名前は開発中のものです。
16/01/29 17:03:22.06 Jwi3avVs.net
嫌な空気にさせたり、極論言って議論かき回したり
そういう変な奴ってここにかぎらず2ch全体でどこにでもいる気がする
315:名前は開発中のものです。
16/01/29 18:28:43.11 yJ6TjZJ0.net
クラウドファンディング(英語:Crowdfunding)とは、不特定多数の人が
通常インターネット経由で他の人々や組織に財源の提供や協力などを
行うことを指す、群衆(crowd)と資金調達(funding)を組み合わせた造語である。
URLリンク(camp-fire.jp)
URLリンク(www.makuake.com)
URLリンク(shootingstar.jp)
URLリンク(wesym.com)
316:名前は開発中のものです。
16/01/29 19:28:22.72 gl9ey5bR.net
複数のコライダー使って複雑な当たり判定実装しようとしてるっていう、
それなりに経験がある人間が、
イベント2回発生してしまってどうしよう?みたいなクッソ低レベルな質問するのがどうかしてる
ここにいる関係者君はもっと質問内容考えろよ
あらかじめ答え用意してるわりに質問内容がうんk過ぎてお話にならんわ
>>304
そりゃ>>287が>>297と同一人物だからに決まってんだろ
あまりにも不完全な質問でだまし討ちみたいな答えだしてくるとか
逆にこの場を盛り下げてるって気付けないのかね
317:名前は開発中のものです。
16/01/29 19:34:23.55 8weQyEAD.net
>>308
最初の質問が情報不足だったのは誰もが認めるところなんだから
自分が明後日の回答をしちゃったことを恥ずかしがらなくてもいいのよ
318:名前は開発中のものです。
16/01/29 19:37:33.76 gl9ey5bR.net
>>309
明後日な質問内容だったから明後日な回答になるっていう
なんの論理破綻もない内容にあおっちゃうところが業者低能
監視お疲れ様です
319:名前は開発中のものです。
16/01/29 19:40:01.18 LOQEA4Mr.net
客観的に見て>>309のほうが見苦しいな
何故わざわざ余計なレスするのやら