-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
渲染世界扩展提交PR - RenderTheWorld.js - 嵌入渲染大更新 #269
base: main
Are you sure you want to change the base?
Conversation
@fath11 我已解决黑屏,鼠标扩展相机等问题 |
A good extension! |
额,所以,在这里还是能发的对吧 |
修复了模型生成bug
i think i remember you asking for a way to implement Inline blocks, this might be useful but i am not sure if its compatible with Gandi IDE https://ashimeealt.github.io/patch-generator/ |
为什么我这里是404 |
it's deleted… |
Update RenderTheWorld.global.js - 很新的加载模型方式
话说hcn什么时候才有空 |
should be on Friday |
Really looking forward to this extension going live~ (although it's been under review for a long time) |
你的各种行为让我不太能忍受,但是我还是来审审你的扩展。以下是我发现的问题。 不尊重开源**这是让我最生气的一点。**未在 README 中标注原脚手架信息可能导致版权问题。你对于 CST1229 使用的 patch 函数没有遵循原扩展的 MPL-2.0 开源协议,对于 lpp 组件的一些使用同样未遵循 LGPL-3.0 开源协议(LGPL-3.0 要求以同样协议分发修改的代码,而你使用了 MIT License,显然你没有尊重原作者的版权,在此提出强烈谴责)。 之前你在扩展集市发 lpp 组件的二次修改时我已经提出了抗议:
可能在 ccw 那边说不够正式,那我直接在 github 说可能更能警醒你。 性能问题RenderTheWorld 新建了一个 canvas 用于渲染,然而原来的 canvas 不仅同样会被渲染还持有一个 gl 上下文,我不能容忍这样做带来的性能问题。同时,它也不能够兼容 Scratch 的渲染机制。 不尊重 Scratch 设计在代码中还出现了许多破坏 Scratch 时序机制的设计。首先,lpp 可以抄,但不能全抄。它在做一门新语言,你在做什么?代码中大量滥用 stepThread 的行为即使是 lpp 都要抽出一个 threadController 避免上下文被破坏,而你没有学到精髓就开抄,肯定会有跟 lpp 开发中一样的问题。 跟初衷完全背离RenderTheWorld 仍然对小朋友不够友好,并且不可能对小朋友友好。首先,3D 涉及到的很多复杂问题(后处理、面剔除、碰撞检测、物理等)我们是不可避免的,而你更不能指望小朋友理解这些概念。 不遵循 KISS 原则想要构建一个优秀且易用的扩展,就需要保证:
RenderTheWorld 没有做到上面任何一个。 举个例子:
除此之外,还有一些类似于一次性返回全部数值来提高效率的建议,但这些就无关紧要了。 这不是 Scratch以及最主要的一个问题——这样做就不是 Scratch 了。 代码风格问题我的脚手架有配 prettier 和 eslint,在提交前应该先过一遍,并修正所有问题。如果没有完成,请将 pull request 标记为 draft(草案)。 我看到你在学而思自称自己是“做扩展的大佬”,然而你强推并多次用来打扰我的 RenderTheWorld 存在数不清的问题,并不能随你愿进行合并;扩展抛开直接抄 lpp 编译后的代码的那一堆,本身并不能算得上创新与前卫,所以我很怀疑你的“大佬”一称是否正确。 lpp 在编写时大量参照了 scratch-vm 的实现细节,那么你是否也有去啃 scratch-vm 呢?还是说,你只是把代码抄过来,没有思考呢? |
此小作文同时适用于 not.js, lpp, GPU.js |
I don't know what is going on over at the CCW side of things, but I do have to agree that this extension is poorly designed.
I myself is planning to make a 3d extension that uses BetterQuake and Three.js for rendering with the same design principle as CST3D as it is proven to be a good design for beginners. |
If we want to solely focus on beginner friendliness, this point is valid because we don't want them to feel overwhelmed with hundreds of blocks. Otherwise, the 4th point I made is invalid. |
(怎么两周前这里突然炸了呢) |
我最近真的没时间,如果有的话,我会尝试对其进行重写,并在完成时提交新的PR,会重新审视有关开源协议的问题,同时,我有去啃scratch-vm,但我的代码阅读能力还有待提高(我本地的项目结构真的乱七八糟。。。) 问一下,在PR提交原项目目录(我在重写后可能会有十几个文件),而不是打包后的文件(像这里的),可行吗? 最后感谢你的评论 |
冒昧地问一下,CST3D是什么,能给出相关链接吗 |
😎 渲染世界扩展
Scratch 3D扩展.
前言
原项目地址:
PR项目地址:
正文
TOOD1: 设计目标!
众所周知,Scratch是全球少儿图形化编程工具(语言),其对于2d游戏简单且方便的制作功能深受广大用户的青睐。
但是,也仅此2d游戏而已,我们能否提升一个高度?编写3d游戏呢?
于是,基于这样的理想,渲染世界扩展诞生了
也许有人会问: 共创世界里不是有glsl、三扩展和高清画笔吗?这不能做3d吗?
可是,glsl对于“小孩子” 1 来说是在是很困难,而且也要从0开始,编写各种方法,十分繁琐。至于三扩展与高清画笔,同样得对于3d渲染有一定知识储备,并不面向“小孩子”
(对于极少数的“小天才” 2 来没什么问题,但我们的社区是面向“小天才”的吗?)
最后,总结一下此扩展的设计目标:开发出让3d创作更亲民,人人都能用得起的3d渲染库
TOOD2: 扩展积木的数量及他们的分类!
在gandi里加载此文件目录下的打包后的扩展,在积木栏自然能看见分类
截至至2024/5/25,积木总数一共有44个积木
TOOD3: 所有扩展积木的截图!
API文档(正在完善):https://learn.ccw.site/article/aa0cf6d0-6758-447a-96f5-8e5dfdbe14d6
TOOD4: 扩展的使用方式效果描述!
在此文件目录下有一个demo
在API文档里均有描述
结尾
同样重要!
若能荣幸的通过PR,请将这个扩展放在“开发中的扩展”里,因为这个扩展的积木类型可能会有“大改”
其次,求求了能不能在周六把要将的都讲完。。。3
Footnotes
新手scratcher,萌新 ↩
年轻的大佬,受尽“小孩子”膜拜 ↩
上学的时候看到各种意见却不能及时地改正/反馈,真的很无语。。。 ↩