Web Design Articles

  • 2040

Design Basics: Always carry a notebook

Vestibulum cursus in ligula lacinia lobortis. Morbi at velit at velit auctor efficitur ut ac justo. Donec quam est, suscipit vel ligula ut, aliquet maximus libero. Pellentesque finibus tellus vitae dolor lacinia eleifend.

  • 1822

【Unity道場5】衝突判定をせよ

問題1:衝突判定をせよ キューブオブジェクトを上から落として、地面にぶつかった時にオブジェクトを削除してください。 回答例 using System.Collections; using System.Collections.Generic; using UnityEngine; public class CollisionTest : MonoBehaviour { void OnCollisionEnter(Collision collision) { Destroy(gameObject); [...]

  • 1823

【Unity道場4】マウスクリックを検出せよ

問題:マウスクリックを検出せよ ゲームオブジェクトのマウスクリックを検出してログを出力してください。 回答例 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; public class PrefabDestroyer : MonoBehaviour, IPointerClickHandler { // Start [...]

  • 1824

【Unity道場3】ゲームオブジェクトを動的に生成せよ

こんにちはUnityの書籍を何も考えずに言われるままにゲームを作っても全く!!!覚えておらず 一向に手放しでゲームを作れるようになれる気がしないため始まったUnity道場の3回目です。 問題1:ゲームオブジェクト動的に生成せよ 回答例 解説 実行結果 問題2:動的生成したゲームオブジェクト削除せよ 回答例 解説 実行結果 問題1:ゲームオブジェクト動的に生成せよ ゲームオブジェクト動的に生成するプログラムを書け。動的生成するプレハブはInspectorビューから指定できるようにすること。また出現位置をランダム化すること。 回答例 using System.Collections; using System.Collections.Generic; using UnityEngine; public [...]

babylon.js ステップ6 カメラ

babylon.jsにはよく使われる2つのカメラがあります。一つは1人称視点のユニバーサルカメラ(the Universal Camera)、もう一つはアークカメラ(Arc Rotate Camera)です。 まずカメラのコントロールを可能にしましょう camera.attachControl(canvas, true); ユニバーサルカメラ Universal Camera ユニバーサルカメラはキーボード、タッチ、ゲームパッドに対応したカメラです。これはFreeCamera,Touch Camera, Gamepad Cameraの上位互換です。ユニバーサルカメラを使うとFPSっぽい一人称視点を得られます。それぞれの入力方法のデフォルト設定は次の通り キーボード・・・上下左右キー マウス・・・視点を回転 タッチ操作・・・上下左右にスワイプ ゲームパッド・・・デバイス次第 コード // Parameters : name, position, scene var camera = new BABYLON.UniversalCamera("UniversalCamera", new BABYLON.Vector3(0, 0, -10), scene); // Targets the camera to a particular position. In this case the scene origin [...]

babylon.js ステップ5 マテリアル

マテリアルを使用すると、メッシュを色とテクスチャで覆うことができます。なお、メッシュを表示するには光が必要です。拡散マテリアル(Diffuse)と鏡面マテリアル(Specular)では、光源を作成する必要があります。いきましょう! 色 まずは、StandardMaterialでいきます。 var myMaterial = new BABYLON.StandardMaterial("myMaterial", scene); myMaterial.diffuseColor = new BABYLON.Color3(1, 0, 1); myMaterial.specularColor = new BABYLON.Color3(0.5, 0.6, 0.87); myMaterial.emissiveColor = new BABYLON.Color3(1, 1, 1); myMaterial.ambientColor = new BABYLON.Color3(0.23, 0.98, 0.53); mesh.material = myMaterial; BABYLON.Color3はそれぞれ、赤、緑、青を0~1の間で設定します。0がなし、1が一番強い状態です。 diffuseColorは拡散色(光に対して反射する基本の色) specularColorは鏡面反射(ハイライト的な反射) emissiveColorは影の色(そのメッシュ自身がその色で反射する) ambientColor 環境光の反射。シーンのアンビエントカラーが設定されている場合にのみ適用される そして、定義してマテリアルは、mesh.materialでマテリアルを設定していきます myMaterial.alpha = 0.5;aplhaで透明度を変えられる テクスチャ メッシュに対して、画像を張れる. var myMaterial [...]

babylon.js ステップ4 位置、回転、スケーリング

babylon.js やってみようシリーズのステップ4位置、回転、スケーリングのお話です 位置の話 babylon.jsには2つの座標系があります ワールド座標系 ローカル座標系 ワールド座標系 ワールド座標系の原点は変わりません。通常、メッシュが作成されると、その中心はワールド軸の原点に配置されます。移動しても、ワールド座標系はそのワールドの中心(原点)を元に判断されます ローカル座標系 ローカル軸はメッシュの場所によって動きます。でもローカル軸の原点は、ワールド座標における位置に関係なく、常にメッシュの作成された中心にあります。 初期状態 ワールド座標とローカル座標は一致しますがメッシュが動くとズレることになります。 配置 mesh(メッシュ)に対して positionで位置を設定出来ます mesh.position = new BABYLON.Vector3(2, 3, 4); 例えばワールド軸にしたがって、2,3,4の位置に配置しますこの意味は obj.position.x = 2; obj.position.y = 3; obj.position.z = 4; です。赤がX軸、緑の線がY軸、青がZ軸 回転 meshに対して rotationで回転させることが出来ます mesh.rotation = new BABYLON.Vector3(alpha, beta, gamma);回転もVector3型でメッシュに設定します。alpha、beta、およびgammaはラジアンで設定します。 mesh.rotation.x = alpha; //rotation around x axis mesh.rotation.y = [...]

babylon.js ステップ3 線Lineを使ったいろいろな形状を表示

いろいろな形状シリーズです。いきましょう! 線 //Array of points to construct lines var myPoints = [ new BABYLON.Vector3(0, 0, 0), new BABYLON.Vector3(0, 1, 1), new BABYLON.Vector3(0, 1, 0) ]; //Create lines var lines = BABYLON.MeshBuilder.CreateLines("lines", {points: myPoints}, scene); BABYLON.Vector3型で繋いでいきます Babylon.js Playground 螺旋  //Array of points to construct a spiral with lines  var myPoints = [...]

babylon.js ステップ2 いろいろなプリミティブを表示

早速いきますBABYLON.MeshBuilderを使っていろいろ作っていきますThree.jsならジオメトリを作って、マテリアルを設定してメッシュを作るのですが、babylonは一行です。 球体 // Add and manipulate meshes in the scene var sphere = BABYLON.MeshBuilder.CreateSphere("sphere", {diameterX: 1, diameterY: 0.75, diameterZ: 0.25}, scene);diameterとは直径のことです。x,y,x好きなサイズに出来ますBabylon.js Playground 箱 // Add and manipulate meshes in the scene var box = BABYLON.MeshBuilder.CreateBox("box", {height: 1, width: 0.75, depth: 0.25}, scene); height高さ, width横幅, depth奥行きを設定出来ますhttps://www.babylonjs-playground.com/#K6M44R Plane平面 // Add and manipulate [...]

Three.jsに物理法則を導入できるPhysijs を入れてみたいけど、、

前回の記事で、Three.jsはゲームに使えない的なことを言ってしまったのですが。。 実は、物理法則を簡単にいれる方法があったっぽい。それが、外部ライブラリPhysijsだ!! 特徴はこうだ! オブジェクトが重力の影響を受け、お互いに衝突するようになる シーン内の物体の摩擦係数と反発係数を触れる! Physijs がサポートしているさまざまな形状がある 単純な形状を組み合わせた合成形状もある ハイトフィールドを使用した複雑な形状もできる オブジェクトの動きの制限する点制約、ヒンジ制約、スライダー制約、コーンツイスト制 約、自由度制約 左右の音量がカメラの位置に基づいて決定される音源 何と盛り沢山な!! いこう と思ったらいろいろメンテされてないらしい qiita.comふむふむ。3年くらいメンテされてないとな、、、Three.jsは結構頻繁にバージョンアップするので、これは厳しいのかなぁ 比較的に新しいのはOimo.js(お芋ドットジェイエス)。お芋かぁ... とりあえず、次回!

Forming client relationships

When is creative too creative? ALorem ipsum dolor sit amet, consectetur adipiscing elit. In et scelerisque sem. Nunc molestie neque augue, at gravida mi blandit eget. Aenean eu augue id lacus eleifend interdum. Cras sit amet metus sit amet velit lacinia ullamcorper. Nam [...]

M1MaxでUnityはまだもっさり!?かもしれぬ話

メインPCをAppleシリコン搭載の最新PCであるMacBookPro16に置き換えましたUnityを使ってみた感想です。定量的なレビューじゃなくて、感想です。 比較対象は2021年に組み立てた自作PC(30万円くらい) 比較PC Macスペック CPU: M1Max 10コアCPUGPU: 32コアのGPUメモリ: 最大64GBのユニファイドメモリ価格は50万円ほど。価格なら間違いなくこちらが勝ってる! 組んだデスクトップPC CPU: 第三世代 Ryzen9 3950 GPU: Radeon RX6700XT メモリ: DDR4 64GBメモリ本体で30万円ほど ディスプレイやキーボードを含めたら40万円ほど。 それでもM1Maxの方が高いです。 Unityスペック UnityのAppleシリコン対応版の最新は、記事作成時点で 2021.2.16f1 結果 問題点 Unity Visual Effect Graph を使おうとすると M1の方はビジュアルエディタがちょっともっさりしてるエフェクトのプレビューがカクついたり安定性や、重い処理はやっぱりデクストップPCの方が快適ですね。本格的にやるときはデスクトップで、技術検証とは軽く作るときはM1Maxで みたいな使い方になりそう 通常の3D作成 特に問題なし!!どっちも速い。特に不便を感じない! iOSへのビルド 問題なくできる!!Xcodeのビルドスピードもめっちゃ速い!! M1Max速い!! デスクトップPCではXcodeでのiOSアプリへの最終ビルドはできないので これは助かる と言うわけで、iOSへビルドするならM1 Max最適かなと。PC向けの高画質なものを作るなら、Windowsの方が部がある感じかと思われます。

Let’s Work Together

Tell me more about your project

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.