Skip to content

Instantly share code, notes, and snippets.

@nbogie
nbogie / MouseLookScript.cs
Created November 16, 2021 15:22
MouseLookScript - Unity - Old input system
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MouseLookScript : MonoBehaviour
{
public float lookSensitivity = 10f;
private float leftRightAngle = 0;
private float upDownAngle = 0;
@nbogie
nbogie / Unity.gitignore
Created November 16, 2021 00:21
Unity .gitignore
# This .gitignore file should be placed at the root of your Unity project directory
#
# Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
# Neill modified to ignore .log files.
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
[
{
"placeName": "St. Thomas",
"location": "British Virgin Islands, Caribbean",
"description": "Beautiful island with great people, be careful of the lizards",
"image": {
"src": "https://images.unsplash.com/photo-1557598003-15d7d605adaa?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=2070&q=80",
"altText": "Virgin islands beach"
}
},
@nbogie
nbogie / DumpObjectToConsoleForThree.js
Created November 9, 2020 19:39
utility functions to report structure of scene / sub-scene to console, for three.js (at least for gltf-loaded-models). by@greggman https://threejsfundamentals.org/threejs/lessons/threejs-load-gltf.html
import * as THREE from 'https://unpkg.com/three@0.122.0/build/three.module.js';
function dumpObjectToTextLines(obj, lines = [], isLast = true, prefix = '') {
if (!obj || !obj.children) {
return lines;
}
const localPrefix = isLast ? '└─' : '├─';
lines.push(`${prefix}${prefix ? localPrefix : ''}${obj.name || '*no-name*'} [${obj.type}]`);
const newPrefix = prefix + (isLast ? ' ' : '│ ');
const lastNdx = obj.children.length - 1;
@nbogie
nbogie / stacked-layers-shader.shadertoy
Last active August 29, 2020 00:13
Stacked layers of-noise for shadertoy: https://www.shadertoy.com/view/3tsBDX
// Trying to build stacked crosssectional plates of animated 3d noise, to mimic this work:
//https://jacobjoaquin.tumblr.com/post/188120374046/jacobjoaquin-volumetric-noise-20190225
//
// Using the noise algorithm from this shader by iq: https://www.shadertoy.com/view/4sfGzS
// then making it have octaves.
//
// TODO: Make the plates square and isometric.
// TODO: Fix the noise so that builds in from both up as well as down.
// TODO: Correctly just overlay the colours of each upper disc on the lower discs, if the upper pixel is not transparent. Need to model alpha.
// TODO: don't calculate a noise value that is going to be thrown away!
@nbogie
nbogie / react-week-3-student-issues.md
Last active June 5, 2020 14:55
student issues: react week 3

React week 3 - student questions and issues for class

  • setFoo doesn't magically update foo (useState):
  • useState("someinitvalue") only initialises the variable the first time the component is ?rendered?. Subsequent calls to useState return the new current value of the variable.
  • passing props down and down. useContext? "
    • should I learn redux?
  • "should i learn class components?"
  • to investigate: synthetic events an issue?
@nbogie
nbogie / js-exercises-with-data.md
Last active June 5, 2020 01:12
JS exercises - working with data

pure js exercises using data

home-made

  • tv maze - pure JS exercises (in repl)
  • jobs listing pure JS exercises (in mahmut's repl)
    • get all the company titles and positions of every job [{company: CYF, position: programmer}, ...], etc
  • stuff from my json-examples netlify
  • p5js (filter points by dist(), find points by same, find enemies with low hit-points, etc)
@nbogie
nbogie / live-coding-plan-random-polygons.md
Last active June 4, 2020 01:49
live coding plan - random polygons
@nbogie
nbogie / rough-notation-bookmarklet.js
Last active May 28, 2020 13:07
bookmarklet demoing "hand-drawn" annotations with rough-notation library. Will highlight p and a tags.
javascript: (async () => { const RoughNotation = await import('https://unpkg.com/rough-notation?module'); const pick = (arr) => arr[Math.floor(Math.random() * arr.length)]; const colorNames = "#66FF66 #FD5B78 #FF9966 #FFFF66 #50BFE6 #FF00CC".split(" "); document.querySelectorAll('p').forEach(elem => { RoughNotation.annotate(elem, { type: 'box', color: 'black', strokeWidth: pick([1, 2, 5]) }).show(); }); document.querySelectorAll('a').forEach(elem => { RoughNotation.annotate(elem, { type: 'highlight', color: pick(colorNames) }).show(); elem.style.color = 'black'; }); })()