- 1 名前:名前は開発中のものです。 [2016/12/13(火) 22:34:52.47 ID:X+rEJddk.net]
- 3Dゲームエンジン「Unity」の質問に優しく答えるスレです。
質問・回答・お礼以外はスレチなので総合スレでどうぞ Windows/Mac用。JavaScript/C#といった汎用言語を使用できるのが特徴です。 フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。 プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他 次スレは>>970を踏んだ方が建てること。ダメなら>>980か>>990が建てて下さい。 ■本スレ 【3Dゲームエンジン】Unity総合スレッド29 echo.2ch.net/test/read.cgi/gamedev/1481616486/ ■Unity 2ch Wiki(まとめ、過去ログ、リンク集) www24.atwiki.jp/unity2ch/ ●リンク ・Unity(日本公式サイト) unity3d.com/jp ・マニュアル docs.unity3d.com/ja/current/Manual/index.html ・チュートリアル unity3d.com/jp/learn/tutorials ・スクリプトリファレンス docs.unity3d.com/ja/current/ScriptReference/index.html ・FAQ unity3d.com/jp/unity/faq ・MSDN msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。 前スレ 【3Dゲームエンジン】Unity質問スレッド27 echo.2ch.net/test/read.cgi/gamedev/1477131311/
- 33 名前:名前は開発中のものです。 mailto:sage [2017/01/13(金) 00:23:04.00 ID:TtkIssVc.net]
- きっかし3.05秒後に処理を行いたいとかなら、deltaを足し続けた後にdeltaが溜まった分だけ処理を行うのが良いぞな、もし。
こんな感じ public float frame=0.01f; public float deltasum=0; void update(){ deltasum+=Time.delta; for(;deltasum<frame;deltasum-=frame){ //ここでフレーム数を判定して処理を行う } } 何れにせよ、updateの中では確実に3.05秒後に処理を行うっちゅーのは難しい話や。
- 34 名前:名前は開発中のものです。 mailto:sage [2017/01/13(金) 00:29:02.44 ID:TtkIssVc.net]
- ああ、つまり3.05秒後の一回だけ処理を行いたいのか。なら簡単だぞ。
void delta; void update(){ float before=delta; float after=delta+Time.delta; delta+=Time.delta; if(before<3.05f && 3.05f<after) { //ここに3.05秒の処理を書く } } 単にこういうことちゃうの?
- 35 名前:名前は開発中のものです。 mailto:sage [2017/01/13(金) 00:40:24.44 ID:XQNNmksd.net]
- using UnityEngine;
using System.Collections; public class Test2 : MonoBehaviour { public GameObject a; float delta; void update() { float before = delta; float after = delta + Time.deltaTime; delta += Time.deltaTime; if (before < 3.05f && 3.05f < after) { Instantiate(a, gameObject.transform.position, Quaternion.identity); } } } こんな感じでしょうか? ダメっぽいです、ひょっとしたらUnity側で何かしくじってるのかもしれません…色々探してみます
|

|