Game Play中に生成したオブジェクトをSceneに残す方法。Scene中でオブジェクトを配置するとき、同じようなものが散らばっている状況がほしい場合、一つ一つ設置・位置調整という手順をいちいち行うのは面倒。 スクリプトから乱数で適当に配置したものをScene…
SceneとSceneの間をドアで移動する。 Scene間のドアが一つだけなら前後のSceneを参照すれば事は済むが、たとえば建物と庭が表口と裏口で繋がっている場合などは単純なScene名の参照では適切な場所へプレイヤーを配置できない。 そこを解決しながらSceneを切…
コンポーネント内部からさらに別のコンポーネントを呼び出したいことは多々ある。 UnityでいえばSendMessageとかGetComponentからの他コンポーネントの抱える関数の呼び出しとか。 Blueprint Interfaceとかイベントディスパッチャとかあるようだが、色々試し…
合間を見て進めていた春イベント、どうにかこうにか全部甲で突破完了。 E4までは楽勝、E5で若干足踏み、E6ラスダンでかなり詰まったが重量戦艦に電探積んで命中重視構成にすることで理想的な形で夜戦に移行することができた。 最期は空母棲姫を一撃昇天させ…
1. Graph is linked to private object(s) in an external package Version:4.7.3 症状:メインウィンドウでSAVEしようとすると以下のエラーメッセージが表示され失敗する。 Graph is linked to private object(s) in an external package. External Object(s…
前回に引き続き両面開きの自動ドアを実装する。www.youtube.com 以下動作条件。 開閉はプレイヤーの接近に応じ自動で行う(プレイヤーのキー操作に拠らない) プレイヤーがドアの前に立つことで自動的にドアが開く。 プレイヤーがドアの前にいる限り開いた状態…
Blueprintを使用しシーン中、プレイヤーのアクションに応じて開閉するドアを実装する。www.youtube.com基本的な動作条件は以下の通り。 開閉は押し引きで行う。 プレイヤーがドアの前に立った状態でボタンを押すたび開閉を行う。 プレイヤーがドアの前に立ち…
4 - View Modes and Show Flags - YouTubeView PortのLitからView Modeの変更が可能(Lit, Unlit, Wireframe等々) Unreal Engine | ビューモード また、さらにExposeからシーン全体の明るさを制御可能。View PortのShow(Show Flag)から画面内で表示する要…
3 - Orthographic Views - YouTube
2 - Viewport Navigation - YouTubeView Port内で…左クリックしながら WASD/QE/CZでView内のカメラ位置を操作可能。Alt+左ドラッグでMayaっぽい? カメラの動きになる。オブジェクト選択→Fでカメラが対象を中心に据えるよう移動 対象を中心に据えた後、Maya…
1 - UI Overview - YouTube Scene内、中ボタン押下時のカメラの移動をUnityに近い感じに直したい(デフォルトだとカメラのドラッグが逆) メニューバー -> Edit -> Editor Preferences -> Level Editor / Viewports -> Invert Middle Mouse Pan Set as Default…
水の表現に挑戦したくて発見したAssets まだ触り始めたばかりだがとりあえずいくつかのスクリプトにおけるパラメータのメモ 間違ってても泣かないDocument : Dynamic Water System: Main PageBuoyancyForce…水面に浮かぶオブジェクトに追加する。浮力関連の…
チャットとかで入力したメッセージ一覧をスクロール形式で表示する。 最新のメッセージが最下部に出る仕様の場合、入力のたびにスクロールバーを最下部に移動させたい。以下のようにする。 (スクロールバーの細かい作り方は省略) private Vector2 scrollPo…
とりあえず単純なオブジェクトが動くサンプルを作ってみた。 別ウィンドウで開くとその分だけオブジェクトが増え、それぞれの動きが同期しているのが見えるはず。 Unity Web Player | NetWorkTest追記:連続で開くと個々の部屋になるようだ。一つ開いてJoine…
・Googleドライブのインストール方法は省略。検索すればいくらでも出てくる。・Googleドライブフォルダを開き、公開したいフォルダを作成/開く、公開したいWebPlayerのhtmlとunity3dファイルを置く。 ・タスクバーのGoogleドライブアイコンをクリックし、「…
iTweenを使用した際、指定した点を経由する形でオブジェクトを移動させたい場合。たとえば点Aにあるオブジェクトが点Bに到達した後点Cに行きたいとして iTween.MoveTo(B) iTween.MoveTo(C) とかやった場合、MoveToBを実行した直後にMoveToCが実行され、事実…
あるオブジェクトに複数のコンポーネント(スクリプト)がアタッチされており、各コンポーネントに同じ名前の関数がある場合。 オブジェクトに対しSendMessageでその関数を起動するとDisableであるコンポーネントの関数も呼び出される。美しい解決方法がない…
通常、コンポーネントのON/OFFは[取得したコンポーネント].enable = true/falseで行える。 配列にコンポーネントを保存すればループで一度にスイッチできる。 が、当然異なるコンポーネントには使用できない。似たような処理を行うが、種類が異なるコンポー…
ボタンに引数を添えて押した時の処理を呼び出す方法。 EventDelegateを使用する。Delegateって継承だっけ。 とりあえず細かい部分は棚上げしてのやり方。※1 UiButtonType = ENUMで定義している独自型。 ※2 uam = ボタン押した時に呼び出したい関数が入ってい…
RayCastを使用する際、LayerMaskを指定することで特定レイヤーのみ検知/特定レイヤーを除いての検知が可能だが、どうもその際の構文は距離を明示している必要があるもよう。 if(Physics.Raycast(ray, out hit, 1000.0f, panelLayer)) // if(Physics.Raycast…
NGUIでボタンが押された時に呼び出される処理はインスペクタ内「UIButton(Script)/On Click」「UIEvent Trigger(Script)」の各イベントに対応したNotifyに関数を記述したスクリプトをアタッチしたゲームオブジェクト(な、長い……)をセットし、ドロップダウ…
NGUI アクション別呼び出される関数最近NGUIを触り始めたので、メモ代わりにアクション別の呼び出される名前一覧。 間違ってても泣かない。・マウスアイコンがボタンの上に行く→HoverOver ・上記の状態からボタン領域外に出る→HoverOut ・HoverOver/HoverOut…
Unity-Chanを使用して色々試した結果のメモ。 なお各語は自分用なので正しいものと一致するとは限らない。・Animator Contollerの設定およびAnimator操作 Projectの中でCreate->Animator Controllerを作成する。 Animator Controllerを選択しAnimator Window…
たとえばとある「球体の表面を這い回る」あるいは「ある点からX,Y,Z的に等距離の座標」を取得し続けたい場合…… 球座標変換を行う。2角度と球体半径から直交座標を取得する。 @Start // 親オブジェクトから与えられた角度(度数)をラジアン角に変換、極座標…
Shurikenて首をはねそうな名前だな……いや別に手裏剣が首はねするわけじゃないんだけど。作成の方法は2通り。 GameObject -> Create Other -> Particle System or Component -> Effects -> Particle System 前者の方法だとEmptyなオブジェクトが生成され、そ…
開発中に簡単な画像を貼り付けたい場合、Photoshop等で作成→UnityでAssetsに読み込み・テクスチャで使用という流れが簡単、というか今そうやってる。 透過画像を貼り付ける時の動作について自分用メモ。Aオブジェクト Photoshop側では「背景透過・文字シェイ…
基本的にはPrefab側で設定しておき、インスタンスを生成するのがベターだろうが時にはスクリプト内で動的に物理挙動を設定したい場合もある。かもしれない。 一応以下の方法で可能なことは確認した。PhysicsMaterialの設定というか、Resources.Loadの使い方…
CollisionやTriggerで接触・取得したオブジェクトをレイヤー名で管理したい場合。hogehoge.gameObject.layerに格納されているのはレイヤーの番号なので、名前で管理したい場合は文字列に変換する必要がある。 void OnCollisionEnter(Collision col) { Debug.…
キャプションを画面に表示する際、文字は右詰めの方が都合がいいこともある。 また、点数などを表示する場合は表示桁数の管理も必要。 参考:http://www.atmarkit.co.jp/fdotnet/dotnettips/116formatint/formatint.html string formatString; GUI.Label(new…
オブジェクトの破壊やコンポーネントの破棄は通常Object.Destroyを使うが、どうもこの命令は実行から反映されるまでに若干のディレイがある模様(同フレーム内で処理されるらしいが) 同一の処理の中でコンポーネントの有無などをifで参照する場合等、そのデ…