I'm trying to create a project using ratcave for python. But when I import ratcave, I get the following error:
AttributeError: 'scipy.spatial.transform.rotation.Rotation' object has no attribute 'as_dcm'
and this is the full stacktrace:
Traceback (most recent call last):
File "PROJECT_PATH\src\main.py", line 2, in <module>
import ratcave as rc
File "PROJECT_PATH\venv\lib\site-packages\ratcave\__init__.py", line 5, in <module>
from . import resources
File "PROJECT_PATH\venv\lib\site-packages\ratcave\resources.py", line 40, in <module>
default_camera = Camera()
File "PROJECT_PATH\venv\lib\site-packages\ratcave\camera.py", line 260, in __init__
self.projection = PerspectiveProjection() if not projection else projection
File "PROJECT_PATH\venv\lib\site-packages\ratcave\utils\observers.py", line 56, in __setattr__
super(AutoRegisterObserver, self).__setattr__(key, value)
File "PROJECT_PATH\venv\lib\site-packages\ratcave\camera.py", line 299, in projection
self.reset_uniforms()
File "PROJECT_PATH\venv\lib\site-packages\ratcave\camera.py", line 302, in reset_uniforms
self.uniforms['projection_matrix'] = self.projection_matrix.view()
File "PROJECT_PATH\venv\lib\site-packages\ratcave\shader.py", line 139, in uniforms
self.update()
File "PROJECT_PATH\venv\lib\site-packages\ratcave\utils\observers.py", line 47, in update
self.on_change()
File "PROJECT_PATH\venv\lib\site-packages\ratcave\physical.py", line 186, in on_change
Physical.on_change(self)
File "PROJECT_PATH\venv\lib\site-packages\ratcave\physical.py", line 138, in on_change
self.model_matrix = np.dot(self.position.to_matrix(), self.rotation.to_matrix())
File "PROJECT_PATH\venv\lib\site-packages\ratcave\coordinates.py", line 126, in to_matrix
return self.to_radians().to_matrix()
File "PROJECT_PATH\venv\lib\site-packages\ratcave\coordinates.py", line 95, in to_matrix
mat[:3, :3] = R.from_euler(self.axes[1:],self._array,degrees=False).as_dcm() # scipy as_matrix() not available
AttributeError: 'scipy.spatial.transform._rotation.Rotation' object has no attribute 'as_dcm'. Did you mean: '_uniforms'?
This is my code:
import pyglet
import ratcave as rc
# Create Window
window = pyglet.window.Window()
pyglet.app.run()
It seems that the method name has changed to from_matrix.
In scipy.spatial.Rotation methods from_dcm, as_dcm were renamed to from_matrix, as_matrix respectively.
reference: https://github.com/scipy/scipy/blob/5f4c4d802e5a56708d86909af6e5685cd95e6e66/doc/release/1.4.0-notes.rst
I hope that problem is resolved.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With