일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Game js
- Flutter
- REST API
- uint8array
- jszip
- Three js
- Raycasting
- three.js
- react
- androidId
- Excel
- Image Resize typescript
- Three-fiber
- swagger-typescript-api
- babel
- identifierForVender
- typescript
- Babel standalone
- userevent_tracker
- KakaoMap
- node
- web track
- Redux
- RouteObserver
- webrtc
- methodChannel
- Completer
- uint16array
- code editor
- Prism.js
- Today
- Total
목록three.js (6)
Never give up
Three.js를 찍먹만 해보다가 회사에서 우연히 3D circuit viewer를 개발할 기회가 생겼었습니다 근데 어디서 이상한(?) 오픈소스 긁어온거 유지보수 하다보니 문제가 많아서 이렇게 해보면 어떨까 하고 만들어 봤습니다 링크: https://devmemory.github.io/gerber-3d-viewer/ 먼저 Gerber 파일은 PCB 제조할 때 필수적인 파일로 copper layers, solder mask, SilkScreen, Dril files등 pcb의 납땜되는 부분, 홀, 텍스트 등을 표현한 파일입니다 예제 데이터를 하나 보면 G04 Layer: BottomPasteMaskLayer*G04 EasyEDA v6.5.44, 2024-08-30 12:30:28*G04 77815516a5..
전에 언급한 Fiber를 한번 사용해봤는데 생산성이 어마어마하게 올라갈 수 있겠다는 생각이 들었습니다 그럼 바로 예제로 들어가보겠습니다 index.tsximport { Canvas } from "@react-three/fiber";import React from "react";import Box from "./Box";import Camera from "./Camera";const FiberExample = () => { return ( );};export default FiberExample;Fiber에 정의되어있는 Canvas 태그 내부에 Camera, light, Box(mesh) 등을 넣어주면 되는데 scene에 add하는것과..
GLTF는 크로노스 그룹에서 만든 표준으로 모델, 애니메이션, 바이너리, 텍스쳐 등을 지정해주는 파일 포맷으로 json 형태로 되어있는 파일입니다(링크 : https://ko.wikipedia.org/wiki/GlTF) 크로노스 그룹에서 샘플로 만들어놓은것을 토대로 한번 예제를 만들어봤습니다(샘플 : https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0) use_gltf.tsimport { useEffect, useRef } from "react";import * as Three from "three";import { OrbitControls } from "three/examples/jsm/controls/OrbitControls";imp..
이번에는 mesh에 이벤트를 넣어주는 작업을 해봤는데 html에서 사용하던 onClick이나 mouseEnter 같은 이벤트를 따로 걸어줄 수 없어서 eventListener를 걸어서 사용했고, 3d에서는 조금 더 복잡한 방법으로 사물의 위치를 추적해야되는거 같습니다 그래서 raycaster를 사용할텐데 자세한 내용은 아래 링크를 참고해주세요(링크 : https://threejs.org/docs/#api/en/core/Raycaster) 화면부분은 간단한 div에 ref만 할당하는 부분으로 동일합니다 use_raycasting.tsimport { useEffect, useRef } from "react";import * as Three from "three";const useRaycasting = () ..
이번에는 계기판을 한번 만들어봤는데 계기판을 영어로 뭐라 표현하면 좋을까 고민하다가 그냥 게이지로 했습니다 index.tsximport React, { useEffect } from 'react';import util from 'src/util/common_util';import CommonBtn from 'src/components/common_btn/common_btn';import { useGauge } from 'src/custom_hooks';const Gauge = () => { const { ref, setValue, resetCamera } = useGauge(); useEffect(() => { const interval = setInterval(() => { ..
Three.js를 다시 시작한 기념(?)으로 간단한 예제들로 시작을 했고 추후에 참고가 되기를 바라며 포스팅을 시작합니다(사실 필자가 까먹을거 대비용으로..) 먼저 공홈에 나와있는 기본 예제+@를 시작으로 하면서 개념들을 집고 넘어갈 예정입니다(기본 예제 링크 : https://threejs.org/docs/index.html#manual/en/introduction/Creating-a-scene) index.tsximport React from 'react';import { useBasic } from 'src/custom_hooks';const BasicExample = () => { const { ref } = useBasic(); return ( );};export ..