【ゲームエンジン】Unity初心者質問スレBuild1

■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
垢版 |
2018/06/06(水) 10:45:19.46ID:3pAIyBsg
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。 プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他

■注意事項
「アセットを買えば」「チュートリアルやれ」等禁止、初心者の質問疑問に初心者が答えるスレ、ググれじゃなく何のキーワードでググったらいいかを書く

次スレは>>950以降にできるだけ早く(できれば回答者が回答した後にでも余裕を持って)建てて下さい。

■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
http://www24.atwiki.jp/unity2ch/

●リンク
・Unity(日本公式サイト)
http://unity3d.com/jp
・マニュアル
 http://docs.unity3d.com/ja/current/Manual/index.html
・チュートリアル
 http://unity3d.com/jp/learn/tutorials
・スクリプトリファレンス
 http://docs.unity3d.com/ja/current/ScriptReference/index.html
・FAQ
 http://unity3d.com/jp/unity/faq
・MSDN
 http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。

関連スレ
【3Dゲームエンジン】Unity質問スレッド35
https://mevius.5ch.net/test/read.cgi/gamedev/1523771570/
2018/08/18(土) 00:14:35.49ID:cxAelueQ
あぁテストする際、
void Start()
{
SetOffAtariHantei();
}
に入れて最初は通過、その後クリックで当たるとした方が分かりやすかったかもしれません><
2018/08/18(土) 03:49:59.01ID:FXerNp9n
なんで出っぱなしになって困ってる判定を敵にあたったら消すように改修すんの?
剣を振るアニメーション終わった後にとことこ敵の前に歩いていったら攻撃があたんの?
亜空間攻撃とはなかなか見ないゲームだな

どんなゲームかわからんけど普通は一定時間後にオフにすればいい
SetActive falseで消えることはわかってるだろうから一定時間後にその処理を呼ぶようにすればいい
一定時間後に処理を走らせる方法はいろいろあるからググって
わかんなかったらまた聞いて
2018/08/18(土) 03:53:50.54ID:FXerNp9n
>>444
知らなければ答えなければいい
とか言って他人を煽るんだったら正しく答えてくれません?
なんで初心者が迷うような回答をいつもするんですか?
2018/08/18(土) 11:18:41.80ID:CpHT33yN
>>441
アニメーションイベントを使うといいよ
具体的なメリットはアニメーションの好きなフレームでコライダーのオンオフできるところ
現状だと、例えば剣を振りかぶる動作の途中なのに敵がダメージ食らったりしてると思う

詳しくはウェブで!!
https://gametukurikata.com/basic/animationevent
448名前は開発中のものです。
垢版 |
2018/08/18(土) 11:49:36.64ID:42eZyM7+
<<442
>>443
ありがとうございます
攻撃→コライダ出る→敵に当たる→コライダ消えるって感じなので、攻撃を空振りしたあとに
敵に当たるまでコライダ出っぱなしになるんだけど、これはどうすればいいの?

そもそもこの攻撃の当たり判定の仕方は根本的に間違ってるの?入門本三冊持ってるんだけど
どれにも攻撃の当たり判定は載ってなかったからネット検索してやってみたんだけども
アニメーションイベント使ってやった方がいいのだろうか?ちなみに本にはアニメーションイベントのやり方は載ってなくて
ググってみたけどよく分からなかった
449名前は開発中のものです。
垢版 |
2018/08/18(土) 12:18:13.14ID:42eZyM7+
>>445
>>447

ありがとうございます、一定期間後の処理で出来るようになりました。
アニメーションイベントもわからないので調べて出来るようになろうと思う

void AtariKesu()
{
AtariHantei.SetActive(false);
}

void Update()
{
//アタック

if (Input.GetMouseButtonDown(1))
{
AtariHantei.SetActive(true); //コライダon
Invoke("AtariKesu", 0.3f);

}
2018/08/18(土) 14:52:49.51ID:X+sFoNwa
>>448
間違い。
@コライダー出す→コライダー消す
Aコライダーに当たる、

@Aの判定は別で処理すべき。
Aで当たった判定を@に渡して、途中で消す作りにすべき。
451名前は開発中のものです。
垢版 |
2018/08/18(土) 17:20:42.60ID:D8/ukjCM
raycastのrayって判定がけっこう曖昧になったりすることありますか?
マウスが乗ってるとこのterrainの座標を取得するのは問題なく出来てるんですが、xz座標を指定して高い位置から真下に飛ばしてヒットしたy座標を取得しようとすると取得できたり出来なかったり違った値が入ったりするんですが
少し感じたのはinfinityにするとしても発射位置を少し高くすると反応しなくなったりしてます
2018/08/18(土) 19:25:51.68ID:An0BPv4U
>>449
アニメーションEventは一回わかると結構簡単だ
public void AtariKesu()のスクリプトをつける
アニメーションのEventにAtariKesuを入れるとそのコマに来たら呼び出してくれる
2018/08/18(土) 23:30:28.71ID:47mEmEPe
>>451
曖昧になったと感じたことはない。
私は、な。
2018/08/18(土) 23:34:58.38ID:CVdxGkvB
お前の話は聞いてない
2018/08/19(日) 00:14:57.54ID:9mjqz3Tm
>>449
はじめて自分でアニメーションまでつけてやってみた
結構めんどくさかった
剣にコライダーつけてisTrigerをオン・オフにするようにした
コライダーのisTrigerのチェック入れておく(オフの状態)
public Collider2D coll2;
void Start () {coll2=GetComponent<Collider2D>();}
public void collOn(){coll2.isTrigger=true;}
public void colOff(){coll2.isTrigger=false;}
void OnCollisionEnter2D(Collision2D col) {Destroy(col.gameObject);}
あとは剣のanimationで振り始めにEventをつけてcolOnを選んで
振り終わりにcolOffを選ぶ
456名前は開発中のものです。
垢版 |
2018/08/19(日) 00:41:49.62ID:gr5beU/F
>>452
>>455
ありがとうございます
自分もそれで試してみようと思う
2018/08/21(火) 01:36:00.94ID:ypI3wEdL
上達するにはチュートリアルやれとしか言われないのですが、
あの数をやり終えてる人はなかなかいないと思います。
興味あるチュートリアルをやっているのか、好きなゲームを作って学んでいるのか、
皆さんはどうやって上達、脱初心者をしたのですか。
2018/08/21(火) 01:47:03.06ID:en2r1zRw
聞いたところで何になる?
とにかく作る事。
作りたいものがあれば、それに必要なアルゴリズム、ロジックを構築する、その為にそこをしらべる。
これの繰り返し。
2018/08/21(火) 01:55:37.36ID:RFRywrT+
>>457
初心者スレでそれ聴かれても
自分はずっと初心者でいいかなと思ってますよ
2018/08/21(火) 03:04:32.49ID:fxmPVXdZ
ええ…
2018/08/21(火) 15:11:17.70ID:8qBPp1CD
>>457
チュートリアルはroll a ballしかやらなかったな
その後は作りたいゲームの案から比較的簡単なやつを選んで作っていった

上達の秘訣はググり力だと思うよ
リファレンスを眺めて思いを馳せるのもいいかもしれない
462名前は開発中のものです。
垢版 |
2018/08/24(金) 11:55:13.06ID:Grbxnj3m
敵がプレイヤーに向かってくるスクリプトはできたんだけど敵の進行方向にspriteを左右に反転させるコードがわかりません
分かる方いたらよろしくお願いします。

public class Chase : MonoBehaviour
{

public GameObject Player;
public float Speed;

void Update()
{

this.transform.position = Vector2.MoveTowards(this.transform.position, new Vector2(Player.transform.position.x, Player.transform.position.y), Speed * Time.deltaTime);

}

}
463名前は開発中のものです。
垢版 |
2018/08/24(金) 12:10:02.41ID:4yphetVh
void Update()
{
Vector3 prePosition = transform.position;

this.transform.position = Vector2.MoveTowards(this.transform.position, new Vector2(Player.transform.position.x, Player.transform.position.y), Speed * Time.deltaTime);

if(transform.position.x - prePosition.x >= 0){
transform.localScale.x = 1;
}else{
transform.localScale.x = -1;
}
}

こんな感じでどう?
2Dやったことないけどねw
2018/08/24(金) 12:24:40.51ID:4yphetVh
すまん横着した
こっちで

void Update()
{
Vector3 prePosition = transform.position;

this.transform.position = Vector2.MoveTowards(this.transform.position, new Vector2(Player.transform.position.x, Player.transform.position.y), Speed * Time.deltaTime);

Vector3 scale = transform.localScale;

if(transform.position.x - prePosition.x >= 0){
scall.x = 1;
}else{
scall.x = -1;
}

transform.localScale = scale;
}
2018/08/24(金) 12:25:36.69ID:4yphetVh
スペルミスってるw
もうだめだw
466462
垢版 |
2018/08/24(金) 12:53:19.91ID:Grbxnj3m
>>465

できました
ありがとうございます
2018/08/24(金) 13:27:58.55ID:4yphetVh
>>466
かなり当てずっぽうで書いたところはあるが…
まあできたのなら…

個人的にはscaleを1倍固定にしてるのが後々問題になりそうな気がするが
そのときはそのときで…
468帝王
垢版 |
2018/08/24(金) 21:11:12.99ID:4jbbRJqV
あるアニメーション付きのアセットをいじって思ったのですが
歩くアニメーションクリップがありまして
ローカルの座標を歩いてます
そしてスクリプト上からも位置を更新して歩かせているのですが
そうしますと
アニメーションクリップの初めと後でローカル座標をいったり来たりして
グローバル座標の移動も加わって
引き戻されてワープするような歩き方になります

これはモデルだけ使ってこのクリップは使わないほうがいいのでしょうか
469名前は開発中のものです。
垢版 |
2018/08/24(金) 22:16:08.41ID:Grbxnj3m
>>467
いや助かりました、ありがとうございます

素人すぎてどういう問題がでるのか想像できないけど、今のところは大丈夫そうです
2018/08/24(金) 22:34:13.70ID:W1ALrPmX
>>468
その場で歩くモーションないの?もしくはそういうふうにアニメーションを修正できないの?
だとしたらそのアニメーション使うのを諦めるか、アニメーションの終わりを捕まえてそのタイミングで座標を更新するかじゃないかな
後者は相当シビアにやらないと瞬間移動しそうだけど
471帝王
垢版 |
2018/08/24(金) 22:56:58.98ID:4jbbRJqV
>>470
ご回答ありがとうございます
3Dアニメーションってそういうものなのですね
わかりました
その場で歩くモーションにしてくれたほうが簡単でやりやすい気がしますけど
本格的なゲームを作ろうとする人には
歩き終わるフレームの位置を取得するほうが自然なんですかねえ
2018/08/24(金) 23:37:56.22ID:k7t8ZXtf
>>471
いや、普通はその場で歩くモーションで作るよ
モーション終わりを捕まえるのは超苦肉の策だと思って
歩く速度が少し変わったらアニメーション全部修正なんてやってられんでしょ
2018/08/25(土) 06:27:10.69ID:RNfQBHTM
>>469
例えば、このモンスターは大きさ10倍だぁ!!
みたいなときにね、まあ、困れ

>>468
諦める前にAnimationの設定で
Root Transform Position(XZ)項目のBake Into Poseに
チェックが付いてるはずだから外してみてくれないかい?
https://imgur.com/8ToZoar.jpg
474帝王
垢版 |
2018/08/25(土) 11:43:31.25ID:YP3VndSY
>>473
ありがとうございます
たしかにclipのほうにはその設定があります
それをいじればたしかにその場で動かすことも可能になりそうですね
Based UponでCenter of Massにすることもできるのですね
しかしRigをHumanoidではなくRegacyでやっているため
アニメーションタブにはその設定は出ないようです

UNITY 逆引き 300の極意という本の
アセットでZombie (Zombie Draft)というフリーのものでやってるんですけど
まだ当方UNITYの3Dについてあまり勉強していないため
アニメーションの読み込みについてよくわかってないので
とりあえずどんなものか知ってみたくて質問しました
何かを作ってるわけではないので
動作の修正を完了できていませんが良しとします
475帝王
垢版 |
2018/08/25(土) 11:58:14.80ID:YP3VndSY
RegacyではなくLegacyでした
476名前は開発中のものです。
垢版 |
2018/08/26(日) 12:33:10.62ID:9w/Vho71
>>100
ちと、これは、、、って感じですよね。
If で係数算出だけって言うのが頭整理出来てないって言われちゃってんだよね。
普通はそこで値算出までもっていって最後にposition にぶつけますよね。そしたらdirなんて変数無くせますよ
BASIC と同じ構造化の考え方なんで、このブロックは何をしたいって意識して書いたら良いと思います。
この位のステップで混乱しちゃダメで、もうちょい頭を整理してから臨んで見よう〜
477名前は開発中のものです。
垢版 |
2018/08/26(日) 15:32:17.94ID:37NXT9po
スキンメッシュのキャラクターの肌表面に汗や血を流させるようにしたくて
試行錯誤していますがうまく出来ません。何かやり方がないでしょうか?
Textureを動かすと部分的にはそれっぽい表現ができますが、元モデルのUVマップに
方向が依存するので今一つです。キャラクターの腕と足で流れる方向が違ったり。
液体系のアセットなども見てみましたが、あまりよくわからず、購入にも踏み切れません。
どなたかご教示くださいー
2018/08/26(日) 19:09:45.46ID:nJEwGv2d
>>477
ここは初心者質問スレです
そのような高度なことは
https://mevius.5ch.net/test/read.cgi/gamedev/1533351108/l50
こちらでお願いします
2018/08/28(火) 10:20:24.85ID:pajUwPk7
>>477
InkPainterってアセット使えばできそうではある
俺は使い方知らないから詳しくは開発者のブログ読んでね
http://esprog.hatenablog.com/entry/2016/12/10/154645
480名前は開発中のものです。
垢版 |
2018/09/01(土) 10:07:46.42ID:PNIbFc8L
http://baba-s.hatenablog.com/entry/2018/01/16/212800
こちらのサイトの通りC#のスクリプトをボールに反映させたのですが、再生ボタンを押してもボールが動きません…。
なんとか自力で調べようとしましたが僕の力不足で答えにたどり着けませんでした。
このような場合どうすればいいのでしょうか?
2018/09/01(土) 11:59:09.76ID:bX6t3Mwb
スクリプト BallControllerの speedの値はちゃんと10になっているかい?
スクリプトの方じゃなくてインスペクタの方を確認しておくれよ
482名前は開発中のものです。
垢版 |
2018/09/01(土) 12:58:19.94ID:PNIbFc8L
>>481 なっていませんでした…。ありがとうございます。
そしたら今度は再生ボタンを押したら「All compiler errors~enter playmode.」の文字が出るようになってしまいました。
再起動しても同じです…
どうすればいいでしょうか?
2018/09/01(土) 13:02:08.53ID:bX6t3Mwb
もう一つ上か下にエラーが出てるはず
それを教えてたもれ
484名前は開発中のものです。
垢版 |
2018/09/01(土) 13:07:55.03ID:PNIbFc8L
Assets/BallController.cs(17,0): error CS1525: Unexpected symbol `void'
これでよろしいでしょうか?
2018/09/01(土) 13:16:33.23ID:bX6t3Mwb
スクリプトを弄ったな?
まあそれはいいんだけど恐らく
public float speed = 10;のセミコロンが抜けている;
486名前は開発中のものです。
垢版 |
2018/09/01(土) 13:18:10.71ID:PNIbFc8L
確認しましたが抜けていませんでした…。スクリプトはコピペ以外は何も弄ってないです。
2018/09/01(土) 13:23:37.83ID:bX6t3Mwb
じゃあ括弧{}かもしれない
とにかく17行目の辺りをコピペ元とよく比べてみなさい
488名前は開発中のものです。
垢版 |
2018/09/01(土) 13:29:58.67ID:PNIbFc8L
括弧の抜けもその他の抜けも見つからなかったです…。
2018/09/01(土) 13:37:34.53ID:bX6t3Mwb
17行目はなにが書いてあるんだい?
490名前は開発中のものです。
垢版 |
2018/09/01(土) 13:42:24.67ID:PNIbFc8L
void Start () { と書いてあります。
念のためスクリプトの画面を撮影した画像のリンク貼っておきます。
要領悪くて申し訳ないです。
https://imgur.com/iFAf5n2
2018/09/01(土) 13:47:28.12ID:bX6t3Mwb
なるほどw
赤の波線出てる方の void Start(){ }けしたまえ
{}もだぞ
492名前は開発中のものです。
垢版 |
2018/09/01(土) 13:56:57.88ID:PNIbFc8L
赤線ついてる行のvoid Start(){ }全部ですか?
2018/09/01(土) 14:01:48.35ID:bX6t3Mwb
17〜19行全部だ
Startメソッドは二つもいらぬ
494名前は開発中のものです。
垢版 |
2018/09/01(土) 14:08:50.21ID:PNIbFc8L
消しましたがまたあのエラーメッセージが出ました…
ちなみに消した後のスクリプトの画面です。これからバイトなので返信遅れると思います。申し訳ありません…
https://imgur.com/a/7smOTON
2018/09/01(土) 14:10:48.40ID:bX6t3Mwb
おっと、見落としてたわ
14行目の}も消しなさいw
2018/09/01(土) 14:12:43.11ID:ZtaY+aBO
void start(){}}
}がひとついらない
2018/09/01(土) 14:13:50.11ID:bX6t3Mwb
全部解決したら解説しようと思ってたのに…
まあいいや、困れ
498名前は開発中のものです。
垢版 |
2018/09/01(土) 22:44:40.84ID:PNIbFc8L
>>495動きました!!!ありがとうございます!!返信遅れて申し訳ありません!!
499名前は開発中のものです。
垢版 |
2018/09/01(土) 23:08:55.53ID:vbV+SNJ0
失礼します。
Input.GetKey(KeyCode.LeftAllow)
が押しっぱなしではなく離した瞬間のみtrueになるのですが
原因がわかる方いらっしゃいますでしょうか。

unityのバージョンは2018.2.3f1です。
2018/09/01(土) 23:12:38.72ID:ZtaY+aBO
離した瞬間にtrueになるって確認してるコードが間違ってんじゃないの
2018/09/01(土) 23:20:05.44ID:vbV+SNJ0
>>500
実際に動作させるとそうなります。
Debug.Logで確認しても離した瞬間のみです。
使用している関数は間違いなくGetKeyであり、GetKeyUpではありません。

void Update(){
Debug.Log.("Update")
if( Input.GetKey(KeyCode.LeftAllow)){
Debug.Log("Left");
}
}
とすると、Updateは毎フレーム出ますがLeftは離した瞬間のみ出ます。
502498
垢版 |
2018/09/01(土) 23:34:43.35ID:vbV+SNJ0
原因判明しました。
Virtual Joy StickというAssetのpluginがなにか影響していたようです。
Assetsから削除したところ通常の動作に戻りました。
ありがとうございました。
503名前は開発中のものです。
垢版 |
2018/09/02(日) 15:45:44.96ID:FDNByjh9
Android用のアプリを作っていて、
アプリを起動したときに、画像の一部を読みこんだ段階でアプリの画面が写るようにしたいと思い、
アセットバンドルを使おうとしているところです。

現在、Asset Bundle Browserを使って、複数のAssetBundleに画像を何枚かに分けて入れて、
AssetBundleをビルドし、StreamingAssetsフォルダに保存するところまでできました。
ローカルのStreamingAssetsフォルダから読み込む形です。

Androidでアプリを起動したときに、初めのAssetBundleの画像を読みこんだ段階で
アプリの画面が写るようにしたいと思っていますが、
AssetBundleを読み込むためのコード作りで躓いています。

http://tsubakit1.hateblo.jp/entry/2016/03/19/022019
このページ内の
「1.ABに8枚ずつ格納し、全てのスプライトを逐次ロードする(コード)」のところにある参考コード
https://gist.github.com/tsubaki/490c9576a61edaf7b87f
を参考にしてAndroid用のコード作っているのですが、
コードの訂正などをお願いします。

(続く)
504503
垢版 |
2018/09/02(日) 15:48:24.31ID:FDNByjh9
1 using UnityEngine;
2 using System.Collections;
3 using UnityEngine.UI;
4
5 public class LoadAssetbundle : MonoBehaviour
6 {
7 IEnumerator Start ()
8 {
9 var image = GetComponent<Image> ();
10 var fileNames = new string[] { "ファイル名1", "ファイル名2", "ファイル名3" };
     ?この10行目には一つ目のアセットバンドル内のファイルを書けばよくて二つ目以降のアセットバンドルに関しては省略でいいのでしょうか?
11 var assetbundleNames = new string[] { "/アセットバンドル名1", "/アセットバンドル名2", "/アセットバンドル名3" };
12
13 yield return new WaitWhile (() => Input.GetMouseButtonDown (0) == false);
14
15 float time = Time.realtimeSinceStartup;
16
17 // AssetBundle内のスプライトを逐次読込
18 foreach (var assetbundlename in assetbundleNames) {
19 var assetbundle = AssetBundle.LoadFromFile (Application.streamingAssetsPath + assetbundlename );
20
21 foreach (var file in fileNames) {
22 var asset = assetbundle.LoadAsset<Sprite> (file);
23 image.sprite = asset;
24 }
25 assetbundle.Unload (false);
26 }
27
28 Debug.Log (Time.realtimeSinceStartup - time);
29 }
30 }
よろしくお願いします。
505名前は開発中のものです。
垢版 |
2018/09/02(日) 16:08:09.77ID:xFcalBhM
ゲーム画面のピクセル単位で座標から色を取得する方法を教えてくれ
2018/09/02(日) 16:39:34.11ID:aq/4hagr
ageる奴には教えない
2018/09/02(日) 16:46:36.29ID:xFcalBhM
ゲーム画面のピクセル単位で座標から色を取得する方法を教えてくれ
2018/09/02(日) 17:50:26.80ID:y/8eZbrS
w
2018/09/02(日) 19:13:48.52ID:/2HwT9SP
>>505,507
うんと、簡単なカラーピッカーですけど、こんなんでヒントになるかな
https://i.gyazo.com/5c53ad629a33d84aba1ca9672cf40544.png
https://i.gyazo.com/e7d5b5162e9c0fdc4f743ca7fc00ca3d.png

クリックしたとこの色をRGBa値を表示してくれます
https://i.gyazo.com/75b76252c32ca71ff6969e1fc4efd1a7.png

どっかのサンプルですが、どこから拾ったから忘れました><
2018/09/02(日) 21:40:20.57ID:yN36FyeR
拡張メソッドは専用のスクリプト作って書けばいいんですよね?それとも何か保存用の機能とかあったりするんですかね?
511名前は開発中のものです。
垢版 |
2018/09/02(日) 22:25:29.35ID:xFcalBhM
>>509
ありがとうございます!これをヒントにもう少し自力で勉強してみますね
では失礼しました
512名前は開発中のものです。
垢版 |
2018/09/02(日) 23:40:45.76ID:qrAMxSjg
半年以上2ch離れてたからわからないけど、俺のこと指してるのかな

事業安定してきて宣伝する意味が薄れたから、今はないよ
Twitterは前スレにあったんじゃないの。粘着に絡まれてるし、
俺からは言わない
2018/09/03(月) 07:06:24.74ID:vc7sWafP
>>504
アセットバンドルもコルーチンもよくわからないけど
ぱっと見、画像を表示するループの前に中断処理を入れているように見える

試しに13行目 yield return 〜
を23行目 image.sprite = asset;の下に入れてみたらどうだい?

見当違いだったらごめんよ
514名前は開発中のものです。
垢版 |
2018/09/03(月) 20:14:52.94ID:aLwDHYRc
public float interval = 0.1f;

void OnTriggerEnter2D(Collider2D coll) //当たり判定
{
if (coll.gameObject.tag == "fire") //fireの当たり判定
{
StartCoroutine("Blink");
}
}
//点滅
public IEnumerator Blink()
{
while (true)
{
var renderComponent = GetComponent<Renderer>();
renderComponent.enabled = !renderComponent.enabled;
yield return new WaitForSeconds(interval);
}
}

攻撃貰った数秒だけ点滅させたいんですけど、うまくいきません。
分かる方いたらよろしくお願いします。
2018/09/03(月) 20:59:49.58ID:tgVVdu0K
どううまく行かないのかくらい書こうか
数秒って仕様に対してwhile(true)はおかしくない?
516名前は開発中のものです。
垢版 |
2018/09/03(月) 21:04:21.53ID:aLwDHYRc
当たり判定後にずっと点滅になるのを指定した時間だけ点滅するようにしたいです
2018/09/03(月) 21:15:54.30ID:+w8X/Qp7
while(true)を
for(float i = 0; i < 指定秒; i += interval)
とかに書き換えればええんでないの
518名前は開発中のものです。
垢版 |
2018/09/03(月) 21:26:54.57ID:aLwDHYRc
ありがとうございます!ちょっとためしてみます
519名前は開発中のものです。
垢版 |
2018/09/03(月) 21:35:07.14ID:h+zzshNm
>>513
ありがとうございます。
試してみましたがあまり変わりませんでした。
他のところが間違ってるのかもしれないです。

どなたか複数のアセットバンドルの内、一つを読み込んだ段階で
画面を表示させるためのコードがわかるかたいたら教えてください。
520514
垢版 |
2018/09/03(月) 21:37:25.36ID:aLwDHYRc
ためしてみました、2回に1回くらい消えたままになります
521514
垢版 |
2018/09/03(月) 21:41:49.37ID:aLwDHYRc
>>517秒数変えたら大丈夫でした
ありがとうございました!
2018/09/06(木) 22:10:10.37ID:Wdj0MTwo
今2dで見下ろし型のゲームを作ろうとしていて、移動した方向にプレイヤーが向くスクリプトを書いているのですが、
void update()

input(); //入力


void fixedupdate()

move(); //古座標取得、移動
rot(); //回転

という風にやっているのですが、移動は出来ても回転しません
ログで座標を取って見ると古座標と現座標が同じになっていました
fixedupdateやupdate内では座標情報は変化しないのでしょうか
2018/09/06(木) 22:16:10.61ID:U2D2+Vnm
まず肝心のrot()はどうなってますか?
2018/09/06(木) 22:22:36.21ID:Wdj0MTwo
拡張メソッドで
public static void LookAt2D(vector3 transform_position,vector3 moveway,vector3 target_position)

vector3 rotvectol=(target_position−transform_position).momalized;
Quateinion FromToRotation(vector3 moveway,rotvectol);

でプレイヤーの後ろ側を古座標に向けるように
LookAt2D(transform.position,vector3.down,old_playerpos);
としています ちゃんとtransform.translateで動かす前に古座標を取得しています
2018/09/06(木) 23:16:41.21ID:U2D2+Vnm
一応、参考までに
ttp://tsubakit1.hateblo.jp/entry/2014/08/02/030919
ここの真ん中あたりにFromToRotationのサンプルあるので
まず、それを単体(例えば何かのキー押したら動く)ようにして確認してみるのはどうでしょうか
自分サンプル作ったら特に問題なかったです

それから、コードですがコピペだとしたらスペルミスがあるのですが・・・
2018/09/06(木) 23:24:25.34ID:JB0Cf20e
X それを単体(例えば何かのキー押したら動く)ようにして

○ それを単体、例えば何かのキー押したら動くようにして

()がつく場合は()が無い場合に日本語が通じるように書くこと。人に教える前に日本語勉強しろ
2018/09/06(木) 23:25:51.63ID:U2D2+Vnm
>>526
指摘ありがとう!
俺ファンの人!
2018/09/07(金) 19:42:20.51ID:lsD5Bh9y
オブジェクトの位置をインスペクター初期に設定した位置に戻すのって
初期にオブジェクト位置を取得しておいて
戻したい時にその取得値をぶっこむしかいないですか?

なんか簡単にインスぺの初期値を取得するのってないんですか?

例えるならこんな感じのです
transform.localPosition = Vector3.inspecterReset
または
transform.localPosition = new Vector3(インスぺ初期値, インスぺ初期値, インスぺ初期値)
2018/09/07(金) 21:54:41.80ID:9OXGk4KY
>>528
なんで、それじゃあかんの?
530528
垢版 |
2018/09/07(金) 22:28:16.56ID:lv+ZCuPP
オブジェクトが50個になるので、全部記録させるの手間だなと思って

ストラクトの変数でどこかに保管されてるのかなと思ったのですが、なさそうですね
2018/09/07(金) 22:42:52.52ID:HEwz+CQu
startで初期値を保存しとくscript作って貼ればいいんじゃない?
2018/09/15(土) 23:50:07.68ID:LxWm2AzV
ガチ初心者ですが、今おすすめの書籍ってなんですかね? 2018.2対応だと猫が書いてあるのとひよこのやつがヒットしたんですが

今のところやってみたいのはちょっとした2Dパズルゲームの作成→艦これもどき(どちらかというと改みたいな落としきりの方向。ブラゲやスマゲ化はまだ敷居が高そうなので目指さない)なんですが
2018/09/16(日) 01:04:57.37ID:S6i6ogcT
>>532
本屋で中身軽く見て良さそうなやつ
そもそもどうしても書籍じゃなきゃヤダってわけじゃないならgoogleをおすすめする
2018/09/16(日) 09:22:28.75ID:WeoJYzw7
>>533
某サイトで金はらって本読んで勉強しろって煽られまして…
あとちょっとでとあるサイト(上のとは別)のお題が完遂できそうなんですが、バージョン違いによる項目の違いで難儀しています…
2018/09/16(日) 09:26:30.00ID:WeoJYzw7
誤解されないように書いておくと533の質問はここでしかしてないです
2018/09/16(日) 10:48:55.67ID:WeoJYzw7
連投すみません。535は533の質問ではなく532の質問でした。

マルチでもいいよとおっしゃっていただけるのでしたら534についてここで伺ってみたいのですが
537名前は開発中のものです。
垢版 |
2018/09/16(日) 10:59:56.09ID:dLLBcIBT
スクリプトで他のオブジェクトにセットしてあるスクリプトのメソッドを呼び出したいんだけど、ネットで調べたけどエラーになってできないんだけど
どういう風に書けばいいのか教えて
2018/09/16(日) 11:45:32.69ID:8T0hdr1g
OnTriggerEnter2Dで敵と剣がヒットした位置にエフェクトを出したいのですが良い方法はないでしょうか?
調べてみるとGetContactする方法がでてくるのですがどうやらOnCollisionEnter2Dのほうじゃないと取れないようでisTriggerをオフにしろとか回答されてたりするけどそれじゃ剣コリジョンで押したりできるようになっちゃうし。
いまは剣と敵の中間位置に適当に出してるんですが剣も敵も長いのですごい変で萎えます
2018/09/16(日) 11:49:19.02ID:8T0hdr1g
>>537
OtherComponent otherCmp = otherObj.GetComponent<OtherComponent>();
if( otherCmp ){
otherCmp.myfunc();
}
これでどうだ
2018/09/16(日) 12:13:54.15ID:WeoJYzw7
532ですが、結局ヒヨコ本に手を出してみました
書店が近くにないのでレビューが頼りの博打ですが
グーグルで調べるのだと結局本のおすすめばっかりヒットするんです…
2018/09/16(日) 12:18:30.02ID:yVNdBTmY
というか書籍なぞるなら過去の落としてver合わせるのが普通だぞ
最新verの仕様理解するだけならgoogle先生やら講演資料漁る方が早い
2018/09/16(日) 12:52:45.16ID:LNRMkHTN
>>537
昔やった事あるので、知識スレに簡単にまとめてあるので参考にどうぞ
ttps://mevius.5ch.net/test/read.cgi/gamedev/1511784235/32
2018/09/16(日) 13:27:36.97ID:WeoJYzw7
Google先生に「Unity 2018 初心者」「Unity 2018 入門」などを聞いても侍何とかぐらいしか2018の実践形式をやってなかったです(古いバージョンのならブロック崩しとSTGのが出てきました)。ほかは本の紹介ばかりでした
侍なんとかは操作方法についての説明がなくて意味不明だったのでやむなく本を買いました
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況