threejs API学习 Ⅲ
学习资源AxesHelper – three.js docs (threejs.org)
1. threejs文件包下载和目录简介 | Three.js中文网 (webgl3d.cn)
Releases · mrdoob/three.js (github.com)
系统课—面向人群_哔哩哔哩_bilibili
相机基类:Camera
子类:OrthographicCamera, PerspectiveCamera, CubeCamera
基类属性:.matrixWorldInverse, .projectionMatrix.
子类:除了初始化方式不同,其他都可以参考Camera/PerpectiveCamera
Camera的position和far的设置不当,会看不到、看不清、找不到物体;
OrthographicCamera:
(left, right, top, bottom, near, far)
在一些不需要透视的场景(如看一张中国地图、2D可视化)的时候,可以使用
设置此时的Canvas随窗口变化
window.onresize=function() ...
threejs API学习 Ⅳ
学习资源AxesHelper – three.js docs (threejs.org)
1. threejs文件包下载和目录简介 | Three.js中文网 (webgl3d.cn)
Releases · mrdoob/three.js (github.com)
系统课—面向人群_哔哩哔哩_bilibili
场景标注标签CSS2DRenderCSS2DObject可以把HTML元素转换为类似threejs网格模型的对象,然后设置其位置;
HTML标签摆放
获取html元素➡️new CSS2DObject➡️.position.set()➡️scene.add()
CSS2DRenderer
new CSS2DRenderer()➡️css2dRender.render()➡️.setSize(), .domElement
会在CSS2DObject的外面构建一个div元素,这个就是设置的CSS2DRenderer
对CSS2DRenderer的设置,就可以参考canvas在网页中的布局设置,如(style.position, style.top, style.mar ...
threejs API学习 Ⅱ
学习资源AxesHelper – three.js docs (threejs.org)
1. threejs文件包下载和目录简介 | Three.js中文网 (webgl3d.cn)
Releases · mrdoob/three.js (github.com)
系统课—面向人群_哔哩哔哩_bilibili
Group层级模型group、mesh这些都继承自Object3D,所以其实都可以实现Group的作用,就是进行.add()
const group=new THREE.Group();group.add(mesh1);group.add(mesh2);// group.add(mesh1,mesh2);scene.add(group);group.childrenscene.children
就类似于unity里建父gameobject、拖进一个gameobject里形成子gameobject,这种的形式。同理可以理解下面的:
group.name,设置了name后,就可以通过.getObjectByName()来获取到这个名字下的物体,更多的方法可以查看基类Obj ...
C#转xlua| event?Actinon?如何转换`_map.OnUpdated += () => { _zoomSlider.value = _map.Zoom; };`
背景需要在unity里调用Mapbox SDK for Unity,并将Mapbox里的官方C#脚本案例修改为Xlua形式,在平台上才能实现交互。
在c#转xlua过程中,有一个event和Actiond的结构的事件变量,但不会转;此外之前对event delegate Action UnityAction这些都不了解;
向GPT求助,给了我一堆名词,实在不懂问不下去了;
开始想着略微系统学习下委托、事件这些,看了些教程似懂非懂;
准备死马当活马医,直接网上找教程套,中文网上找了半天,有些教程就是错误的,误导我好久;
转Google,看了几个教程,终于把bug除了,哭死/(ㄒoㄒ)/~~
解决方案需要转换的代码结构:
public event Action OnUpdated = delegate { };_map.OnUpdated += () => { _zoomSlider.value = _map.Zoom; };
解决(参考链接):(注意是单引号)
_map:OnUpdated('+' ...
C#转xlua| 针对协程实现的改写coroutine
背景需要在unity里调用Mapbox SDK for Unity,并将Mapbox里的官方C#脚本案例修改为Xlua形式,在平台上才能实现交互。
关键代码xlua改写
local _waitSecond = nil; _waitSecond = 0.3; coroutine.yield(UnityEngine.WaitForSeconds(_waitSecond));
相当于c#里的下面三句话:
WaitForSeconds _wait; _wait = new WaitForSeconds(.3f); yield return _wait;
实现案例c#
using UnityEngine; public class ReloadMap : MonoBehaviour { Coroutine _reloadRoutine; WaitForSeconds _wait; void Awake() { _zoomSlider.onValueChanged.AddListener(Reload); _wait = new WaitForSeconds(.3f); ...
threejs API学习 Ⅰ
学习资源AxesHelper – three.js docs (threejs.org)
1. threejs文件包下载和目录简介 | Three.js中文网 (webgl3d.cn)
Releases · mrdoob/three.js (github.com)
系统课—面向人群_哔哩哔哩_bilibili
记录特点:THREE的API/函数都是小驼峰;类/属性都是大驼峰
安装使用npm install three@0.158.0 –save
import * as THREE from ‘three’;
一般来说,你项目用到那个扩展库,就引入那个,用不到就不需要引入。
// 引入扩展库OrbitControls.jsimport { OrbitControls } from 'three/addons/controls/OrbitControls.js';// 引入扩展库GLTFLoader. ...
Geospatial API学习
官方网站Google AR Developer: https://developers.google.com/ar?hl=en
Google’s Immersive Geospaial Challenge: https://googlesimmersive.devpost.com/
在线赛要求our latest competition where we invite you to either use Geospatial Creator to build an augmented reality experience in Adobe Aero or Unity, or use Photorealistic 3D Tiles to create a 3D virtual, immersive experience.
可以基于栖霞山或者是你以前的数据,也可以利用cesium做一个,就是参考以前的(因为有GIS基础)
学习找一个网上的,使用geospatial creator进行创作的一个例子;
官网提供案例
场景设计(就可以参考mapbox,cesium那边的案例):
基本地图 ...
搭个前端
nodejs的安装及详细环境配置 - 掘金 (juejin.cn)
前端开发环境搭建(nodejs+vscode+Git+vue) - 知乎 (zhihu.com)
如何成功安装Node.js并在VS Code终端使用npm和yarn? - 知乎 (zhihu.com)
AR开发概览
软件开发ARCore: Overview of ARCore and supported development environments | Google for Developers
ARKit: ARKit | Apple Developer Documentation
ARFoundation: About AR Foundation | AR Foundation | 4.0.12 (unity.cn)
SenseAR: 商汤 | SenseAR 开发者平台 (sensetime.com)
Vuforia: SDK Download | Engine Developer Portal (vuforia.com)
EasyAR: AR Cloud|AR云识别|AR云服务|AR SDK-EasyAR
VoidAR: 太虚AR官网 | VOID AR - Beyond Reality
Kivisense: 弥知科技 | KIVISENSE - 专注于增强现实与计算机视觉原创技术研究的AR平台
应用呈现住房:
众趣客户案例-VR带看房家装_线上展会云展厅 (3dnest.cn)
...
基于需求的参考~
图片叠加/切换遇到图片状态切换的情况,一种是设置不同的状态选择不同的图片进行叠加,一种就是参考下面的进行图片的合成,其他后续没有思考了
Unity中Sprite和Texture2D之间的关系。_texture2d sprite-CSDN博客
Unity Sprite和Texture2D互转_sprite转texture-CSDN博客
Unity-两张图片叠加合成一张图片_unity 图片叠加-CSDN博客
【精选】在Unity里将多个Sprite(精灵图)动态合成一个Sprite_unity sprite 合并_mkr67n的博客-CSDN博客
【精选】图片正常模式混合(透明度混合)公式_带透明度的图片混合 算法-CSDN博客
添加监听在c#转Lua中,针对事件的监听处理遇到了麻烦,当时找的一些教程~,不过好像麻烦还是没有解决。。
Unity 自定义事件 AddListerner_unity addlistener-CSDN博客
关于unity中AddListener的传参问题的研究_unity addlistener-CSDN博客
高亮实现后来是针对材质实现的高亮,当时也搜 ...