[過去ログ] 【3Dゲームエンジン】Unity質問スレッド34 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
434: 名前は開発中のものです。 [sage] 2018/03/13(火) 13:32:23.69 ID:mS4wOgp9(1) AAS
2Dげーでも3Dオブジェクト使えるよ
いわゆる2.5次ってやつ
435(1): 名前は開発中のものです。 [sage] 2018/03/13(火) 19:26:55.51 ID:4Wos15D9(1) AAS
429です。
作りたいイメージはReignsのようなパラパラと絵をめくるイメージで
構造は大分シンプルなので宴は無しでもいけるかな・・と思っちゃって。
宴でも作れそうなのですが、ほとんどの機能は使わなそうです。
ただエクセルでシナリオ書けるのは凄い良さそう。
これだけのために宴ベースで作るのも有りでしょうか・・・。
ちょっと作り始めてるけど色々検討中です。
436: 名前は開発中のものです。 [sage] 2018/03/13(火) 19:53:33.00 ID:gbzm1UyD(2/2) AAS
>>435
エクセルから値持ってこれる無料のアセットあるよ
Unity エクセルで検索したら出てくるから試したら?
437: 名前は開発中のものです。 [sage] 2018/03/13(火) 20:05:02.14 ID:AlvYUnP1(1/2) AAS
Reignsのような紙芝居程度ならNGUIでも出来そうだね。
NGUIならアトラス(画像のパック)からスプライト名を指定すれば
画像を簡単に差し替えることが出来る。
ページめくりとかの演出もNGUI付属のTweenでちょちょいと実装できるし便利よ。
438: 名前は開発中のものです。 [] 2018/03/13(火) 20:09:07.96 ID:TBN5kbnw(1/4) AAS
2Dシューティングのチュートリアルの弾発射のやつ
外部リンク:unity3d.com
でStart()メソッドをコルチーンにして弾生成してるのが気に入らないので。
プレーヤーがスポーンしてゲームはじまったらオートで弾を連射しまくるので。
Spaceキー押したら弾発射に改造しようとしているのですが。
Project Settingでは
画像リンク
として、Player.csで
private IEnumerator Buletto() //コルチーン化したStartメソッド
{
Instantiate(Bullet, transform.position, transform.rotation); //変数BulletをPlayerの位置と回転のトランスフォームに合わせてインスタンス化
yield return new WaitForSeconds(0.05f); //インターバル0.05秒待つ
}
void Update () {
if (Input.GetKey("Fire1"))
{
StartCoroutine("Buletto");
}
else {
StopCoroutine("Buletto");
}
}
としましたが、間違ってるようで機能しません。
間違ってるとこわかるならご指摘お願いします。
439: 名前は開発中のものです。 [] 2018/03/13(火) 20:19:12.53 ID:TBN5kbnw(2/4) AAS
エラーログにFire1 is Unknownってでる
なぜだ
440: 名前は開発中のものです。 [] 2018/03/13(火) 20:23:03.35 ID:TBN5kbnw(3/4) AAS
KeyCode.Spaceに変えたら出来ました。
自己解決すまそ
441: 名前は開発中のものです。 [] 2018/03/13(火) 21:26:35.05 ID:TBN5kbnw(4/4) AAS
update()にinput .GetKey入れてるせいかコルチーンでwaitforsecound調整してるのにビームみたいな連射してしまう。
ここらへんわからんわ。
442: 名前は開発中のものです。 [sage] 2018/03/13(火) 21:36:29.61 ID:lZjB4yL5(1) AAS
unityをさくさく動かして録画して動画編集するための最低限必要なスペックてどんなもんでしょう
443(1): 名前は開発中のものです。 [sage] 2018/03/13(火) 22:23:18.12 ID:AlvYUnP1(2/2) AAS
>update()にinput .GetKey入れてるせいかコルチーンでwaitforsecound調整してるのにビームみたいな連射してしまう。
WaitForSecondはwhile(true){}ループ内にあるからインターバルになってるのであって
whileを外したら無意味になるぞ。
やるならコルーチンが終了してるかどうかをinput時に戻り値で判定すべし。
444(1): 名前は開発中のものです。 [sage] 2018/03/14(水) 00:07:10.56 ID:fTAf6LYh(1) AAS
自分だったらOnEnableで弾発射コルーチンをキックして発射管理はそっちに任せる、Updateはコルーチンで使うフラグを切り替えるだけにするかな。
あと弾のインスタンスは初期化時に指定数用意しておいて使い回す。
445: 名前は開発中のものです。 [] 2018/03/14(水) 00:51:55.21 ID:v8rqOjmA(1/3) AAS
>>443
While(true)は無限ループ
これだと一度このコルチーンに入ると永久に連射してるっぽかったです。
チュートリアルがおかしいのかも。
Breakの無いループは普通は使わない。
if でinput.getkeyのやつもコルチーンにして、そこからまたコルチーン入れてみたらけっこういい挙動でした。
回答ありがとう。
446: 名前は開発中のものです。 [] 2018/03/14(水) 00:57:35.74 ID:v8rqOjmA(2/3) AAS
>>444
OnEnableいいですね。
ちょっと試してみます。
UpdateにStartCorutine書くと次のフレームもコルチーン入ってるような気がしてスッキリ来なかったのです。
まあ、同じコルチーンのStart命令はシステム的にキックしてないかなと思ってるのですが。
447: 名前は開発中のものです。 [] 2018/03/14(水) 13:19:47.49 ID:Ezmy+XfL(1) AAS
緊急速報
(+)【IT】AMD製CPUに「致命的」欠陥 悪用でPC乗っ取りも
2chスレ:newsplus
(BIZ+)【CPU】AMD製CPUに「致命的」欠陥 悪用でPC乗っ取りも
2chスレ:bizplus
(ゲハ)【PS4/XONE】AMDのCPUに致命的な欠陥【Ryzen】
2chスレ:ghard
448(2): 名前は開発中のものです。 [] 2018/03/14(水) 15:49:01.87 ID:sLRo/hkc(1/3) AAS
質問、今2dのマルチプレイゲームを作っているんだけどキャラクターアニメーションの同期がわかんねえ
void FixedUpdate ()
{
if (!gameClear) {
if (!isLocalPlayer) {
return;
}
float x = Input.GetAxisRaw ("Horizontal");
if (x != 0) {
rigidbody2D.velocity = new Vector2 (x * speed, rigidbody2D.velocity.y);
Vector2 temp = transform.localScale;
temp.x = x;
transform.localScale = temp;
anim.SetBool ("Dash", true);
if (transform.position.x > mainCamera.transform.position.x - 4) {
Vector3 cameraPos = mainCamera.transform.position;
cameraPos.x = transform.position.x + 4;
mainCamera.transform.position = cameraPos;
}
Vector2 min = Camera.main.ViewportToWorldPoint (new Vector2 (0, 0));
Vector2 max = Camera.main.ViewportToWorldPoint (new Vector2 (1, 1));
Vector2 pos = transform.position;
pos.x = Mathf.Clamp (pos.x, min.x + 0.5f, max.x);
transform.position = pos;
} else {
rigidbody2D.velocity = new Vector2 (0, rigidbody2D.velocity.y);
anim.SetBool ("Dash", false);
}
isLocalPlayerでDashのアニメーションを止めているんだけどその時に一緒に書いてある画像反転も止めてしまうからそれをどうにかしたい、わかる人お願いします
449(1): 名前は開発中のものです。 [sage] 2018/03/14(水) 20:12:12.09 ID:7XMp+DUD(1) AAS
>>448
ちょっと何言ってるかよくわからないんだけど、画像の反転ってスケールでやってるの?
スプライトのフリップ機能で反映してるなら、キャラの向きも通信に乗っけて各々のクライアントで反映させればいいだけじゃない?
450: 名前は開発中のものです。 [] 2018/03/14(水) 21:42:19.54 ID:v8rqOjmA(3/3) AAS
for (int i = 0; i <MaxCount; i++){
instantiate(Bullet, transform.position, transform.rotation)
yield return new WairForSecond (0.5f)
}
でWhile(true)付けろ言ってたのって、このforも含めて、全体で付けろって意味だったのね。
チュートリアル進んで知りました。
451(2): 名前は開発中のものです。 [sage] 2018/03/14(水) 21:56:11.88 ID:y9qk5kpZ(1) AAS
>>448
そのソースだけだとリモートキャラのアニメが動かないように思えるけど、
とりあえず自分ならこんな感じで書いてしまうな
float prevX;
void Update(){
if(!isLocalPlayer){
if(prevX - transform.position.x != 0){
anim.SetBool ("Dash", true);
}else{
anim.SetBool ("Dash", false);
}
prevX = transform.position.x;
}
}
452(2): 名前は開発中のものです。 [] 2018/03/14(水) 22:28:43.51 ID:sLRo/hkc(2/3) AAS
>>449
スケールでやってるよ
スプライトのフリップ機能ってtransform.localScale.x を -1 にするやつのこと?
それだったらやってあるけど
453(1): 名前は開発中のものです。 [] 2018/03/14(水) 22:32:41.07 ID:sLRo/hkc(3/3) AAS
>>451
これでやれば一応動くけど画像の反転だけが反映されない
書いてもらったコード打たせてもらったらDashのアニメーションと画像の反転が反映されなかった
454(1): 名前は開発中のものです。 [sage] 2018/03/14(水) 23:14:57.20 ID:ay2tdaOQ(1) AAS
>>452
スケールの同期が出来てないだけじゃない?
ポジションと同じように同期させたらいいんじゃない?
もしくは既に回転が同期できてるならY軸回転で反転するのもありだよ
455(1): 名前は開発中のものです。 [sage] 2018/03/14(水) 23:17:29.94 ID:DW09Blag(1) AAS
>>452-453
もうここまで来たら>>451をこうするだけじゃん?
if(!isLocalPlayer){
float tmp = prevX - transform.position.x;
prevX = transform.position.x;
if(tmp != 0){
anim.SetBool ("Dash", true);
transform.localScale = new Vector2((tmp > 0? 1: -1), 1);
}else{
anim.SetBool ("Dash", false);
}
}
456(2): 名前は開発中のものです。 [] 2018/03/15(木) 02:08:53.70 ID:bx65uHxV(1) AAS
>>454
>>455
俺が理解できてないせいでやっぱりできないわ
457: 名前は開発中のものです。 [sage] 2018/03/15(木) 09:00:38.82 ID:kkasSWTd(1/3) AAS
>>456
NetworkTransform使ってるんだよね?
使ったことないからわからんけど、これって位置と回転は同期してくれそうだけど、スケールの同期はしないんじゃないの?
とりあえず、syncRotationAxisをYにして、向きをY軸回転(0°と180°かな)でやってみなよ
458: 名前は開発中のものです。 [sage] 2018/03/15(木) 09:07:40.47 ID:0C9Bqq38(1) AAS
>>456
プログラムの知識がない人はアセットを買いましょう
上下前次1-新書関写板覧索設栞歴
あと 544 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.015s